Herzlich Willkommen im einzigen (deutschsprachigem) Picaxe-Forum.

Der Ursprung dieses Forum reicht bis in das Jahr 2008 zurück


ADC ( Analog - Digital - Converter ) an der Picaxe

#1 von BoomBoomMagic , 26.01.2019 19:29

Die Picaxe eignet sich sehr gut um Spannungen zu messen.

Wichtig zu beachten ist allerdings :
Die zu messende Spannung darf niemals höher als die Versorgungsspannung der Picaxe sein - sprich 5V !

Um eine vernünftige Messung zu erzielen , benötigt man eine sehr stabile Versorgungsspannung ,
da die Picaxe die Versorgungsspannung als Referenzspannung beim Messen nutzt.
( Bei manchen Picaxe kann man die Referenzspannung einstellen , ob intern oder extern - hier nutzen wir ausschließlich die interne )

ADC bedeutet : Analog - Digital - Conversion
Das heißt , aus einer Gleichspannung eine Dezimalzahl ermitteln.

Es gibt 2 Befehle dazu :

1. readadc -> hierbei wird mit 8Bit aufgelöst , was allerdings recht wenig ist
2. readadc10 -> hierbei wird mit 10Bit aufgelöst , dieser Befehl ist zu empfehlen

10Bit bedeutet , das aus der analogen Spannung ein Wert von 0 bis 1023 ermittelt werden kann.

Wenn wir also eine stabile Versorgungsspannung von 5V haben , dann wäre : 0 = 0 Volt / 1023 = 5V

Jetzt benötigen wir lediglich den Teilungsfaktor : 5V : 1023 = 0,0048

Fangen wir hier erst einmal mit dem Schaltplan an.
Als Test nutzen wir ein simples Poti mit 10K um Werte zu erhalten.



Den ermittelten Wert lassen wir uns über ein Terminalprogramm anzeigen.
( Wir nutzen 4Mhz , das heißt : 4800 Baud einstellen )

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 

symbol Zehntausend = b4
symbol tausend = b5
symbol Hundert = b6
symbol Zehner = b7
symbol Einer = b8
 
let dirsc=%00000001
 
do
readadc10 1,w0
if w0<>w1 then
w1=w0
w0=w0*10
w0=w0/100*48
bintoascii w0,Zehntausend,Tausend,Hundert,Zehner,Einer
sertxd (Tausend,".",Hundert,Zehner,Einer," Volt",13,10)
endif
loop
 
 



Damit wir auch Kommastellen anzeigen lassen können ,setzen wir den ermittelten Wert
nach dem Einlesen um eine Potenz höher, also in diesem Fall x10

Weil jetzt können wir mit /100 x 48 den Wert durch 0.048 , unserem Teilungsfaktor teilen lassen.

Nun erhalten wir zahlen im Tausenderbereich , wobei wir uns gedanklich nach der 1. Stelle einen Punkt vorstellen müssen.

Das Ganze wandeln wir jetzt noch mit dem Befehl : BINTOASCII in einzelne Zahlen um und senden diese an den Terminal am PC.




|addpics|nqa-b-3f31.jpg,nqa-c-fd9a.jpg|/addpics|

 
BoomBoomMagic
Beiträge: 879
Registriert am: 24.01.2019


   

Drehencoder mit der Picaxe
LDR ( Lichtsensor ) an der Picaxe

Picaxe Editor 5.5.5 Download
Update auf Picaxe Editor 5.5.6 Download
Picaxe Editor 6.x.x.x Download
Manual1.pdf        -      Grundwissen Download
Manual2.pdf        -      Befehle Download
Manual3.pdf        -      Beispiele Download


Press [Backspace] for back to Menu


Counter
Xobor Forum Software ©Xobor.de | Forum erstellen
Datenschutz