Quantcast
Channel: Moddear » Sebabjt
Viewing all articles
Browse latest Browse all 3

Microcontroladores de forma sencilla

$
0
0

Como todos ya sabemos hoy por hoy existen muchas placas entrenadoras basadas en un microcontrolador la cual sencillamente se programa y sale funcionando.
Algunas de las mas conocidas son Arduino por ejemplo esta es una placa que cuenta con un microcontrolador, una fuente, una interfase con la PC y un puerto de pines. Luego la programación se realiza con un IDE (entorno de desarrollo integrado) el cual posee un compilador de un lenguaje similar al C pero con algunas pequeñas diferencias (También se lo puede programar en C nativo).
Lo mejor que tiene este dispositivo es que posee una extensa lista de ejemplos que vienen con el IDE lo cual permite al usuario crear un programa simplemente modificando o adaptando algún ejemplo de estos, tiene sus pro y sus contra.. El pro es que es muy rápida la forma de realizar un programa de bajo o alta complejidad ya que existen muchos ejemplos, y la contra es que al tenerlo echo no lo pensamos y solo lo “modificamos”. Esto sucede con todos los lenguajes en todas sus plataformas.
Lamentablemente no todos saben programar en C lo cual nos complica y disminuye las ganas de realizar algún proyecto con microcontrolador por mas sencillo que este sea.
Por eso les tengo una solución más accesible para aquellos que no quieran morir en el intento de programar en C.
Un compilador en un lenguaje mas sencillo y básico como el LADDER, este lenguaje algunos lo deben haber escuchado o visto en el secundario técnico, el mismo es el utilizado hoy en la programación de PLC de alto nivel (entre otros), este lenguaje lo que tiene de bueno es que es un lenguaje eléctrico escalonado, ósea para prender una lámpara en un circuito electro, basta con alimentar los dos terminales de la lámpara, bueno en LADDER será lo mismo, tenemos dos líneas verticales (una a la izquierda y otra a la derecha) estas líneas simulan la línea de alimentación, podríamos decir que una es el positivo y la otra el negativo, la línea y el neutro, da igual. Ahora si queremos poner una lámpara tendremos que tirar un cable de una línea vertical a la lámpara y del otro terminal de la lámpara a la otra línea vertical, de esta forma quedara alimentada.

|--------------------------(LAMP)--------------------------|

Lo mismo sucede si ponemos un interruptor para encenderla, lo pondremos en serie a la lámpara como cualquier conexión.

|----| |-------------------(LAMP)--------------------------|
      NA
|----|/|-------------------(LAMP)--------------------------|
      NC

Y si queremos poner un temporizador de encendido? Lo pondremos en lugar del interruptor o en serie con este, de esa forma al accionar el interruptor se alimenta el timer y permite el encendido o apagado de la lámpara.

|----[TIMER]------------(LAMP)-----------------------------|
|----| |----------[TIMER]-------------(LAMP)---------------|
     NA             10s

Esto es muy sencillo, se pueden poner varios renglones, y varios componentes eléctricos como llaves, pulsadores, relés, temporizadores, contadores, igualadores matemáticos, etc.…
El programa que les propongo es el LDmicro, este es un IDE en LADDER que les permite programar tanto los microcontroladores de Microchip (PIC) como los de Atmel (AVR-Atmega). Es un programa gratis por lo que pueden bajarlo del sitio del creador sin ningún problema y pesa alrededor de 1MB.

Al agregar un pulsador o contacto NA, el LDmicro les pedira que le asignemos un nombre. Luego de terminado el programa en la parte de abajo del mismo hay una ventana blanca donde figuran todas las entradas, salidas, timers, etc.. que se utilizaron, ahi mismo haciendo doble click se puede asignar un pin del microcontrolador, por ejemplo a este ejemplo del pulsador y la lampara, se le puede asignar el RA0 del PIC a la entrada y el RB0 del PIC a la salida (lampara).

Tambien se lo puede simular en tiempo real para poder analizar su correcto funcionamiento.

Lo único que necesitan es un circuito con el micro que vallan a utilizar y un programador, por ejemplo si utilizan PIC pueden usar el programador JDM por puerto serial, o cualquier otro que deseen.

Ejemplo de un programa en C:
El programa lo que hace es testear tres botones los cuales el primero será una parada de emergencia que pondrá a ceros las salidas digitales, y el segundo y tercer botón son fines de carrera.
Lo que se simula con este programa es el movimiento de un motor que lleva y trae un carro de un punto a otro, cuando el carro llega a su limite se activa un fin de carrera invirtiendo dos salidas digitales de esta forma el motor cambia de sentido de giro y mueve el carro hacia el otro extremo donde se encuentra el otro fin de carrera que al activarse vuelve a invertir el sentido de giro del motor, esto se repite sucesivamente. A menos que se presione la parada de emergencia la cual pondrá a ceros la salida.

#include<p16f883.h>
#fuses XT,NOWDT,NOPROTECT,PUT,NOLVP,NOMCLR,INTRC
#use delay(int=4000000)
void main(){
   output_c(0b11111111);
   delay_ms(800);
   output_c(0b00000000);
   delay_ms(800);
   while(TRUE){
      if (input(PIN_B0)==0)
         output_c(0b00000000);
      else
         if (input(PIN_B1)==0)
            output_c(0b01000000);
         else
            if (input(PIN_B2)==0)
               output_c(0b10000000);
   }
}

El mismo programa realizado en LADDER con el LDmicro:

A continuacion dejo los links de descarga del programa en español y del tutorial en ingles.

Descarga la version en español aqui: http://cq.cx/dl/ldmicro-es.exe
Tutorial en ingles: http://cq.cx/ladder-tutorial.pl

El hardware necesario para poder llevar a cabo un proyecto depende del microcontrolador que deseen como Atmel o Picmicro y del proyecto a realizar.


Viewing all articles
Browse latest Browse all 3

Latest Images

Trending Articles



Latest Images