So verbinden Sie Servomotoren mit Arduino

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen





In diesem Beitrag erfahren Sie, was ein Servomotor ist, wie er funktioniert, wie er mit einem Mikrocontroller verbunden wird und was diesen Motor von anderen Motoren unterscheidet.

Als Elektronik-Enthusiast wären wir auf viele Arten von Motoren gestoßen. Hier werden wir uns einen speziellen Motortyp ansehen, der als Servomotor bezeichnet wird.



Was ist ein Servomotor?

Servomotor oder einfach Servo ist ein spezieller Motortyp, der zur präzisen Steuerung von Position, Beschleunigung und Geschwindigkeit ausgelegt ist. Im Gegensatz zu allen anderen Motortypen kann das Servo nur um 180 Grad bidirektional gedreht werden. Es hat mechanische Zahnräder und Stopper, die den Drehwinkel des Servos begrenzen.

Typischer Servomotor:

Die Servomotoren werden in der Robotik, in CCTV-Kameras, RC-Cars, Booten, Spielzeugflugzeugen usw. verwendet. Servos werden dort eingesetzt, wo wir keine Rotationsbewegung fortsetzen müssen, sondern in einer bestimmten Position einrasten oder eine Last mit kontrollierter Geschwindigkeit innerhalb der beweglichen Winkelgrenze bewegen müssen.



Servo ist nicht einfach ein Motor wie andere Typen, sondern ein Modul, das einen normalen DC / AC-Motor, eine Gruppe von Zahnrädern, Steuerelektronik und ein Rückkopplungssystem kombiniert. Schauen wir uns die einzelnen genannten Phasen im Detail an.

DC / AC-Motor, der an einem Servomodul verwendet wird, kann ein bürstenloser oder gebürsteter Motor sein, bei den meisten Hobby-Servos wird ein DC-Motor verwendet und AC-Motoren werden in industriellen Anwendungen verwendet. Der Motor gibt dem Servo einen Rotationseingang. Der Motor dreht sich im Servo mit mehreren hundert U / min, und die Ausgangsdrehung beträgt etwa das 50-fache oder mehr seiner Drehzahl.

Die nächste Stufe ist die Getriebebaugruppe, die die Winkeldrehung und die Geschwindigkeit des Servos steuert. Das Zahnrad kann entweder aus Kunststoff oder Metall bestehen, je nachdem, wie sperrig die Last ist. Im Allgemeinen werden Gleichstrommotoren mit hoher Drehzahl und niedrigem Drehmoment betrieben. Die Getriebebaugruppe wandelt die überschüssige Drehzahl in Drehmoment um. Somit kann ein kleiner Motor eine große Last aufnehmen.

Die nächste Stufe ist die Steuerelektronik, die aus MOSFETs und ICs zur Steuerung der Motordrehung besteht. In Servomotoren ist immer ein Rückkopplungssystem vorhanden, um die aktuelle Position des Stellantriebs zu verfolgen.

Bei Servos ist eine Rückkopplungskomponente im Allgemeinen ein Potentiometer, das direkt mit dem rotierenden Aktuator verbunden ist. Das Potentiometer wirkt als Spannungsteiler, der der Steuerelektronik zugeführt wird. Diese Rückmeldung hilft der Steuerelektronik, die dem Motor zugeführte Leistung zu bestimmen.

Ein Servomotor in einer festen Position bewegt sich nur ungern aus seiner aktuellen Position, wenn eine externe Kraft zu stören versucht. Das Rückkopplungssystem überwacht die aktuelle Position und treibt den Motor gegen äußere Störungen an.

Das obige Szenario ist dasselbe, wenn das Servo seinen Aktuator bewegt. Das Steuersystem kompensiert die äußere Kraft und bewegt sich mit bestimmter Geschwindigkeit.

Inzwischen wissen Sie einiges über den Servomotor und seinen Funktionsmechanismus. Mal sehen, wie man die Servomotoren mit einem Mikrocontroller steuert.

Servomotoren haben im Gegensatz zu anderen Motoren mit 2 Klemmen 3 Klemmen, zwei für die Versorgung (5 V nominal) und eine für das Steuersignal. Die Drähte sind zur einfachen Identifizierung der Klemmen farbig.

Die Steuersignale von Servos sind PWM mit einer Frequenz von 50 Hz. Die Impulsbreite des Signals bestimmt die Position des Aktuatorarms. Ein typischer Hobby-Servomotor arbeitet mit einer Impulsbreite von 1 bis 2 Millisekunden.

Durch Anlegen eines Impulsbreitensteuersignals von 1 ms wird der Aktuator in der 0-Grad-Position gehalten. Durch Anlegen eines Impulsbreitensteuersignals von 2 ms wird der Aktuator in einer 180-Grad-Position gehalten. Durch Anlegen von Signalen zwischen 1-2 ms bleibt der Aktuator in einem Winkel von 0-180 Grad. Dies kann durch das folgende Bild besser verstanden werden.

Inzwischen hätten Sie verstanden, wie ein Servo durch Pulsweitenmodulation (PWM) gesteuert wird.

Lassen Sie uns nun lernen, wie Sie einen Servomotor mit Arduino verbinden.

Schaltplan:

wie man einen Servomotor mit Arduino verbindet.

Die Verkabelung ist einfach und selbsterklärend. Sie benötigen eine externe Stromversorgung, wenn Sie einen sperrigen Servomotor verwenden. Wenn Sie versuchen, die Stromversorgung über das Arduino-Netzteil zu betreiben, wird der USB-Anschluss des Computers überlastet.

Wenn Sie ein ähnliches Servo haben, das am Anfang des Artikels dargestellt ist, können Sie es über eine Arduino 5V-Versorgung mit Strom versorgen, die auch im Prototyp des Autors gezeigt wird.

Prototyp des Autors:

Arduino benötigt eine Servobibliothek für die Handhabung, dies hat unsere Aufgabe erleichtert und ist bereits in der Arduino IDE enthalten.

Programm:

//--------Program developed by R.Girish--------//
#include
Servo motor
int pos = 0
int t=10
void setup()
{
motor.attach(7)
}
void loop()
{
A:
pos=pos+1
motor.write(pos)
delay(t)
if(pos==180) { goto B}
goto A
B:
pos=pos-1
motor.write(pos)
delay(t)
if(pos==0) { goto A}
goto B
}
//--------Program developed by R.Girish--------//

Das obige Programm schwenkt den Aktuator 0 bis 180 Grad nach rechts und 180 bis 0 Grad nach links und wiederholt den Zyklus. Dies ist ein einfaches Programm zum Testen des Servos, das Sie möglicherweise benötigen, um Ihren eigenen Code für Ihre benutzerdefinierten Anwendungen zu schreiben.




Zurück: Zweirohr-Wasserpumpenventil-Steuerkreis Weiter: Grundlegendes zur Verkabelung des Motorrad-Spannungsreglers