mikrocontroller.net

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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Yannic R. (yamaroe)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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??

Autor: Max H. (hartl192)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

: Bearbeitet durch User
Autor: Yannic R. (yamaroe)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: spontan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der ULN2003 hat einen Open Collector Ausgang. Schau Dir mal das 
Datenblatt an.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Yannic R. (yamaroe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schön.. hast du auch einen Lösungsvorschlag??

Autor: Wilhelm F. (ferkes-willem)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: René B. (reneb)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sven (Gast)
Datum:

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

Autor: Wilhelm F. (ferkes-willem)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: hinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven schrieb:
> Bei einem 12V-Stepper

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

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 .

Autor: Yannic R. (yamaroe)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: stefanus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Dietrich L. (dietrichl)
Datum:

Bewertung
1 lesenswert
nicht 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

Autor: Yannic R. (yamaroe)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>DDRD  = 0x00; //als Input

OUTPUT, OUTPUT, OUTPUT.

>Diesen Code verwend ich...

Kein Wunder das nix geht.

Autor: holger (Gast)
Datum:

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

Schnellmerker. Genau das ist ja sein Problem.

Autor: Yannic R. (yamaroe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AAAAAAAAAAAAAAAhhhhhhhhhh

Danke Danke Danke

das is jetz peinlich =oP

Autor: Route_66 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: René B. (reneb)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.