Forum: Mikrocontroller und Digitale Elektronik Suche getestetes ADC + UART Programm für 4433


von Jan Burchardt (Gast)


Lesenswert?

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.

von Uwe (Gast)


Lesenswert?

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.

von UBoot-Stocki (Gast)


Lesenswert?

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

von Jan Burchardt (Gast)


Angehängte Dateien:

Lesenswert?

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

von Uwe (Gast)


Lesenswert?

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

von Jan Burchardt (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.