Ich bin auf der Suche nach einem kleinen Board , vielleicht kennt der
ein oder andere von Euch etwas in der Richtung und kann mir weiterhelfen.
Gegeben sind :
Eine 6V DC Stromquelle (Akku)
Ein 6VDC Getriebemotor
Zwei Riemenscheiben
Ein Riemen
Zwei (oder Vier) Sensoren
Zeichnung Anbei!
Ziel sollte es werden das am Riemen befestigte Metallstück von A nach B
zu bewegen bzw. von B wieder nach A.
Das ganze sollte etwas langsam anfahren und vor dem erreichen des Endpunktes
wieder längsamer werden.
Also A und B sind Fixpunkte oder Endpunkte, deshalb habe ich oben evtl. 4 Sensoren in Klammer geschrieben, vielleicht benötige ich vor den Endschaltern
noch ein Signal wo dann die Drehzahl des Motores wie eine art Rampe auf 0 herunterfährt bzw. beim beschläunigen von 0 auf die Nenndrehzahl hinauffährt.
Das ganze sollte mit einer Händy App mit 2 Buttons A, B oder UP, Down
über WIFI oder und Bluetooth zu steuern sein .
Ich hab auf Amazon schon mal ein par Stunden gestöbert, aber das Problem ist
das ich auch nicht 100 prozentig weis nach was ich suchen soll...
kleine Microkontroller Boards mit WIFI und BT hab ich gefunden, aber bin dann doch etwas Überfordert mit der Materie.
Villeicht kann mir jemand von Euch ein Stück weit weiterhelfen, wäre um jede
Anregung sehr Dankbar!
Der Bauraum für die Steuerung ist mit ca. 50x25x80mm auch etwas begrenzt!
Der kann nur Sanftanlauf/Bremsen nicht. Das Bremsen ist eh ein Problem da er den Bremszeitpunkt im voraus ahnen müsste.
Der Kontakt müsste also dort sein, wo das Bremsen beginnt.
Man lässt einen DC Motor langsamer laufen, in dem er weniger Spannung bekommt.
Dieser hier
https://www.ebay.de/itm/385447994015
kann zwar vorwärts und rückwärts und PWM für die Drehzahl, aber man stellt sie an einem Poti ein, sie steigt/fällt nicht automatisch.
Knapp daneben ist auch vorbei.
Selbstbau ist möglich, aber trau ich dir nicht zu. Man muss also wohl im Netz noch nach passenderen Teilen suchen.
Ich behaupte einfach mal, dass es das nicht fertig zu kaufen gibt und lasse mich gerne vom Gegenteil überzeugen. Selber bauen aus Einzelmodulen könnte funktionieren, aber dann nicht für diesen geringen Platz und auch nur, wenn man programmieren kann.
ja ist wohl fast wie eine cnc 1 achs steuerung mit ein par Eingängen
nur halt für einen DC Spielzeugmotor
mit dem Programmieren müsste ich mich dann entweder beschäftigen oder jemanden dafür bezahlen der mir das umsetzt.
Aber wenn die Hardware nicht steht, brauche ich mir über das Programmieren
erstmal noch keine Gedanken machen.
Ich dachte mir eben auch wegen der begrenzten Bauraumgröße kommt evtl. ein
Microkontroller Board in Frage da diese auch mit WIFI und BT umgehen können.
Habe ja schon einige CNC Projekte hinter mir, aber da gibt es halt eine Steuerung für 3-8 Achsen mit eingängen und ausgängen und die Motoren dazu,
und im Menü kann man die Motor und Achsparameter anpassen,
das was ich hier benötige ist im Prinzip was ähnliches nur eben extrem abgespeckt auf wenig Last kleiner als 300mA bei 6V , eine beschläunigungs/verzögerungs- Rampe
DC Motor links / rechts lauf und eben vielleicht 4 Eingänge
(erster sensor erreicht wird die eingestellte Rampe abgearbeitet bis sensor
am Fixpunkt erreicht ist...
Für deinen Fall scheint mir ein ESP32 Board + ein Motortreiber aus dem Modellbau (auch bekannt als ESC) naheliegend.
Falls du einen anderen Motortreiber verwenden willst, kläre vorher die maximale Stromaufnahme des Motors (Anlauf- und Blockierstrom), denn die muss der Treiber aushalten.
Die Software wirst du wohl selbst schreiben müssen, das wird vermutlioch der schwierigere Teil.
kleine Microkontroller Boards mit WIFI und BT hab ich gefunden, aber
bin dann doch etwas Überfordert mit der Materie.
Was genau hat dich denn überfordert? Konkrete Fragen führen zu konkreten Antworten. Verlinke auf die Produktbeschreibungen und stelle deine Fragen dazu.
Motortreiber: Such nach "ESC für Automodell, brushed motor". Der Treiber muss mit der Stromaufnahme zum Motor passen.
Als Steuerung ein ESP32 Board mit Programmieradapter, gibt es bei n+1 Händlern.
Das Ganze kannst du mit der Arduino IDE programmieren, passende Libs gibt es zu Hauf. "Kamera mit Pan-Tilt" ist als Ausgangspunkt recht gut. Da hast du den Webserver mit Interface zum Motortreiber drin. Den Kamera Teil und eines der Servos zu löschen sollte einfach sein.
vielleicht sowas in kombination mit einem microkontroller ?
Nein, keinen steinalten L298, der lässt von deinen 6V nur 3V für den Motor übrig.
Eher MX1208=MX1508=TC1508 (2-9.6V 1.3A SOP16 ) TB6612 (4.5-13.5V 0.5R MOSFET 1.2A) RZ7886 (3-15V 3A DIP8) DRV8833 SGD2023 (4.2-16V 3A ESOP8) oder was auch immer der nette Chinese auf seine Boards lötet.
Bloss: du kannst doch keinen Mikrocontroller programmieren, und dazu eine App fürs Smartphone.
Mikrocontroller mit 4 Eingängen und einem PWM Ausgang der einen kleinen
Motorregler ansteuert. Nach Erreichen der Endposition dann ein 2*Um Relais zum Drehrichtungswechsel.
Oder das ganze mit 2 Spannungsreglern und einigen Relais in Klappertechnik aufbauen. Bzw, wenn die 6V aus einem Netzteil bzw Batterie kommt bei dems nicht so auf die genaue Spannung ankommt, dann könnten sogar schon ein paar Dioden in Reihe zur Spannungsreduktion reichen.
Verwende statt dieser albernen Anführungsstrich doch besser den richtigen Begriff. Einen echten Linearmotor wirst du kaum bei Amazon finden und DIY ist eher aufwändig.
https://de.wikipedia.org/wiki/Linearmotor
Für deinen Fall scheint mir ein ESP32 Board + ein Motortreiber aus dem
Modellbau (auch bekannt als ESC) naheliegend.
wisst Ihr zufällig welches Board weniger Strom verbraucht ESP8266
oder ESP32 ?
Beim ESP32 glaub ich gelesen zu haben gibts sowas wie einen Schlafmodus!
hab jetzt quasi fast durchgemacht und nach einer Fertigen Lösung gesucht,
aber in dieser Baugröße konnte ich bisweilen nix finden.
am besten gefällt mir die option ESP Mikrokontroller, schon wegen der App Umgebung. Auch bin ich mit dieser Lösung flexibel.
Die mindestens 10 frei programmierbaren Pins reichen für das Vorhaben
mehr als aus, und mit dem PWM Ausgang ist womöglich eine Beschleunigung und Verzögerungsrampe realisierbar.
Am Punkt A muss ich eine Punktlandung machen, das heist überfahren
des Punktes A mit dem Elementes X in der Zeichnung ist nicht! es würde
etwas in der mechanischen Konstruktion zerstören oder beleidigen,
und der Teil X in der Zeichnung soll sich mit ca. 1m/Sek. einige meter bewegen!
Desshalb war mein Gedanke einen Sensor vorher zu installieren der einen
bestimmten Abstand vorher erfasst um die Verzögerung einzuleiten.
Dazu müsste der Mikrokontroller einen Eingang abfragen können und sobald dieser da ist die Verzöerung einleiten.
Am Punkt A selber würde ich dann noch zusätzlich einen Endschalter installieren denn der Teil X darf auch nicht vor dem Punkt A stehenbleiben.
Das Endschalter Signal müsste also ca 10cm vor Endpunkt mit einer verminderten Geschwindigkeit "gesucht" werden.
Beim Punkt B ist es nicht so dramatisch da kann der Teil X darüberfahren oder etwas davor stehen bleiben. Aber eben auch diese Position muss erfasst
werden im Mikrokontroller damit der auch nach einer Stromunterbrechung weis
wo Teil X aktuell steht.
Es muss wie man so schön sasgt Todelsicher gemacht werden, nicht das wer
2x hintereinander auf "Left" drückt und der Teil X bzw, der DC Motor dann
2X CCW losdrehen will.
Also ist schon doch ziemlich aufwendiger zum Programmieren als ich anfangs
dachte!
Aufjedenfall bin ich schon mal mit der Hardware einen Schritt weiter
ein ESP 32 oder 8266 muss her!
ein passender Motorshield mit H Brücke wird sich wohl finden, bin sicher nicht der einzige mit solchem Projekt.
Sensoren muss ich mir noch Gedanken machen , Mikroschalter als Endschalter hätte ich gerne da hier kein Standby Strom fließt das blöde ist das die Geschichte im Ausenbereich installiert wird und wind und wetter ausgesetzt ist, da würden sich andere Sensoren besser anbieten.
doch das ganze soll im Standby so wenig Strom wie möglich ziehen...
Nein, keinen steinalten L298, der lässt von deinen 6V nur 3V für den
Motor übrig.
Eher MX1208=MX1508=TC1508 (2-9.6V 1.3A SOP16 ) TB6612 (4.5-13.5V 0.5R
MOSFET 1.2A) RZ7886 (3-15V 3A DIP8) DRV8833 SGD2023 (4.2-16V 3A ESOP8)
oder was auch immer der nette Chinese auf seine Boards lötet.
Danke auch dafür! ist ein wichtiger Aspekt das mit dem Stromverbrauch.
Daher würde ich auch nie ein Rasperry für dieses Vorhaben verwenden, weils einfach zu viel Strom zieht.
wisst Ihr zufällig welches Board weniger Strom verbraucht ESP8266
oder ESP32 ?
Es viele unterschiedliche ESP32 Modelle, z.B. mit einem oder mit 2 CPU Kernen. Wie beim ESP8266 kann man diese auch beim ESP32 mit unterschiedlichen Taktfrequenzen betreiben, was einen Einfluss auf die Stromaufnahme hat.
Die durchschnittliche Stromaufnahme ist beim ESP8266 etwa 70 mA, beim ESP32 etwas höher. Die Stromversorgung muss aber zum Senden viel mehr Strom liefern können, nämlich 430 mA beim ESP8266 und 500 mA beim ESP32.
Insofern ist der Unterschied zwischen den beiden nicht sehr groß. Aber: Der ESP8266 kann kein Bluetooth!
Beim ESP32 glaub ich gelesen zu haben gibts sowas wie einen Schlafmodus!
Ja, allerdings weiss ich nicht genau, was der dort bewirkt. Der ESP8266 hat auch einen Schlafmodus, da läuft nur noch ein Timer der den Chip nach einer einstellbaren Zeit (mittels Reset) wieder aufweckt. Ein ESP-12 Modul nimmt in diesem Zustand etwa 20µA auf.
Zur Initialisierung ("wo ist der Anfang?") könntest du einen Endschalter benutzen oder vorsichtig gegen einen harten Anschlag fahren, falls die Hardware das her gibt. Von da an würde der Sensor dir immer ganz genau sagen, wo das Ding steht, weil er die Rotation der Achse erfasst und du nur dessen Ausgangsimpulse zählen musst.
Man kann das auch mit einem gelochten Zahnrad aufbauen, oder mit einem reflektierenden Aufkleber. Oder mit einem Magnet und Hall-Sensor.
Insofern ist der Unterschied zwischen den beiden nicht sehr groß. Aber:
Der ESP8266 kann kein Bluetooth!
Konnektivität ist mir da etwas wichtiger also wird es der ESP32 werden
da gibt es welche mit Keramikantenne und externem Antennenanschluss
gibt es dazu auch etwas zu sagen, oder merklichen unterschied?
Anforderung wäre ca. 30-50m freie Sicht
Zur Initialisierung ("wo ist der Anfang?") könntest du einen Endschalter
benutzen oder vorsichtig gegen einen harten Anschlag fahren, falls die
Hardware das her gibt. Von da an würde der Sensor dir immer ganz genau
sagen, wo das Ding steht.
Ja das könnte gehen, wie gesagt wenn es vorher von 1m/Sekunde runterbremst dann würde das die Mechanik verkraften .
kann ich mir das dann so vorstellen das das ESP32 erkennt wenn die Stromaufnahme des Motors steigt oder benötige ich dafür einen weiteren Sensor so wie den hier:
Man kann das auch mit einem gelochten Zahnrad aufbauen, oder mit einem
reflektierenden Aufkleber. Oder mit einem Magnet und Hall-Sensor.
meinst Du damit die Initialisierung? das ginge sicher wenn die 2 Räder in der Zeichnung Zahnräder wären die eine Kette verbindet, aber ich muss hier mit schlupf rechnen da es sich um 2 Riemenscheiben und einen Riemen handelt
desshalb ist nur die Istposition vom Teil X in der Zeichnung relevant
Konnektivität ist mir da etwas wichtiger also wird es der ESP32 werden
da gibt es welche mit Keramikantenne und externem Antennenanschluss
gibt es dazu auch etwas zu sagen, oder merklichen unterschied?
Anforderung wäre ca. 30-50m freie Sicht
Mit der Keramikantenne und Leiterschleife kannst du etwa die gleiche Reichweite erwarten, wie mit einem Smartphone. Bei externen Antennen ist zwischen "geht gar nicht" und "viel besser" alles denkbar.
Für 50 Meter sind normale WLAN Consumer Produkte nicht vorgesehen. Auch nicht die gängigen Wohnzimmer-Router. Und für Bluetooth wird üblicherweise 5 oder 10 Meter versprochen. Die tatsächliche Reichweite ist oft geringer - jedenfalls bei uns.
kann ich mir das dann so vorstellen das das ESP32 erkennt wenn die
Stromaufnahme des Motors steigt
Manche Motortreiber enthalten einen Stromsensor. Aber das Erreichen den Anschlages kannst du auch mit dem Odometrie-Sensor erkennen, weil er dann ja stehen bleibt.
Fahre einfach einmal langsam mit wenig Energie bis gegen den Anschlag. Von da an ist die Position bekannt und du kannst (danke des Sensors) ganz gezielt jede beliebige Position mit der gewünschten Geschwindigkeit anfahren. Denn die liefert dir der Sensor ja auch. Vor dem Ziel rechtzeitig bremsen macht Sinn.
aber ich muss hier mit schlupf rechnen
Dann mache den Sensor nicht an den Motor, sondern als drittes Rad an den Riemen. So kenne ich das von Gurt-Antrieben, mit denen man Rolläden nachrüsten kann.
Darüber hinaus kannst du ja ab und zu eine automatische Kalibrierungsfahrt an den Anschlag bzw. Endschalter machen.
Manche Motortreiber enthalten einen Stromsensor. Aber das Erreichen den
Anschlages kannst du auch mit dem Odometrie-Sensor erkennen, weil er
dann ja stehen bleibt.
ok, von der Seite hab ich das noch nicht gesehen, das macht natürlich Sinn!
Danke!
Fahre einfach einmal langsam mit wenig Energie bis gegen den Anschlag.
Von da an ist die Position bekannt und du kannst (danke des Sensors)
ganz gezielt jede beliebige Position mit der gewünschten Geschwindigkeit
anfahren. Denn die liefert dir der Sensor ja auch.
Top! also man weist einer Umdrehung mit soundsovielen Impulsen einer Strecke zu und hinterlegt das dann im Programm und den rest macht der ESP32 vorausgesetz er wird dementsprechend Programmiert?
das Klingt Gut, den Motor den ich einsetzen will gibt es sogar mit so einem Bracket hinten drauf , ist wohl sowas in der Richtung?
Die Frage ist aber auch merkt sich das ESP die Position auch wenn der Strom mal kurz weg sein sollte?
Generell könnte die Initialisierung immer so erfolgen, egal wo sich Teil X gerade befindet: Motor immer zB. CCW bis Anschlag ( mit einer voreingestellten niedrigen geschwiundigkeit)
Dieser Geschwindigkeitssensor würde sich auch gut eignen um eine Überhitzung des Motors falls dies überhaupt möglich ist, vorzubeugen, sprich sollte er aus irgend einem Grund steckenbleiben in einem Bereich wo er das normalerweise nicht sollte würde die Stromzufuhr unterbrochen.
den rest macht der ESP32 vorausgesetz er wird
dementsprechend Programmiert?
Genau.
den Motor den ich einsetzen will gibt es sogar mit so
einem Bracket hinten drauf , ist wohl sowas in der Richtung?
Hmm, die Produktbeschreibung ist ziemlich mager.
Die Frage ist aber auch merkt sich das ESP die Position
auch wenn der Strom mal kurz weg sein sollte?
Die kannst du in den Flash Speicher schreiben. Oder nach Stromausfall eine Kalibrier-Fahrt machen. Jeder Tintenstrahldrucker und Flachbettscanner tut das ebenso.