Étape 7: R/C contrôleur communications et signalisation
L’image de plomb est un graphique de type impulsions de largeur d’impulsion « commande servo »: 1500 microsecondes est un neutre ou signal zéro vitesse, 1000 microsecondes habituellement complet unidirectionnel, 2000 pleine mise sous tension et l’autre. Alors que les servos et contrôleurs de robot aux durées d’impulsion comme il est indiqué, un contrôleur d’avion typique est unidirectionnel. Le plus commun « par défaut » est 1000uS comme Vitesse zéro et 2000uS en pleine vitesse, ou quelque chose qui ressemble à cette plage. Bien sûr, les ces peuvent être recalibrées pour accepter les différents points d’entrée à volonté, donc cette distinction est le plus souvent sans conséquence.
Un Simple « testeur de Servo » est votre ami
Un accélérateur de véhicule est fondamentalement un bouton que vous tournez pour produire un signal de quelque chose qui contrôle à quelle vitesse le véhicule se met. Dans les véhicules équipés d’un moteur de gaz, ce bouton peut littéralement ont tiré sur le corps de papillon du moteur, mais généralement, ces jours-ci, c’est un signal électronique vers l’ordinateur du moteur.
Dans le monde de passe-temps, il existe un petit appareil qui est vendu dans le commerce qui fait précisément la tâche de convertir une requête de bouton à impulsions « servo », et ça s’appelle un testeur de servo . Un exemple est illustré à la figure 2 ; celui-ci en particulier . Ils sont utilisés au lieu de la mise en place d’un ensemble radio et récepteur juste pour être sûr que vos servos fonctionnent. Remarquez que l’un (et plus chers vendus aujourd'hui) ont trois sorties - cela vous permet de tester tous les 3 servos dans un rotor principal de l’hélicoptère en même temps. Il suffit d’en utiliser un.
La partie fraîche sur la plupart des testeurs de servo est que vous pouvez directement déposer une source 0-5v, comme un accélérateur potentiomètre ou véhicule utilitaire de 3 fils, à la place du bouton (qui est lui-même un potentiomètre). La 3e image illustre une conversion je l’ai fait à ce modèle de testeur de servo particulier - le connecteur 3Pin va à une accélération de main commercial (voir les parties dans un peu plus). Une fois cette étape terminée, vous avez une tension analogique directe au convertisseur d’impulsion servo qui peut être installé dans un véhicule.
Notez que ceux-ci viennent avec différents modes disponibles tels que « neutre », utile pour garder votre servo centré pendant que vous réglez les liens et les « balayer », qui automatiquement un plein 1000-2000uS balayer. Ces modes ne sont pas utiles et si accidentellement sélectionné au cours de l’opération, peuvent entraîner de mauvais . Il est recommandé de supprimer le bouton qui permet de sélectionner les modes.
Méthode complète de matériel
Si vous aimez torturer vous-même, vous pouvez construire un circuit de chronométrage matériel 100 % (résistances, les circuits intégrés linéaires, casquettes) qui permet de convertir une référence 0-5v à l’impulsion servo appropriées. Créer un lien vers quelques uns dans l’ancienne édition, mais ces jours-ci, vous n’avez aucune excuse pour utiliser un testeur de servo de matériel complet, étant donné qu’ils coûtent comme 5 cents. Modification des valeurs de composant matériel avec la température et l’humidité même et il n’y a plus de pièces, en les laissant plus sujettes à l’échec.
Rampe de papillon
Car sensorless contrôleurs R/C ne peut pas vraiment contrôler combien actuelle qu’ils envoient au moteur (et actuel est directement proportionnelle à la sortie de couple) et commence de lents peut être erratique et difficile à maîtriser, il est utile d’avoir une « rampe » quelque part dans la chaîne de commande des gaz. Sans rampe ou un autre type d’amortissement d’entrée contrôle, secousse soudaine des requêtes de votre main ou votre pied peuvent entraîner le véhicule répondant inopinément telle qu’une application soudaine de puissance. Ce n’est pas seulement difficile à exploiter, mais il peut être carrément dangereux si vous êtes dans la circulation ou autour d’autres personnes.
Montée en puissance peut être accomplie soit dans le matériel ou logiciel.
Filtre de résistance-condensateur de matériel
Dans la quatrième image est un circuit de type « Filtre RC », où RC est résistance-condensateur , qui lisse forte transitoires dans l’entrée de commande. La forme générale du circuit est connue comme un filtre passe-bas, et ses détails techniques ne seront pas abordés (Wikipedia peut fournir un meilleur traitement que je peux jamais). Les valeurs de votre choix de R et C déterminent la constante de temps « amortissement », et qui est juste donnée par Trise = R * C .
Non, vraiment, c’est tout. Donc dans l’exemple, une résistance de 100K et un condensateur 10uF ensemble forment un filtre qui a un temps de montée de 1 seconde - ce qui signifie que si vous le plancher de l’arrêt (comme vous ne devrait pas être fait de toute façon, non? ) le signal de commande prend 1 seconde pour atteindre 63 % (le seuil standard défini pour ce circuit). Un vrai temps d’attente est défini comme le temps nécessaire pour la sortie atteindre plus de 90 % de la valeur finale, puis est généralement accepté d’être 3 constantes de temps (3 * T). Vous pouvez régler le R et C valeurs pour atteindre toutefois rapidement un filtre que vous voulez.
Il est important que la résistance est significativement supérieur (au moins 10 fois) la valeur que le potentiomètre de papillon, et doit être d’au moins 10 K ohms. La raison est que, si la résistance est aussi à proximité de la résistance totale du pot, le potentiomètre affecte la constante de temps du filtre fortement. J’ai mis 100K à titre d’exemple, mais avec la plupart manettes de véhicule étant 5K résistances ohm, essayez d’utiliser au moins une résistance de 47K. Le condensateur peut être n’importe quel type polarisé ou non polarisée, mais si il est polarisé, veuillez le mettre en ligne droite. L’ensemble du circuit peut être soudé en ligne avec un faisceau de l’accélérateur.
La deuxième variante de ce circuit ajoute une dérivation en sens unique pour le système de telle sorte que la limitation vers le bas est unramped - ce qui signifie que si vous laissez allez de plein gaz, il ne prend pas une pleine seconde le signal de la manette des gaz pour lentement redescendre, il fera presque instantanément . La diode conduit si la tension d’entrée sur le côté du potentiomètre est inférieure à la tension du condensateur (qui est la sortie), donc il efficacement les shunts entrée et sortie pour ces postes.
Dans le logiciel à l’aide d’un microcontrôleur
Montée en puissance est également réalisable dans le logiciel si vous préparez votre propre appareil comme testeur de servo de toute façon. Par exemple, le code suivant d’Arduino implémente montée en puissance en prenant une impulsion R/C une broche numérique et cracher il de retour sur l’autre. Ceci a été écrit par Arduino et contrôle moteur capitaine Shane Colton .
#include < Servo.h >
#define THR_MIN 178
#define THR_MAX 870
#define PWM_MIN 1000
#define PWM_MAX 2000
#define SPEED_LIMIT 0,33 / / fraction de pleine vitesse
#define RAMP_LIMIT 0,13 / / fraction de pleine vitesse par seconde
Servo tgypwm ;
float pwm_f = (float) PWM_MIN ;
void setup()
{
pinMode (sortie 9) ;
tgypwm.Attach(9) ;
/ * tgypwm.writeMicroseconds(PWM_MAX) ;
Delay(5000) ;
*/
tgypwm.writeMicroseconds(PWM_MIN) ;
Delay(5000) ;
Serial.Begin(9600) ;
}
void loop()
{
signé thr int = THR_MIN ;
float thr_f = thr (float) ;
float pwm_target = (float) PWM_MIN ;
unsigned int pwm_i = PWM_MIN ;
Thr = analogRead(7) ;
thr_f = (float)(thr-THR_MIN) / (float) (THR_MAX - THR_MIN) ;
pwm_target = thr_f * SPEED_LIMIT * (flotteur)(PWM_MAX-PWM_MIN) + (float) PWM_MIN ;
if(pwm_target > pwm_f)
{
pwm_f += RAMP_LIMIT * (flotteur)(PWM_MAX-PWM_MIN) * 0,05 ;
}
d’autre
{
pwm_f = pwm_target ;
}
pwm_i = (unsigned int) pwm_f ;
tgypwm.writeMicroseconds(pwm_i) ;
Serial.println(pwm_f) ;
Delay(50) ;
}