Stavver
Posts: 8
Joined: Sun Jan 07, 2018 3:52 pm

Stepper Motor will nicht laufen

Sun Jan 07, 2018 4:09 pm

Hallo,

mein erstes Raspberry Projekt ist ein TimeLapse Kameraslider den ich mit einem Schrittmotor betreiben will, leider scheiter ich schon daran den Schritt Motor zum laufen zu bringen :-(

Der Raspberry Zero ist per USB mit Strom versorgt und ein Motor Treiber L298N über die GPIO Pins 17&18 und 23&24 als Motor wird ein 17HS19-2004S1 verwendet. Versuchsweise hatte ich auch einen 17HD40005-22B versucht, aber auch ohne erfolg.

hätte jemand einen Tipp wo sich das Problem versteck?

Vielen Dank
Jürgen

Folgendes Python Programm verwende ich zu Test

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)

coil_A_1_pin = 18
coil_A_2_pin = 23
coil_B_1_pin = 24
coil_B_2_pin = 17

GPIO.setup(coil_A_1_pin, GPIO.OUT)
GPIO.setup(coil_A_2_pin, GPIO.OUT)
GPIO.setup(coil_B_1_pin, GPIO.OUT)
GPIO.setup(coil_B_2_pin, GPIO.OUT)

forward_seq = ['1010', '0110', '0101', '1001']
reverse_seq = list(forward_seq) # to copy the list
reverse_seq.reverse()

def forward(delay, steps):
for i in range(steps):
for step in forward_seq:
set_step(step)
time.sleep(delay)

def backwards(delay, steps):
for i in range(steps):
for step in reverse_seq:
set_step(step)
time.sleep(delay)


def set_step(step):
GPIO.output(coil_A_1_pin, step[0] == '1')
GPIO.output(coil_A_2_pin, step[1] == '1')
GPIO.output(coil_B_1_pin, step[2] == '1')
GPIO.output(coil_B_2_pin, step[3] == '1')

while True:
set_step('0000')
delay = raw_input("Delay between steps (milliseconds)?")
steps = raw_input("How many steps forward? ")
forward(int(delay) / 1000.0, int(steps))
set_step('0000')
steps = raw_input("How many steps backwards? ")
backwards(int(delay) / 1000.0, int(steps))

User avatar
mline
Posts: 981
Joined: Sun Jan 27, 2013 1:47 pm
Location: Austria, Vienna

Re: Stepper Motor will nicht laufen

Sun Jan 07, 2018 8:00 pm

L298N hat 2 Pins - EnableA und EnableB - an denen du HIGH anlegen musst damit die Ausgänge des Chips auch funktionieren
<~~>

Stavver
Posts: 8
Joined: Sun Jan 07, 2018 3:52 pm

Re: Stepper Motor will nicht laufen

Sun Jan 07, 2018 8:10 pm

ich gehe davon aus das die beiden geschlossen Jumper (EnA & EnB) auf der Treiber Platine den selben Effekt haben, oder nicht?

User avatar
mline
Posts: 981
Joined: Sun Jan 27, 2013 1:47 pm
Location: Austria, Vienna

Re: Stepper Motor will nicht laufen

Sun Jan 07, 2018 8:25 pm

Gibts nen Schaltplan davon?
<~~>


User avatar
mline
Posts: 981
Joined: Sun Jan 27, 2013 1:47 pm
Location: Austria, Vienna

Re: Stepper Motor will nicht laufen

Sun Jan 07, 2018 8:39 pm

Das hilft nicht weiter. Du sprichst von Jumper auf ner Platine... die Anleitung beschreibt aber ausschliesslich den L298N Chip - bei welchen auf jeden Fall EnableA und EnableB angesteuert werden müssen.
Also um deine Vermutung zu bestätigen brauchen wir hier den Schaltplan der Platine
<~~>

Stavver
Posts: 8
Joined: Sun Jan 07, 2018 3:52 pm

Re: Stepper Motor will nicht laufen

Sun Jan 07, 2018 9:00 pm

... und hier wie ich das zusammen gesteckt habe:
IMG_4735.JPG
IMG_4735.JPG (223.11 KiB) Viewed 562 times

Stavver
Posts: 8
Joined: Sun Jan 07, 2018 3:52 pm

Re: Stepper Motor will nicht laufen

Sun Jan 07, 2018 9:03 pm

Den Schaltplan der Platine habe ich hier gefunden: http://wiki.sunfounder.cc/images/6/61/Motor2.png

User avatar
mline
Posts: 981
Joined: Sun Jan 27, 2013 1:47 pm
Location: Austria, Vienna

Re: Stepper Motor will nicht laufen

Sun Jan 07, 2018 9:08 pm

Sowohl auf deiner Zeichnung, als auch auf dem Schaltplan ist EnableA und EnableB nicht mit irgendwas verbunden.
Wie gesagt. Beide müssen HIGH sein damit am Ausgang des Treibers was passiert.

*edit
Ich vermute mal du nutzt ein Modul welches etwa so aussieht:
http://cdn3.bigcommerce.com/s-vt19phz/p ... tralia.png
<~~>

Stavver
Posts: 8
Joined: Sun Jan 07, 2018 3:52 pm

Re: Stepper Motor will nicht laufen

Sun Jan 07, 2018 9:31 pm

... leider hat sich das Verhalten nicht geändert, nachdem ich die EnableA&B bin über die GPIO Pins 20 & 21 auf High gesetzt habe.
genau so sieht das Modul aus

User avatar
mline
Posts: 981
Joined: Sun Jan 27, 2013 1:47 pm
Location: Austria, Vienna

Re: Stepper Motor will nicht laufen

Sun Jan 07, 2018 9:38 pm

Kann gut sein, dass die 3,3V TTL der Pi für ein logisches High im L298 nicht ausreichen.
Hast du noch nen Arduino oder einen anderen µC der 5V TTL nutzt zum testen?

Alternativ kannst auch mal nen DC Motor anschliessen und einfach mit Steckbrücken in ne bestimmte Richtung laufen lassen (auf richtige Beschaltung der Inputs achten, sonst rauchts!)
<~~>

Stavver
Posts: 8
Joined: Sun Jan 07, 2018 3:52 pm

Re: Stepper Motor will nicht laufen

Sun Jan 07, 2018 9:57 pm

auch mit direkten 5V auf den Pins klappt das nicht - laut Datenblatt sollten aber auch die 3,3 V schon ausrechend sein (-0,3 V - 7V als enabled Vortage) das Multimeter zeigt auch die Spannung an

User avatar
mline
Posts: 981
Joined: Sun Jan 27, 2013 1:47 pm
Location: Austria, Vienna

Re: Stepper Motor will nicht laufen

Sun Jan 07, 2018 10:12 pm

Stavver wrote:
Sun Jan 07, 2018 9:57 pm
ausrechend sein (-0,3 V - 7V als enabled Vortage) das Multimeter zeigt auch die Spannung an
-0,3 wäre das Minimum für LOW.

Siehe Seite 3 Electrical Characteristics
ViL (Input Low Voltage): -0.3 - 1.5V
ViH (Input High Voltage): 2.3 - VSS
VSS wäre 5V

Bei 3.3V wäre High ab 2.4V. Müsste also eigentlich hinhauen.

Wenns direkt nicht klappt stimmt irgendwas nicht.
Was für ne Spannungsquelle hägt an den 12V? Hast dort auch wirklich 12V angeschlossen? Den Jumper für den Spannungsregler auf dem Board hast auch stecken lassen? Ohne Spannungsversorgung für den Logikteil des L298 wird der auch nicht funktionieren (vorsicht, 5V nicht an die Pi hängen!)
<~~>

Stavver
Posts: 8
Joined: Sun Jan 07, 2018 3:52 pm

Re: Stepper Motor will nicht laufen

Sun Jan 07, 2018 10:25 pm

Die 12V für den Motor kommen von einem Externen Akku, der auch über einen USB Port verfügt, an dem der RaspPi hängt. der RaspPi ist auch per ssh und vnc erreichbar und ausser den Enabled Jumper habe ich keinen Jumper entfernt oder umgesteckt ...

tommylee2k
Posts: 42
Joined: Mon May 08, 2017 6:23 am

Re: Stepper Motor will nicht laufen

Mon Jan 15, 2018 3:43 pm

könntest du set_step() einmal so umschreiben, daß es - statt die pins zu setzen - einfach die Werte ausgibt, und posten was ausgegeben wird? bzw hast du mal gemessen, was an deinen GPIO-pins ankommt?

und: "brummt" der Motor, wenn du das Programm startest? tut sich überhaupt irgendwas?

noch was, ich kenn mich mit phython nicht aus,

Code: Select all

def forward(delay, steps):
for i in range(steps):
for step in forward_seq:
set_step(step)
time.sleep(delay)
ist time.sleep() noch innerhalb der schleifen? woher weiss python ob set_step() nicht alles is, was du in einer for-Schleife tun willst ? Müssten die nicht beide eingerückt sein, etwa so:

Code: Select all

def forward(delay, steps):
for i in range(steps):
    for step in forward_seq:
        set_step(step)
        time.sleep(delay)

Return to “Deutsch”

Who is online

Users browsing this forum: No registered users and 2 guests