PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fragen zu A/D Wandler



AndreasHB
19.12.2004, 15:34
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

Andree-HB
19.12.2004, 16:07
Du kommst auch aus Bremen ? Lust auf gemeinsames "wurschteln" ?

Dirk
19.12.2004, 19:13
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

SwordFish
29.12.2004, 18:35
@ 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

Dirk
30.12.2004, 18:35
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

SwordFish
01.01.2005, 11:24
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

Dirk
01.01.2005, 15:02
Hallo SwordFish,


sdio=on:sclio=on:strobe=off:EXTPORT=(EXTPORT and &HFE)or 8
sys SYSTEM

... das ist die Befehlsfolge für das Einschalten des Subsystems. In den "SYSTEMROUTINEN SYSTEM" steht das unter dem Unterprogramm-Namen "SUBSYS_PWR_ON".
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

OnnoRp5
11.03.2005, 19:48
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.

Arexx-Henk
11.03.2005, 23:24
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