Dann liegt die Referenzspannung auf 5V, das sollte schon mal in Ordnung sein.Zitat:
Zitat von Dominik009
Grüße
Thomas
Druckbare Version
Dann liegt die Referenzspannung auf 5V, das sollte schon mal in Ordnung sein.Zitat:
Zitat von Dominik009
Grüße
Thomas
hi
also mien programm sieht momentan so aus:
' Die gemessene Spannung wird in der Variablen W gespeichert.
' Channel ist der Pin, an dem die Spannung gemessen werden soll.
$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000
$baud = 9600
Config Adc = Single , Prescaler = Auto
Start Adc
Dim W As Word , Channel As Byte
Channel = 2
Do
W = Getadc(channel)
Print "ADC-Pin " ; Channel ; ": Wert " ; W
Incr Channel
If Channel > 2 Then Channel = 2
Wait 1
Loop
End
der controler zigt miener meinung auch de richtigen adc werte an.
wie kann ich den adc wert anhand der ref spannung in volt umwandeln?
könnte das jemand mienem code ergänzen?
pls.
gruß
Dominik
hallo.
ich habe es.
nun läuft es.
genaueres schreiebe ich euch morgen.
muss jetzt schlfen.
bin hundemüde
gruß
Dominik
P.S.: danke für eure hilfe.
ohne euch hätte ich das nie geschafft.
Hallo!
In deinem Code fehlt die Angabe der Referenzspannung:
Die Umwandlung kannst du wie folgt machen:Code:Config Adc=Single , Prescaler = Auto, Reference = AVCC
Vmess = (Vreference / 1024) * ADCWert
Den Teil in der Klammer kannst du auch als Konstante abspeichern, in deinem Fall wäre der richtige Wert dafür 0.004882813
Grüße
Thomas
Du kannst ja das aus dem Beispielcode verwenden. Du musst nur den richtigen ADC Kanal einsetzen und eventuell den Ausgabetext ändern.Code:'Diese Unterfunktion zeigt Batteriespannung an
Sub Batteriespannung()
Local W As Word
Start Adc
W = Getadc(6)
Volt = W * Ref
Volt = Volt * 5.2941
Print "Die aktuelle Spannung beträgt: " ; Volt ; " Volt"
End Sub
allo
also wie gesagt,
es läuft.
Ich habe nun die richtigenen werte.
Es lag an den internen wiederständen.
Hier mein code:
' Die gemessene Spannung wird in der Variablen W gespeichert.
' Channel ist der Pin, an dem die Spannung gemessen werden soll.
$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000
$baud = 9600
Const Adc_multi = 0.0048828125 ' = 5.0 / 1024.0
Config Adc = Single , Prescaler = Auto
Start Adc
Dim W As Word , Channel As Byte
Channel = 2
Do
W = Getadc(channel)
Dim Volt As Single
Volt = W * Adc_multi
Print "ADC-Pin " ; Channel ; ": Wert " ; W ; " Volt: " ; Volt
Incr Channel
If Channel > 2 Then Channel = 2
Wait 1
Loop
End
danke für eure hilfe.
gibt es eine mölichkeint (formel) um den adc wert in cm umzuwandeln?
Nachdem die Spannung und Entfernung nicht linear zu einander sind, macht man das am Besten über ein Array. Wie das allerdings in BASCOM geht weiss ich nicht.
hallo
schlechte news.
Habe eben den sensor eingeschaltet.
Er ist kaputt.
Am mulzimeter und am controler kommt immer nur 0.01 - 0.30 V
egal wie ich ihn halte.
werde mir dan montag einen neuen kaufen