Forum: Mechanik, Gehäuse, Werkzeug Schrittmotor und Treiber für Drehkondensator


von Ralf G. (dl5eu)


Lesenswert?

Hallo zusammen,

nachdem ich nun schon einige Stunden wegen Schrittmotoren und deren 
Ansteuerung im Netz gesucht habe fühle ich mich als Neuling in dieser 
Materie von der Fülle der Informationen regelrecht erschlagen und hoffe 
hier Hilfe zu finden :-)

Zu meinem Problem: ich möchte einen Drehkondensator mit Luftdielektrikum 
und Poti am anderen Ende der Achse, so wie er zu Analogzeiten in Radios 
verwendet wurde, mit einem Schrittmotor antreiben. Einen Schrittmotor 
möchte ich deshalb, weil ich dann kein zusätzliches Getriebe benötige, 
das unerwünschtes Spiel in die Konstruktion bringt. Der Drehko verfügt 
über eine Untersetzung von 3:1, d.h. von min. bis max. (180 Grad) sind 
1,5 Drehungen nötig. Von Hand lässt er sich mit einem Knopf von etwa 2 
cm Durchmesser ganz leicht drehen. Wie hoch das Drehmoment meiner Hand 
dabei ist weiß ich natürlich nicht :-)

Nun stellen sich mir insbesondere zwei Fragen:
1. Welchen (möglichst preisgünstigen) Motor sollte ich wählen und
2. welches Treiber-IC (oder fertiges Board) sollte ich nehmen?

Wie ich gelesen habe scheinen bipolare Schrittmotore mit 2 Phasen und 
1,8 Grad pro Schritt weit verbreitet zu sein. Teilweise findet man auch 
solche mit 0,9 Grad pro Schritt. Da gibt es dann NEMA 11, 14, 17 und 
andere mit jeweils unterschiedlichen Spulenspannungen und Strömen. Aber 
welchen nehmen? Ich habe Schwierigkeiten mich da zurecht zu finden.

Ebenso bei den Treiber-ICs. Da gibt es einfache (L297/L298) und 
intelligente (A4988, DRV8825), alles auch jeweils schon fertig auf einem 
Board.

Das Ganze soll in einem wasserdichten Gehäuse im Außenbereich eingesetzt 
und ferngesteuert werden. Die Steuerung (Software) soll entweder mit 
einem AVR-Mikrocontroller (evtl. Arduino) oder einem Raspberry Pi Pico 
erfolgen. Ideal für mich wäre eine Betriebsspannung von 12 V.

Ich hoffe, dass ich mein Problem detailliert genug beschrieben habe. 
Kann mir vielleicht jemand von Euch Hinweise und Tipps zur Auswahl der 
Komponenten geben?

Vielen Dank für Eure Hilfe,

Ralf, DL5EU

: Verschoben durch Moderator
von Frank K. (fchk)


Lesenswert?

Das Ansteuern eines Schrittmotors ist ein bekanntes Problem.

Was Du Dir aber vorher(!) noch überlegen sollst:

1. Wie weißt Du, in welcher Stellung der Kondensator ist? Der 
Schrittmotor selber weiß es nicht. Der kann nur vor- und zurückfahren.
Gängige Lösungen hierfür sind:
- Endlagenschalter
- Encoder, die Dir die Position zurückgeben
- Ein zweiter Drehkondensator auf der Achse oder im Aufbau selber, den 
Du messen kannst.
- Einfach an den Anschlag fahren und idealerweise den Strom dabei 
messen, damit Du mitbekommst, wann Du am mechanischen Ende bist.

Bevor Du anfängst, solltest Du hierfür eine Antwort haben.

2. Fernsteuerung wie? seriell, Ethernet WLAN Bluetooth? Reine 
Mikrocontrollerarchitekturen sind für sowas wie Ethernet oder WLAN 
weniger geeignet - geht zwar, aber kleine Linux-Kisten wie ein Pi ohne 
Pico können das besser und mit weniger Aufwand.

von Michael B. (laberkopp)


Lesenswert?

Ralf G. schrieb:
> Nun stellen sich mir insbesondere zwei Fragen:

Mir auch.

Ralf G. schrieb:
> weil ich dann kein zusätzliches Getriebe benötige, das unerwünschtes
> Spiel in die Konstruktion bringt

Na ja, so schlimm sind Getriebe nicht

Ralf G. schrieb:
> Der Drehko verfügt über eine Untersetzung von 3:1

offenbar ist das ja akzeptabel.

Schrittmotore haben 2 Probleme:

sie brauchen Strom um ihre Position zu halten, zwischen Vollschritten 
pfeifen sie auch gerne durch die Stromregelung.

Und sie arbeiten in Schritten, bei dir also 300 Kapazitätswerte wenn man 
nur Vollschritte nutzt.

Vollschritte sind deshalb gut, weil man dann doch den Strom abschalten 
kann und kein pfeifen hat.

Vollschritte können auch durch unipolare Schrittmotore gut erreicht 
werden. Die lassen sich durch ULN2003 ansteuern. Du findest solche 
Schrittmotore in alten Floppylaufwerken (TEAC FD55).
Damit sind sie gratis. Der ULN sitzt auch auf der Platine. COM des ULN 
geht NICHT an plus, sondern über eine Z-Diode (12V) an plus. Es wird nur 
in Villschritten und Halbschritten positioniert, keine Mikroschritte.

Die Leistung reicht aus, die Geschwindigkeit wohl auch, es wird halt so 
schnell wie ein Floppymotor den Kopf von Spur 0 bis 79 verschiebt, unter 
1 Sekunde.

Wenn dir aber 300 Drehkondensatorpositionen nicht reichen, brauchst du 
eine andere Lösung. z.B. ein zusätzliches Getriebe. Zahnriemen sind 
spielfrei und leise.

von Gunnar F. (gufi36)


Lesenswert?

Überlege mal zu einem Modellbau-Servo. Einfache Ansteuerung, 
proportional und ohne Strom hält er. Du brauchst nur eine PWM.

von Thomas S. (thommi)


Lesenswert?

Der TE erwähnte ja das Poti am anderen Ende des Drekos, was ich als 
Positionsermittlung des Schrittmotores interpretiere. Ist ob der 
Temperaturschwankungen zwar nicht sehr genau bei Betrieb ausserhalb, 
aber zur Begrenzung des Fahrweges und der ungefähren Einstellung 
ausreichend.

Das Poti soll wohl den Drehwinkel zurückmelden, aus dem man dann evtl 
die Kapazität grob ermitteln kann. Zusätzliche Endschalter sind dennoch 
besser, um Referenzpunkte zu haben.

von Wastl (hartundweichware)


Lesenswert?

Frank K. schrieb:
> Reine
> Mikrocontrollerarchitekturen sind für sowas wie Ethernet oder WLAN
> weniger geeignet.

Nein! Für Ethernet sind sogar kleine Mikrocontrollerarchitekturen
wie AVR oder kleine STM32 sehr gut geeignet, seit es die Ethernet
Controller W5100 und W5500 gibt, die man ganz locker per SPI
steuern kann.

Selbst mit einem Mega328P oder einem (auch sehr kleinem) STM32F091,
STM32F103 (Bluepill) oder STM32F401/411 (Blackpill) gelingt eine
vollständige TCP- und/oder UDP Implementierung inklusive einfacher
Hardware-Ansteuerungen.

Da betrachte ich mal, einen kleinen Linux-Controller für so eine
Aufgabe zu verwenden, als "mit Kanonen auf Spatzen schiessen".

von Ralf G. (dl5eu)


Lesenswert?

Frank K. schrieb:

> 1. Wie weißt Du, in welcher Stellung der Kondensator ist?
Wie bereits geschrieben hat der Drehko ein Poti am anderen Ende der 
Achse. Das wollte ich zur Positionsbestimmung nutzen.

> 2. Fernsteuerung wie? seriell, Ethernet WLAN
Eins davon. Ich dachte an seriell oder WLAN (Pico W). Letzteres habe ich 
noch nicht probiert, wäre aber vielleicht eine Möglichkeit. Ein Pi ohne 
Pico ginge natürlich auch, aber das ist derzeit nicht mein Problem.

Michael B. schrieb:
> Na ja, so schlimm sind Getriebe nicht
Einfache Getriebe haben immer ein gewisses Spiel und bei so kleinen 
Schritten könnte das evtl. störend sein. Das Getriebe im Drehko hat 
gegeneinander verspannte Zahnräder und kein Spiel.

> sie brauchen Strom um ihre Position zu halten
Ist das in meinem Fall relevant? Es dreht ja niemand von Hand an dem 
Drehko und von selbst verstellt er sich ja wohl nicht wenn der Strom aus 
ist.

> Vollschritte sind deshalb gut, weil man dann doch den Strom abschalten
> kann und kein pfeifen hat.
Stimmt. Da müsste ich ermitteln wieviel Kapazitätsänderung pro Schritt 
bei fast ausgedrehtem Drehko das gibt und ob das noch akzeptabel ist.

von Gunnar F. (gufi36)


Lesenswert?

Ralf G. schrieb:
> Ist das in meinem Fall relevant? Es dreht ja niemand von Hand an dem
> Drehko und von selbst verstellt er sich ja wohl nicht wenn der Strom aus
> ist.

Ich glaube nicht. Die haben schon ein gewisses Haltemoment.
Edit: auch ohne Strom!

: Bearbeitet durch User
von Norbert (der_norbert)


Lesenswert?

Ralf G. schrieb:
> Ich hoffe, dass ich mein Problem detailliert genug beschrieben habe.
> Kann mir vielleicht jemand von Euch Hinweise und Tipps zur Auswahl der
> Komponenten geben?

Hallo Ralf,
hab' hier auf dem Schreibtisch ein:
1
    28BYJ-48 – 5V Stepper Motor
2
    5.625° / Schritt. 64 Schritte / Umdrehung
3
    Gearing 1:32 ──▶ 2048 Vollschritte / Umdrehung
4
                 ──▶ 4096 Halbschritte / Umdrehung
5
    Kritische Grenzwerte (experimentell ermittelt):
6
    Sanft** min: 1230µs/Schritt ──▶ 24rpm (Pulse 50% duty)
7
    Voll min:     980µs/Schritt ──▶ 30rpm
8
    Halb min:     430µs/Schritt ──▶ 30rpm
9
10
** um auch mehrfach in den Endanschlag laufen zu können.
11
Über
Hat aber seinen Preis, 'nen Fünfer inkl. Board (ULN2003A)
Gerade bei Vollschrittbetrieb ist das Ding recht kräftig (schafft ein 
straffes Drahtpoti völlig problemlos).

von Ralf G. (dl5eu)


Lesenswert?

Gunnar F. schrieb:
> Überlege mal zu einem Modellbau-Servo
Ich muss einen Bereich von etwa 540 Grad überstreichen (1,5 Umdrehungen) 
und bezweifle, dass das mit einem Servo geht. Und wenn, dann wohl auch 
nur mit einem zusätzlichen Getriebe o.ä.

Wastl schrieb:
> Da betrachte ich mal, einen kleinen Linux-Controller für so eine
> Aufgabe zu verwenden, als "mit Kanonen auf Spatzen schiessen".
:-) war auch mein erster Gedanke.

von H. H. (hhinz)


Lesenswert?

Welchen Job soll der Drehko denn machen?

von Ralf G. (dl5eu)


Lesenswert?

Norbert schrieb:
> Gearing 1:32
Auf den bin ich auch gestoßen, habe ihn aber wegen des Getriebes nicht 
in Betracht gezogen. Wie sieht es mit dem Spiel aus? Geschwindigkeit ist 
nicht das Thema und außerdem habe ich das Poti zur Positionsbestimmung 
(Endanschlag).

: Bearbeitet durch User
von Ralf G. (dl5eu)


Lesenswert?

H. H. schrieb:
> Welchen Job soll der Drehko denn machen?
Eine Magnetloop für Empfang abstimmen. Ich habe starke Funkstörungen und 
eine abgestimmte Magnetloop (schmalbandig) nur für Empfang ist bisher 
das einzige Mittel, das ich gefunden habe, um die Störungen einigermaßen 
zu unterdrücken. Eine breitbandige Loop bringt in meinem Fall nichts. 
Die BNetzA ist bereits eingeschaltet, kann aber nicht viel tun.

von Norbert (der_norbert)


Lesenswert?

Ralf G. schrieb:
> Wie sieht es mit dem Spiel aus?

Vorhanden, aber minimal (Geschätzt ¹/₁₀°). Hatte zuerst in der 
Software einen leichten Zurück/Vorwärts Mechanismus eingebaut um den 
›Druck‹ immer von der gleiche Seite kommen zu lassen. Nie gebraucht.

von Mi N. (msx)


Lesenswert?

Frank K. schrieb:
> Das Ansteuern eines Schrittmotors ist ein bekanntes Problem.

Welches Problem?

Ralf G. schrieb:
>> 1. Wie weißt Du, in welcher Stellung der Kondensator ist?
> Wie bereits geschrieben hat der Drehko ein Poti am anderen Ende der
> Achse. Das wollte ich zur Positionsbestimmung nutzen.

Womit willst Du denn die Sollposition vorgeben? Drehencoder, Taster +/- 
oder ebenfalls ein Poti?

von Ralf G. (dl5eu)


Lesenswert?

Mi N. schrieb:
> Womit willst Du denn die Sollposition vorgeben? Drehencoder, Taster +/-
> oder ebenfalls ein Poti?
Eins davon. Mit einem µC lassen sich alle drei abfragen (habe ich schon 
gemacht). Ist aber letztlich auch egal und hat nichts mit meiner Frage 
zu tun.

Es geht mir um die Motore und Treiber, die ich dafür verwenden kann. 
Sollte ich keinen passenden Antrieb finden spielt die Art, wie die 
Sollposition vorgegeben wird nämlich keine Rolle mehr, da das Projekt 
dann bereits gestorben ist.

von Armin X. (werweiswas)


Lesenswert?

Ralf G. schrieb:
> Zu meinem Problem: ich möchte einen Drehkondensator mit Luftdielektrikum
> und Poti am anderen Ende der Achse, so wie er zu Analogzeiten in Radios
> verwendet wurde, mit einem Schrittmotor antreiben.

Hallo
Die Beschreibung und deine Funkkennung lässt mich vermuten, dass es sich 
bei deinem Projekt um eine Funkanwendung handelt.
Dazu fällt mir nämlich ein, dass mein Bruder vor 40 Jahren mal etwas 
ähnliches bauen wollte um einen Kurzwellenbereich zu scannen(weis das 
nicht mehr ganau, da nicht direkt involviert).
Das scheiterte damals an der verfügbaren Computertechnik, da wenn der 
Computer lief, der Kurzwellenempfang nicht mehr sinnvoll möglich war.
Dahe prüfe zunächst mal ob das nicht auch bei dir passieren könnte.

MfG

von Rüdiger B. (rbruns)


Lesenswert?

Es gibt einen ESP32 Schrittmotorcontroller, also nur noch Kabel 
anstecken und Software.
https://www.heise.de/news/IoT-Steuer-Board-fuer-Schrittmotoren-9850033.html

von H. H. (hhinz)


Lesenswert?

Ralf G. schrieb:
> Eine Magnetloop für Empfang abstimmen.

Die Güte wird sich in Grenzen halten, da sind 1,8° Schritte bestimmt 
ausreichend. Einen bipolaren Schrittmotor für den Zweck könntest du 
gegen Portoersatz (Warensendung) von mir bekommen. Ansteuerung dann mit 
einem billigen Modul und z.B. Arduino. Dafür gibt's bestimmt auch 
genügend Codeschnipsel, die man nur zusammenklicken muss.

von Wolf17 (wolf17)


Lesenswert?

DL5EU, Luftdrehko, Aussenbereich klingt nach Antennenabstimmgerät.

Wenn keine reproduzierbare Position angefahren werden soll, sondern 
immer wieder auf maximale Anpassung verstellt werden muss, dann empfehle 
ich einen der 12V Getriebemotore von Pollin. Den TDY-12 für 8€ gibt es 
von 1-80U/Minute. Da reicht es zwei Drähte ins Haus zu legen und mittels 
H-Brücke anzusteuern. An die Drehko-Hauptachse kommen zwei Endschalter 
mit Dioden, die bei Auslösung nur noch die Gegenrichtung zulassen.

Ist die Position nötig, dann zusätzlich ein Poti an die Hauptachse 
montieren.

Wenn es unbedingt ein Schrittmotor sein soll, dann ist was fertiges für 
5€ mit Programmcodebeispiel nützlich:
https://www.pollin.de/p/joy-it-uln2003-treiber-mit-5v-schrittmotor-810676
https://www.pollin.de/media/89/e1/90/1701729046/D810676-B.pdf?ts=1719377549
Dieses Board mit ULN2003 treibt bis 12V 0,5A und passt an den Arduino
Dazu dieser 1,8° Schrittmotor für 3€:
https://www.pollin.de/p/minebea-schrittmotor-17pm-k077bp01cn-10-2v-0-3a-1-80-310689
https://www.seeedstudio.com/document/pdf/ULN2003%20Datasheet.pdf?

von Michael B. (laberkopp)


Lesenswert?

Gunnar F. schrieb:
> Ich glaube nicht. Die haben schon ein gewisses Haltemoment.
> Edit: auch ohne Strom!

Er bleibt nur auf Vollschritten stehen ihne Strom, Mikro oder 
Halbschritte verliert er - in Richtung zum nächsten Vollschritt.

Das wurde schon geschrieben, warum brauchst du es extra nochmal ?

von Michael B. (laberkopp)


Lesenswert?

Wolf17 schrieb:
> Dieses Board mit ULN2003 treibt bis 12V 0,5A und passt an den Arduino
> Dazu dieser 1,8° Schrittmotor für 3€:

Der bipolare Schrittmotor lässt dich durch den unipolaten Treiber nicht 
steuern.

Glücklicherweise liegt dem Treiber ein passender Schrittmotor bei.

Er hat jedoch ein Getriebe, was Ralf nicht will.

von Mi N. (msx)


Lesenswert?

Ralf G. schrieb:
>> Womit willst Du denn die Sollposition vorgeben? Drehencoder, Taster +/-
>> oder ebenfalls ein Poti?
> Eins davon. Mit einem µC lassen sich alle drei abfragen (habe ich schon
> gemacht). Ist aber letztlich auch egal und hat nichts mit meiner Frage
> zu tun.
>
> Es geht mir um die Motore und Treiber, die ich dafür verwenden kann.

Und von allem zusammen hängt ab, ob ein Controller notwendig ist, oder 
externe Schrittimpulse 1:1 an den Motortreiber durchgereicht werden 
können.
Nimm einen Motor, der mechanisch gut paßt; der Rest ist ebenfalls 
Kinderkram.

> Sollte ich keinen passenden Antrieb finden spielt die Art, wie die
> Sollposition vorgegeben wird nämlich keine Rolle mehr, da das Projekt
> dann bereits gestorben ist.

Das nenne ich mal 'motiviert'.

von Ralf G. (dl5eu)


Lesenswert?

Armin X. schrieb:
> Das scheiterte damals an der verfügbaren Computertechnik, da wenn der
> Computer lief, der Kurzwellenempfang nicht mehr sinnvoll möglich war.
Wie ich bereits geschrieben habe wurde die BNetzA bereits eingeschaltet. 
Etwas im eigenen Haus konnte als Störquelle ausgeschlossen werden.

Rüdiger B. schrieb:
> Es gibt einen ESP32 Schrittmotorcontroller, also nur noch Kabel
> anstecken und Software.
Es gibt auch Motoren mit integriertem Controller.

Wolf17 schrieb:
> Ist die Position nötig, dann zusätzlich ein Poti an die Hauptachse
> montieren.
Ist schon dran. Danke für die vielen Links. Vielleicht ist da etwas 
dabei.

Mi N. schrieb:
> Und von allem zusammen hängt ab, ob ein Controller notwendig ist, oder
> externe Schrittimpulse 1:1 an den Motortreiber durchgereicht werden
> können.
In meinem ersten Post hatte ich geschrieben: "Die Steuerung (Software) 
soll entweder mit einem AVR-Mikrocontroller (evtl. Arduino) oder einem 
Raspberry Pi Pico erfolgen." Vielleicht hätte ich erwähnen sollen, dass 
der Controller mit nach draußen in das Gehäuse soll.

Mi N. schrieb:
> Das nenne ich mal 'motiviert'.
Ich bin nur realistisch. An der Funkstation (wo Handabstimmung möglich 
ist) bringt mir die Antenne nichts, weil sie da immer noch zu nah an der 
Störquelle ist (bereits ausprobiert). Also muss die Antenne nach draußen 
und weiter weg vom Nachbarn (auch ausprobiert, mit Erfolg). Also 
Fernabstimmung. Und ohne passenden Antrieb macht das ja wohl keinen 
Sinn. Oder sehe ich das falsch?

Michael B. schrieb:
> Er hat jedoch ein Getriebe, was Ralf nicht will.
Norbert schrieb, dass das Getriebe des genannten Motors fast kein Spiel 
hat, also könnte ich es ja mal probieren. Zumal durch die Untersetzung 
die Schritte sehr klein werden.

Thomas S. schrieb:
> Das Poti soll wohl den Drehwinkel zurückmelden
Genau. Und das Verhalten bei Temperaturänderungen hatte ich tatsächlich 
nicht bedacht. Danke für den Hinweis.

Danke Euch allen für Eure Beiträge. Da habe ich wieder etwas zum 
Nachdenken :-)

Ralf, DL5EU

von Lu (oszi45)


Lesenswert?

Ralf G. schrieb:
> Wie ich bereits geschrieben habe wurde die BNetzA bereits eingeschaltet.
> Etwas im eigenen Haus konnte als Störquelle ausgeschlossen werden.

Glaubst Du, dass die Ansteuerung Deines Schrittmotors niiiie stört? 
Wahrscheinlich solltest Du den Drehko so mechanisch festhalten, dass Du 
nach gewünschte Einstellung durch SM den Haltestrom weglassen kannst? 
Solange der SM läuft, glaube ich noch nicht an ungestörten Empfang. Bin 
schon neugierig.

von Ralf G. (dl5eu)


Lesenswert?

Lu schrieb:
> Glaubst Du, dass die Ansteuerung Deines Schrittmotors niiiie stört?
Das weiß ich nicht. Ich grübele seit Monaten darüber, wie ich die 
Fremdstörungen loswerden kann, dass ich diesen Punkt bei meinen 
Überlegungen vollkommen vergessen habe. Da wäre ein "normaler" Motor 
dann vielleicht besser.

Den Controller könnte ich abschirmen. Ich müsste es ausprobieren.

von Peter L. (pelikan)


Lesenswert?

kann man da nicht eine Kapazitätsdiode einsetzen?

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.