Forum: Mikrocontroller und Digitale Elektronik Seltsamer Fehler bei ATtiny84


von Peter Z. (Gast)


Angehängte Dateien:

Lesenswert?

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?

von Jim M. (turboj)


Lesenswert?

Ohne Schaltplan ist Deine Frage nicht sinvoll beantwortbar. Meine 
Glaskugel ist in Reparatur.

von Peter Z. (Gast)


Lesenswert?

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

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

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.

von Thomas E. (thomase)


Lesenswert?

Peter Zz schrieb:
> Es gibt keinen Schaltplan, das ganze ist ein höchst simpler Aufbau auf
> Lochraster.
Dann mach einen.

mfg.

von Dr.Who (Gast)


Lesenswert?

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.

von Spess53 (Gast)


Lesenswert?

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

von Peter Z. (Gast)


Lesenswert?

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.

von Ralf G. (ralg)


Lesenswert?

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?

von Hannes (Gast)


Lesenswert?

Solche Effekte hatte ich auch schon. War ein Masseproblem.

von Haaach (Gast)


Lesenswert?

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???

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

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.

von Haaach (Gast)


Lesenswert?

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

von Hannes L. (hannes)


Lesenswert?

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