PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Stepper sparsam steuern ?



PICture
28.08.2012, 02:45
Hallo!

Diesmal brauche ich Eure Meinung über Steppersteurung für mein Spielzeugantrieb, weil ich bisher keine praktische Erfahrung damit habe. Nach bisher vorhandenen Motordaten, hat er bei 5 V Spannung einen Phasenstrom 15 mA, dynamischen Drehmoment 1,3 mNm und statischen 4 mNm (ich vermute, dass es Haltemoment ist ?).

Könnte ich den für mich unnötig grossen statischen Drehmoment mit von mir skizzierter einfacher Schaltung reduzieren, ohne dynamischen Drehmoment merkbar abzuschwächen ?

Cs

||
+--||---+
| || |
| ___ |
>-----+-|___|-+
|
Spannung Rs C|
C| Ls (Motorspule)
von µC C|
|
>-------------+

(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)
Das sollte, meine Meinung nach, für dreifach niedrigeren Haltemoment fast dreifach den gesamten Stromverbrauch vom Motor sinken. Die Frequenz der steuernder rechteckiger Spannung wird um 200 Hz sein und ich weiss, dass Schwingfrequenz von CsLs möglichst weit ausser Arbeitsfrequenzbereich liegen muss.

Könnte mir, bitte, jemand sagen, was bei dem Stepper: https://www.roboternetz.de/community/threads/48052-Mein-Kunsttier-%28BEAM%29-mit-Elektronik?p=557844&viewfull=1#post557844 "Start/Stop Frequenz min. 200Hz, max. Betriebsfrequenz 600Hz" bedeutet ?
Hoffentlich bezieht sich das nur auf max. Drehzahl.

Vielen Dank besonders für Erfahrungsbeurteilung im voraus ! :)

Besserwessi
28.08.2012, 17:04
Die 200 Hz sind die maximale Schrittfrequenz mit der man noch aus dem Stand loslaufen kann. Die 600 Hz dann die maximale Schrittgeschwindigkeit (wohl mit 5 V Versorgung) die mit Rampe für die Geschwindigkeit drin ist - das gibt dann die maximale Drehzahl vor.

Die Schaltung mit Widerstand und Kondensator könnte funktionieren (je nach Treiber), sparsamer wäre aber eine Ansteuerung per PWM. Als "Treiber" reicht da auch schon so etwas wie ein 74HC125, also ein TTL Treiber IC, oder ggf. ein µC mit kräftigen Ausgängen (z.B. AVR). Stromsparend wirkt da vor allem eine Absenkung des Stromes im Stillstand.

PICture
29.08.2012, 00:25
Hallo Besserwessi !

Schönsten Dank für deine Erklärung. :D

Ich möchte den Mikrostepper direkt an einen kleinsten (8-Pin in SMD) PIC ohne PWM als sein Controller anschliessen, weil er max. 15 mA bei 5 V braucht. Bei mir wird er angeblich mit einzelligen Li-Po Akku arbeiten und das für mich am einfachsten ist. Wenn ich bei einem Getiebe kein Haltemoment brauchen würde, lasse ich R einfach weg und werde bipolare Spulen mit einem Pin einfach per C unipolar steuern.

Ich verstehe den inneren Aufbaus des Steppers laut der Beschreibung vom Verkäufer nicht und muss warten bis ich ihn vermessen kann. Vermutlich ist es ein unipolarer 3-phasiger Stepper mit 6-poligem Rotor (60°), weil er nur 4 Anschlüsse hat und muss sich, so wie er ist, wegen Drehwinkelblokade, problemlos in beiden Richtunggen bewegen lassen. ;)

Besserwessi
29.08.2012, 16:59
Mit den 4 Anschlüssen kann das aus gut ein "gewöhnlicher" 2-phasen Schrittmotor für bipolare Ansteuerung sein.
Die Ansteuerung mit Kondensator (ggf. auch Elko) in Reihe könnte funktionieren, aber halt mit nur geringem Drehmoment.

PICture
30.08.2012, 15:09
Genau, danke schön ! :D

Ich spiele mit Motoren im ein paar mW (mNm) Bereich.

Ich habe das was ich meine vereinfacht skizziert. Ich denke, dass durch den seriellen mit der Spule geschalteten Kondensator (C) wird nur wirklich so viel elektrischer Energie verbraucht, wieviel zum Bewegen nötig ist und nix verschwendet wird. Die nicht verbrauchte elektrische Energie sollte beim I2 ins VCC (Akku) zurückfliessen. Stimmt's ?

GND GND
=== ===
|- |-
--- Akku --- Akku
- -
|+ |+
+---------------+ +---------------+
| | | |
| | C| Stepper- | A C| Stepper-
.-|------. I1| C| spule .-|------. I2| C| spule
| | µC | V C| (bipolar) | | µC | | C| (bipolar)
| +-o | || | | +-o | || |
| o-----||----+ | \o-----||----+
| +-o/ | || | +-o | ||
| | | | | |
'-|------' C '-|------' C
=== ===
GND GND

(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)

Besserwessi
30.08.2012, 18:12
Die Schaltung mit den Kondensatoren legt die Pulsform für den Strom fest. Das kann für eine Drehzahl sehr gut gehen, bei sehr kleiner Drehzahl kann es aber Probleme geben, weil der Strom schnell wieder gegen null geht - dann ist ggf. sogar Schrittverlust möglich, wegen dem Rastmoment des Motors. Widerstände parallel zu den Kondensatoren könnten helfen, wenn man nicht gerade so stoppt (beide Spulen in Phase "2") das trotzdem keine Strom fließt. Der Vorteil ist vor allem das man nur 2 µC pins braucht.
In der Phase 2 (mit I2) wird die im Kondensator gespeicherte Energie genutzt, in den Akku zurück fließt da nichts.

PICture
31.08.2012, 13:09
Vieeelen Dank, jetzt ist mir schon fast alles klar !

Weil es nur in meinem Spielzeug verwendet wird, ist mir evtl. Schrittverlust egal. Ich werde mit der Grösse von C sowieso "spielen", damit es sich am besten bewegt (wenn überhaupt).

In der Phase 2 (mit I2) wird die im Kondensator gespeicherte Energie genutzt, in den Akku zurück fließt da nichts.

Ich habe meine Skizze im 5. Beitrag aktualisiert. An meinem Akku hängt kein Kondensator (Elko) paralell und die Spannung an der Spule wird durch C (fast) doppelt so gross, wie Akkuspannung (quasi Ladungspumpe). :confused:

Besserwessi
31.08.2012, 13:36
In der 2. Phase fließt der Strom einfach nur in dem Kreis mit Kondensator, Spule und den "Schalter" (µC) - die Stromversorgung ist da außen vor. Mit einem mechanischen Schalter ginge der Schritt sogar ohne die Stromversorgung.

Außer durch Überschwinger wegen der LC-Resonanz wird die Spannung auch nichts höher als die Versorgungsspannung.

PICture
31.08.2012, 13:44
Besten dank für deine Erklärung ! :)

Diesmal bin ich leider im Traum geblieben und gedacht, dass der "Schalter" im µC nur in einer Richtung leitet, was bei CMOS nicht stimmt ...

Weil ich's so einfach, wie möglich, programmieren möchte, werde ich eine bidirektionale Spule von Getriebestepper (GS) wahrscheinlich so anschliessen:

C

||
vom µC Pin >-----||-+
|| |
C|
C| Ls (Motorspule)
C|
|
===
GND

(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)

Nach der Erstellung vom Programmablaufsdiadram (PAD) der GS-Steuerung habe ich festgestellt, dass es so simpel, wie für blinkende Duo-LED's ist und werde das jedem für seinen µC überlassen. Weil keine Prezision nötig ist, möchte ich einen internen RC Taktgenerator verwenden um die Drehzahl des GS softwaremässig einstellen zu können. Solche sparsame Steuerung eignet sich aber nur für fast gleiche Drehzahl, weil die Zeit vom wirksamen Drehmoment vom C abhängt.

+------------------------------------+
| |
V |
Drehrichtung ? L -> LRot |
R |
| |
V |
RRot |
|
|
LRot -> S1+,D,S2+,D,S1-,D,S2-,D --------+
|
|
RRot -> S1-,D,S2+,D,S1+,D,S2-,D --------+

SX = Spulennummer

+, - = Stromrichtung

D = variable Verzögerungsschleife

(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)
Zuletzt habe ich mich für Steuerung von zweispuligen GS mit 3 µC-Pins entschieden, weil es für variable Drehzahl besser ist.

S2 >------------------+
|
S1 >------+ |
| |
| C| | C|
von Steuerung I1| C| S1 I2| C| S2
V C| V C|
| |
MX >------+-----------+

Wahrheitstabelle

+--------+-----------------+
| I1 = 0 | S1 = MX |
+--------+-----------------+
| I1 = + | S1 = 1 & MX = 0 |
+--------+-----------------+
| I1 = - | S1 = O & MX = 1 |
+--------+-----------------+
| I2 = 0 | S2 = MX |
+--------+-----------------+
| I2 = + | S2 = 1 & MX = 0 |
+--------+-----------------+
| I2 = - | S2 = 0 & MX = 1 |
+--------+-----------------+

(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)
Letztendlich werde ich jedoch mein GS klassisch mit 4 Pins steuern, weil die Software däfür viel einfacher ist. ;)

PICture
01.10.2012, 10:37
Hallo!

Ich habe mein GS erfolgreich per Kondensatoren mit 2 Pins von µC mit Schrittfrequenz um 300 Hz steuern können (siehe Skizze). Dort habe ich die Spulenspannungen auf beiden µC Pins als SXC und auf GS Anschlüssen als SXM bezeichnet.

C1 4µ7

+[/ S1M
S1C >----[|-----------+
[\ |
vom µC |
+[/ S2M |
S2C >----[|----+ |
[\ .-|------|-.
| C| / \ C||
C2 4µ7| C|(SoN)C|| Getriebestepper (GS)
| C| \_/ C||
| | | |
| +------+ |
'-|--------'
===
GND

(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)

Lediglich musste ich, wegen Spuleninduktivitäten, die CX's (Elkos) dreifach kleiner (4,7 µF) als ausgerechnet (16 µF) für reinen Spulenwiderstand nehmen. Der GS verbraucht tatsächlich fast nur die Hälfte des Stroms (ca. 3 mA) als bei klasischer Steuerung mit 4 Pins von µC ohne Kondensatoren. Er ist möglicherweise ein bisschen schwächer, was ich aber nicht bemerkt habe, weil angeblich kein bremsender Haltemoment vorhanden ist. Bei Schrittfrequenz um 400 Hz (ca. 0,5 U/s) und 2,2 µF Elkos ist der gemessene Stromverbrauch bei 4,2 V um 2 mA. Wegen grosse Stromersparnis und kleine Elkos werde ich diese ausprobierte Lösung mit 14-pinnigem µC in SMD doch anwenden. ;)

rechts drehen links drehen

_____ _____
|\/ | | | |\/ |
S1C | | | | | |
| |/\_____| |/\_____| |

|<1>|<2>|<3>|<4>| |<1>|<2>|<3>|<4>|

|\ |\
S1M | \ | \
| \____ _____ ____| \_____
| / | /
| / | /
|/ |/

_____ _____
|\/ | |\/ |
S2C | | | |
____| |/\__ ____| |/\__

|<1>|<2>|<3>|<4>| |<1>|<2>|<3>|<4>|

|\ |\
S2M | \ | \
____| \____ _ ____| \____ _
| / | /
| / | /
|/ |/

(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)
Übrigens, unbelastet dreht sich der GS bei Schrittfrequenz 100 Hz schon ab 1,8 V / 0,5 mA.