PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Warum läuft der Motor beim Programm übertragen?



orko512
20.04.2007, 23:04
ich habe folgendes Problem:

Sobald ich ein Programm in mein Atmega128 schreibe,
läuft während der Übertragung mein Motor an.
Der Motor ist an einem Ausgang für Hardware PWM angeschlossen.

Kann man dieses Verhalten ändern?

Gruß Orko

Hubert.G
21.04.2007, 08:58
Das sollte sich hardwaremässig unterbinden lassen, dazu müsstest du allerdings deine Schaltung hier posten.
Hubert

darwin.nuernberg
21.04.2007, 10:23
Tja, könnte sein dass deine Motorelektronik an Pins beschaltet ist, welche auch vom ISP/JTAG genutzt werden?

cl
21.04.2007, 10:25
Jetzt mal geraten! Das SPI-Programmieren macht doch die Pins des Controllers tristate, weil RESET aktiviert ist. Das heißt, die floaten irgendwo zwischen low und high mit einem sehr hohen Innenwiderstand rum (beide Treiber-FETs im uC gesperrt). Dann würde in den meisten Fällen (z.B. N-Kanal MOSFET oder NPN Transistor) doch einfach ein Widerstand von dem Ausgang gegen Masse genügen, z.B mit 4.7kOhm. Unter der Voraussetzung natürlich, dass dein Leistungsschalter sperrt, wenn der Eingang ~0V ist.
Mache ich bei 'kritischen' Ausgängen z.B. bei Motoren oder sonstigen Sachen wo was kaputt gehen kann seit einiger Zeit so (eben weil ich das Problem auch hatte)

Aber wie mein Vorposter schon sagte, ohne Plan kann man echt nur raten.

- cl

Ringo
21.04.2007, 13:48
Ich habe das Problem auch!
Habe dann einfach die Stormzufuhr für die Motoren mit einem Jumper gemacht. Jumper raus Proggn. Jumper Rein fährt ^^ ist sehr praktisch wenn man mal ein paar Sachen Testen will und der Robot nicht gleich vom Tisch fahren soll!

MfG
Ringo

orko512
23.04.2007, 04:14
danke für die antworten.

meine schaltung ist wie folgt aufgebaut:

ausgang atmega (motor ein/aus) - > Pin 1 L293 (Enable Motor)
Motor an Pin 3 und 6 vom L293

Für die Fahrtrichtung benutze ich nur einen Ausgang, dieser ist doppelt beschaltet.
ausgang atmega (richtung) - > Pin 2 L293 (eingang A)
ausgang atmega (richtung) - > Pin 1 7404
Pin 2 7404 -> Pin 7 L293 (eingang B)

Die Idee mit dem Jumper die Stormzufuhr für die Motoren abzuschalten hört sich ganz gut an.

gruß orko

T.J.
23.04.2007, 06:40
ausgang atmega (motor ein/aus) - > Pin 1 L293 (Enable Motor)


an den Eingang vom L293 würde ich n Pulldown setzen

drakon
14.09.2007, 00:01
Hallo!
Ich habe das gleiche Problem! An einem Atmega8 ist ein umgebautes Servo angeschlossen. Beim Einschalten und bei der Übertragung läuft das Servo kurz an. Habe bereits mit einem 4,7 Pulldown versucht, leider ohne Erfolg.