Matériel de poisson salé-Servo Servo

Matériel de poisson salé-Servo Servo


Le servo est une sorte de servo variateur de position (angle), qui convient aux systèmes de contrôle qui doivent continuer à changer l'angle et peuvent le maintenir. Actuellement utilisé dans les jouets télécommandés haut de gamme, tels que les modèles d'avion, y compris les modèles d'avion, les modèles de sous-marins; les robots de télécommande sont plus couramment utilisés. Le servo est un nom commun, mais il s'agit en fait d'un servomoteur.

Principe de fonctionnement de l'appareil à gouverner
Insérez la description de l'image ici

Le circuit de commande, le potentiomètre (résistance variable) et le moteur à l'intérieur du servo sont connectés à la carte de circuit imprimé, comme indiqué dans la partie droite du schéma de structure interne. Le circuit de commande peut surveiller l'angle actuel du servo via un potentiomètre.
Si la position de l'axe correspond au signal de commande, le moteur sera arrêté. Si le circuit de commande constate que cet angle est incorrect, il contrôlera le moteur pour qu'il tourne jusqu'à ce qu'il atteigne l'angle spécifié. L'angle de l'appareil à gouverner varie selon le constructeur. Par exemple, un servo à 180 degrés peut se déplacer entre 0 degré et 180 degrés.
Étant donné que le dispositif de limite est installé sur le dispositif de sortie principal, la structure mécanique au-delà de cette plage ne peut plus tourner. La puissance de sortie du servo est proportionnelle à la distance à parcourir. Si l'arbre de sortie doit tourner sur une longue distance, le moteur tournera à pleine vitesse. S'il ne doit tourner que sur une courte distance, le moteur fonctionnera à une vitesse plus lente. C'est ce qu'on appelle le contrôle proportionnel à la vitesse.

Comment tourner le servo à un angle spécifié?
Insérez la description de l'image ici

La ligne de commande est utilisée pour transmettre des signaux de commande d'angle. Cet angle est déterminé par la durée de l'impulsion du signal de commande, qui est appelée modulation par impulsions codées (PCM). La commande de l'appareil à gouverner nécessite généralement une impulsion de base de temps d'environ 20 ms. La partie de haut niveau de l'impulsion est généralement comprise entre 0,5 ms et 2,5 ms et l'intervalle total est de 2 ms. La largeur de l'impulsion déterminera la distance de rotation du moteur. Par exemple: impulsion de 1,5 ms, le moteur tournera en position 90 degrés (souvent appelé position neutre, pour un servo à 180 °, c'est la position 90 °). Si la largeur d'impulsion est inférieure à 1,5 millisecondes, l'axe du moteur est orienté dans la direction de 0 degrés. Si la largeur d'impulsion est supérieure à 1,5 millisecondes, la direction axiale est vers 180 degrés. Prenons l'exemple du servo à 180 degrés, la relation de contrôle correspondante est la suivante:
0,5 ms ——- 0 degré;
1,0 ms —— 45 degrés;
1,5 ms —— 90 degrés;
2,0 ms ———— 135 degrés;
2,5 ms-180 degrés;

Exemple d'utilisation:
from pyb import Servo
s1=Servo(1#使用X1控制(X1,VIN,GND) 
s1.angle(45#转到45°
s1.angle(-60,1500)#1500ms内转到-60°
s1.speed(50)#以速度50继续转动

L'objet servo utilise le temporisateur (5) pour générer une sortie pwm. Vous pouvez utiliser la minuterie (5) pour la servocommande ou votre propre but, mais pas les deux.Insérez la description de l'image ici

Classe pyb.Servo (id)
pyb.Servo(1#创建一个伺服对象。
#id 是1-4,对应于针脚 x1到 x4。
La méthode

angle()

 '''没有参数,这个函数返回当前角,
 有参数,这个函数设置伺服器的角度: '''
Servo.angle(angle, time=0)
'''
angle:角度:度数中移动到的角度
time:时间:时间是到达指定角度所需的毫秒数。 
 	 如果省略,然后伺服移动尽快到它的新位置。
 '''

Insérez la description de l'image ici
la vitesse()

 '''没有参数,这个函数返回当前速度。
 有参数,这个函数设置伺服器的速度:'''
Servo.speed(speed, time=0)
'''
speed:速度:取值-100到100之间
time:时间:时间是达到指定速度所需的毫秒数。 如果省略,然后伺服加速尽可能快。
 '''

largeur d'impulsion()

 '''没有参数,这个函数返回当前原始脉冲宽度值。
 有参数,这个函数设置原始脉冲宽度值。'''
Servo.pulse_width(value)

étalonnage()
Insérez la description de l'image ici

 '''没有参数,此函数将以5元组的形式返回当前的校准数据。 '''
Servo.calibration(pulse_min, pulse_max, pulse_centre, pulse_angle_90, pulse_speed_100)
如果给出参数,这个函数设置定时校准: 
pulse_min :允许的最小脉冲宽度
pulse_max :允许的最大脉冲宽度
pulse_centre :是与中心 / 零位相对应的脉冲宽度
pulse_angle_90 :90度相对应的脉冲宽度
pulse_speed_100 :脉冲速度100是与速度100相对应的脉冲宽度。

Lien de référence:
quelques secondes pour comprendre le principe du micropython de contrôle de l'angle de
braquage

Publié 166 articles originaux · 22 éloges · 10 000+ vues

Je suppose que tu aimes

Origine blog.csdn.net/weixin_45020839/article/details/105630530
conseillé
Classement