18 bricolage port contrôleur de Servo (obsolète) (1 / 2 étapes)

Étape 1: Fond/Prototype

Au lieu d’à l’aide d’un PWM légitime, j’ai fait une version piratée de celui-ci avec une comparaison de sortie (3 en fait) et d’une puce avec NIP périphérique, sélectionnez

étant donné que les servos fonctionnent (typiquement) entre 1 ms et 2 ms, oui je comprends il y a des variations de la durée effective de chaque servo mais vous voyez l’idée. Il est mis en place tel que le compare 3 sortie n’est qu’à une broche spécifique pendant 2 ms avant d’être déplacés sur la broche de la prochaine. ce cycle se poursuit jusqu'à ce qu’il n’y a pas plus de broches servo gauche et ennemis à un État « factice » et puis après les 20ms écoulé le redémarrage du système de la servocommande. J’ai sous stand que je ne peux pas dire qu’assez droit mais ohwell, ill joindre un exemple de code qui montre que je veux dire.

J’ai 2 conceptions postées, 1 sur la maquette était la preuve de concept orriginal avant que j’ai conçu le Conseil

la conception finale réclame un régulateur 5v, les servos et un régulateur de 3v pour le pic24fj64gb004 et tout le reste

=======================================================================================
Code ci-dessous
=======================================================================================
void _T1Interrupt(void) __attribute__ ((interruption, no_auto_psv)) / / 20ms
{
activez les paramètres initiaux pour une interruption
clock2ms = 0 ;
minuterie d’initialisation/Reset le 2ms
Init2msTimer() ;
_T2IF = 1 ;
_T1IF = 0 ; Effacez l’indicateur d’interruption
}

void _T2Interrupt(void) __attribute__ ((interruption, no_auto_psv)) / / 2ms
{
0-5 représente les 6 servos par broches de sortie comparer
chaque cas déplace la sortie comparer aux broches respectives
permet à l’axe du servo
affecte la valeur de comparaison de sortie servo curpos
par défaut représente que tous les jeux de servo 6 ont été desservies et de désactiver la minuterie
/ * cas x:
permettre de comparer de sortie pour la broche respectif
* tourner sur la broche de servo
* définir la valeur de comparaison de sortie
désactiver les comparer de sortie sur la broche précédent
*
*/

Switch(clock2ms)
{
case 0 :
configurer la broche
déplacer l’OC à la servopp
S1G1PP = OC1_PPS ;
S2G1PP = OC2_PPS ;
S3G1PP = OC3_PPS ;

Configurer l’OC
OC1CON1 = 0 X 0002 ;
OC2CON1 = 0 X 0002 ;
OC3CON1 = 0 X 0002 ;
valeur de la charge dans l’OC
OC1R = OneMs ;
OC2R = OneMs + OneMs/2 ;
OC3R = 2 * OneMs ;
rupture ;
cas 1 :
S1G1PP = NO_OC ;
S2G1PP = NO_OC ;
S3G1PP = NO_OC ;

configurer la broche
déplacer l’OC à la servopp
S1G2PP = OC1_PPS ;
S2G2PP = OC2_PPS ;
S3G2PP = OC3_PPS ;

Configurer l’OC
OC1CON1 = 0 X 0002 ;
OC2CON1 = 0 X 0002 ;
OC3CON1 = 0 X 0002 ;
valeur de la charge dans l’OC
OC1R = OneMs ;
OC2R = OneMs + OneMs/2 ;
OC3R = 2 * OneMs ;
rupture ;
cas 2 :
S1G2PP = NO_OC ;
S2G2PP = NO_OC ;
S3G2PP = NO_OC ;

configurer la broche
déplacer l’OC à la servopp
S1G3PP = OC1_PPS ;
S2G3PP = OC2_PPS ;
S3G3PP = OC3_PPS ;

Configurer l’OC
OC1CON1 = 0 X 0002 ;
OC2CON1 = 0 X 0002 ;
OC3CON1 = 0 X 0002 ;
valeur de la charge dans l’OC
OC1R = OneMs ;
OC2R = OneMs + OneMs/2 ;
OC3R = 2 * OneMs ;
rupture ;

par défaut :
retirer l’OC du dernier groupe de servo pour l’utiliser.
S1G3PP = NO_OC ;
S2G3PP = NO_OC ;
S3G3PP = NO_OC ;
Disable2msTimer() ;

rupture ;
}

clock2ms ++ ;
_T2IF = 0 ; Effacez l’indicateur d’interruption
}

Articles Liés

Comment utiliser le contrôleur de Servo Actobotics

Comment utiliser le contrôleur de Servo Actobotics

Dans ce instructable je vous guidera dans l'utilisation du Contrôleur de Servo Actobotics. C'est un contrôleur de servo manuelle, ce qui signifie qu'il ne nécessite pas un apport par un ordinateur, le microcontrôleur ou autres pour exploiter les serv
PWM LED avec contrôleur de Servo Smart

PWM LED avec contrôleur de Servo Smart

Dans cette démonstration, je vais vous montrer comment connecter une couleur LED pour le contrôleur de Servo Smart.Le contrôleur de Servo Smart peut générer des signaux PWM haute vitesse qui conviennent pour la conduite des LEDs. Pour les de LED haut
Supprimer le contrôleur de Servo pour tourner sans fin projet DIY facile et rapide

Supprimer le contrôleur de Servo pour tourner sans fin projet DIY facile et rapide

Ici montre comment supprimer un contrôleur de servo pour faire tourner sans fin.Juste regarder la vidéo et profitez
Alimenter le contrôleur de Servo SSC-32

Alimenter le contrôleur de Servo SSC-32

contrôleur de servo le SSC-32 est l'un des boucliers servo maniable que vous pouvez trouver sur le marché. C'est parce qu'est peut contrôler 32 moteurs servo. Pensez à ce sujet. Ce qui ne peut pas faire avec 32 moteurs servo ?Si vous envisagez de cré
Contrôler les Servos en utilisant le contrôleur de Servo SSC-32 et Arduino Uno

Contrôler les Servos en utilisant le contrôleur de Servo SSC-32 et Arduino Uno

il y a deux façons à travers lequel vous pouvez contrôler des servos à l'aide d'un contrôleur de servo SSC-32. Vous pouvez soit le faire directement à partir de la lynx SSC-32 Terminal ou via des commandes séries envoyées par une carte arduino. Ici,
Distance en gardant le robot avec le contrôleur de Servo Smart

Distance en gardant le robot avec le contrôleur de Servo Smart

Cette démo je vais vous montrer comment utiliser le contrôleur de Servo Smart pour faire un robot à garder ses distances.Il utilise deux servomoteurs de rotation en continu et d'un capteur de distance. Le contrôleur de Servo Smart est utilisé pour cr
Construire un contrôleur de servo USB 6

Construire un contrôleur de servo USB 6

Salut, je cherchais un contrôleur de servo et trouvé ceci. J'ai pensé que d'autres comme moi il trouverait intéressant de construire. Toutefois, n'essayez même pas faire cela si vous n'avez pas de connaissances dans la construction circuitboards. C'e
Arduino base contrôleur de servo série

Arduino base contrôleur de servo série

il s'agit d'un simple contrôleur serial pour servos multiples basées sur l'Arduino. (mon premier instructable trop:))L'essentiel du travail dans ce provenait d'obtenir le logiciel pour parler avec l'arduino et de faire un protocole pour les données à
Supprimer un contrôleur de Servo

Supprimer un contrôleur de Servo

Servo-moteurs sont beaucoup de plaisir lorsque vous souhaitez interfacer facilement un motoréducteur avec un microcontrôleur. Cependant, parfois, vous voulez une belle peu orientée moteur et ne voulez pas être dérangé par des circuits de commande pou
Matrice de LED RVB 8 x 8 bricolage avec contrôleur

Matrice de LED RVB 8 x 8 bricolage avec contrôleur

Après avoir fait la matrice de 8 x 8 LED et le contrôleur dans le cadre de mon Arduino DIY Word-horloge, j'ai eu une vue à faire une version RGB de la matrice de LED.Contrairement à un monochrome LED Matrix, une matrice de LED RVB utilise Anode commu
Arduino HVAC Thermostat/contrôleur de Servo

Arduino HVAC Thermostat/contrôleur de Servo

Bienvenue sur mon « verts » instructable ! Je vais vous montrer comment utiliser un Arduino, deux servo moteurs un capteur de température et certains métaux (ou bois) pour faire un thermostat numérique d'une unité de ventilation à travers les murs.Se
Ouvrir le contrôleur de porte de Garage Source / moniteur

Ouvrir le contrôleur de porte de Garage Source / moniteur

Surveiller et contrôler vos portes de garage depuis le web (y compris les appareils mobiles) grâce à un Pi de framboise.Ce projet fournit des instructions d'installation du logiciel et du matériel pour surveiller et contrôler vos portes de garage à d
Animatron 8.3 : Un contrôleur Animatronic

Animatron 8.3 : Un contrôleur Animatronic

Animatron a commencé comme une feuille de calcul Excel et puis est devenu un programme FreeBasic. Le programme a couru sur mon portable et communiqué à mon pingouin robotique pour contrôler son comportement. La prochaine génération, c'est ce que je v
Contrôler les Servos sur FPGA

Contrôler les Servos sur FPGA

Actuellement, je travaille sur la construction d'une machine de la griffe, tout comme ceux que votre enfance en proie à des salles de cinéma, des arcades et des épiceries. Je sais, pour moi, beaucoup d'heures ont été consacrées à l'aspiration pour le