Auf die Gefahr hin, dass gleich wieder mit mir gemeckert wird wegen
formatierung.
Ich wollte jetzt mit demn Wert den ich über den ADC einlese an die PWM
ausgeben. Das gelingt auch, nur kann ich das Tastverhältniss nur bis
etwa
50% einstellen. Wo ist hier der Knacks ?
Habe das Programm jetzt mal (endlich) geändert und prüfe auf ADSC.
Ändert aber nicht an der Tatsache, dass ich die Pulsweite nicht
kontinuierlich von 0-100 % einstellen kann. Folgende kann ich
feststellen: Messe ich die Spannung die am ADC1 anliegt (kommt über ein
10kOhm-Poti) kann ich die von 0 - 3,1 Volt einstellen (das Poti ist OK
und wurde schon getauscht). Kling komisch ist aber so. Das aber auch nur
im Falle, wenn ich im PWM-Betrieb bin. Lasse ich den Weg und gebe den
ADC-Wert auf einen Port aus, kann ich die Spannung am Eingang von ADC
von ca. 0-5 Volt einstellen.
Warum ist das so, welchen Einfluss hat die PWM auf den AD-Wandler ?
Der Verwendetet Prozessor ist der Mega 8 und der Aref pin liegt über
100nF an Masse. VACC liegt an 5 Volt.
Hä
> Folgende kann ich> feststellen: Messe ich die Spannung die am ADC1 anliegt> (kommt über ein 10kOhm-Poti) kann ich die von 0 - 3,1 Volt> einstellen (das Poti ist OK und wurde schon getauscht).
Heist das, du hast die mit einem Voltmeter gemessen?
Oder schliest du das aus dem Verhalten deines Programms?
Es wäre jetzt wichtig zu wissen, ob der ADC Wert deiner tatsächlichen
Spannung entspricht. d.h. bricht die Spannung bei laufender PWM
tatsächlich ein oder ist nur der ADC Messwert falsch.
Wenn die tatsächlich einbricht, dann muss man hardwaremässig
weiterschauen. Blockkondensatoren, Einbrüche des Netzteils, was hängt am
PWM Ausgang, etc.
Karl heinz Buchegger schrieb:> Heist das, du hast die mit einem Voltmeter gemessen?> Oder schliest du das aus dem Verhalten deines Programms?
Ich messe mit dem Voltmeter am Pin ADC1 vom Mega8
>>> Es wäre jetzt wichtig zu wissen, ob der ADC Wert deiner tatsächlichen> Spannung entspricht. d.h. bricht die Spannung bei laufender PWM> tatsächlich ein oder ist nur der ADC Messwert falsch.
Die Spannung bricht devinitiv zusammen der ADC-Wert wird der Spannung
entsprechen, weil ich etwa 50% Tasverhältniss habe bei ca. 3,1 Volt am
ADC Eingang. Bei Ansclag des Potis habe ich da einen Restwiederstand von
20 Ohm. Darüber fällt die komplette Spannung ab die eigentlich zum ADC
Eingang soll.
>> Wenn die tatsächlich einbricht, dann muss man hardwaremässig> weiterschauen. Blockkondensatoren, Einbrüche des Netzteils, was hängt am> PWM Ausgang, etc.
Blockkondensatoren sitzen im Netzteil sowie am Mega8.
Messe den Ausgang mit dem Oszi.
Ingo Laabs schrieb:> ADC Eingang. Bei Ansclag des Potis habe ich da einen Restwiederstand von> 20 Ohm. Darüber fällt die komplette Spannung ab die eigentlich zum ADC> Eingang soll.
Wie sieht die Schaltung aus?
Vcc --------+
|
--- 10k Poti
| |
<-----+---------------> zum ADC Pin
| |
---
|
|
GND ---------+-----------------
jo..genau so.
Wenn der Schleifer auf dem oberen Anschlag steht, messe ich noch
zwischen Schleifer und VCC einen Widerstand von 20 Ohm an dem die
fehlende Spannung abfällt. Das wäre eigentlich nur denkbar, wenn der
Eingang vom ADC niederohmig wäre was ja eigentlich nicht der Fall ist.
Ingo Laabs schrieb:> Wenn der Schleifer auf dem oberen Anschlag steht, messe ich noch> zwischen Schleifer und VCC einen Widerstand von 20 Ohm an dem die> fehlende Spannung abfällt. Das wäre eigentlich nur denkbar, wenn der> Eingang vom ADC niederohmig wäre was ja eigentlich nicht der Fall ist.
Ich hab keine Erklärung dafür.
Und wenn du die PWM nicht erzeugen lässt, dann ist der Effekt weg?
Seltsam.
Lötbrücke oder sonst irgendeine Verbindung vom PWM Ausgang zum ADC
Eingang ist völlig ausgeschlossen?
Karl heinz Buchegger schrieb:> Ich hab keine Erklärung dafür.> Und wenn du die PWM nicht erzeugen lässt, dann ist der Effekt weg?> Seltsam.>
Ja ist so !
> Lötbrücke oder sonst irgendeine Verbindung vom PWM Ausgang zum ADC> Eingang ist völlig ausgeschlossen?
Eigentlich schon. Werde aber am Nachmittag nochmal genau schauen. Bin
jetzt auf Arbeit.
wenn ich blind wär könnte ich hier nur schlecht schreiben oder?
C is aber nicht mein ding, erstens weißt du nicht was der compiler aus
deinem source zurechtwurstet und zweitens mag ich assembler. ich weiß,
hilft dir nicht weiter, aber ich wollte es nur als mögliche
fehlerursache anmerken.
Ben _ schrieb:> wenn ich blind wär könnte ich hier nur schlecht schreiben oder?>> C is aber nicht mein ding, erstens weißt du nicht was der compiler aus> deinem source zurechtwurstet
Na komm.
Der Compiler saugt sich ja nicht einfach irgendetwas aus den virtuellen
Fingern.
> und zweitens mag ich assembler.
Schon gut.
Aber auch als Assemblerprogrammierer sollte man erraten können, was wohl
1
DDRB=255;// PORT auf Ausgang
macht. Und eine andere Verwendung eines DDRx Registers kommt im Programm
nicht vor.
Hab extra noch einmal nachgesehen.
Beim Mega 8 liegt der OCR Pin am Port B, der ADC aber am Port C. Von
daher dürfte es eigentlich keine Beeinflussung geben.