Utiliser un microcontrôleur PIC pour commander un Servo Hobby (4 / 6 étapes)

Étape 4: Le Firmware

Le firmware que j’ai utilisé pour cette petite démo est jointe. J’ai utilisé le gratuit MPLAB IDE avec le compilateur C18 (gratuit pour les étudiants). Les deux sont disponibles à télécharger sur le site de Microchip. La logique va comme ceci :
1. délai pour quelque part entre 10 et 20 ms (dans ce cas, 12)
2. si on appuie le bouton (4 broches), mesurez la tension du potentiomètre (2 broches)
3. Réglez le signal de commande élevé (5 v)
4. délai pour une durée proportionnelle à la tension mesurée à l’étape 2
5. Réglez le faible signal de commande (sol)
6. boucle arrière pour l’étape 1

Peut-être un peu plus d’informations sur la conversion analogique-numérique est en ordre. Donc nous savons déjà que la tension sur la broche 2 va se situer entre 0 et 5 volts à cause du diviseur de tension. Convertisseur A/N le commandant de bord fonctionne (théoriquement) un peu comme un diviseur de tension inverse. Il rend compte de la tension par rapport à sa tension d’alimentation. Toutefois, la proportion est ajustée pour être comprise entre 0 et 255 (qui est de 8 bits d’information, la taille d’un caractère non signé). En d’autres termes, l’égalité suivante est mises en place :
(tension de la broche 2) / 5v = POT_VALUE / 255
ou :
POT_VALUE = 255 * ((pin 2 voltage) / 5v)
Le PIC est en train de faire une 10-bit A/D conversion, mais 8 bits est beaucoup granulaire assez pour nos besoins, donc les deux bits les moins significatifs de la conversion A/D ne sont pas utilisés dans le présent code. En outre, les deux derniers chiffres sont probablement mesurage du bruit au lieu du signal lui-même, donc nous ne sommes pas manque tant que ça en les ignorant.

Les retards sont calculés selon le temps que nécessaire pour terminer une instruction sur le PIC avec une horloge de 4 MHz. Je ne me souviens pas pourquoi, mais de toute façon que cela fonctionne à 1/6 nous par cycle d’enseignement. Voilà donc si nous tardons à 5400 cycles, 5400 cycles * US 1/6 / cycle = 900 US = 0,9 Mme un autre élément important est de trouver la constante de proportionnalité qui fait évoluer les POT_VALUE (sur une plage comprise entre 0-255 = 255) à notre largeur d’impulsion (sur une gamme de 2,1 ms-0,9 ms = 1200 nous) ; ou, pour cadrer la question différemment : cycles combien devrions nous retarder pour chaque chef d’accusation de POT_VALUE ?
(1200 US * 6 cycles / nous) / 255 chiffres = 28 cycles/comte
Ceux d'entre vous suivant ainsi que le code remarqueront que j’ai en fait retarder 20 cycles par chef d’accusation, pas 28. Il s’agit d’une valeur déterminée expérimentalement (j’ai regardé le signal avec un oscilloscope) qui s’adapte à tous les facteurs que l’effet du temps, principalement les frais généraux de la boucle for en ligne 68.

Articles Liés

LinkIt avec Billy pour commander un Servo

LinkIt avec Billy pour commander un Servo

Il y a beaucoup d'utilisations pour servo maintenant des jours ! Il n'y a même plus d'utilisations pour WiFi Servo ! Ce projet démontrera comment utiliser un LinkIt une planche pour commander un Servo à l'aide de BillyÉtape 1: Télécharger CodeSi vous
Système de développement pour les microcontrôleurs PIC et AVR

Système de développement pour les microcontrôleurs PIC et AVR

après avoir testé de nombreux systèmes de développement pour les microcontrôleurs PIC et AVR, aucun ne me satisfait. J'ai donc créé ce système avec la maquette qui m'a convaincu.Étape 1: Plus d'espace libre Dans ce système de développement, j'ai mis
GSM base polyvalent robotique véhicule à l’aide de microcontrôleur PIC

GSM base polyvalent robotique véhicule à l’aide de microcontrôleur PIC

ce projet vise à développer un véhicule robotisé qui peut être contrôlé par un téléphone cellulaire. Envoient des commandes DTMF d'un téléphone à un autre téléphone cellulaire qui est monté sur le véhicule robotisé. Ces commandes servent à nourrir un
Programmation des microcontrôleurs PIC

Programmation des microcontrôleurs PIC

microcontrôleurs PIC sont un outil très utile et polyvalent pour une utilisation dans de nombreux projets électroniques. Ils sont très peu coûteux et facile à trouver. Ils sont aussi très puissants et beaucoup sont capables de vitesses allant jusqu'à
Programmateur de microcontrôleur PIC 16F917

Programmateur de microcontrôleur PIC 16F917

dans ce instructable, je vais vous montrer comment construire un microcontrôleur PIC 16F917 circuit de programmation. Ce microcontrôleur est une forme très agréable du chip Microcontroller le fabricant de la célèbre puce Microchip.Ce microcontrôleur
Module sans fil Radio fréquence à l’aide de microcontrôleur PIC.

Module sans fil Radio fréquence à l’aide de microcontrôleur PIC.

C'est un microcontrôleur basé projet de bricolage électronique. Le nom de Module RF sans fil à l'aide de microcontrôleur PIC. Le module RF est un petit circuit électronique utilisé pour transmettre, recevoir, ou ondes radio transceive sur l'un d'un c
Intro aux microcontrôleurs PIC

Intro aux microcontrôleurs PIC

un minimum de ce que vous devez obtenir commencé à programmer des micros PIC pour une utilisation dans des projets électroniques (robotique, etc.)Étape 1: Ce que vous avez besoin pour le projet Remarque : on dirait que si vous avez windows XP, il n'y
LYT LED compteur: LED, microcontrôleur PIC et déplacement moyenne Code

LYT LED compteur: LED, microcontrôleur PIC et déplacement moyenne Code

Bonjour à tous, Merci de vérifier sur mon premier Instructable. J'ai aimé voir vos créations au fil des ans et aimer ce que vous tous apportent leur contribution. Ce projet est un essaimage de celui que j'ai vu récemment ici et je dois donner une cri
Personne l’authentification à l’aide de la détection de visage de PC et le microcontrôleur (PIC, Arduino,...)

Personne l’authentification à l’aide de la détection de visage de PC et le microcontrôleur (PIC, Arduino,...)

Dans cette vidéo, j'ai implémenté personne d'authentification à l'aide de la détection des visages et reconnaissance à l'aide de c# et Emgu (OpenCV wrapper pour .NET) et le microcontrôleur PIC ou Arduino connecté au port série.Les tutoriels qui m'aid
Interface 16 X 2 LCD avec microcontrôleur PIC

Interface 16 X 2 LCD avec microcontrôleur PIC

ici, vous apprendrez comment interfacer 16 × 2 LCD à microcontroller PIC18F4550 qui appartient à la famille PIC18F. PIC18F4550 est un microcontrôleur 8 bits et utilise l'architecture RISC. PIC18F4550 a 40 broches PDIP (double en ensemble line) et 44
Mesure de fréquence d’onde sinusoïdale à l’aide de microcontrôleur pic

Mesure de fréquence d’onde sinusoïdale à l’aide de microcontrôleur pic

Projet de mesure de fréquence sinusoïdale est conçu à l'aide de microcontrôleur pic. Ce projet mesure la fréquence de l'onde sinusoïdale. Technique de détection de croisement nul est utilisé pour mesurer la fréquence de l'onde sinusoïdale. Détection
Comment clignoter une Led à l’aide de microcontrôleur PIC ?

Comment clignoter une Led à l’aide de microcontrôleur PIC ?

Ce tutoriel est pour les débutants de microcontrôleur PIC.* les étapes pour installer MP labo* les étapes pour installer le compilateur xc8* programme de Blink* Projet de renforcement et de brûler au pic McÉtape 1: Composants requis 1) PIC16F886-12)
Convertisseur pur sinus à l’aide de microcontrôleur pic

Convertisseur pur sinus à l’aide de microcontrôleur pic

Convertisseur pur sinus à l'aide de microcontrôleur pic est conçu dans ce projet. Noyau de ferrite ou sinusoïdal pur chopper basé est conçu dans ce projet. Il y a deux parties principales de ce projet1.convertisseur DC DC à l'aide de push pull topolo
Comprendre l’ICSP pour les microcontrôleurs PIC

Comprendre l’ICSP pour les microcontrôleurs PIC

programmation de microcontrôleurs n'est pas difficile. Construire un programmeur rend un grand premier projet électronique. L'objectif de cette instructable est d'expliquer la méthode simple « in circuit serial programming » utilisée avec PICs de Mic