Forum: Mikrocontroller und Digitale Elektronik Schrittmotor dreht nicht, LED flackert


von Erdnuckel (Gast)


Lesenswert?

Hallo,

hab eine Schaltung mit einem Schrittmotor, einem L293 und einem 9V-Block 
gebaut. Steurung über Atmega8 auf Board hier aus dem Shop. Ich möchte 
den Motor bipolar betreiben. (Spule 1 an Port D1 und D3, Spule 2 an D0 
und D4)

hier mein Code:
1
#include <avr/io.h>
2
#include <util/delay.h>
3
#include <stdint.h>
4
5
void init()
6
{  
7
  DDRD = 0xFF;      //Port D ist Ausgang
8
  DDRC = (1 << DDC5);    //Port C ist Eingang, bis auf Pin 5
9
}
10
11
void sp1_on()
12
{
13
  PORTD |= (1<<PD1);
14
  PORTD &= ~(1<<PD3);
15
}
16
17
void sp1_off()
18
{
19
  PORTD |= (1<<PD3);
20
  PORTD &= ~(1<<PD1);
21
}
22
23
void sp2_on()
24
{
25
  PORTD |= (1<<PD0);
26
  PORTD &= ~(1<<PD4);
27
}
28
29
void sp2_off()
30
{
31
  PORTD |= (1<<PD4);
32
  PORTD &= ~(1<<PD0);
33
}
34
35
int main(void)
36
{  init();
37
  
38
  while(1)
39
  {
40
    sp1_on();
41
    sp2_on();
42
    _delay_ms(300);
43
    sp1_on();
44
    sp2_off();
45
    _delay_ms(300);
46
    sp1_off();
47
    sp2_off();
48
    _delay_ms(300);
49
    sp1_off();
50
    sp2_on();
51
    _delay_ms(300);
52
  }
53
  return 0;
54
}

Der Motor dreht aber nicht, sondern rattert irgendwie. Die LED, die 
leuchten sollte, blinkt schnell (unabhängig von den delay-Längen im 
Code). Was könnte das bedeuten? Bricht irgendwie die Spannung zusammen? 
Schließe ich irgendetwas kurz? Wenn ich die Spannung der Batterie im 
Betrieb messe zeigt sie nur 7,5 anstatt der 9V bei "Ruhe" an.

Habt ihr eine Idee, was da los sein kann?

von spess53 (Gast)


Lesenswert?

Hi

>Bricht irgendwie die Spannung zusammen?
>Schließe ich irgendetwas kurz? Wenn ich die Spannung der Batterie im
>Betrieb messe zeigt sie nur 7,5 anstatt der 9V bei "Ruhe" an.

Höchstwahrscheinlich ist deine Batterie zu schwach auf der Brust. Was 
hast du denn für einen Motor?

MfG Spess

von AVRuser (Gast)


Lesenswert?

Hallo,

ich weiss nicht, was der Steppermotor für einen Strom zieht, aber ich 
wage zu behaupten, dass der 9V-Block dafür deutlich zu schwach ist (die 
Spannung des Controllers bricht zu weit ein, so dass er resettet).

Wie sieht die Spannungsversorgung des Controllers aus? Wie wird sie 
erzeugt?
Bei einem 7805 z.B. müssen am Eingang min. 7V anliegen.

Ist die Versorgung des Steppers mit einem "dicken" Elko gepuffert?

Wenn du ein Netzgerät hast, dann gib mal damit die 9V auf die Schaltung. 
Läuft sie dann korrekt?
(Nebenbei kann man mit dem Netzgerät meist auch den fliessenden Strom 
feststellen ...)

von Erdnuckel (Gast)


Lesenswert?

Ist ein ziemlicher Klopper der Motor.

http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=69&products_id=172

http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/Motoren/stepper103-547-52500.gif

Mir wäre Batteriebetrieb wichtig. Könnte ich durch Parallelschaltung von 
mehrerem Blöcken da was rausholen?

von Erdnuckel (Gast)


Lesenswert?

AVRuser schrieb:
> Wie sieht die Spannungsversorgung des Controllers aus? Wie wird sie
> erzeugt?
> Bei einem 7805 z.B. müssen am Eingang min. 7V anliegen.

Ich benutze dieses Board und die hier gegebene Stromversorgung.
http://www.olimex.com/dev/avr-p28.html
http://www.olimex.com/dev/pdf/AVR/AVR-P28.pdf <-Schaltplan

Im Schaltplan sehe ich keinen 7805, weiß aber ehrlich gesagt nicht genau 
wie da die Stromversorgung gemacht wird.

AVRuser schrieb:
> Ist die Versorgung des Steppers mit einem "dicken" Elko gepuffert?

Nein, sollte ich das nachholen? Könntest du bitte nochmal kurz erklären 
warum?

von Karl H. (kbuchegg)


Lesenswert?

Sorry.
Aber da wirst du schon etwas Kräftigeres brauchen als so einen popeligen 
9V-Block. Den schaut dein Motor 3 mal schief an und er ist leer.

von spess53 (Gast)


Lesenswert?

Hi

>Mir wäre Batteriebetrieb wichtig. Könnte ich durch Parallelschaltung von
>mehrerem Blöcken da was rausholen?

Nicht wirklich. Der Motor hat nach dem Datenblatt eine Betriebsspannung 
von 2,2V. Ohne Chopperbetrieb solltest du auch nicht mehr anlegen. Für 
Tests sollten 2 Monozellen in Reihe gehen. Persönlich würde ich den 
Motor unter deinen Prämissen als Fehlkauf verbuchen.

MfG Spess

von Erdnuckel (Gast)


Lesenswert?

spess53 schrieb:
> Persönlich würde ich den
> Motor unter deinen Prämissen als Fehlkauf verbuchen.

Danke für die objektive Einschätzung. Ich erwähne lieber nicht, dass ich 
noch einen zweiten davon habe^^

spess53 schrieb:
> Für
> Tests sollten 2 Monozellen in Reihe gehen.

Dann bräuchte ich mal Elekronik-Nachhilfe bitte: Bisher habe ich die 9V 
sowohl für die Versorgung des Boards als auch für den Motor verwendet.

Dann würde ich jetzt den 9V-Block für das Board und die Monozellen für 
den Motor verwenden. Wie war das: Muss ich jetzt die Massen beider 
Stromversorgungen verbinden? Ich kann ja nicht beide "mit getrennten 
Stromversorgungen verwenden?"
(Sorry, ich komme aus der Informatikecke und bin elektronikmäßig nur mit 
Schulkenntnissen ausgestattet)

von AVRuser (Gast)


Lesenswert?

> Ist ein ziemlicher Klopper der Motor.

In der Tat, ein DC-Widerstand von ca. 3 Ohm lässt ganz schön Strom 
fliessen  bei 9V ...

Also das ist definitiv zuviel für einen 9V-Block, und auch für mehrere. 
Da sollte man, wenn es unbedingt Batterie-Betrieb sein soll, über andere 
Zellen nachdenken (oder besser direkt einen Akkublock nehmen, z.B. einen 
mit 8 NiMH-Zellen (der hätte 9.6V Spannung und hält bei geeigneter 
Kapazität 1 bis 2 Stunden)).

Mit Batterien wird man kaum glücklich, da sie nicht lange halten werden 
...

>> Ist die Versorgung des Steppers mit einem "dicken" Elko gepuffert?

>Nein, sollte ich das nachholen? Könntest du bitte nochmal kurz erklären
>warum?

Der Steppermotor wird gepulst. D.h., es werden immer kurze hohe 
Stromspitzen auf der Versorgungsspannung sein. Ein "dickerer" Elko (so 
um die 470uF) dient dann als Kurz-Speicher für diese Impulse und 
vermeidet somit Störungen, die sich auch in der Controller-Schaltung 
unangenehm bemerkbar machen können.

Wie hast du den L293 an das Testboard angeschlossen? Hat es eine eigene 
Stromversorgung (Netzteil), oder wird es auch aus dem 9V-Block über den 
Steckanschluss des Testboards versorgt?

von spess53 (Gast)


Lesenswert?

Hi

>Dann würde ich jetzt den 9V-Block für das Board und die Monozellen für
>den Motor verwenden. Wie war das: Muss ich jetzt die Massen beider
>Stromversorgungen verbinden?

Ja.

MfG Spess

von AVRuser (Gast)


Lesenswert?

>> Muss ich jetzt die Massen beider Stromversorgungen verbinden?

> Ja.

Aber Achtung: das Testboard hat einen Gleichrichter am Eingang; wenn du 
die Massen verbindest, dann NICHT die von 9V und Monozellen, sondern die 
von den Monozellen mit der Masse des Controllers. Und der 9V-Block kommt 
alleine an den Versorgungs-Anschluss des Testboards.

von Erdnuckel (Gast)


Lesenswert?

spess53 schrieb:
> Für
> Tests sollten 2 Monozellen in Reihe gehen.

Das hätte Erfolgsaussichten, ja? Die sind ja kapazitätsmäßig vermutlich 
auch nicht viel größer als so ein 9V-Block.

AVRuser schrieb:
> Wie hast du den L293 an das Testboard angeschlossen? Hat es eine eigene
> Stromversorgung (Netzteil), oder wird es auch aus dem 9V-Block über den
> Steckanschluss des Testboards versorgt?

Alles der gleiche Block.

von spess53 (Gast)


Lesenswert?

Hi

>Das hätte Erfolgsaussichten, ja? Die sind ja kapazitätsmäßig vermutlich
>auch nicht viel größer als so ein 9V-Block.

Bleib besser bei deiner Informatik. Oder mache dich erst mal mit den 
Grundlagen vertraut.

MfG Spess

von Erdnuckel (Gast)


Lesenswert?

spess53 schrieb:
> Bleib besser bei deiner Informatik. Oder mache dich erst mal mit den
> Grundlagen vertraut.

Haste vll nicht ganz Unrecht, ich versuch halt hobbymäßig nebenbei was 
mitzunehmen.

Entscheidender: Wenn ich das mit einem handelsüblichen 
Heim-Universalnetzteil versuche gibt es den gleichen Effekt. (Motor 
macht Geräusche, aber nicht mehr, Flackern der LED, Spannung geht von 
9,tralala auf 8,3V) Dürfte nicht sein, oder? Der Code ist richtig?

von Erdnuckel (Gast)


Lesenswert?

Also mit getrennter Versorgung (einmal Netzteil für den Controller, 
einmal 9V Block für Motor) klappt. Ob das optimal ist weiß ich noch 
nicht, aber es scheint vorläufig zu klappen.

Bestätigt das die These, dass da ein Elko reingehört?

von guest (Gast)


Lesenswert?

Bestätigt vor allem dass der Spannungseinbruch dem Controller nicht 
gefallen hat, dem Motor aber im Leerlauf nicht so viel ausmacht. 
Drehmoment baut der mit einem 9 V Block natürlich nicht auf ;).

Solche "Leistungsteile" mit Motoren versorgt man üblicherweise getrennt 
weil der Motor durch seine Spannungsspitzen (Induktivität) und der 
Motortreiber durch seine pulsförmige Stromaufnahme ein empfindliches 
Bauteil wie einen Mikrocontroller ganz schnell zum Absturz oder Neustart 
bringt.

von Ich (Gast)


Lesenswert?

Erdnuckel schrieb:
> Das hätte Erfolgsaussichten, ja? Die sind ja kapazitätsmäßig vermutlich
> auch nicht viel größer als so ein 9V-Block.

Nur so grob geschätzt etwa das 30-fache...

von Erdnuckel (Gast)


Lesenswert?

Ich schrieb:
> Nur so grob geschätzt etwa das 30-fache...

Cooool.


Dann danke ich wieder einmal für eure Hilfe, jetzt klappts ja alles 
halbwegs!

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.