Seltsamer Fehler bei ATtiny84

Gast #3166432
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?
Angehängte Dateien:
Gast #3167923
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
(Firma: TravelRec.) Persönliche Seite #3167933
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.
Gast #3168027
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
Gast #3168175
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.
Gast #3168730
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???
(Firma: matzetronics) #3168733
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.
Gast #3168747
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren