Du kommst auch aus Bremen ? Lust auf gemeinsames "wurschteln" ?
hi
Ich würde gerne eine spannung zwischen 0 und 2 Volt in einen digitalen wert umwandeln, doch da gibt's ein paar Fragen:
-wo sind die Aschlüsse vom A/d Wandler?
-wie kann ich im Basic auf den A/D Wandler zugreifen?
-wo kann ich an weitere Infos zu dem Thema rankommen
es wär nett wenn einer des beantworten könnte!!!
Gruß Andy
Du kommst auch aus Bremen ? Lust auf gemeinsames "wurschteln" ?
Hallo Andy,
am Robby ist der A/D-Wandler 8 noch frei.
In Fahrtrichtung rechts ist das die 20-polige Anschlussleiste, 6. Buchse von vorn, im Schaltplan mit "AD8" bezeichnet. Hier kommt der Pluspol der 2V-Spannung dran, Minus an Masse (1. Buchse von vorn).
Im Programm:
define ADWandler8 ad[8]
define Wert byte[7]
Wert = ADWandler8
Die Variable "Wert" enthält dann den 8-Bit-Digitalwert 0..255.
Ein Digit entspricht ca. 9,8 mV.
Wenn Wert also z.B. 100 ist, dann liegt eine Spannung von 100 x 0,0098 = 0,98 Volt an.
Gruß Dirk
@ Dirk:
Ich wollte die Schaltung mit dem Code benutzen um eine Testweise 1,5V Batterie zu messen. Allerdings gibt Robby den Wert 255 zurück, was eine 2,49V Batterie bedeuten müsste. Ich habe die Batterie nachgemessen: 1,42V.
Mein Code:
define ADWandler8 ad[8]
#loop
Print ADWandler8
pause 100
Goto loop
end
Muss ich zusätzlich noch etwas einfügen, damit der richtige Wert zurückgegeben wird?
MfG Peter
Hallo SwordFish,
der A/D-Wandler ist recht empfindlich. Wenn Du alles richtig angeschlossen hast, sollte er einen vernünftigen Digitalwert ausgeben.
Wenn das nicht klappt, solltest Du einen kleinen Kondensator, z.B. 10 nF, an den A/D-Wandler-Eingang (also zwischen Eingang und Masse) legen.
Gruß Dirk
Hallo Dirk,
danke für deine Antwort, aber es war nicht nötig einen Kondensator einzubauen.
Mittlerweile bekomme ich vernünftige Werte am am A/D-Wandler, nachdem ich den Code
define SYSTEM &H01C9
define EXTPORT byte[4]
define sdio port[1]
define sclio port[3]
define strobe port[4]
sdio=on:sclio=on:strobe=off:EXTPORT=(EXTPORT and &HFE)or 8
sys SYSTEM
vorangesetzt habe. Ich habe ihn einfach aus dem Beispielprogramm 8 herauskopiert, da hier auch auf einen A/D-Wandler zugegriffen wird. Allerdings habe ich keine Ahnung, was dieser Code bewirkt. Kann mir irgendeiner erläutern, was er bewirkt und wozu er benötigt wird?
Vielen Dank schon mal im Vorraus
MfG Peter
Hallo SwordFish,
... das ist die Befehlsfolge für das Einschalten des Subsystems. In den "SYSTEMROUTINEN SYSTEM" steht das unter dem Unterprogramm-Namen "SUBSYS_PWR_ON".sdio=on:sclio=on:strobe=off:EXTPORT=(EXTPORT and &HFE)or 8
sys SYSTEM
Wenn Du alle notwendigen Initialisierungen kennenlernen willst, kannst Du Dir meine beiden Leerprogramme (LEERPROGRAMM.bas und LEERPROGRAMM_BE1.bas) herunterladen. Sie sind sozusagen das Grundgerüst aller Programme für den Robby (und mit Basiserweiterung) einschließlich Kommentaren.
Gruß Dirk
Weil ein A/D wandler hochohmig ist soll Sie ein spannungsverteiler (2 wiederstanden in serien) anschliessen. So das die Spannung geteilt wird.
So anschliessen:
Ubatt ---[=R1=]-+-[=R2=]--- GND
|
analog eingang Robby
0.1mA fliessen lassen
R1=Grosse wert (z.B. 10kOhm)
R2=Kleinere wert (z.b. 470 Ohm)
Rest kannst du selbst berechnen mit R=U/I
Ubatt kann dan z.B. 0-10V sein.
Batterie wird dann richtig gemessen.
Hallo SwordFish
Ich hab dein program mahl ausprobiert:
define ADWandler8 ad[8]
#loop
Print ADWandler8
pause 100
Goto loop
end
es lauft bei mir perfekt, gutes program
eine halbleren accu mit messgerat gemessen gibt 1,24V und dein program liefert die Wert 127
wenn ich nachrechne: 127 * 9,8mV (Dirk) = 1,2446 V
ist ja perfect.
du solltest keine falsche dinge lernen...
define SYSTEM &H01C9
define EXTPORT byte[4]
define sdio port[1]
define sclio port[3]
define strobe port[4]
sdio=on:sclio=on:strobe=off:EXTPORT=(EXTPORT and &HFE)or 8
sys SYSTEM
hat mit die ADWandler nul komma nix zu tun
gruss
Henk
Lesezeichen