-         

Ergebnis 1 bis 7 von 7

Thema: Analog Digital Wandler - allgemeines

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    04.02.2005
    Beiträge
    76

    Analog Digital Wandler - allgemeines

    Anzeige

    Hey,

    bei den meisten (oder besser vielen) Mikrocontrollern ist die Analog Digital Wandlung integriert nicht so bei meinem µC. Also möchte ich für die Sensoren an meinem Roboter jetzt eine AD Wandlung aufbauen.
    Da ich auch nicht allzuviele I/O Ports an meinem µC dafür benötigen möchte hatte ich an eine serielle 8 bit AD Wandlung gedacht.

    Bei meinen Recherchen bin ich aber nur auf ADC's gestoßen bei denen jedes Bit eine einzelne Leitung zum Port am µC hatte, aber diese Methode verwendet mir zuviele Ports.
    Außerdem habe ich gesehen das man den ADC wohl am Datenbus des µC legen kann.


    Nun die Fragen:
    • Woher kann man serielle ADC zu erschwinglichen Preisen (also nicht gerade 30€ oder so) beziehen?
    • Wie funktioniert die Verwendung eines ADC's über einen Datenbus, ist damit auch ein hoher programmiertechnischer Aufwand verbunden und was muss von elektrotechnischer Seite aus noch gewährleistet sein?
    • Was für Tücken bietet die serielle AD Wandlung einem naiven Elektronikneuling?
    • Kennt jemand von euch noch Dokumentationen oder andere erläuternde Texte zur AD Wandlung?


    Vielen Dank schonmal im voraus für die Antworten!
    mfg crowdy

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.04.2005
    Beiträge
    181
    Hallo,

    da gibt es zum Bsp den PCF8591P
    Das ist ein serieller ADC und DAC am I2C Bus (auch TWI genannt).
    Der kostet ~3€.
    Vor einem ADC am Datenbus rate ich Dir eher ab.
    Ein Mikrocontroller mit integriertem Flash hat keinen aussen zugänglichen Bus. Natürlich kannst Du das mit Portpins nachbilden, aber mußt viele (8-20) davon opfern um Ihn anzuschliesen.
    Programmiertechnisch wäre der parallele allerdings etwas einfacher zu handhaben.
    Jedoch ist auch das Ansprechen eines seriellen ADC so schwierig nicht.
    Hast Du schon einen I2C Bus mit im Controller oder zumindest softwaremäßig einen nachgebildet.
    Dann klappt der ADC am I2C Bus auch.
    -Manual des PCF8591 lesen
    -die Belegung der Konfigurationsregister daraus lesen
    -geht )))

    Bernhard

  3. #3
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Hi crowdy!
    Meine Lösung ist ganz einfach und billig: seriell-parallel Wandler in beiden Dataübertragungsrichtungen. Für Ausgabe braucht man 2 Leitungen (also Portpins), für Einlesen braucht man 3 Leitungen, egal wieviele bits man überträgt. Hardware und Software sind sehr einfach. Nachteil: langsamer als Parallelübertragung. Interesse?
    MfG

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    04.02.2005
    Beiträge
    76
    Vielen Danke Bernhard, das klingt ja schonmal sehr gut!
    Ich werde mich jetzt erstmal mit I²C ein wenig beschäftigen, aber PICture an deiner Methode hätte ich auch interesse, wenn du irgendwie ne Seite oder ein DB kennst kannst ja mal den Link sagen, das wäre sehr nett.
    mfg crowdy

  5. #5
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Hi crowdy!
    Wenn Du schon meine Lösung Deines Problems wählst, dann kannst Du von mir ein Schaltplan und Programm haben. Weil Du nur AD Wandler einlesen willst, brauchst Du insgesamt 3 Portpins von Deinem MC und ein 166 Schieberegister pro jeden 8-bit AD Wandler. Das Program zum Einlesen von 8 bits in eine Speicherstelle ist 25 Zeilen lang. Ich kann Dir leider keine Links, sondern nur eigene ausprobierte Lösungen anbieten.
    MfG

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.11.2003
    Beiträge
    991
    Zitat Zitat von Bernhard667
    Ein Mikrocontroller mit integriertem Flash hat keinen aussen zugänglichen Bus. Natürlich kannst Du das mit Portpins nachbilden, aber musst viele (8-20) davon opfern um Ihn anzuschliesen.
    Nein, zum Bespiel der ATMega162, ATMega128, AT90S8515 usw. bieten ein exterens RAM Interface. Daran kann man dann natürlich parallel ADCs anschließen, insbesondere wenn es auf Geschwindigkeit ankommt ist das sehr sinnvoll...

    zum Beispiel hier:
    http://www.kreatives-chaos.com/index.php?seite=gbcam

    Bei einfachen Sachen ist sowas aber natürlich nicht unbedingt zu empfehlen, da sind dann serielle Lösungen wesentlich einfach zu handhaben, dann man nicht so viele Leitungen braucht.

    MfG Kjion

  7. #7
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Hallo crowdy!
    Wenn Du noch keine A/D Wandler hast, schau Dir mal in dem gleichem Forum das Thema "AD-Wandler abfragen?!" an. Ich denke , das ist das, was Du brauchst, oder?
    MfG

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •