PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schrittmotor will nicht so wie ich wohl will



Frikkie
30.07.2004, 19:38
Hi,


ich habe jetzt mal eine Schrittmotorsteuerung mit einem L293B aufgebaut. Diesen steuere ich per ATmega8. Aber jetzt summt der Schrittmotor nur ganz leise vor sich hin und lässt sich auch nicht mehr per Hand drehen. Da ich in dem Thema Schrittmotoren und Mikrocontroller total neu bin weiß ich nicht wo der Fehler liegen kann.
Ach ja, der L293B ist folgendermaßen beschaltet:
<table border=1>
<tr>
<td>Pin</td>
<td>Belegung</td>
</tr>
<tr>
<td>1;9 (Enable)</td>
<td>5V</td>
</tr>
<tr>
<td>4;5;12;13 (GND)</td>
<td>Masse</td>
</tr>
<tr>
<td>8;16</td>
<td>12V</td>
</tr>
<tr>
<td>3;6;11;14</td>
<td>Die Spulen des Motors</td>
</tr>
<tr>
<td>2;7;10;15</td>
<td>Die Pins PB0-PB3 am MC</td>
</tr>
</table>

Michael
30.07.2004, 22:02
Hallo Frikkie,
Datenblatt gelesen?
Setz Pin16 auf 5V (Logic Supply Voltage), dann sollte es gehen.
Gruss, Michael

Frikkie
30.07.2004, 22:32
Danke für den Tipp, aber warum?
Hier https://www.roboternetz.de/schrittmotoren.html steht doch was von 12V an Pin 16. Ich hab das jetzt mal umgesteckt, aber irgendwie dreht der immer noch nicht. Kann vielleicht am Programm liegen? Kann mir da jemand weiterhelfen? Ich programmiere den AVR in Assembler; hat da vielleicht einer ein Stück Quellcode oder eine include zum Ansteuern eines Schrittmotors?

Michael
30.07.2004, 22:49
Hallo Frikkie,
Der Autor auf deinem Link irrt offensichtlich, niemand ist perfekt.
Natürlich kommt als Ursache das Programm in Frage. Auch zu niedrige Versorgungsspannung oder Übergangswiderstände können in Versuchsaufbauten lästig sein.
Du schreibst wenig über deinen Aufbau und dein Programm, so kann ich nur vermuten :(
Gruss, Michael

30.07.2004, 23:25
Da ist im Bild ein kleiner Fehler.
Hier findest du korrekte Pinbelegung: https://www.roboternetz.de/motoren.html

Frikkie
31.07.2004, 15:08
Danke für den Link.
Zum Programm: Ich rufe die folgenden Zeilen in meinem Programm regelmäßig per "rcall move" auf (Hab ich von irgend einer Seite):


move:
ldi r16, 0b11111010
out PORTB, r16
rcall wait
ldi r16, 0b11111001
out PORTB, r16
rcall wait
ldi r16, 0b11110101
out PORTB, r16
rcall wait
ldi r16, 0b11110110
out PORTB, r16
rcall wait
ret


Die Schaltung an sich ist eigendlich recht unspektakulär. Die Spulen des Motors hängen je an Pin 3;6 / 11;14.
An 1;9;16 ins jetzt +5V. Pin 8 hat +12V
Pin 2;7;10;15 sind mit den ports des MCs verbunden.
Die Pins 4;5;12;13 liegen an Masse;