Forum: Mikrocontroller und Digitale Elektronik msp430 + Motortreiber + 2 Phasen Steppermotor


von vNecked (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich brauche dringend Hilfe.
Ich habe mir das MSP430 besorgt und dazu einen Motortreiber. Dabei 
handelt es sich um den L298.
http://dx.com/p/l298n-stepper-motor-driver-controller-board-for-arduino-120542?item=4 
Das ist der Motortreiber den ich gekauft habe.
Die Ausgänge des MSP430 2.0 - 2.3 gehen auf IN 1-4 auf dem Treiber.
Der Ausgang 1.4 geht auf +5V des Treibers. Den Motor habe ich wie auf 
dem Bild angeschloßen, ist ein 5 Volt Bipolarer Schrittmotor mit 2 
Phasen.

Das ist der Code zum Ansteuern des Motors. Ich habe mich etwas 
eingelesen, bin aber aus den Tabellen nicht schlau geworden. Ich habe 
folgendes umgesetzt:

1a 1b 2a 2b
1  0  0  1
1  0  1  0
0  1  1  0
0  1  0  1
1
int main(void) {
2
  WDTCTL = WDTPW | WDTHOLD;    // Stop watchdog timer
3
  P2DIR |= 0x0F;          // Set P1.0 to output direction
4
  P1DIR |= 0x10;
5
    P1OUT = 0x10;
6
    int a=0;
7
  for(;;) //infinite loop
8
  {
9
    volatile unsigned int i;  // volatile to prevent optimization
10
        int step[5]={0x09, 0x05, 0x06, 0x0A};
11
12
13
        P2OUT ^= step[a];        // Toggle P1.0 using exclusive-OR
14
        a++;
15
        if(a==3)
16
        {
17
          a=0;
18
        }
19
    i = 15000;          // SW Delay
20
    do i--;
21
    while(i != 0);
22
  }
23
  
24
  return 0;
25
}



Meine 1. Frage: Ist die Tabelle so Korrekt? Oder ist am Code was falsch 
oder hab ich mir was falsches überlegt?
Die 2. Frage: Kann es sein das die Ausgangsspannung vom MSP430 für die 
Versorgung des Motortreibers nicht reicht, und ich eine externe 
Versorung brauche????
Über Hilfe würde ich mich freuen.

P.s ich bin Einsteiger in diesem Gebiet. Das wird mein erstes Projekt
Danke schonmal im Voraus

Mit freundlichen Grüßen
vNecked

von vNecked (Gast)


Lesenswert?

push

von Franz (Gast)


Lesenswert?

Oh, das gibt Ärger mit den Bildern...:-) Schnell weg!

von Franz (Gast)


Lesenswert?

vNecked schrieb:
> Kann es sein das die Ausgangsspannung vom MSP430 für die
> Versorgung des Motortreibers nicht reicht, und ich eine externe
> Versorung brauche????

Für einen Motor...solltest du auf jeden Fall eine externe Versorgung 
nehmen!

von vNecked (Gast)


Lesenswert?

Ok.
Also liegts nicht an der Verkabelung oder am Programm selbst?

von Eumel (Gast)


Lesenswert?

vNecked schrieb:
> Ok.
> Also liegts nicht an der Verkabelung oder am Programm selbst?

Mach einen Schaltplan.

von vNecked (Gast)


Lesenswert?

Alles klar der Schaltplan folgt.
Habe gerade gesehen das zu dem Treiber folgendes angegeben ist:
 The logical part of the operating current range: 0 ~ 36mA

Beim Motor steht:
Betriebsversorgung ca. 5 V / 0,625 A.

Das heißt also auch das der Motor zu wenig Strom bekommt oder?

von igoR (Gast)


Lesenswert?

Das musst du definitiv extern versorgen.

von spess53 (Gast)


Lesenswert?

Hi

>Habe gerade gesehen das zu dem Treiber folgendes angegeben ist:
>The logical part of the operating current range: 0 ~ 36mA

Aber nicht im Datenblatt.

Der L298 hat zwei Stromversorgungsanschlüsse. Vss für den Logik- und Vs 
für den Leistungsteil. Aus letzterem beziehen die Motoren ihren Strom.

>P.s ich bin Einsteiger in diesem Gebiet. Das wird mein erstes Projekt
>Danke schonmal im Voraus

Du solltest mit etwas kleinerem anfangen.

MfG Spess

von vNecked (Gast)


Lesenswert?

So habe mal vorne an der Blauen Klemme gemessen, es kommen nur 3,5 V 
raus.

von vNecked (Gast)


Lesenswert?

Das habe ich gerade in einem online Shop gefunden.
Aber irgendwie weiß ich nicht auf welche Werte ich achten soll.
Wie muss ich diesen Treiber versorgen?
Welche Spannung und welcher Strom muss her?

Technische Daten:
> Driver: L298N Dual H Bridge DC Motor Driver  IC
> Driven part of the terminal supply area Vs: +5 V ~ +35 V; such as the need  to 
take power within the board, the supply area Vs: +7 V ~ +35 V
> Driven part  of the peak current Io: 2A
> The logical part of the terminal supply area Vss:  +5 V ~ +7 V (can take power 
within the board +5 V)
> The logical part of the  operating current range: 0 ~ 36mA
> Control signal input voltage  range:
> Low:-0.3V ≤ Vin ≤ 1.5V
> High: 2.3V ≤ Vin ≤ Vss
> Enable signal  input voltage range:
> Low: -0.3 ≤ Vin ≤ 1.5V (control signal is  invalid)
> High: 2.3V ≤ Vin ≤ Vss (control signal active)
> Maximum power  consumption: 20W (when the temperature T = 75 ℃)
> Storage temperature: -25 ℃ ~  +130 ℃
> Other Extensions: control of direction indicators, the logic part of  the plate 
to take power interface.
> Driver Board Size: 55mm x 60mm x  30mm

von Spess53 (Gast)


Lesenswert?

Hi

>So habe mal vorne an der Blauen Klemme gemessen, es kommen nur 3,5 V
>raus.

Kann es sein, das du keine Stromversorgung für den Motor angeschlossen 
hast?

Hast du einen Link zu dem Board?

MfG Spess

von vNecked (Gast)


Lesenswert?

http://dx.com/p/l298n-stepper-motor-driver-controller-board-for-arduino-120542?item=4 
das ist das Board

http://www.kemo-electronic.de/en/Components/Elements/Motor/P5337-Mini-stepper-motor-AEG-SO21-24.php
und das ist der Stepper

hinten habe ich auch keine Versorgung dran. Ich nehme einen Ausgang von 
meinem MSP430 und lege ihn auf die +5V auf dem Motortreiber Board.

von Spess53 (Gast)


Lesenswert?

Hi

>hinten habe ich auch keine Versorgung dran.

Witzbold. Der Anschluss VMS ist die Motorstromversorgung. 5V sind für 
den Logikteil des L298.

>Ich nehme einen Ausgang von meinem MSP430 und lege ihn auf die +5V auf dem
>Motortreiber Board.

Abgesehen, das davon nichts beim Motor ankommt glaube ich kaum, das dein 
MSP-Board 1,25A liefern kann.

>http://www.kemo-electronic.de/en/Components/Elemen...
>und das ist der Stepper

genau wie das Board, Schrott.

Bevor du in irgend einer Weise weitermachst, eigne dir erst mal ein paar 
Grundlagen an. So wird das nichts.

MfG Spess

von vNecked (Gast)


Lesenswert?

ok also so langsam hab ichs verstanden.
Ich brauche vorne nur noch eine Spannung von 5-35V DC anzulegen, dann 
könnte es langsam mal laufen und dazu sollte der Strom mindestens 0,6A 
haben richtig?

von Spess53 (Gast)


Lesenswert?

Hi

>ok also so langsam hab ichs verstanden.
>Ich brauche vorne nur noch eine Spannung von 5-35V DC anzulegen, dann
>könnte es langsam mal laufen und dazu sollte der Strom mindestens 0,6A
>haben richtig?

Nein. Da dein Board nur eine abgespeckte Motorsteuerung zuläßt, muß die 
Spannung der Motorspannung entsprechen.

MfG Spess

von vNecked (Gast)


Lesenswert?

alles klar. Als Spannungsquelle könnte z.b mein usb Aufladegerät dienen. 
Das gibt 5 V und 1 A diesmal lieg ich richtig ja?? :D

von Spess53 (Gast)


Lesenswert?

Hi

>alles klar. Als Spannungsquelle könnte z.b mein usb Aufladegerät dienen.
>Das gibt 5 V und 1 A diesmal lieg ich richtig ja?? :D

Hast du das auch nachgemessen?

MfG Spess

von vNecked (Gast)


Lesenswert?

Die Angabe auf dem Ladegerät stimmt nicht? Ich mess es nachher mal nach.

von Spess53 (Gast)


Lesenswert?

HI

>Die Angabe auf dem Ladegerät stimmt nicht?

Weiß ich nicht. Aber ein Ladegerät ist nicht das gleiche wie ein 
Netzteil.

MfG Spess

von vNecked (Gast)


Lesenswert?

Ok. Ich bedanke mich erstmal für deine Hilfe:) Wenn ich einen 
Fortschritt mache poste ich nochmal alles.

von vNecked (Gast)


Lesenswert?

Ok habe den Motor zum lauben bekommen. Das Problem ist er Macht 2 
Schritte vorwärts, danach einen Rückwärts. Kann mir jemand vielleicht 
bei der Tabelle behilflich sein? Leider habe ich nicht erkennen können, 
an welchem Schritt es liegt

von Spess53 (Gast)


Lesenswert?

Hi

>        P2OUT ^= step[a];        // Toggle P1.0 using exclusive-OR
>        a++;
>        if(a==3)   <<<<<<<<
>        {
>          a=0;
>        }

C ist zwar nicht die Programmiersprache meiner Wahl, aber:

Du hast vier Schritte 0,1,2 und 3. In deinem Programm schaltest du aber 
schon nach Schritt 2 wieder zu Schritt 0 zurück. Also ändere das mal in

        if(a==4)

um.

MfG Spess

von vNecked (Gast)


Lesenswert?

jetzt funktionierts

0101 05
1001 09
1010 0A
0110 06

P2OUT ^= step[a];  an dieser Zeile lags. Hab das "^" weggemacht jetzt 
funktionierts einwandtfrei:)

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.