top of page

Servo Motor SG90 Control d'angle en utilisant una Potentiometer

By Bernice Zuiya

Introduction

                Un servomoteur est fondamentalement un moteur à courant continu qui fonctionne avec PWM (modulation de largeur d'impulsion) pour régler son angle, ce moteur est utilisé quand un angle de rotation précis est nécessaire, dans ce projet nous allons montrer comment commander un servo moteur (SG90 ) À l'aide d'un potentiomètre relié à une entrée analogique du microcontrôleur et le fil de signal du servomoteur est également pris d'une broche numérique du contrôleur comme un algorithme écrit en C intégré (compilateur mikroC) utilisé pour générer une onde comparée À un PWM. En savoir plus sur servos ici

SG90 Servo Motor

PWM Wave form

Working

                     Ce que je vais montrer à partir d'ici est que dans PWM (modulation de largeur d'impulsion) s'applique au signal de ligne du servo moteur pour obtenir l'angle correspondant, et en fait il ya beaucoup d'IC ​​qui sont utilisés pour générer l'onde PWM où la largeur de l'impulsion varie , Par exemple le 555 IC peut également être utilisé pour générer des ondes PWM. Ou le micro-contrôleur de certaines familles sont doted du module CCP (capture compare et PWM), ils peuvent facilement générer le PWM en utilisant une ligne de codes ce peut-être atteint facilement. Donc une autre façon approximative de générer une onde PWM est d'abord en sachant le cycle de service du servo moteur que vous allez utiliser puis essayer de générer un code C intégré pour produire une forme d'onde de modulation de largeur d'impulsion et la question peut-être comment contrôler La largeur des impulsions! La réponse à cette question est la suivante: l'entrée analogique de PORTA (RA0) sera échantillonnée et donnera des valeurs de courant continu correspondant à l'entrée analogique

Alors enfin quand tout est connecté, il suffit d'essayer de faire tourner l'axe du potentiomètre l'image d'un potentiomètre est montré ci-dessous il peut être de n'importe quelle valeur entre 5k à 10k.

 

Ce projet est fondamentalement un grand parce que si vous comprenez comment cela fonctionne alors vous pouvez le mettre en œuvre à vos projets d'amateur robotique à la maison ou n'importe où, et c'est la manière la plus commune employée par les ingénieurs et les concepteurs du bras de la robotique.

Potentiometer

Circuit Diagram

      Le schéma de circuit ci-dessous est le diagramme très basique nécessaire à la conduite d'un servomoteur à l'aide du microcontrôleur 16F877A, où l'angle de rotation est contrôlé par un potentiomètre, vous devez respecter les connexions pour obtenir le meilleur résultat.

  • Une résistance de valeur 4k7 ohm est connectée en série avec +5 volt et la broche de réinitialisation (1ère broche)

  • Q1 est l'oscillateur en cristal dans ce cas, son oscillation de fréquence est de 20 MHz.

  • Alimentation: le circuit est connecté à une tension maximale égale à 5 volts

  • C1 & C2 are of 22pF.

Code and Comment

Download the full project here

          int adc;
          unsigned int i;
          void main(void) 
               {
                    TRISD = 0X00;
                    PORTD = 0X00;
                            for(;;){
                                        adc = ADC_Read(0);
                                        delay_ms(30);
                                        PORTD.B1=1;     
                                delay_us(750);   
                 for(i= 0;i < adc ; i++){    
                 delay_us(2);     
                 }
             PORTD.B1 = 0;        
        Delay_us(20000);  
     }
}

bottom of page