Hallo, weil ich erhebliche Probleme mit den 6 A/D-Wandlern im 4433 habe, möchte ich hier eine Anfrage machen. Ich bräuchte ein garantiert, auf einen AVR 4433 getestetes Programm was 2 oder mehr Wandler abfragt und mir den Wert über UART ausgibt. Ich bräuchte die lauffähige .hex datei und den Assembler- oder C-Quellcode. Der Hintergrund ist folgender: Mein Programm liest den wert von 1 Wandler und sendet über UART. Alles ok. Die gleiche Routine 2 oder mehrmals hintereinder und die Wandlerwerte sind folgendermassen: 2 Wandler - Wert = VREF / 2 3 Wandler - Wert = VREF / 4 usw.. Habe schon lange im IRC diskutiert und alle Codeschnipsel die ich hier und im passendem Forum gefunden habe ausprobiert. Habe viele Kombinationen von LC- oder RC-Gliedern, Pull-Ups oder Pull-Downs und sämtliche Eingangs- und Referenzspannungen im 0.1 Volt Schritten ausprobiert. Zuerst dachte ich an ein Timing problem und hatte zeitweilig schon 1s pause zwischen dem einschalten des Wandlers und dem Lesen der Werte oder/und setzen von MUX - 1s - setzen von ADEN. Es macht auch keinen Unterschied ob ich in Assembler oder C Programmiere. Habe auch schon die UART Routinen gegen LCD ausgetauscht. Habe als Anzeige auch schon PCF8574 benutzt. Alles funktioniert solange ich nur einen Wandler, egal welchen abfrage. Bei 2 oder mehr kein Wandlerwert mehr. Hoffentlich kann mir jemand helfen. Ich benutze avr-gcc 3.3 oder tavrasm, uisp und Emacs. Gruss Jan PS.: Entschuldigung für den langen Text wusste nicht wo ich noch kürzen konnte.
Hallo Jan! Stelle mal dein Prog ins Forum, dann schauen wir mal. Man kann da eigentlich nicht sooo viel falsch machen. MFG Uwe Ps.:Ich schreibe nur in ASM.
Hi, mal so ins Blaue gefragt: Bist Du sicher, dass Du die "Wandler-Zeit" auch abwartest, bis Du den nächsten Kanal abfragst ?! Hatte mal ähnliches Verhalten - habe einfach nicht gewartet, bis der ADC fertig war ... Gruß UBoot-Stocki
Hallo, @Uwe: Mein ziemlich verunstaltes Programm ab ich angehängt, ein weiteres ist unter http://www.mikrocontroller.net/forum/read-1-34056.html zu finden. @UBoot-Stocki: Wie ich oben schon erwähnte, hab ich teilweise bis zu 1s zwischen den einzelnen Schritten gehabt, was auch keinen Erfolg mit sich brachte. Mittlerweile habe ich sowohl ADSC abgewartet als auch ADIF ohne erfolg. Probiert habe ich schon alle Möglichkeiten die beiden Register zu lesen, über 2 Variablen die dann in eine 3. enden, oder sogar direkt in eine Variable. Mittlerweile bin ich soweit mir noch einen neuen Controller zu kaufen um auch die Möglichkeit auszuschliessen das ich 2 Controller mit demselben Hardwareproblem habe. Gruss Jan
Hi Jan! C ist leider für mich ein mittleres Probl. aber was mir auffällt ist das du den Wandler ständig neu einschaltest. Warum? ADCSR = 0x85 erledigt das doch.(Teiler ist auch ok) Aber es sollte eigentlich auch nichts machen. Wenn ich das alles richtig beurteile sollte es eigentlich gehen, wenn nicht irgendwelche C-Fallen was anderes machen wie gedacht. Leider habe ich momentan keinen 4433, die sind verbaut. 8535 hätte ich noch,wenn du da das gleiche Probl.haben solltest könnte ich mit dem mal testen. Dann aber in ASM. MFG Uwe
Hallo Uwe, das mit dem einschalten des Wandlers war nur ein weiter Versuch, ohne (wie ich das anfänglich auch hatte) gings auch nicht. Gruss Jan, der jetzt erstmal einen neuen MC kauft.
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.