A/D Wandler spinnt Kategorie: Programmierung (von Simon - 13.05.2009 10:33) | ||
| ||
Hallo, Ich habe ein Poti an den A/D Wandler angeschlossen so dass ich 0..4V einstellen kann. Anschlie�end übergebe ich den Wert des A/D Wandlers an ein Bytearray und sende es über den CAN hinaus. Hier mal der Code: thread main { int ad; byte ad_spg[2]; can.init(can.SPEED_500,0x0000,0x0000); loop { ad = ports.adc(4); //Spannung einlesen und in int ad schreiben sleep 500; mem.putint(ad_spg,0,ad); //int ad in byte ad_spg übergeben can.send(2,0x40,ad_spg,2); //byte ad_spg über CAN senden } } Jetzt das Problem: Ich bekomme immer die falschen (zu niedrigen) Werte angezeigt. Selbst wenn ich direkt 4V auf den A/D Wandler gebe bekomme ich maximal 621 (dez. Wert) entspricht 2,484 V. Ich habe bei allen A/D Wandlern(0..7) das Problem. Das übergeben der Integer Variablen in das Byte und das heraussenden über den CAN funktioniert einwand frei. das habe ich so getestet: loop { for ad = 1...1023 { mem.putint(ad_spg,0,ad); can.send(2,0x40,ad_spg,2); sleep 500; } } } Weiterhin ist das Ergebnis des A/D Wandlers alles andere als stabil. Ich meine nicht, dass es ein bissle springt sondern,dass wenn mann eine konstante Spannung anlegt er mind um 0,5 V pendelt. und das ist doch ein bissle arg viel bei einem Bereich von 0...4V. Oder? Hatte jemand von euch auch schon diese Probleme. Oder mache ich grundsätzlich etwas falsch? Vielen Dank schon einmal für eure Bemühungen! Gru� Simon | ||
Antwort schreiben Antworten: Re: A/D Wandler spinnt (von Simon - 13.05.2009 11:10) |