SG90 Servosteuerung ohne Mikrocontroller
Auf der Hand das beliebte preiswerte Servo SG90. Und ich dachte daran, es zu schaffen, aber ohne Mikrocontroller. In diesem Artikel werde ich die Denkweise des Entwicklers bei der Implementierung einer der Lösungsoptionen skizzieren.Wen kümmert es bitte unter der Katze.Idee
Das Servo muss gesteuert werden, jedoch ohne Mikrocontroller.Wissen
Jeder weiß, dass Erfahrung und Wissen helfen, Lösungen zu finden und zu finden. Auf den Seiten von Giktims finden sich viele Beispiele für die Verwendung eines Servoantriebs mit Verwendung von Controllern. Sie beschreiben ausführlich das Servosteuerungssystem. Wir werden diese Erfahrung anderer Entwickler für das Wissen nutzen, das wir zur Lösung des Problems benötigen. Der SG90-Servoantrieb wird von einem PWM-Signal gesteuert, dessen Parameter die Position des Rotors bestimmen. Die PWM-Periode beträgt ca. 20 ms, die Dauer des Steuersignals beträgt 500 bis 2100 μS.Herausforderung
Idee und Wissen führen zu einem Problem, das gelöst werden muss. Wir formulieren das Problem für die Verwirklichung der Idee. Dies ist so etwas wie eine Leistungsbeschreibung. Es scheint, dass alles einfach ist. Sie müssen einen Impulsgenerator mit variablem Arbeitszyklus nehmen, die Stromversorgung an den Servoantrieb anschließen und ein Steuersignal vom Generator anlegen. Wir betonen, dass sich die Anforderungen im Arbeitszyklus ändern - das heißt, es müssen Steuerelemente oder eine Benutzeroberfläche vorhanden sein.Implementierung
Hier beginnt die Qual der Kreativität: Was soll man nehmen und wo bekommt man es? Sie können einen vorgefertigten Laborimpulsgenerator finden, zum Beispiel G5-54 mit Griffen, Tasten, die erforderlichen Parameter einstellen, den Generator an einen Servoantrieb anschließen. Es ist jedoch umständlich und nicht jeder kann sich einen solchen Luxus leisten. Daher versuchen Entwickler, sich auf ihre Erfahrung und ihr Wissen zu verlassen und den Wunsch (Idee-Aufgabe) und die Möglichkeiten (Material und Kreativität) für die Umsetzung der Aufgabe zu kombinieren. Materielle Möglichkeiten sind diese "Kröte""Wie viel und was möchte ich für die Umsetzung einer Idee ausgeben?" Kreativität ist: "Ich werde sehen, was ich bereits habe." Dies sind nicht unbedingt einige wesentliche Werte, sondern die Erfahrung und das Wissen früherer Entwicklungen, die an die Umsetzung angepasst werden können. Es ist auch nicht überflüssig zu suchen (google), dass jemand bereits etwas Ähnliches implementiert hat. Um die Lösungsoptionen zu reduzieren, müssen Sie selbst zusätzliche Anforderungen hinzufügen, die Implementierungsphantasien einschränken. Zum Beispiel fügen wir den Anforderungen eine weitere Bedingung hinzu, sei es eine wesentliche Einschränkung, die Implementierung sollte kostengünstig sein .Suche nach Alternativen
Über das Internet suchen wir nach Optionen, die das Netzwerk bietet. Wir setzen bei der Suche: "einen Rechteckimpulsgenerator mit variablem Arbeitszyklus". Wir werden viele Optionen erhalten, sowohl bei Verwendung von integrierten Zeitschaltuhren NE555 (inländisches Analogon von KR1006VI1) als auch bei Logikschaltungen. Aus all der Vielfalt habe ich die Option eines Generators an einem Wechselrichter mit einem Schmitt-Trigger am Eingang gewählt. Erstens ist es das einfachste und zweitens erfordert es ein Minimum an Details und das interessanteste verwendet ein einzelnes logisches Element von sechs, wenn Sie beispielsweise den 74HC14-Chip verwenden.Die Schaltung eines solchen Generators sieht folgendermaßen aus:Ein bisschen Theorie
Die Theorie besagt, dass die Frequenz eines solchen Generators f = 1 / T = 1 / (0,8 * R * C) ist. Um die erforderliche Frequenz zu erhalten, müssen Sie den Nennwert eines der Elemente auswählen, die die Frequenz angeben. Da das Logikelement gemäß der CMOS-Technologie hergestellt ist, hat es eine große Eingangsimpedanz, daher können Elemente verwendet werden, die kleine Betriebsströme spezifizieren. Wir wählen die Kapazität C1 aus einer Reihe gängiger Nennwerte, zum Beispiel 0,47 μF. Um die erforderliche Frequenz (50 Hz) zu erhalten, sollte der Widerstand ungefähr 53 kOhm betragen, aber es gibt keinen solchen Widerstand in der Standardserie, daher wählen wir 51 kOhm.
Am Ausgang eines solchen Generators wird ein Signal in der Nähe des Mäanders erzeugt. Daher müssen wir die Schaltung so einstellen, dass sie den Anforderungen der Aufgabe entspricht. Um eine einstellbare Impulsdauer am Ausgang zu erhalten, ist es notwendig, die Art des Wiederaufladens des Kondensators von einem hohen Pegel am Ausgang zu ändern, nämlich die Wiederaufladezeit zu verringern. Fügen Sie dazu der Schaltung zwei weitere Elemente hinzu: eine Diode und einen variablen Widerstand. Jede Schaltdiode mit geringem Stromverbrauch ist geeignet.Dann nimmt die Schaltung die folgende Form an:Es scheint: Alles, das Problem ist gelöst, aber in den extremen Positionen des variablen Widerstands ist das Verhalten des Servos instabil. Dies liegt daran, dass der Wert der Impulsdauer in den Extrempositionen des variablen Widerstands nicht den erforderlichen entspricht. Persönlich mag ich auch die Verwendung eines variablen Widerstands nicht, daher möchte ich die Steuerschnittstelle ändern, indem ich beispielsweise eine neue Wunschliste zu den Leistungsbeschreibungen hinzufüge, damit sich das Tastverhältnis je nach Licht ändert. Hierfür gibt es eine einfache und kostengünstige Lösung: Verwenden Sie einen GL55xx-Fotowiderstand (der in Arduino-Projekten verwendet wird) als Regelelement, dessen Widerstandsänderung in einem weiten Bereich liegt.Dann beginnt der Spaß. Es gibt keine Berechnungsformeln zum Erhalten von Widerstandswerten, die die erforderlichen Pulsdauern liefern. Daher bestimmen wir auf der Ebene der Intuition (experimentell unter Verwendung eines variablen Widerstands) die Widerstandswerte, auf die die erforderlichen Werte der Pulsdauern eingestellt werden. Dann ändern wir die Schaltung so, dass sich der Gesamtwiderstand ändert, wenn sich der Widerstand des Fotowiderstands ändert, und die erforderlichen Werte für die Impulsdauer einstellen.Das endgültige Schema hat die folgende Form:Erläuterungen zur endgültigen Gliederung
Der Kondensator C1 mit einem Nennwert von 0,47 μF bestimmt den Ladezeitpunkt. Ein 51 kΩ Widerstand R1 stellt die Grundimpulswiederholrate im Bereich von 50 Hz ein. Die Kombination der R2-R4-Widerstände insgesamt variiert je nach Beleuchtung im Bereich von 2,5 kOhm bis 24 kOhm. Zusammen mit der Diode D1 beeinflussen diese Widerstände die Wiederaufladezeit des Kondensators C1 unter Einwirkung eines positiven Impulses am Ausgang des Logikelements und bestimmen dadurch dessen Dauer.Ergebnis
Durch Anschließen dieses Generators an den Steuereingang des Servoantriebs können wir ihn steuern, indem wir die Beleuchtung des Fotowiderstands ändern. Auf dem Video können Sie sehen, was daraus wurde:Das wäre alles, aber ich kann die Entwicklung dieser Entwicklung anbieten. Da wir nur eines der sechs im Mikroschaltungsgehäuse enthaltenen Logikelemente verwendet haben, können wir weitere fünf Generatoren zusammenbauen und mit anderen Servos verbinden. Durch Anschließen der Klappen an die Betätigungshebel der Servos, die den Lichtstrom der Fotowiderstände blockieren, die andere Servos steuern, können Sie ein lustiges Verhalten der Servos erzielen, aber ich schlage vor, dieses Experiment selbst durchzuführen.Mach es und viel Glück! Source: https://habr.com/ru/post/de400631/
All Articles