Hallo zusammen, ich möchte gern Spannungen zwischen 30-150 mV messen. Dabei soll mir der Atmega8 helfen, die zu verwirklichen. Ich habe mir nun das myAVR board MK2 mit der passenden LCD Anzeige gekauft und mit BASCOM versucht, dies zu realisieren. Dabei bin ich nun fürchterlich auf die Nase gefallen. Ich habe das zwar ein Programm gefunden, welches evtl. passen könnte, jedoch "flatterten" die Werte im Display auf und ab. Also keine stabile Anzeige. Leider war auch nicht angegeben, auf welchem Port ich meinen Messeingang legen muss. Wie kann ich denn das nur hinkriegen? Bin jetzt völlig verwirrt und ratlos. Kann mir einer (oder mehrere von euch) von euch Profis dabei helfen, mein Problem zu lösen? Ich muss auch dazu sagen, dass ich nicht sehr bewandert in BASIC (von anderen Sprachen habe ich gar keine Ahnung) bin, weil ich doch schon etwas älter bin. Bitte bitte ->>> HÜLFE
Dieter Golze schrieb: > Ich habe das zwar ein Programm gefunden, welches evtl. passen könnte, > jedoch "flatterten" die Werte im Display auf und ab. µC Programmiert man eigentlich selber. Wenn du etwas fertiges braucht kauf ein Multimeter. Das zeigt dir die Spannung an. Was erwartest du jetzt von uns? Ohne das Fragwürdige Programm kann dir niemand sagen welchen Eingang man verwenden muss. Außerdem kann auch die Schaltung schon falsch sein.
Dieter Golze schrieb: > ich möchte gern Spannungen zwischen 30-150 mV messen. Solch kleine Spannungen musst Du üblicherweise vor der Einspeisung in den AD-Wandler verstärken. Gruss Harald
Peter II schrieb: > µC Programmiert man eigentlich selber. Wenn du etwas fertiges braucht > kauf ein Multimeter. Hallo Peter, wie schon erwähnt, bin ich nicht sehr bewandert im programmieren, möchte dies jedoch mit etwas Hilfe lernen. In Büchern sind immer tolle Versuche aber selten so erklärt, dass ein Neuling wie ich viel damit anfangen kann. Ich habe mal das Listing angehangen. Ich denke, dass es der Port C0 ist.
Harald Wilhelms schrieb: > Solch kleine Spannungen musst Du üblicherweise vor der Einspeisung > in den AD-Wandler verstärken. Danke für die schnelle Antwort. Aber wie kann ich das machen?
Dieter Golze schrieb: > Ich habe mal das Listing angehangen wir machen hier keine Bilderrätsel. Code bitte als Text posten.
Peter II schrieb: > keine Bilderrätsel ok, so sei es ;-) - Hier der Klartest $regfile = "m8def.dat" $crystal = 1000000 $swstack = 10 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2 Config Lcd = 16 * 2 Cursor Off Cls Waitms 10 Config Adc = Single , Prescaler = Auto , Reference = Avcc 'Analogwandler definieren Config Portc.0 = Input 'ADC Config Portb = Output 'LEDs Leds Alias Portb Dim Analogwandler As Integer 'Variable zur Aufnahme des Wertes vom Analogwandler Dim Volt As Single Dim Vorkomma As Byte Dim Nachkomma As Byte Dim Gesamt As Integer Lcd "ADC-Wert" Locate 1 , 11 Lcd "Volt" Do Analogwandler = Getadc(0) 'AD-Wandler einlesen. Werte zwischen 0 und 1023 Locate 2 , 1 Lcd Analogwandler ; " " Volt = Analogwandler * 14.7 '0..1024 -> 0..15000 Volt = Volt / 1000 ' 0... bis 15,.. Locate 2 , 11 Lcd Volt ; " " Vorkomma = Int(volt) 'Ganze Vorkommazahl 1 .. 15 Volt = Volt - Vorkomma 'Nur Nachkommastellen 0,x.. Volt = Volt * 10 'Erste Nachkommastelle x,... Nachkomma = Int(volt) Gesamt = Vorkomma * 16 ' vvvv0000 Gesamt = Gesamt + Nachkomma ' vvvvnnnn Leds = Gesamt Waitms 100 Loop End
> Volt = Analogwandler * 14.7 '0..1024 -> > 0..15000 woher kommt du 15000? Damit skalierst du den wert auf 0 bis 15V. Das macht für dich aber überhaupt kein sinn. Dies verwendet man wenn man mit einen Spannungsteiler 15V messen will. Aber zu der Hauptfrage, wo die Spannung angelegt werden muss. > Getadc(0) damit müsste es der Anschluss ADC0 sein -> siehe Datenblatt. Auch solltest du nicht gegen VCC messen, sondert gegen die interne Referenz: > Reference = Avcc muss also geändert werden. Aber ich kenne Bascom nicht, damit kann ich nicht sagen in was man es ändern müsste.
Danke Peter, das hilft mich schon ein wenig weiter. Den Minusanschluss lege ich dann an GND an?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.