Gute Tag. Ich verwende einen Attiny2313 um die Helligkeit dreier LEDs zu
steuern. Dazu benutze ich 3 PWM Kanäle.
Nun bin ich auf ein Problem gestoßen, bei dem ich nicht weiter komme.
Ich gehe davon aus, dass mein Programm in Ordnung ist, denn auf dem
STK500 klappt alles ohne Probleme. Jeder Kanal lässt sich individuell
einstellen.
Das ganze habe ich jetzt auf Lochraster übertragen und ein Kanal macht
Probleme. Habe ich alle drei Kanäle angeschlossen, so ist es immer der
OC0B Pin (PD5) der nicht richtig funktionieren will. Ich habe ihn mal
zur Seite gebogen, so dass er keine Kontakt mir dem Sockel hatte und mit
eine Oszilloskop nachgemessen. Es tut sich nichts an dem Pin. Ich denke,
dass dieser Pin dann die ganze Zeit hoch impedant ist. Gehe ich mit
einem Schraubendreher dran so flackert die LED mit auffälligen 50Hz
Das kuriose ist nun, dass dieser PWM Kanal an PD5 bestens funktioniert,
sobald ich einen anderen PWM Kanal weg biege. Wenn ,in meinem Fall: OC0A
oder OC1A, keinen Kontakt zum Sockel/Platine haben, funktionieren die
zwei PWM Kanäle die übrig geblieben sind wunderbar.
Ich habe schon alles mögliche nachgemessen. Die Eingänge der
Mosfettreiber auf die die PWM Kanäle gehen haben alle keinen
Kurzschluss. Die Treiber und die Mosfets funktionieren auch. Den Attiny
habe ich testweise raus genommen und einen Arduino an die Pins
angeschlossen. Alles funktionierte bestens, auf dem STK500 klappt auch
alles ohne Probleme.
Die Beschaltung des Attinys sieht wie folgt aus: 4MHz Quarz mit 22pF
Stützkondensatoren. 100nF Abblockkondensator. Die Spannung beträgt 5V
Die Beschaltung der Gatetreiber und der Mosfets: MCP1407 an 5V. 100nF
Abblockkondensator. Die Beiden OUT Pins sind zusammengelötet und gehen
auf das Gate des Mosfets (IRLU023N)
Wo könnte mein Problem liegen?
Dextrose schrieb:> Die Beschaltung des Attinys sieht wie folgt aus: 4MHz Quarz mit 22pF> Stützkondensatoren. 100nF Abblockkondensator. Die Spannung beträgt 5V> Die Beschaltung der Gatetreiber und der Mosfets: MCP1407 an 5V. 100nF> Abblockkondensator. Die Beiden OUT Pins sind zusammengelötet und gehen> auf das Gate des Mosfets (IRLU023N)
Schaltungen beschreibt man nicht in Prosa. Zeichne einen Schaltplan.
mfg.
Max D. schrieb:> Was passiert wenn du den Pin in Software als I/O auf (dauer-)high> schaltest ?
Habe in der Hauptschleife: ,,sbi PORTD, 5" eingefügt.
Wie zu erwarten bleibst der Pin die ganze zeit high.
Habe einen anderen AVR ausprobiert und das selbe Problem.
Hier ein Schaltplan, die anderen zwei Kanäle sind gleich aufgebaut.
Die Übertragung via UART habe ich mit einem Logicanalyzer getestet. Die
Daten kommen alle über.
"T1: Timer/Counter1 External Counter Clock input is enabled by setting
(one) the bits CS02 and CS01 in the Timer/Counter1 Control Register
(TCCR1)"
Hast du evtl. da was gesetzt?
Dextrose schrieb:> Ich gehe davon aus, dass mein Programm in Ordnung ist
Dein Code wäre auch nützlich um das beurteilen zu können ;)
So, habe nun das Problem lösen können. Wie es aussieht habe ich die
Spannung am AVR nicht genug geglättet, bzw. teilweise Spannungsabfälle
(brown outs?). Das hat den Controller aus dem Konzept gebracht.
Nun habe ich genug Kondensatoren eingebaut, Elkos sowie Kerkos, und
alles funktioniert super.