Mit Schrittmotor vordefinierte Punkte anfahren WIE?

Hallo.

Ich habe zwar mit Arduino schon ein paar Erfahrungen sammeln dürfen, aber ich plaudere jetzt einfach mal meine Idee für mein Projekt aus und erbitte Meinungen, ob, bzw. wie das realisierbar ist:

Ich habe einen Drehkondensator. der ist 360 Grad stufenlos verstellbar, wobei eine volle Umdrehung der dann weieder quasi bei Null ist...

Ich würde anstatt des Hand Drehknopfes gerne einen Schrittmotor anbringen. Den Schrittmotor würde ich dann gerne an einen bestimmten Punkt fahren, wenn der gewünschte Wert erreicht ist, würde ich diesen Punkt gerne speichern, als Position 1. dann weiter zum 2. Punkt und den an Pos. 2 usw... Insgesamt dachte ich an 8-10 Positionen.

Da der Kondensator zum Teil zum Teil auf Temperaturunterschiede reagiert und der Scherittmotor wahrscheinlich auch Toleranzen hat, kann es sein, dass der Punkt geringfügig driftet.

Für diesen Fall dachte ich an eine manuelle Nachjustierung. Entweder als drehbarer Schalter, oder als Taster.

Der Controller soll die Positionen auch bei Stromausfall speichern können,

Evtl wenn es nicht zu aufwendig wird, möchte ich ein Touch DIsplay verwenden, auf dem dann 10 Felder sind, oder 5 Felder auf Seite 1, 5 Felder auf Seite 2, mit meinen definierten Positionen. Und vielleicht +/- einblenden, damit der motor bei kurzem drauf drücken einen Step in die entsprechende Richting geht, bei längerem Drauf bleiben dann dementsprechend öfter verfährt...

Ist dies mit dem Arduino machbar?

Kennt sich jemand so git damit aus, dass er mir hier helfen könnte? Würde mich natürlich auch erkenntlich zeigen...

Beste Grüße

Aaron

Hallo Aaron,

das kann man mit einem Arduino machen.
Muss es unbedingt ein Arduino sein oder darfs es auch ein ESP32-nodeMCU sein?

ESP32-controller kann man genauso mir der Arduino-IDE programmieren. Man installiert sich die Board-Unterstützung und dann kann es losgehen.
ESP32 hat zusätzlich WLAN und Bluetooth schon on board
Mehr Speicher, auch mehrere ADC-Eingänge

Den ESP32 kann man als eigenen WLAN-Accesspoint laufen lassen. Dann kannst du dir mit jedem Smartphone ein Webinterface anzeigen lassen auf dem man die Einstellungen
vornehmen und die Positionen anfahren kann.

Mit ESP-Dash oder Webserial muss man dazu nicht einmal HTML programmieren können.

Egal welcher Mikrocontroller es wird:

Du brauchst einen Referenzpunkt mit dem der Schrittmotor den der Schrittmotor bei einer sogennanten Referenzfahrt anfährt. Dann weiß der Mikrocontroller in welcher Position sich der Drehkondensator befindet. Und von dort aus kann man dann
jede Position anfahren.

Referenzpunkt kann ein Mikroschalter oder ein Reedrelais sein
oder eine Gabelichtschranke mit Lochscheibe
oder eine Reflektionslichtschranke

Poste doch einfach mal ein Foto wie der Drehondensator aussieht.

Wie viel Kraft braucht man um den DrehKo zu drehen reicht da
"anpusten" oder braucht man da richtig Kraft dafür?

Die Toleranzen des Schrittmotors sind sehr klein.
Auf wie viel hunderstel Winkelgrade genau muss den der Drehkondensator eingestellt werden?
Einen TMC2209 Schrittmorotreiber kann man mit 1/64 Schritten betreiben das macht dann 360° / (200*64) = 0.028 ° Auflösung.

Also ist machbar Herr Nachbar.

Jetzt müsstest du mal erzählen wie viel Wissen du in Sachen programmieren und Elektronik du schon hast.

vgs

Kurzform:
JA

Langform:

Nein.
Las das alles durch den Aufbau machen.

Mein letzter DrehKonni ist noch gar nicht sooo lange her.
Wenn Du probleme mit der Kapazität / Temperatur hast, dann geht das nicht nur in eine Richtung.

ICH würde eine Lichtschranke am Paket anbringen und feststellen, wann das Rotorpaket am Statorpaket vorbei gelaufen ist.
Das ist der Nullpunkt.
Nächster Punkt, wenn das Rotorpaket aus dem Stator rauskommt.

Das ist mechanisch sogar unkritisch.

Die Frage: reden wir über Drehkondensatoren auf Basis von Platten in Luft....

Hallo
Nimm einen Rechenschieber und prüfe ob der Einsatz eines 360° Servos deinen Anforderungen genügt.
Ich wünsche einen geschmeidigen Feiertag und viel Spass beim Programmieren in C++.

Hallo,
es macht auch sicher Sinn über einen Schrittmotor mit Getriebe nachzudenken. So schnell muss der ja gar nicht laufen , und letztlich bringt das ein höheres Drehmoment und einen bessere Auflösung. Eventuell reicht ja auch schon so ein kleiner Motor. 28BJY-48

Bei Az gibts schöne Gehäuse mit Touch Display , für einen ESP. Eventuell kannst Du den Motortreiber da auch noch rein bekommen. Schau dir die Moba-Tools an damit kannst Du den Motor recht einfach positionieren.
Heinz

Hey hey, also erstmal danke für die ganzen Antworten.

Es MUSS kein Arduino sein, welcher Controller es ist, ist generell egal, er muss nur das oben beschriebene können und nicht mehr (Auch in Zukunft wüsste ich nicht, wofür man ihn noch erweitern kann/soll/muss) :slight_smile:

Für den Drehkondensator benötigt man nicht wieklich viel kraft. Das drehen geht eigentlich relativ leicht, es fühlt sich an, wie eine Schraube, an der minimal schmutz ist, die man in ein Gewinde dreht. also nicht gant "freilaufend" aber absolut nicht schwer...

Es ist manchmal nötig, nur das Drehrad etwas zu bewühren, um ihn von der "falschen" ind die "Richtige" Position zu bringen, also ein kleines "zuckerchen"

Meine Programierkenntnisse... Nicht wieklich gut, Basteln/Mechanischer Aufbau und Löten sind kein Problem, meine "Programmierkenntnisse" beschränken sich momentan auf: Fertigen Code geringfügig auf meine Bedürfnisse modifizieren und auf den Controller übertragen.

Deswegen bin ich für jede Hilfe dankbar.

Ein Bild kann ich morgen posten, ich bin leider aktuell nicht zu Hause.

In erster Linie müsste ich wissen, was ich alles benötige. Also Schrittmotor, welchen man da am besten nimmt, welchen Treiber dazu, welchen Controller... Da kenn ich mich nicht wirklich aus, worauf man da achten muss...

Und ist es ein großer Mehraufwand bzw programmiertechnischer Unterschied, ob das mit Drucktastern realisiert wird, oder mit Touch DIsplay?

ist schon ein wenig mehraufwand.
die zusätzlichen nötigen bibliotheken und eventuell bilder.
benötigen vorallem mehr platz und deshalb u.U. einen grösseren controller,

Ok, der größere Controller wäre mir egal, ich muss ihn ja eh noch kaufen :slight_smile:

Größer meint in diesem Zusammenhang größerer Speicher
Speicher dessen Inhalt beim Auschalten erhalten bleibt. "Flash"
und Speicher dessen Inhalt beim Ausschalten verloren geht "RAM"

Ein Arduino Uno hat 32kB FLASH und 2kB RAM das ist für ein Grafik-Touchdisplay
recht wenig.

Aber schon so ein in physschen Maßen Winzling wie der Seeeduino XIAO hat
256 kB FLASH und 32kB RAM

Wenn du jetzt noch mehr über das Gesamtptojekt schreibst dann kann ich besser einschätzen was für ein Microcontroller denn gut geeignet wäre.
vgs

Hi Stefan,

Also wie gesagt, beim Controller bin ich flexibel. Muss halt dann alles zusammen passen, also Controller, Motor, Treiber, Display, usw...

Eigentlich gint es zum Gesamtprojekt nicht mehr viel dazu zu sagen, mehr muss er wieklich nicht können. Er muss im Prinzip "nur" Innerhalb von 360° ca. 10 von mir gespeicherte Positionen anfahren können und ich muss ihn step weise vor und zurück bewegen können zum feineinstellen...

Er benötigt auch nicht viel Kraft, nur etwas mehr, als eine Schraube in eine Mutter zu drehen,also recht easy...

Ich habe die Frage anders gemeint.

Gehört der Drehkondensator zu einem alten Funkgerät, das auf verschiedene Frequenzen abgestimmt werden soll?, zu einem alten "Dampfradio"? Ist das ganze stationär oder mobil? Soll das Design auf old-school getrimmt sein oder ist das egal?

Gehört der Drehkondensator zu einem experimentellen Mikrowellenofen?

wat is dat für nen ding wo dat dranjebaut is?
vgs

Sind auf 360° - 6400 Schritte ausreichend, oder besser mehr Schritte, also feiner unterteilt. So ein Motor kann je nach Treiber 200 / 400 / 800 / 1600 / 3200 / 6400 / 12800 / 25600 Schritte je Umdrehung fahren. Wenn du, sagen wir mal, 1600 Schritte kannst, dann kommts du nicht auf die Positionen dazwischen! Diese Schritte hören sich jetzt wahnsinng viel an, aber ich könnte mir vorstellen, dass die Feineinstellung eines Senders mit dem DrehCo, seeehr genau sein muss. Ich weiß noch, wie genau man da an den alten Radios oft hin und her gedreht hatte, bis der Sender gut getroffen war.
Franz

Jetzt hab ich das verstanden :slight_smile:

Also, es ist ein etwas größeres Drehkondensator als aus einem Radio... Da ich noch nicht zu Hause bin, verlinke ich unten an diesem beitrag einen gegoogleten, der so ähnlich aussieht.

Es ist eine sogenannte Magnetic Loop Antenne für den Amateurfunk. Es ist im Printip ein Ring aus Koaxialkabel daran angeschlossen, in diesen HF STrahlung eingekoppelt wird. Je nach verwendetem Band, das ich betreiben möchte, muss dieser nachgedreht werden. Dabei ist der "gute Bereich" sehr schmal. Je nach Band muss man ihn auch innerhalb des Bandes nachdrehen, deswegen ist mir die Funktion des manuellen Nachjustierens mittels Knopfdruck (Oder Drehung an einem Poti) sehr wichtig.

Die Knöpfe, oder die Touch Felder auf dem Display heissen dann: 80 M, 40M, 20M, 15M, 10M usw... also jedes Band bekommt seinen eigenen Bereich, seine eigene Position, die er anfahren soll.

Franz, im Beitrag darunter hat das ganz gut erklärt, also ich sag mal so: Je mehr Schritte, desto besser, desto genauer kann man den gewünschten Punkt anfahren.

Wie in diesem Projekt etwa ist mein Kondensator. Die Lösung in der verlinkten Datei mit der Schnecke ist sehr fummelig, mit dem Schrittmotor, der die Welle direkt antreibt, finde ich es wesentlich besser.

Ich sehe eine Möglichkeit mit zusatz Kondensator so um die 30 pF für fein Tuning, ich bin der Meinung das egal welchen Schrittmotor du nimmst wird es zu grob gerade im Kurzwellenbereich.
habe mal uraltes Radio vom Opa (BJ 49) repariert da wurde das so gemacht, hinterer Drehknopf für grobe Einstellung vorderer für fein.
oder Du nimmst ein Waricap und macht das mit Spannung.

Gruß Bernhard

Schick.
Wenn Du den DC-Antrieb durch den Schrittmotor ersetzen willst, dann hast schon eine Übersetzung drin.
ICH würde auf einer Seite des Drehko eine Lichtschranke positionieren und die als Referenzpunkt nehmen. Alternativ Magnet und Hallsensor am gelben Zahnrad. Oder dort ein Loch rein und LS angebaut.
Der DrehKo ist durchlaufend ohne Anschlag.
Damit kannst Du immer durchfahren.
Du musst nur wissen, wo Du bist. Nach einem Ausfall der Versorgung also durchfahren auf der referenz und schritt auf 0 stellen - alles andere ist reines Mathe.

:slight_smile:

Das ist ja ein geiles Teil der Drehko
Wenn es darum geht möglichst feinfühlig die Kapazität einzustellen
fallen mir da zwei Sachen ein:

Supermodified Servo von 01mechatronics
32768 Impulse pro Umdrehung

Oder ein Servoantrieb von Jenaer Antriebe Datenblatt Servomotoren ECOSTEP 17H

Mit optischem Encoder 40000 Impulse pro Umdrehung.
Jenaer Antriebe ist richtige Profi-Technik. Da ist man wahrscheinlich mit mehreren hundert Euro dabei. Aber dafür ist es auch Profitechnik

Es gibt Schrittmotoren mit 0,9° pro Vollschritt.

Es gibt Schrittmotortreiber von LEAD-shine

bis zu 102.400 Schritte pro Umdrehung.
Das macht dann mit dem 0,9° Schrittmotor
360/(400*102400)=0,00000088° pro Schritt.

Wenn mit einen Getriebe dann spielfreies Getriebe
Da einfache Berührung und verschieben um 1:100 mm schon Auswirkungen hat wäre ein wirklich spielfreier Antrieb gut.
So etwas nennt sich harmonic drive oder strainwave.

vgs

ich würde schon deshalb einen getriebemotor nehmen, weil du
da die Spannung abschalten kannst nachdem die position erreicht ist.

der schrittmotor will immer spannung sehen und nicht der antennenfreundlichen sorte.

Ja aber dann hat ein 0815-Getriebe ein minimales Spiel und das reicht dann um die Einstellung wieder zu verschieben.
vgs

Da die einzige Kraft die das Getriebe antreibt der Motor ist und der Drehkondensator leicht bremst ist eine einmalig angefahrene Position fix und verändert sich nicht von selbst. Das einzige was man nicht machen darf ist eine Position von beiden Seiten anzufahern. Da schlägt das Spiel des Getriebes zu. Alternativ, aber umständlich,kann man das Spiel ausmessen und dies bei der Bewegung hinzurechnen.

Grüße Uwe

Was ist das, was da am DC-Antrieb angebaut ist? :slight_smile: