Ich versuche einen semi-analogen Timer zu bauen. So etwas wie diese alten Eieruhren, deren Gesicht Sie drehen. Ich möchte einen Knopf, den ich drehen kann und der von einem Mikrocontroller gelesen werden kann, und ich möchte auch, dass der Mikrocontroller den Knopf positionieren kann. Ich möchte "Stopps" implementieren, indem ich den Mikrocontroller den Knopf in bestimmte Positionen drücken lasse. Beim Herunterfahren sollte sich der Knopf drehen. Dies ist mein erstes Projekt dieser Art; Ich habe in der Vergangenheit kleine Roboter gebaut, aber es ist viele Jahre her.
Ich habe überlegt, einen Servomotor zu hacken , um seine Position zu lesen, aber die kleinen Hobby-Servos, die ich ausprobiert habe, sind zu schwer zu drehen, sehr laut und nehmen beim Drehen zu viel Schwung auf. Sie wirken nicht wie ein guter Knopf.
Ich denke jetzt über einen Drehgeber nach, der an einen Motor angeschlossen ist, aber nachdem ich an mehreren Standorten (SparkFun, ServoCity, DigiKey, Trossen und einige andere) gejagt habe, konnte ich nichts finden, was angemessen schien. Ich bin mir nicht sicher, wie ich einen Motor finden soll, der das richtige niedrige Drehmoment hat.
Dies scheint kein wirklich ungewöhnliches Problem zu sein. Gibt es einen ziemlich normalen Ansatz zum Erstellen eines Reglers, der sowohl vom Benutzer als auch von einem Mikrocontroller eingestellt werden kann?
quelle
Antworten:
Ich habe ein paar Möglichkeiten für Sie.
Option 1: Bauen Sie Ihren eigenen Servomechanismus auf
Da Sie nur ein sehr geringes Drehmoment benötigen, um einen Knopf zu bewegen, sollte ein sehr kleiner Motor die Arbeit gut machen. Sie müssen wahrscheinlich etwas Reibung hinzufügen, damit es sich nicht zu leicht bewegt , oder einen kleinen Schrittmotor mit einem anständigen Rastmoment und ein wenig Getriebe verwenden.
Eine sehr kostengünstige Möglichkeit, Ihr Positionsfeedback zu erhalten, besteht darin, eine alte optomechanische Maus zu finden .
Optomechanische Maus
Schließen Sie die Welle an Ihre Motor- / Knopfwelle an und rollen Sie dann entweder Ihren eigenen Quadraturcodierer (nehmen Sie die A / B-Phaseneingänge direkt in Ihren Mikrocontroller) oder verwenden Sie die gesamte Leiterplatte wieder und schließen Sie die 'Maus' an eine serielle Schnittstelle an und lesen Sie Setzen Sie die X- oder Y-Mausposition über die Software zurück.
Der Artikel PS / 2-Mäuse in Rotationsimpulsgeneratoren recyceln ist ein schönes Beispiel dafür, wie jemand dies tut.
Option 2: Halten Sie am RC-Servo fest
Der Grund, warum Ihre RC-Servos schwer zu drehen sind, besteht darin, dass sie über ein Getriebe mit hohem Übersetzungsverhältnis verfügen, das ihnen das erforderliche Drehmoment verleiht . Dies macht es schwierig, sie zurückzufahren . Schauen Sie sich dieses explodierte Diagramm auf der Wikipedia- Seite Servomechanismus an :
Eine kleine Umdrehung der Antriebswelle dieses RC-Servos würde zu einer großen Bewegung des Motors (mit vielen Umdrehungen) führen, wenn Sie ihn bewegen könnten, ohne die Zahnräder abzustreifen.
Da Sie in Ihrer Anwendung nur genügend Drehmoment benötigen, um den Knopf zu drehen, können Sie dieses Getriebe möglicherweise entfernen und die Motorposition direkt verwenden. Wenn Sie das Getriebe entfernen oder reduzieren, sollten Sie feststellen, dass sich der Motor tatsächlich sehr frei bewegt. In der Tat müssen Sie möglicherweise etwas Reibung hinzufügen (oder ein Getriebe an Ort und Stelle lassen), um zu verhindern, dass der Motor sehr nervös wird.
quelle
Ich weiß nicht, ob es einen normalen Ansatz dafür gibt, aber Sie sollten sich auf jeden Fall ein Video ansehen, das ich vor Jahren gefunden habe und das mich immer noch beeindruckt: The Secret Knock Detecting Lock . Grundsätzlich hat der Typ ein Arduino-basiertes Gerät gebaut, das Sie an Ihre Tür anschließen und ein geheimes Klopfen auslösen können, das das Öffnen auslöst ... Großartig!
Ich bin mir sicher, dass nur das Video ziemlich gut zur Inspiration geeignet ist (es ist das erste, was mir beim Lesen des Titels Ihrer Frage in den Sinn kam), aber nach einer schnellen Google-Suche habe ich auch die lehrreiche Seite gefunden , die alles erklärt.
Dies ist ein Teil der anweisbaren Seite, auf der er den von ihm verwendeten Motor angibt und einige Empfehlungen gibt:
quelle
Wie wäre es mit a
stepper motor
, können Sie die Position genau steuern.quelle
Verwenden Sie ein Rotationspotentiometer. Schließen Sie es an einen ADC-Pin Ihres Mikrocontrollers an. Abhängig von der Auflösung können Sie zwischen 256 und 65536 Werte erhalten, mit denen Sie dann "Stopps" einstellen können.
quelle
Der Industriestandard zur Lösung dieses Problems sind bewegliche Fader .
Sie sind leicht verfügbare, kostengünstige Komponenten, die genau das tun, was Sie verlangen, mit Ausnahme des runden Teils.
quelle