Servocommande SG90 sans microcontrôleur
Pris en main le populaire servo bon marché SG90. Et j'ai pensé à le gérer, mais sans microcontrôleur. Dans cet article, je décrirai l'état d'esprit du développeur lors de la mise en œuvre d'une des options de la solution.Peu importe, s'il vous plaît, sous le chat.Idée
Il est nécessaire de contrôler le servo, mais sans microcontrôleur.Connaissances
Tout le monde sait que l'expérience et les connaissances aident à créer et à trouver des solutions. Il y a beaucoup d'exemples d'utilisation d'un servo variateur avec l'utilisation de contrôleurs sur les pages de Gicktime. Ils décrivent en détail le système de servocommande. Nous prendrons cette expérience d'autres développeurs pour les connaissances dont nous avons besoin pour résoudre le problème. Le servo variateur SG90 est contrôlé par un signal PWM dont les paramètres déterminent la position du rotor. La période PWM est d'environ 20 ms, la durée du signal de commande est de 500 à 2100 μS.Défi
L'idée et la connaissance posent un problème qui doit être résolu. Nous formulons le problème pour la réalisation de l'idée. C'est quelque chose comme un mandat. Il semble que tout soit simple, vous devez prendre un générateur d'impulsions avec un rapport cyclique variable, connecter l'alimentation au servo variateur et appliquer un signal de commande du générateur. Nous soulignons qu'il y a des changements dans le cycle de service dans les exigences - c'est-à-dire qu'il doit y avoir des contrôles ou une interface utilisateur.Implémentation
C'est là que commence l'agonie de la créativité: que prendre et où l'obtenir? Vous pouvez trouver un générateur d'impulsions de laboratoire prêt à l'emploi, par exemple, G5-54 avec poignées, boutons, définir les paramètres nécessaires, connecter le générateur à un servo variateur. Cependant, c'est lourd et tout le monde ne peut pas se permettre un tel luxe. Par conséquent, les développeurs, en s'appuyant sur leur expérience et leurs connaissances, essaient de combiner le désir (idée-tâche) et les opportunités (matérielles et créatives) pour la mise en œuvre de la tâche. Les possibilités matérielles sont ce «crapaud»"Combien et que veux-je dépenser pour mettre en œuvre une idée?" La créativité est, "je verrai ce que j'ai déjà." Ce ne sont pas nécessairement des valeurs matérielles, mais l'expérience et la connaissance des développements précédents qui peuvent être adaptés à la mise en œuvre. De plus, il ne sera pas superflu de rechercher (google) que quelqu'un a déjà implémenté quelque chose de similaire. Pour réduire les options de solution, vous devez vous-même ajouter des exigences supplémentaires qui limitent les fantasmes d'implémentation. Par exemple, nous ajoutons une condition supplémentaire aux exigences, que ce soit une limitation matérielle, la mise en œuvre devrait être peu coûteuse .Recherche d'alternatives
En utilisant Internet, nous recherchons les options offertes par le réseau. Nous avons défini dans la recherche: «un générateur d'impulsions rectangulaire avec un rapport cyclique variable». Nous aurons beaucoup d'options, à la fois avec l'utilisation de temporisateurs intégrés NE555 (analogique domestique de KR1006VI1) et sur des circuits logiques. De toute la variété, j'ai choisi l'option d'un générateur sur un onduleur avec un déclencheur Schmitt en entrée. Premièrement, il est le plus simple, et deuxièmement, il nécessite un minimum de détails et le plus intéressant utilise un seul élément logique sur six, si, par exemple, vous utilisez la puce 74HC14.Le circuit d'un tel générateur ressemble à ceci:Un peu de théorie
La théorie dit que la fréquence d'un tel générateur est f = 1 / T = 1 / (0,8 * R * C). Pour obtenir la fréquence requise, vous devez sélectionner la valeur nominale de l'un des éléments qui spécifient la fréquence. Étant donné que l'élément logique est fabriqué selon la technologie CMOS, il a une impédance d'entrée élevée, par conséquent, des éléments qui spécifient de faibles courants de fonctionnement peuvent être utilisés. Nous choisissons la capacité C1 parmi un certain nombre de dénominations communes, par exemple 0,47 μF. Ensuite, pour obtenir la fréquence requise (50 Hz), la résistance doit être d'environ 53 kOhm, mais il n'y a pas une telle résistance dans la série standard, nous choisissons donc 51 kOhm.
Un signal proche du méandre est généré à la sortie d'un tel générateur, il nous faut donc ajuster le circuit pour qu'il réponde aux exigences de la tâche. Pour obtenir une durée d'impulsion réglable en sortie, il est nécessaire de changer le mode de recharge du condensateur d'un niveau élevé en sortie, c'est-à-dire de réduire le temps de recharge. Pour ce faire, ajoutez deux éléments supplémentaires au circuit: une diode et une résistance variable. Toute diode de commutation de faible puissance convient.Ensuite, le circuit prendra la forme suivante:Il semblerait: tout, le problème est résolu, mais dans les positions extrêmes de la résistance variable le comportement du servo est instable. Cela est dû au fait que la valeur de la durée d'impulsion, dans les positions extrêmes de la résistance variable, ne correspond pas à celles requises. Personnellement, je n'aime pas non plus l'utilisation d'une résistance variable, donc je veux changer l'interface de contrôle en ajoutant une nouvelle liste de souhaits aux termes de référence, par exemple, afin que le rapport cyclique change en fonction de la lumière. Il existe une solution simple et peu coûteuse pour cela: appliquer une photorésistance GL55xx (utilisée dans les projets Arduino) comme élément de régulation, dont le changement de résistance se situe dans une large plage.Ensuite, le plaisir commence. Il n'y a pas de formules de calcul pour obtenir des valeurs de résistance fournissant les durées d'impulsion requises.Par conséquent, au niveau de l'intuition (expérimentalement, en utilisant une résistance variable), nous déterminons les valeurs de résistance auxquelles les valeurs requises de durées d'impulsion sont définies. Ensuite, nous changeons le circuit de sorte que lorsque la résistance de la photorésistance change, la résistance totale change, fixant les valeurs requises des durées d'impulsion.Le schéma final prend la forme suivante:Explications pour le plan final
Le condensateur C1 d'une valeur nominale de 0,47 μF détermine le temps de recharge. Une résistance R1 de 51 kΩ règle le taux de répétition des impulsions fondamentales dans la région de 50 Hz. La combinaison de résistances R2-R4 au total variera dans la plage de 2,5 kOhm à 24 kOhm selon l'éclairage. Avec la diode D1, ces résistances affecteront le temps de recharge du condensateur C1 sous l'action d'une impulsion positive en sortie de l'élément logique, déterminant ainsi sa durée.Résultat
En connectant ce générateur à l'entrée de commande du servo variateur, nous pourrons le contrôler en modifiant l'illumination de la photorésistance. Sur la vidéo, vous pouvez voir ce qui en est ressorti:Ce serait tout, mais je peux offrir le développement de ce développement. Comme nous n'avons utilisé qu'un seul des six éléments logiques inclus dans le boîtier du microcircuit, nous pouvons assembler cinq autres générateurs et les connecter à d'autres servos. En connectant les volets aux leviers d'actionnement des servos, ce qui bloquera le flux lumineux des photorésistances qui contrôlent les autres servos, vous pouvez obtenir un comportement amusant des servos, mais je propose de mener cette expérience par moi-même.Allez-y et bonne chance! Source: https://habr.com/ru/post/fr400631/
All Articles