Introduction: Control De Un Servo Con Niple

Picture of Control De Un Servo Con Niple

Niple es un entorno de programación para microcontroladores PIC de Microchip que permite programar los mismos mediante diagrama de flujo. Es muy intuitivo y sencillo de utilizar, lo que nos va a permitir realizar cosas complejas en poco tiempo.

En este instructable veremos como configurar y utilizar un servo motor. En nuestro proyecto utilizaremos además del servo motor: un display LCD de 16 caracteres por 2 filas, un microcontrolador PIC16F648A, un par de resistencias y dos pulsadores.

Step 1: Configurando Los Dispositivos

Picture of Configurando Los Dispositivos

El primer paso será declarar los dispositivos a utilizar. Para esto vamos a la barra de herramientas y pulsamos el botón "Declaración de dispositivos".

Display LCD

Declaramos el display LCD siguiendo la ruta: "Nuevo Dispositivo - Visualización - LCD". En el campo tipo elegimos el valor "16x2", y en bus de datos "4 bits". La configuración de pines es la siguiente:

  • RB7 >>> DATO 7
  • RB6 >>> DATO 6
  • RB5 >>> DATO 5
  • RB4 >>> DATO 4
  • RB3 >>> E
  • RB2 >>> RS

Servo Motor

Declaramos el servo motor siguiendo la ruta: "Nuevo Dispositivo - Motor - Motor Servo". Luego configuramos el "Pin de control" RA0 y un registro donde almacenaremos el control (de 0 a 180 grados) con el rango de valores de 0 a 255.

Step 2: Programación Visual

Picture of Programación Visual

La primer parte de nuestro programa es la configuración de puertos, es decir, decirle al microcontrolador que pines serán entradas y cuales serán salida.

Además de los pines que ya ocupamos para el servo y el display, necesitaremos dos adicionales para los pulsadores. La función de los mismos será incrementar el ángulo de giro en un sentido u otro. Conectaremos de la siguiente forma:

  • RA6 >>> Pulsador incremento (+)
  • RA7 >>> Pulsador decremento (-)

Una vez declarados los pines, debemos insertar el bloque de inicialización del display LCD. El mismo tiene las rutinas necesarias para el buen funcionamiento del dispositivo. Insertamos desde "Bloques > Dispositivos > Pantalla LCD > Inicializar".

Step 3: Control Del Servo

Picture of Control Del Servo

Para controlar el servo, simplemente incrementamos (o decrementamos) el valor del registro de control mediante la acción de un pulsador y enviamos mediante el bloque "Motores Servo > Control". En nuestro código de ejemplo enviamos el valor del registro control a la pantalla LCD para poder compararlo con el ángulo de giro que nos mostrará el simulador Proteus.

Step 4: Simulación En Proteus

Picture of Simulación En Proteus

Niple genera el archivo HEX que podremos cargar en la memoria de nuestro microcontrolador virtual y realizar la simulación.

A tener en cuenta que para que el dispositivo servo de Proteus funcione adecuadamente, hay que configurar algunos parámetros:

  • Minimum Angle: 0
  • Maximum Angle: 180
  • Rotional Speed: 50
  • Minimum Control Pulse: 544u
  • Maximum Control Pulse: 2400u

Una vez cargado el código y configurado el servo, solo resta presionar la tecla "Play" del simulador, e interactuar con los pulsadores para mover en uno u otro sentido el servo.

El archivo "Ejemplo de control de un servo.zip" contiene el esquema, el código fuente, el archivo HEX, el proyecto Niple y el proyecto de simulación.

Comments

DIY Hacks and How Tos (author)2016-01-07

Great servo project.

About This Instructable

374views

4favorites

Bio: Docente, amante del DIY, hardware y software open source.
More by ltreser:Control De Un Servo Con Niple
Add instructable to: