Pololu A4988: RESET und SLEEP

Hallo,
ich bin gerade dabei eine miniE-Schrittmotorsteuerung für ein Kameradolly zu bauen (http://openmoco.org/user-interface/minie-2x16-ui-and-minimal-engine). Ich habe jetzt das orgiginale Platinendesign umgearbeitet in eine per Direkt-Toner-Methode (Platinen ätzen mit der Direkt-Toner-Methode, Tonertransfermethode, Leiterplatten mit dem Laserdrucker selber herstellen) zu produzierende Platine. Außerdem habe ich den Easydriver durch einen Pololu ersetzt.
Leider funktioniert der Pololu auf der fertigen Platine nicht mehr. Zumindest dreht sich der Motor nicht mehr. Da die Schaltung immer noch phasenweise, wenn der Motor laufen sollte, rund 200mA zieht und der Pololu-Chip auch warm wird, glaube ich, dass die Augänge des Chips per Reset deaktiviert sind. Dafür spricht auch, dass an Reset keine 5V anliegen.

http://www.pololu.com/file/0J450/a4988_DMOS_microstepping_driver_with_translator.pdf Seite 7: The RESET input sets the translator
to a predefined Home state, and turns off all of the FET outputs. All STEP inputs are ignored untilthe RESET input is set to high.
Die Definition des Reset inputs passt wohl am ehesten auf mein Problem.

So, auf der Pololu Website (Pololu - A4988 Stepper Motor Driver Carrier) steht jetzt, dass man SLEEP und RESET, wenn unbenutzt, miteinander verbinden soll. Nur was macht man, wenn man SLEEP benutzen will und RESET nicht?
Ich weiß, dass RESET High -also auf 5V- sein muss, um den Motor-output zu bekommen. Wenn man SLEEP und RESET miteinander verbindet, sind beide über die 100kOhm an SLEEP (siehe Schaltplan des Pololuss) auf 5V. Folglich habe ich RESET über 100kOhm auf 5V gelegt und die beiden Eingänge NICHT miteinander verbunden.

Trotzdem liegen keine 5V an RESET an, sondern nur 0,6V. Also habe ich den Vorwiederstand auf 10kOhm verringert - immer noch 0,6V.
Da sich bei Veränderung des Vorwiederstands die Spanunng dahinter nicht verändert hat, gehe ich davon aus, dass der Pololu bzw. der RESET-Eingang kaputt sind. :drooling_face:

Jetzt meine Frage: Hat vielleicht Irgendjemand erfahrung mit de Pololu Schrittmotortreibern? Würdet ihr den Pololu genauso anschließen und RESET über 100kOhm auf 5V legen? Mache ich etwas falsch oder ist ein fehler in der Schaltung, sodass der Pololu bzw. der Reset-EIngang beim EInschalten der Schaltung durchbrennen?

Im Moment kann ich mir dieses Problem nur durch einen Herstellungsfehler erklären... Hattet ihr bei Pololus zufällig schon öfter Herstellungsfehler?

Vielen Dank im Vorraus
Bo

Ich weiß, dass RESET High -also auf 5V- sein muss, um den Motor-output zu bekommen. Wenn man SLEEP und RESET miteinander verbindet, sind beide über die 100kOhm an SLEEP (siehe Schaltplan des Pololuss) auf 5V. Folglich habe ich RESET über 100kOhm auf 5V gelegt und die beiden Eingänge NICHT miteinander verbunden.

Reset und Sleep muß LOW sein damit die Motor-Ausgänge aktiv sind.
Sleep ist auf der Platine mit einem Pullup Widerstand auf +5V gezogen. Das Resetpin hat keinen Widerstand. Wenn Du Sleep und Reset zusammenschließt dann werden beide auf 5V gezogen.
Wenn Du Sleep gebrauchen willst, dann mußt Du Reset auf Masse schließen und Sleep ansteuern. Sei Dir bewußt daß wenn der Treiber im Sleep Modus ist, der Motor keinen Strom mehr bekommt ein sehr kleines Haltemoment hat.

Trotzdem liegen keine 5V an RESET an, sondern nur 0,6V. Also habe ich den Vorwiederstand auf 10kOhm verringert - immer noch 0,6V.

Ich tippe auf einen Fehler im Schaltplan oder 2 verbundene Leitungen auf der Platine.

Grüße Uwe

Nachtrag: was machen die beiden Dioden auf step und dir?
Bitte versorge den Motor nicht über Vin. So kannst du die Schutzdiode die zwischen dem Netzteilsbuchse und Vin ist kaputtmachen.

Bist du dir wirklich sicher, dass Reset LOW sein muss, damit die Ausgänge des Motors aktiviert sind? Ich meine im Datenblatt des Chips (siehe oben) steht genau das Gegenteil...
Ich habe die Schaltung mit den Infos aus dem Datenblatt genau wie du es gesagt hast aufgebaut, nur dass ich von +5V und nich von GND ausgegangen bin.

Ich tippe auf einen Fehler im Schaltplan oder 2 verbundene Leitungen auf der Platine.

Meinst du einen Fehler auf der Platine des Pololus?

Danke für den Hinweis mit Vin. Meiner Meinung nach fließt kein Strom durch die Schutzdiode, da die Energieversorgung über JP3 und JP4 geschieht. Ich werd die beiden bei Gelegenheit mal auf dem Schaltplan beschriften, bin da auch schon durcheinander gekommen...bruzel :wink:

Tja die beiden die Dioden an STEP und DIR... ich kann sie mir auch nicht erklären. Aber die sind vom Original übernommen und in sofern werden sie schon einen Sinn haben. Vielleicht sollen sie das Arduino schützen, wenn der Motortreiber durchbrennt. (es sind Zener-Dioden)

Bo

Hallo,
müßte eigentlich alle Fragen beantworten:

http://forum.pololu.com/viewtopic.php?f=15&t=3428&st=0&sk=t&sd=a&hilit=a4988

Gruss
Kurti

Bofrie:
Bist du dir wirklich sicher, dass Reset LOW sein muss, damit die Ausgänge des Motors aktiviert sind? Ich meine im Datenblatt des Chips (siehe oben) steht genau das Gegenteil...
Ich habe die Schaltung mit den Infos aus dem Datenblatt genau wie du es gesagt hast aufgebaut, nur dass ich von +5V und nich von GND ausgegangen bin.

Ups. Da hab ich was falsches gesagt. Du hast recht, Reset muß High sein um nicht aktiv zu sein. Entschuldige bitte meinen Fehler.

Bofrie:

Ich tippe auf einen Fehler im Schaltplan oder 2 verbundene Leitungen auf der Platine.

Meinst du einen Fehler auf der Platine des Pololus?

Ich vermute den Fehler (Kurzschluß 2 Leiterbahnen) auf Deiner Platine.

Bofrie:
Danke für den Hinweis mit Vin. Meiner Meinung nach fließt kein Strom durch die Schutzdiode, da die Energieversorgung über JP3 und JP4 geschieht. Ich werd die beiden bei Gelegenheit mal auf dem Schaltplan beschriften, bin da auch schon durcheinander gekommen...bruzel :wink:

Ich sehe das Schalbild das Du im ersten Diskussionsbeitrag angehängt hast. Ich weiß nicht wo die Motorspannung eingespeist wird.

[quote author=Bofrie
Tja die beiden die Dioden an STEP und DIR... ich kann sie mir auch nicht erklären. Aber die sind vom Original übernommen und in sofern werden sie schon einen Sinn haben. Vielleicht sollen sie das Arduino schützen, wenn der Motortreiber durchbrennt. (es sind Zener-Dioden)

Bo[/quote]
Eine Zenerdiode zwischen Arduino-Ausgang und Treiber-Eingang funktioniert wie ein Widerstand an dem immer die Zenerspannung anliegt. Der Ausgang muß um die Zenerspannung höhere Spannung abgeben damit der Eingang die richtige Spannung bekommt. In Deinem Fall müßte Arduino 17V liefern (was er nicht tut) damit am Treiber 5V ankommen.
DAS ist DEFINITIV keine Schutzschaltung sondern nur falsch.
Als Schutzdiode muß sie zwischen Pin und Masse geschaltet sein und 2 Widerstände (einer vor und einer nach der Z-Diode) den Strom begrenzen. Auch in diesem Fall sind 12 V viel zu hoch.
Laß die Dioden weg.

Grüße Uwe

@kurti: danke für den Link, bin ich vor ner Weile auch drauf gestoßen. Hab jetzt alles nochmal mit dieser Anleitung verglichen und konnte keine Fehler finden. Der schließt Reset und Sleep auch einfach nur zusammen...

@uwefed: kein Problem. Somit sind wir uns einig in diesem Punkt. Wenn man Sleep benutzen will, Reset aber nicht, muss man Reset über 100kOhm auf +5V legen.
Die Dioden sind wirklich fehl am Platz und werden entfernt... Wenn man die Spannung hinter den Dioden misst, ist diese wirklich fast halbiert!
Im Anhang eine aktualisierte Version des Schaltplans. Wenn ich das Arduino über die mit "Power IN" bezeichneten Pins versorge, kann die Schutzdiode nicht durchbrennen oder?

Beim nachmessen der Spannung an den Dioden ist mit aufgefallen, dass mein Arduiono an den mit dem Pololu verbundenen Digitalausgängen nur noch 2,5V statt den üblichen 5V ausgibt! Nachdem ich den Pololu aus meiner Platine ausgelötet habe, waren es wieder 5V.:relaxed:

Könnte man das als ein Zeichen für ein beschädigtes Pololu deuten? Ich habe noch ein zweites da und werde mal eine provisorische Schaltung aufm Breadboard aufbauen, um einen Fehler in meiner Platine auszuschließen.

Vielen Dank für die so zügige und kompetente Hilfe!

Gruß
Bo

Bofrie:
@uwefed: kein Problem. Somit sind wir uns einig in diesem Punkt. Wenn man Sleep benutzen will, Reset aber nicht, muss man Reset über 100kOhm auf +5V legen.
Die Dioden sind wirklich fehl am Platz und werden entfernt... Wenn man die Spannung hinter den Dioden misst, ist diese wirklich fast halbiert!
Im Anhang eine aktualisierte Version des Schaltplans. Wenn ich das Arduino über die mit "Power IN" bezeichneten Pins versorge, kann die Schutzdiode nicht durchbrennen oder?

Du kannst Arduino über den PIN Vin mit Spannung versorgen, am besten zwischen +7 bis +12V. Dies ist aus Deinem Schaltplan nicht ersichtlich darum habe ich Dir das vorher gesagt.

Bofrie:
Beim nachmessen der Spannung an den Dioden ist mit aufgefallen, dass mein Arduiono an den mit dem Pololu verbundenen Digitalausgängen nur noch 2,5V statt den üblichen 5V ausgibt! Nachdem ich den Pololu aus meiner Platine ausgelötet habe, waren es wieder 5V.:relaxed:

Könnte man das als ein Zeichen für ein beschädigtes Pololu deuten? Ich habe noch ein zweites da und werde mal eine provisorische Schaltung aufm Breadboard aufbauen, um einen Fehler in meiner Platine auszuschließen.
...

Ich glaube Du hast da einen Fehler und das Pololu-Modul ist falsch angeschlossen oder Du hast irgendwo einen Kurzschluß oder das Modul verkehrt eingesteckt. Kontrolliere nochmal die Pinbelegung und mit einem Tester die Verbindungen Arduino-Pins zu den Pins des Pololu-Treibers (von Platine zu Platine) und gleichzeitig ob andere Pins noch verbunden sind.
Grüße Uwe

Hi,
habe die Schaltung nochmal von vorne an mit einem neuen Pololu aufm Breadboard aufgebaut. Funktionierte wie erwartet. Auch meine Platine funktioniert einwandfrei :slight_smile:
Danke für eure Hilfe!

Gruß
Bo