loading

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

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

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

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

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.

About This Instructable

363views

4favorites

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