Forum: Mikrocontroller und Digitale Elektronik ULN2003A schaltet die Spannung aber Motor läuft nicht


von Yannic R. (yamaroe)


Angehängte Dateien:

Lesenswert?

Hey
Ich möchte einen kleinen 5V Motor mit einem Atmega32 über einen ULN2003A 
anstäuern.
Die Spannungen am ULN2003A werden auch an bz aus geschaltet aber wenn 
ich den Motor dazwischen schalte dreht er sich nicht und die Spannung an 
der Klemme ist 0.

Angeschlossen hab ich es nach dem Bild wobei ich natürlich coil3-1 weg 
gelassen habe

Wie krieg ich den Motor zum drehen??

von Max H. (hartl192)


Lesenswert?


: Bearbeitet durch User
von Yannic R. (yamaroe)


Lesenswert?

Das hab ich auch schon gesehn und verstanden.
Aber mein Problem liegt eher am ULN2003A
Weil er im unbelasteten Fall zwar Spannung hat aber im belasteten Fall 
diese auf 0 singt.

von spontan (Gast)


Lesenswert?

Der ULN2003 hat einen Open Collector Ausgang. Schau Dir mal das 
Datenblatt an.

von MaWin (Gast)


Lesenswert?

Yannic Röder schrieb:
> anstäuern

Kein Wunder, der steht ja auch im Stau.

Ein Schaltplan, der kein Schaltplan ist, weil du NATÜRLICH was 
weggelassen hast.

Deiner Prosa nach müsste es funktionieren,  aber das glauben alle immer.

von Yannic R. (yamaroe)


Lesenswert?

Schön.. hast du auch einen Lösungsvorschlag??

von Wilhelm F. (Gast)


Lesenswert?

Yannic Röder schrieb im Beitrag #3549589:

> Hat der ULN2003A eine Sicherung oder Strombegrenzung die ich übersehn
> hab?

Wieso? Oben las ich, daß er auf 0 runter zieht. Eigentlich sollten es 
genau genommen ca. 1V sein (typisch Darlington), wenn die Last mit dem 
anderen Ende richtig auf High-Pegel liegt. Glatt 0V deuten auf eine 
Unterbrechung hin.

von René B. (reneb)


Lesenswert?

Das Ding dreht nur, wenn du jeweils Coil1..4 NACHEINANDER und LANGSAM 
gegen Masse ziehst. Allerdigns hast du im ULNxx schonmal einen Vce-Drop 
von bis zu 2V!
Dann liefe dein Motor nurnoch mit 3V Wicklungsspannung. Vom Schaltplan 
her sollte das Prinzip aber gehen.

von Sven (Gast)


Lesenswert?

Ich vermute der Motor bekommt zu wenig Spannung. Bei einem 12V-Stepper 
(das rate ich einfach mal) reichen 5V lange nicht aus.

von Wilhelm F. (Gast)


Lesenswert?

Sven schrieb:

> Bei einem 12V-Stepper
> (das rate ich einfach mal) reichen 5V lange nicht aus.

Er bekommt wegen der Dropspannung ja auch nur 3-4V.

Genauere Daten des Motors wären mal interessant.

Andererseits betrieb ich auch schon Stepper nur an Gatter-Bausteinen wie 
dem 74HC00! Im Leerlauf ohne Last, und wenn die Reibung gering genug 
ist, geht das schon mal.

von hinz (Gast)


Lesenswert?

Sven schrieb:
> Bei einem 12V-Stepper

Er hat wohl gar keinen Schrittmotor, nicht vom geposteten Schaltplan 
verwirren lassen.

von MaWin (Gast)


Lesenswert?

Yannic Röder schrieb:
> Weil er im unbelasteten Fall zwar Spannung hat aber im belasteten Fall
> diese auf 0 singt.

Wer auch immer da singt, aber das Verhalten könnte auf einen nicht 
angeschlossenen GND vom 2003 hinweisen .

von Yannic R. (yamaroe)


Angehängte Dateien:

Lesenswert?

Also das Bild zeigt die tatsächliche Schaltung.

Das Schwarze Kabel (vom Netzteil) ist die Erde und ist mir der Erde des 
Atmega32 direkt verbunden, sowie direkt mit der Erde des ULN2003A (habe 
ich mit einem Durchgangsprüfer geprüft). Das Weiße Kabel hat 6,5 V und 
ist mit einer 7805 Schaltung an den Atmega32 verbunden und ist direkt 
mit dem COM des ULN2003A verbunden. Ein Pin des Atmega32 der in 500ms 
Schritten zwischen 0 und 1 wechselt ist über das einzelne schwarze kabel 
mit dem Pin 1 des ULN2003A verbunden (bei 1 hat es ca. 1V). Pin16 oder 
auch Out1 (auf der gegenüberliegenden Seite) hat 6.5 V wenn 1.

Der Motor läuft mit 5V und 20mA. Hab ihn aber auch schon mit deutlich 
weniger laufen lassen.
Wenn ich ihn direkt an das Netzteil halte läuft er.

Jetzt wo der Motor zwischen Pin16 un COM liegt ist dazwischen 0V. ist 
der Motor weg, dann liegen dort die 6.5V an.

von stefanus (Gast)


Lesenswert?

1V ist kein gültiger High Pegel, da müssten etwa 5V anliegen. Bsit Du 
sicher, dass Du den Pin des Mikrocontroller als Ausgang konfiguriert 
hast (DDR-Register).

Abgesehen davon: Warum zum Henker hast Du einen Schaltplan gepostet, der 
in so ziemlich allen wesentlichen Punkten vom tatsächlichen Ausbau 
abweicht?

von Dietrich L. (dietrichl)


Lesenswert?

Yannic Röder schrieb:
> Ein Pin des Atmega32 der in 500ms
> Schritten zwischen 0 und 1 wechselt ist über das einzelne schwarze kabel
> mit dem Pin 1 des ULN2003A verbunden (bei 1 hat es ca. 1V)

1V ist auch zu wenig, um den ULN2003 einzuschalten.
Vielleicht ist Dein Programm falsch und arbeitet nur mit dem internen 
Ziehwiderstand des ATmegas, oder was anderes ist faul (ATmega kaputt?).

Nimm die Steuerleitung mal weg und lege Pin1 des ULN2003 direkt an 5V. 
Wenn der Motor dann läuft liegt es an der Ansteuerung.

Gruß Dietrich

von Yannic R. (yamaroe)


Lesenswert?

int main(void)
{
  DDRD  = 0x00; //als Input
  PORTD = 0x00; //Pull-Up Widerstand

    while(1)
    {
        _delay_ms(500);
        PORTD = 0b11111111;
        _delay_ms(500);
        PORTD = 0b00000000;
    }
}


Diesen Code verwend ich...

von holger (Gast)


Lesenswert?

>DDRD  = 0x00; //als Input

OUTPUT, OUTPUT, OUTPUT.

>Diesen Code verwend ich...

Kein Wunder das nix geht.

von holger (Gast)


Lesenswert?

>Bist du auch ein PICianer? Beim AVR ist DDRx=0 Input...

Schnellmerker. Genau das ist ja sein Problem.

von Yannic R. (yamaroe)


Lesenswert?

AAAAAAAAAAAAAAAhhhhhhhhhh

Danke Danke Danke

das is jetz peinlich =oP

von Route_66 (Gast)


Lesenswert?

Hallo!
BTW: Für einen gängigen 7805 könnten 6,5 V am Eingang bischen wenig 
sein, zudem ja noch eine Verpolschutzdiode davor hängt!

von René B. (reneb)


Lesenswert?

Route_66 schrieb:
> Hallo!
> BTW: Für einen gängigen 7805 könnten 6,5 V am Eingang bischen wenig
> sein, zudem ja noch eine Verpolschutzdiode davor hängt!

Nicht nur KÖNNTE, das SIND definitiv zu wenig! Mit Ach und Krach kriegt 
man zusammen mit er Schutzdiode aus einem LF50CV noch 5V raus. Ist 
lo-drop und Pinkompatibel zum 7805.

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.