mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Schrittmotor Endschalter programmieren


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.
von Anil C. (daniel563)


Bewertung
-1 lesenswert
nicht lesenswert
Hallo,

erstmal vorweg: meine Programmierkenntnisse sind 0,0

ich will einen Schrittmotor jeweils durch erreichen der Endschalter in 
die entgegengesetzte Richtung drehen lassen. Eie Drehzahl wird mit einem 
Analogeingang geregelt (Code ist ein Beispiel von Nanotec).

Ich will aber zusätzlich, dass bei erreichen der Endschalter, der Motor 
NICHT stoppt, sondern in die andere Richtung dreht, bis es wieder den 
Endschalter erreicht. Dazu brauche ich soviel ich verstanden habe auch 
einen Code.
Gibt es Beispiele dafür?

Außerdem habe ich ein Präzisionspoti, womit ich die Drehzahl einstelle.
Hier wäre meine Frage, ob der Code von Nanotec ausreichend ist, um die 
Drehzahl so einzustellen, oder muss zusätzlich noch etwas geschrieben 
werden, wie: bei 10er Schritt(drehung) um 1U/min schneller drehen.

Bitte um Hilfe

Danke

: Verschoben durch Moderator
von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Wo ist denn dein Code, und wo ist dein konkretes Verständinis-Problem? 
So kann dir keiner helfen...

Mit freundlichen Grüßen
Thorsten Ostermann

von STK500-Besitzer (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Anil C. schrieb:
> erstmal vorweg: meine Programmierkenntnisse sind 0,0

Dazu kommt dann noch, die Ahnung, wie man ein Problem schildert, dass 
auch Menschen verstehen, die nichts mit dem Projekt zu tun haben.
Schildere doch mal bitte deinen Aufbau mit den Typenbezeichnungen der 
Steuerung. Den Code hatte Thorsten O. ja schon angemahnt,

von Anil C. (daniel563)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ja ihr habt Recht, den Code habe ich in der Eile vergessen.

Ich habe einen Schrittmotor Nema 
17(https://de.nanotec.com/produkte/346-st4118s1404-b/)


Eine Linearführung 
(https://www.amazon.de/Antrieb-SFU1605-f%C3%BChrungsschiene-Linearer-Stufenantrieb/dp/B01MYFW7VG/ref=asc_df_B01MYFW7VG/?tag=googshopde-21&linkCode=df0&hvadid=309075804884&hvpos=1o19&hvnetw=g&hvrand=5147413542331061249&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9043329&hvtargid=pla-496300302437&psc=1&th=1&psc=1&tag=&ref=&adgrpid=58295740061&hvpone=&hvptwo=&hvadid=309075804884&hvpos=1o19&hvnetw=g&hvrand=5147413542331061249&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9043329&hvtargid=pla-496300302437)


Dazu habe ich 2x Controller 
(https://de.nanotec.com/produkte/1740-c5-01/)


Nun soll der Schrittmotor Drehzahlgesteuert nur in eine Richtung Drehen.
Dazu soll sich die Linearführung (ebenfalls Drehzahlgesteuert) zwischen 
den beiden Endschalter bewegen. D.h. am Endschalter angekommen, soll es 
nicht stoppen, sondern die Drehrichtung wechseln.


Ich hab nun ein Beispielcode von Nanotec zur Analogsteuerung.

1.Frage: Muss man dem Schrittmotor programmieren, so dass er versteht, 
was eine komplette Poti-Umdrehung bedeutet?


2.Frage: Ich brauche bestimmt einen Code, damit die Linearführung 
(2.Schrittmotor) verstehet, was passieren soll, wenn es an den 
Endschaltern angekommen ist.
Jedoch weiß ich nicht, wie das aussehen soll und ob es in den Code 
reinkommen soll, den ich hier als Datei anhänge.

von MaWin (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Anil C. schrieb:
> Muss man dem Schrittmotor programmieren, so dass er versteht, was eine
> komplette Poti-Umdrehung bedeutet?

Nein.
Einen Schrittmotor kann man sowieso nicht programmierrn, und deinen

Anil C. schrieb:
> Dazu habe ich 2x Controller

nur parametrisieren. Stelle ihn auf Drehzahl per Poti und Richtung per 
Dir-Eingang, dann musst du mit den Endschaltern nur den Dir-Eingang 
umschalten. Das kann ein Relais in Selbsthaltung tun.

Man müsste also noch wissen, wie deine Endschalter schalten (hoffentlich 
Umschalter) und welche Betriebsspannung für das Relais existiert 
(eventuell 24V).

Blöder ist, dass Schrittmotore nicht so super abbremsen und 
beschleunigen. Es gibt keine Abbrems und Beschleunigungsramoe. Das 
Umschalten der Richtung aus 'voller Fahrt' gelingt also nur bei geringer 
Geschwindigjeit und kleiner bewegter Masse.

von mech (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Anil C. schrieb:
> Ich will aber zusätzlich, dass bei erreichen der Endschalter, der Motor
> NICHT stoppt, sondern in die andere Richtung dreht, bis es wieder den
> Endschalter erreicht.

Das ist so streng genommen physikalisch natürlich unmöglich, man kann ja 
nicht die Richtung umkehren ohne zwischen stehenzubleiben.

Die Frage ist also wie schnell das Abbremsen und wieder Beschleunigen 
auf Nenngeschwindigkeit passieren muss.

Das kann man aber nur einschätzen, wenn man die Anwendung kennt.

von Anil C. (daniel563)


Bewertung
0 lesenswert
nicht lesenswert
Erstmal danke für eure Antworten.

Zusätzlich noch: Panasonic AZ7141CEJ Endschalter 115 V/DC, 250 V/AC 10 A 
Rollenhebel tastend IP64


Natürlich ist das physikalisch nicht möglich, aber die Geschwindigkeit 
der Linearführung soll für meine Anwendung so klein sein, dass dies 
möglich sein sollte.


Ein schnelles Abbremsen und Richtung ändern muss nicht innerhalb einiger 
ms passieren.


Was ich demnächst machen werde:

Dem Controller die Motordaten speichern (muss laut Handbuch gemacht 
werden) und den im Anhang liegenden Code hinzufügen.
Damit sollte eine Drehzahlsteuerung möglich sein.


MaWin schrieb:
> nur parametrisieren. Stelle ihn auf Drehzahl per Poti und Richtung per
> Dir-Eingang, dann musst du mit den Endschaltern nur den Dir-Eingang
> umschalten. Das kann ein Relais in Selbsthaltung tun.

Jedoch weiß ich nicht, wie ich es parametrisieren kann/soll.

von Max B. (citgo)


Bewertung
0 lesenswert
nicht lesenswert
Das Thema hatten wir doch schonmal. Wieso ein neuer Thread?

Lade dir das Handbuch von der Nanopro Software runter und lies es dir 
durch!
Da steht genau drin wie man die Motordaten einstellt und Ein- und 
Ausgänge programmiert bzw. einstellt.

Dort wird auch die Rampe eingestellt sowie die Motordrehrichtung. Und 
die Richtungsumkehr bei setzen eines Eingangs durch den Endschalter. Und 
und und...

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
> Stelle ihn auf Drehzahl per Poti und Richtung per
> Dir-Eingang, dann musst du mit den Endschaltern nur den Dir-Eingang
> umschalten.

Dann kann man nur hoffen, das der Schrittmotorcontroller von sich aus 
noch eine halbwegs geordnete Rampe steuert, die Linearführung dem 
Antrieb noch genug Platz dafür gibt und es in der Anwendung nicht stört, 
dass der Motor über die durch den Endschalter markierte Position 
hinausfährt. Sonst wird die ganze Bewegung laaangsam.

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.

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