Microcontroladores: Control de dos servomotores con el PIC16F887.

Comparte en tus redes sociales.

Un servomotor funciona mediante la implementación del pwm (Modulación de Ancho de Pulso). 

Los servomotores tienen tres cables:

Cable rojo: Este cable es para la alimentación(positivo). 

Cable negro: Esta cable se utiliza para la conexión a tierra. 

Cable blanco: Es la línea de control por donde se le envía la señal de pulso.

cables de servomotor
Figura 1. Cables de servomotor

Partes de un servomotor

Sistema eléctrico: Permite generar el movimiento mediante el eje. 

Sistema de regulación: Este sistema está conformado por medio de engranajes, que permiten regular la velocidad y el torque. 

Sistema de control: Es el sistema que controla el movimiento del motor por medio de los pulsos eléctricos.

Potenciómetro: El potenciómetro es una resistencia variable. Con este elemento, es posible identificar el ángulo del eje del motor. 

partes del servo
Figura 2. Partes del servomotor

Giros en grados de un servomotor.

Grados servomotor
Figura 3. Grados servomotor

Hay servomotores en donde su eje gira a 360. El más común es cuando su eje gira a 180.

Programa: Controlar el giro de dos servomotores

Análisis.

Funciones: 

#include <16F887.h>: Librería utilizada para el microcontrolador PIC16F887

#use delay(clock=4000000): Habilita la frecuencia del sistema a 4MHZ.

#fuses XT,NOWDT,NOPROTECT: Son los que permiten la configuración del microcontrolador. 

#fuses XT: Habilita el oscilador del sistema.

#fuses NOWDT: Deshabilita el Watch Dog Timer.

#FUSES NOPROTECT: Deshabilita la protección contra lectura de la FLASH.

#byte PORTC=7 / #byte PORTC=0X07: Se define puerto C , que se sitúa en la dirección 0X07 de la memoria RAM. 

#byte PORTA=5 / #byte PORTA=0X05: Se define puerto A , que se sitúa en la dirección 0X05 de la memoria RAM. 

#byte TRISA=85 / #byte TRISA=0X85: Define el  TRISA, que se sitúa en la dirección 0X85 de la memoria RAM. 

#byte TRISC=87 / #byte TRISC=0X87: Define el TRISC que se sitúa en la dirección 0X87 de la memoria RAM. 

TRISC=0 : Define los pines del puerto C como salidas digitales.

TRISA=255 : Define los pines del puerto A como entradas digitales.

bit_clear(puerto,pin): Pone en 0 lógico el bit de puerto definido. 

bit_set(puerto,bit): Pone en 1 lógico el bit puerto definido.

bit_test(puerto,bit): Se evalúa si está activado( 1 lógico) el bit del puerto definido. 

//Librería para el pic 16f887
#include <16F887.h>
//Bit de configuración para habilitar o deshabilitar lo que se necesita para el microcontrolador
#fuses XT,NOWDT,NOPROTECT
//Configurar la frecuencia del reloj del sistema
#use delay(clock=4000000)

//Define los registros que se situan en la memoria RAM

#byte PORTC=0X07
#byte TRISC=0X87
#byte PORTA=0X05
#byte TRISA=0X85

void main(){
//Los tris automáticamente define los pines como digitales
//Definir como salida digital el puerto C
TRISC=0;
//Definir como entrada digital el puerto A
TRISA=255;


while(1){
//Prueba el estado del bit cero del puerto A, devuelve un uno
 if(bit_test(PORTA,0)==1)
 {
//Pone en uno el bit cero del puerto c
     bit_set(PORTC,0);
//Retardo
     delay_us(1600);
//Pone en cero el bit cero del puerto c
     bit_clear(PORTC,0);
     delay_us(600);
 }
   else
   {
//Pone en uno el bit cero del puerto c
     bit_set(PORTC,0);
//Retardo
     delay_us(400);
//Pone en cero el bit cero del puerto c
     bit_clear(PORTC,0);
     delay_us(1800);
   }
//Prueba el estado del bit cero del puerto A, devuelve un uno   
if(bit_test(PORTA,1)==1){
//Pone en uno el bit uno del puerto c
     bit_set(PORTC,1);
     delay_us(1600);
//Pobe en cero el bit uno del puerto C
     bit_clear(PORTC,1);
     delay_us(600);
    }
      else{
//Pone en uno el bit uno del puerto C
        bit_set(PORTC,1);
        delay_us(400);
//Pone en cero el bit cero del puerto c
        bit_clear(PORTC,1);
        delay_us(1800);
      }
 }
}


CIRCUITO.
circuito
Figura 4. Circuito controlador de servos.

VIDEO DE FUNCIONAMIENTO.

CONTENIDOS RELACIONADOS.

 

CONTENIDOS MÁS RELEVANTES.

LOS MEJORES SITIOS PARA APRENDER ELECTRICIDAD GENERAL

Que tal compañeros: ¿ como están? pues espero que se encuentren de maravilla ¡así como yo también! el día de ...
Leer Más

LOS MEJORES SITIOS PARA APRENDER ELECTRONICA

 LOS MEJORES SITIOS PARA APRENDER ELECTRONICA nuestra red global llamada Internet está inundada de muchos sitios para aprender electrónica de ...
Leer Más
plc aprender a programar

PLC: APRENDER A PROGRAMAR

PLC: APRENDER A PROGRAMAR Que tal amigos. ¿como están? ¿quieren aprender a programar PLCs? ¿estás buscando sitios que te ofrezcan ...
Leer Más

LOS MEJORES SITIOS PARA APRENDER ROBOTICA COMPLETAMENTE GRATIS.

saludos compañeros. Les cuento que el día de hoy estuve en una búsqueda exhaustiva por buscar los mejores sitios para ...
Leer Más

DESCARGAR GRATIS LIBROS DE ELECTRÓNICA

como descargar los libros gratis de electrónica saludos amigos, el día de hoy les comparto una serie de links  que ...
Leer Más

LOS MEJORES SITIOS PARA APRENDER INSTRUMENTACIÓN Y CONTROL

 En el post de hoy hablaré de 5 sitios web que marcan la diferencia para aprender todo lo que necesitas ...
Leer Más

MICROCONTROLADORES: CURSO COMPLETAMENTE GRATIS.

nota: estos cursos no pertenecen a sensoricx. Recuerda que debes suscribirte al canal https://www.youtube.com/channel/UCwbBivwbFv8GVitX5dKzPFQ antes de empezar el curso. VIDEO ...
Leer Más

PLC: CURSO COMPLETAMENTE GRATIS.

Saludos compañeros. A continuación les comparto una serie de vídeos que les servirán para su formación técnica en programación de ...
Leer Más
destacada

APRENDE LABVIEW CON ESTOS SENCILLOS TUTORIALES

saludos compañeros. El día de hoy les comparto una serie de vídeos relacionados con el entorno de desarrollo de LABVIEW ...
Leer Más
igbt

IGBT. QUE ES- PARA QUE SIRVE- COMO FUNCIONA

IGBT QUE ES- PARA QUE SIRVE- COMO FUNCIONA Hablar de los IGBT son mayores palabras puesto que estos transistores son ...
Leer Más

INVERSOR DE GIRO DE MOTOR TRIFÁSICO

INVERSOR DE GIRO DE MOTOR TRIFÁSICO. En este post se trabajó con un circuito inversor de giro de un motor ...
Leer Más

CONTROL ELECTRICO-INTRODUCCION

CONTROL ELECTRICO-INTRODUCCION Dentro de los sistemas de control electromagnético o sistemas cableados destacamos como elemento principal el contactor.   El ...
Leer Más

 

 

soy el administrador del sitio web. si tienes alguna duda, no dudes en contactarme

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

ArabicChinese (Simplified)DutchEnglishFrenchGermanItalianPortugueseRussianSpanish