Hallo allerseits, ich habe eine kleine Hardware-Bastelei gemacht, wo an einem ATtiny84 6 Modellbauservos dranhängen. Zu den Pins wo die Servos dranhängen gehören auch die Programmierpins MISO MOSI und SCK Nun ist es so, das die Servos zum rumspinnen neigen, solange das Programmiergerät ein *AT AVR ISP* noch dranhängt. Workaround ist jedesmal nach dem Programmieren den 6-poligen Programmierstecker zu ziehen. Das ist ein bisschen lästig. Die Hardware ist jetzt beim Kunden, deshalb kann ich nichts mehr testen, aber für's nächste mal: Kann man das irgendwie umgehen, z.B. durch Widerstände in den Leitungen MISO MOSI und SCK die zum Programmiergerät gehen?
Ohne Schaltplan ist Deine Frage nicht sinvoll beantwortbar. Meine Glaskugel ist in Reparatur.
Jim Meba schrieb: > Ohne Schaltplan ist Deine Frage nicht sinvoll beantwortbar. Meine > Glaskugel ist in Reparatur. Es gibt keinen Schaltplan, das ganze ist ein höchst simpler Aufbau auf Lochraster. Da gibt es nur einen 7805, den ATtiny84 und einen 6 poligen Wannenstecker für das Programmiergerät. Da hängen 6 Modellbau-Servos dran Zu den Pins wo die Servos dranhängen gehören auch die Programmierpins MISO MOSI und SCK
Peter Zz schrieb: > Nun ist es so, das die Servos zum rumspinnen neigen, solange das > Programmiergerät ein *AT AVR ISP* noch dranhängt. Der MKII ist, wenn er nicht gerade programmiert, relativ hochohmig und wird also nicht wirklich stören. Ich denke eher, dass die Flachbandleitung Übersprechen verursacht und/oder die Computermasse Störungen mit in die Schaltung bringt.
Peter Zz schrieb: > Es gibt keinen Schaltplan, das ganze ist ein höchst simpler Aufbau auf > Lochraster. Dann mach einen. mfg.
Ich glaube die Probleme in diesem Forum, die ohne Schaltplan oder wenigstens einem Bild des Aufbaus gelöst wurden kannst du an einer halben Hand abzählen.
Hi >> Nun ist es so, das die Servos zum rumspinnen neigen, solange das >> Programmiergerät ein *AT AVR ISP* noch dranhängt. >Der MKII ist, wenn er nicht gerade programmiert, relativ hochohmig und >wird also nicht wirklich stören. Ich denke eher, dass die >Flachbandleitung Übersprechen verursacht und/oder die Computermasse >Störungen mit in die Schaltung bringt. Einfacher. MISO und MOSI teilen sich die Pins mit den OCR-Ausgängen vom Timer1. Und an denen hängen mit großer Sicherheit Servos. Das die dann beim Programmieren zappeln ist nicht verwunderlich. Wenn man so etwas vermeiden will sollten MOSI, MISO und SCK im Normalbetrieb Eingänge. Dann kann man die Entkopplung nach AppNote AVR042 benutzen. MfG Spess
Die üblichen Kondensatoren am 7805, 100nF am µC sind natürlich vorhanden. Die Servo-Impulse werden mit einer Delay-Schleife µs genau erzeugt:
1 | void Pause(unsigned long int Dauer) |
2 | {
|
3 | for (;Dauer;Dauer--) |
4 | {
|
5 | asm volatile("NOP"); |
6 | asm volatile("NOP"); |
7 | }
|
8 | }
|
Spess53 schrieb: > Das die dann > beim Programmieren zappeln ist nicht verwunderlich. Spess53 schrieb: > MISO und MOSI teilen sich die Pins mit den OCR-Ausgängen vom > Timer1. Und an denen hängen mit großer Sicherheit Servos. Das die dann > beim Programmieren zappeln ist nicht verwunderlich. Also, die Servo's hängen an: PB1 PB2 PA7 PA6 = MOSI PA5 = MISO PA4 = SCK und die Servos zappeln nicht nur während des eigentlichen Programmiervorganges sondern solange das Programmiergerät dran ist. Ist das Programmiergerät ab ist alles super.
Peter Zz schrieb: > Workaround ist jedesmal nach dem Programmieren den 6-poligen > Programmierstecker zu ziehen. Ignoriere das einfach! Oder willst du öfter programmieren, als dass die Servos ihre Aufgabe tun? Jim Meba schrieb: > Ohne Schaltplan ist Deine Frage nicht sinvoll beantwortbar. Hast du die Servos hinter einem extra Spannungsregler?
Peter Zz schrieb: > Die üblichen Kondensatoren am 7805, 100nF am µC sind natürlich > vorhanden. > Die Servo-Impulse werden mit einer Delay-Schleife µs genau erzeugt: >
1 | > void Pause(unsigned long int Dauer) |
2 | > { |
3 | > for (;Dauer;Dauer--) |
4 | > { |
5 | > asm volatile("NOP"); |
6 | > asm volatile("NOP"); |
7 | > } |
8 | > } |
9 | >
|
>
Man kann wieder nicht sehen, ob die Pins als Output konfiguriert sind
oder als Input belassen wurden. Deshalb eine weitere Theorie: PBs als
Input - Durch Setzen/Löschen des PortB Bits werden die internen Pullups
ein und ausgeschaltet was für Betreiben des Servos genügen könnte. Hängt
der Programmer drauf, wirkt er als Antenne und mit deren gelieferten
Störungen spinnen die Servos.
Wann werden endlich mal zu Beginn ALLE Infos geliefert???
Für mich ist das auch ein Zeichen, das da irgendwas 'auf Kippe' programmiert ist. Normalerweise ist der ISP MkII wenig invasiv und stört selbst bei den empfindlicheren XMegas den Betrieb nicht, wenn nur die Potentiale ( vor allem die o.a. Masse) eingehalten werden. Ein paar Bustreiber für die Servosignale jedenfalls können nicht schaden und machen die Kiste auch unempfindlicher gegen Rückwirkungen der Servos.
Haaach schrieb: > oder als Input belassen wurden. Deshalb eine weitere Theorie: PBs als > Input - Durch Setzen/Löschen des PortB Bits werden die internen Pullups > ein und ausgeschaltet was für Betreiben des Servos genügen könnte. Hängt > der Programmer drauf, wirkt er als Antenne und mit deren gelieferten > Störungen spinnen die Servos. bzw PORTA Register Bits
Matthias Sch. schrieb: > Ein paar > Bustreiber für die Servosignale jedenfalls können nicht schaden und > machen die Kiste auch unempfindlicher gegen Rückwirkungen der Servos. Da sollten eigentlich Widerstände von etwa 1k in Reihe in den Impulsleitungen reichen, Leitungstreiber für Servos brauchte ich noch nie... ...
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.