Guía para el uso y puesta en marcha del programador USBasp_SMD de MCU Tronics

Para los interesados en el programador que fabricamos en MCU Tronics, que es nuestra versión del popular USBasp, les dejo una pequeña guía con lo necesario para usarlo, incluye lo siguiente:

  • Documento en PDF explicado para su puesta en marcha con enlaces a los programas necesarios e imágenes para una mejor comprensión
  • Programa AVRDUDESS 2.4 para el uso con el programador
  • Driver para el programador
  • Carpeta con los bootloader de los arduino (Optiboot)

Esta ultima a petición de los usuarios para que puedan tener los archivos HEX y restablecer el bootloader de las versiones mas populares de Arduino, y relacionado con ello, les recuerdo que en el canal oficial de MCU Tronics encontraran el vídeo donde cargamos el bootloader de un Arduino UNO paso a paso.

Espero les sea de ayuda

Saludos

MCU Tronics

Enlace a kit de arranque programador USBasp_SMD para microcontroladores Atmel

Bootloader remoto, configuración de modulo WIFI

Hoy he publicado un vídeo (como he prometido) explicando a grandes rasgos como es que se configura el modulo WIFI que utilizo para el acceso remoto, cabe aclarar que la forma en que se configura este es igual a la que tendrías que realizar con el modulo que se conecta a través de cable ethernet, no varia mucho y el procedimiento es básicamente el mismo, así como la teoría de funcionamiento.

Les comparto la dirección del vídeo y espero les sea útil:

Bootloader Remoto Continuacion

Si tienes dudas comenta por este medio, deja tu comentario en el vídeo en youtube, facebook (busca el enlace al final de la publicacion), formulario de contacto, ó por correo a: jcortes@mcutronics.com.mx

No olvides visitar nuestra tienda oficial, en www.mcutronics.com.mx

Saludos

MCU-Tronics

Bootloader con acceso remoto, como lo hago???

Hace un tiempo vimos como montarnos un bootloader basado en el ds30Loader, hoy tratare de mostrarles como es que realizo algunos de mis proyectos con acceso remoto al bootloader, esto principalmente me sirve para:

  • Actualizar de manera no presencial el firmware de mi aplicacion

Ahora, hay algunos elementos que requerimos y son los siguientes:

  1. Bootloader ds30Loader montado y funcionando, puedes consultar la entrada donde explicamos como hacerlo
  2. Acceso a Internet, indispensable para la actualización remota que realzaremos
  3. Modulo convertidor TTL-Ethernet
  4. El software puente (lo explicare mas adelante) configurado

Ok, vamos a explicar las partes que no conocemos:

Para el acceso a nuestro dispositivo requerimos que este conectado a través de cable físico ethernet o por Wifi a una PC (o por medio de un router a la misma red que esa PC) que usaremos como maestro (aclarar que este es mi método, podría hacerse de otro modo pero es el que utilizo actualmente), esta PC normalmente el cliente la puede usar para otros fines, lo importante es que en ella instalaremos el software que se usa como puente entre nuestra tarjeta y la aplicación cargadora del bootloader ds30Loader.

Ahora, yo utilizo el siguiente modulo convertidor TTL-Ethernet:

Lo tienes a la venta en www.mcutronics.com.mx  , este modulo tiene todo lo necesario para llevar a cabo la interconexion entre el protocolo Ethernet y RS232 (TTL), funciona a 5V y a 3.3V, lo cual le da flexibilidad, y lleva sus lineas de TX y RX para conectar directamente a un microcontrolador.

Existe la versión WIFI, funciona excelente y se utilizan las mismas herramientas.

Ahora, junto con el modulo, encontraras el software para configurarlo, y crear el puente entre el ethernet y el RS232 (TTL), pero, que es eso de puente????, bueno, sencillo, en el modulo configuraremos una dirección IP, y el software creara un puerto COM en nuestra PC, a partir de ahí, todo lo que se reciba en la IP configurada sera direccionado al puerto COM que creamos, realizando la función de un PUENTE entre los dos protocolos, ahí esta la magia de esto, nada complicado, porque si bien se puede realizar programando las capas del protocolo en un microcontrolador o con otros chips, no veo porque complicar las cosas reinventando la rueda.

Este es el software ya instalado (se instala como cualquier software):

USR-VCOM

Se aprecia que yo tengo un dispositivo ya configurado, explico:

Cuando das clic en «Add COM» aparece una ventana donde configuras el COM «virtual» que deseas que el software cree para ti, así como la IP con la que debe enlazar y crear el puente:

VCOM-1

Para este caso, crea el COM2, la PC sera el «cliente» y buscara conectar con la IP 192.168.0.101, y el puerto 20108, que como ya supondrás, es lo que debes configurar en el modulo y hacerlo trabajar como «Server». Cabe aclarar que podrías colocar la PC como «Server» y el modulo Ethernet como «Cliente», así el modulo seria quien buscara enlazar con la PC, es opcional, he usado ambas opciones con los mismos resultados buenos.

Ahora, como configuras el modulo, sencillo, das clic en «Search», para buscar tu modulo que deberás tener conectado y alimentado (encendido), en la misma red que tu computadora:

VCOM-2

Para nuestro modelo, damos clic en USR-TCP232-T24, si tuvieras el WIFI seria el USR-WIFI232-X, al hacer clic nos aparece lo siguiente:

VCOM-3

Como se intuye en la imagen, seguimos los pasos:

  1. Buscamos dispositivos dentro de la misma red
  2. Seleccionamos
  3. Configuramos

Es muy sencillo configurarlo, es a través de nuestro navegador, por el momento no tengo una imagen de ello pero la subiré en cuanto la tenga, básicamente lo colocamos con la IP deseada, y el modo deseado (Server o Cliente), colocamos el puerto a usar, y guardamos configuración, queda listo para usarse.

Entonces, una ves echo esto, nos deberá aparecer la leyenda de «Connected» justo donde indico en la siguiente imagen:

VCOM-4

Ahí aparece «Conecting» dado que no encuentra el dispositivo indicado para enlazar y crear el puerto COM «virtual», en el momento que logre conectar cambia automáticamente la leyenda, y donde indica COM Received y Net Received, veras como se incrementan conforme llegan los datos.

Teniendo esta sección lista, prácticamente esta echo el trabajo, ahora en nuestra aplicación cargadora del bootloader ds30Loader, elegiremos el COM «Virtual» creado y listo!!!! todo lo que le enviemos o recibamos por ese COM, se comunicara a través de la red y a nuestro dispositivo conectado, con lo cual si le enviamos una actualización de FW a nuestra placa la aplicara sin problemas.

Voy a realizar un vídeo para reafirmar lo explicado aquí, para que quede completamente claro.

Espero les sirva, no olvides visitar nuestro Facebook, déjanos un comentario y un Like si te ha funcionado, y como siempre, te invitamos a nuestra tienda oficial: www.mcutronics.com.mx, donde encontraras artículos para tus proyectos de electrónica que podrían interesarte.

Hasta la próxima, saludos

MCU-Tronics

 

 

Libreria para Eagle, Relevador Songle

Hace unos día, llegaron nuevos relevadores a la tienda, específicamente el modelo SRA-12VCD-CL de la marca Songle, estos relevadores son para manejar 20Amp de carga, lo cual es útil para los diseños de potencia que realicemos, así que, el detalle fue que al buscarlo en las librerías de componentes de Eagle Cadsoft, no logre encontrarlo por ningún lado.

Relevador_SRA_12VCD

Lo que toca en estos casos es diseñar el componente en Eagle, realmente suena mas difícil de lo que es, es bastante sencillo, y básicamente consta de 3 pasos:

  1. Diseñamos el simbolo
  2. Diseñamos el empaquetado
  3. Unimos los dos en un solo dispositivo o «Device»

Si están interesados en que se detalle aun mas el tema podemos crear una entrada con el ejemplo de algún componente para que quede mas ilustrado, solo déjenme en los comentarios su petición.

Cabe aclarar que existen infinidad de tutoriales en la red de como crear un componente que no existe en Eagle, por ello esto sera mas si están interesados.

Para mi caso entonces, les dejare el enlace de descarga de la librería que he creado para el relevador antes mencionado, espero les sirva.

Saludos y no se olviden visitar la tienda en estos meses de Enero y Febrero, tenemos el 20% de descuento en sus compras, con el cupón, mcutronics_descuento, sigue los pasos que se describen en la entrada de este blog, dando clic AQUI.

Descarga Libreria Relevador SRA-12VCD-CL

MCU Tronics

Por fin!!!!! Programador USBasp_SMD completado!!!!!!

Después de muchoooooo tiempo de haber comenzado este proyecto, en el cual actualizamos el famoso programador USBasp realizado con componentes de orificio pasante, convirtiéndolo en un compacto programador con componentes SMD (montaje superficial), hoy puedo decir con mucha satisfacción que por fin!!!!!!!!!! lo he terminado!!!!! y estoy muy satisfecho con como a quedado.

Primero que nada decir que, la razón por la cual no se había concluido es la falta de los diodos zener de 3.6V, los cuales adquirí 3 veces!!!! y el increíble servicio de correos de México perdió en 2 ocasiones!!!!, la tercera fue la vencida y llegaron por fin.

IMG_20171101_224452

IMG_20171101_224658

IMG_20171101_224940

Contando con dicho componente ahora si (3.3mm….madre mía que me quedare mas ciego de lo que ya estoy jaja), lo terminamos, este fue el resultado, espero les agrade.

Esta es la posición en la placa donde deberán ir los diodos zener:

1101_1

Colocamos soldadura en pasta, y los diodos zener en su posición, cuidado con la orientación de los mismos, recordar que al ser un Zener y por el propósito que se le da en este programador, deberá ir polarizado inversamente:

1101-4

Y…..soldamos:

1101-6

y a quedaoooo toooo guapooooo a que siiii…..pero………. o sorpresa, cuando he conectado el programador no me lo ha detectado, y me ha marcado dispositivo desconocido…..así que, después de un rato, analizando pista a pista encontré el fallo justo en la linea de alimentación de 5V, aquí:

1101-7

Un corte en la pista de alimentación, ocasionaba que en lugar de tener 5V, diera 1.6V, eso pasa cuando al realizar el diseño y atacar la placa (con cloruro férrico o Ácido Muriático + Agua Oxigenada) una sección del diseño ha quedado descubierta comiéndosela el ácido.

En fin, lo reparamos así:

1101-9

Y listoooooo, ahora si, cuando conectamos, ya nos detecta correctamente el programador y aparece (o debe aparecer) esto en el administrador de dispositivos:

USBasp_Detectado

Adicionalmente se observa un led indicador de color azul encendido, cosa que anteriormente no sucedía.

IMG_20171101_234708

Para corroborar su funcionamiento, he cableado un ATtiny2313 a un protoboard, y he conectado a el las lineas de programación:

IMG_20171102_001014

Después usando AVRDudess 2.4, he detectado, y leído los fuses del microcontrolador sin ningún problema, con lo que se concluye con éxito el proyecto:

AVRdudess

Programar cualquier microcontrolador soportado no sera problema.

Al final he aplicado una capa de laca transparente a la placa finalizada para evitar que se corroa demasiado el cobre, obviamente cubriendo el área de los conectores de ISP, USB y el dipSwitch selector.

Recordarles también que este mismo diseño se ha enviado fabricar con terminación profesional y esta disponible en nuestra tienda en linea MCU Tronics Shop , en breve agregaremos nuestros nuevos diodos Zener disponibles, 3.3V, 3.6V, 3.9V y 5.1V para su venta en linea.

IMG_20170716_230400

Espero que les sirva la información, cualquier duda pueden contactarme por este medio o por email a la dirección: jcortes@mcutronics.com.mx o en nuestro Facebook búscanos como MCU Tronics

Hasta la proxima

JCCA/MCU Tronics

CNC para fabricar PCBs

Hace un tiempo ya, fabrique un CNC casero para la fabricación de mis PCBs, estaba fabricado en MDF, era un modelo muy popular que ronda por Internet, me quedo mas o menos así:

IMG_20170411_141546IMG_20170411_164618IMG_20170411_200228IMG_20170412_153822IMG_20170412_190039IMG_20170412_190155IMG_20170412_202826IMG_20170412_205420

CNCIMG_20170414_205139IMG_20170424_192359

Dentro de lo que cabe funcionaba, aunque no del todo bien, tenia problemas de nivelación, no lograba pistas finas ni del acabado que esperaba, podía realizar algunos diseños pero ninguno muy complejo, lo cual me llevo a concluir las siguientes claves que tal ves a alguien mas le sirvan como guía:

  1. Si no sabes cortar MDF…..NO LO HAGAS, pídele a alguien que si sabe cortar madera bien lo haga por ti, yo, las corte con las patas y obviamente quedaron chuecas muchas piezas y a pesar de que las lleve nivelar después, no quedaron bien
  2. La nivelación de la cama de fresado es primordial, si no consigues una nivelación optima tu fresa entrara mas en algunas secciones de tu diseño y si tienes pistas muy juntas las arruinara
  3. No necesitas necesariamente un dremel como el mio, preguntando a gente que conoce del fresado de PCB, recomiendan una herramienta rotatoria con un máximo de 1000 revoluciones X min, con eso basta y sobra, un spindle viene bien, los consigues en China fácilmente
  4. Si tienes la oportunidad de comprar en China, te lo recomiendo mucho, te saldrá muchísimo mas barato, motores, rodamientos, ejes acerados, husillos, coples flexibles, etc etc etc
  5. Si compras de esas camisas para tuercas de latón impresas en 3D, cuida que no sean demasiado anchas, para este diseño, si son demasiado anchas tendrás problemas en el eje Z, comprobado, por MI

De tal suerte que, después de mil horas tratando de hacerlo funcionar correctamente, decidí desarmarlo y rehacerlo como debería ser, pero esta ves cuidando mas los detalles y sin prisas, pero sobre todo, quisiera que fuese un diseño propio, que si bien puedo basarme en otras maquinas en algunas cosas, tratare de que sea un diseño mas o menos original, el punto aquí es que funcione

Ya tengo todo el material que se requiere:

  • Motores a pasos NEMA 17
  • Husillos de 8mm por vuelta
  • Ejes acerados o lisos de 8mm de circunferencia
  • Coples flexibles de 8mm de un extremo y 5mm por el otro, muy útiles
  • Rodamientos para ejes de 8mm
  • Arduino UNO genérico
  • Shield CNC para Arduino UNO
  • Drivers para los motores a pasos
  • Tornilleria y poco mas

Entonces, por donde empezar???, bueno, comenzaremos por el eje Y, es el que tengo un poco mas claro, así que, ayudándome de la impresora 3D que tengo, fabricare primero que nada el soporte o case para el motor del eje Y, ya que con el partiremos a sacar medidas de los demás soportes, sera el punto de partida

En la anterior maquina, el motor del eje Y, solo se sostenía con 3 tornillos, dejando uno sin poderse acoplar, no es que le hiciera falta pero….si tiene para 4 tornillos pues por algo sera no???, así que, buscando en Thingiverse encontré el siguiente modelo libre para el motor:

CNC_Eje_Y_3

CNC_Eje_Y_2

CNC_Eje_Y_1

Me parece adecuado porque tiene buen soporte en la base, soportes laterales, y su estructura en general es firme, el diseño es libre así que puedo usarlo sin problema

Así que, lo comencé a imprimir, una ves lo tenga, montare el motor, echare medidas para el soporte donde se montara el rodamiento, y donde se colocara la cama de fresado la cual pienso usar una que permita el ajuste de los sujetadores, para que al cambiar de tamaño de PCB no exista un mal agarre de la misma

Por ahora es el inicio de este proyecto, espero pronto poder mostrarles mas avances y al final, poder fabricar ahí nuestras PCBs, que sobra decir que un PCB trae consigo algunas ventajas como:

  • Menor tiempo de trabajo
  • Opción a perforar automáticamente
  • Cero químicos

Que con el echo de que me ahorre tiempo ya es motivo suficiente para fabricarlo.

Nos veremos en la próxima entrega del proyecto CNC-Tronics.

Saludos

JCCA / MCU Tronics

#7, Tutorial CCS para PICs, Sensor DHT22

Hoy, compartiré el como usar un sensor de temperatura y humedad bastante popular, el DHT22, este sensor tiene una resolucion de 0.1 tanto para temperatura (en grados ºC) como para Humedad (relativa), pudiendo medir hasta aproximadamente 80ºC y el 100% de humedad relativa.

Opera entre el rango de voltaje de 3.3V hasta 5.5V y utiliza un unico pin para el envio de datos, lo que simplifica en muchos casos el diseño de una PCB con este sensor. Solo requiere una unica resistencia de pull up, tipicamente de 1K Ohm, quedando su diagrama electrico de la siguiente manera:

conexion DHT22

Se puede agregar un capacitor entre VDD y GND de 100nF como filtro, esto segun su hoja de datos, yo personalmente no lo he agregado para las pruebas realizadas en protoboard y va muy bien.

Como microcontrolador he utilizado mi entrenadora, con el PIC 16F1825, utilizando como pin de datos el C0 (pin numero 10), quedando de la siguiente manera:

IMG_20171016_183222

La alimentacion la tomare de la misma entrenadora, y esta a su ves la tomara del USB de mi computadora, siendo suficiente para alimentar sin problemas el sensor DHT22, segun su hoja de datos, consume como maximo 1.5mA y en StandBy 50uA

El como obtener los datos del sensor es relativamente sencillo, y basicamente se resume en los siguientes pasos:

  1. HOST que sera nuestra entrenadora, enviara una señal de inicio (START), esto se logra enviando a GND la linea de datos
  2. El HOST libera la linea de datos, regresando a VDD, y esperamos la respuesta del sensor
  3. El sensor responde enviando a GND nuevamente la linea de datos (80us) y seguido de esto, la libera dejandola en VDD (80us) y se dispondra a preparar y enviar la cadena de datos que contiene la lectura de temperatura y humedad correspondiente, que en total es una cadena de 40 bits
  4. Una ves que el sensor termina de enviar los 40 bits (16 bits para la humedad, 16 bits para la temperatura y 8 de checksum), envía la linea de datos a GND y finalmente la libera quedando en VDD

Ahora, ese es el proceso general con el cual se lee el sensor, hay algunas consideraciones a tomar en cuenta como por ejemplo:

  • La señal de START deberá durar al menos de 1 a 10ms para asegurar que el DHT22 detecte la señal de START
  • Después de esta señal el HOST (la entrenadora) deberá esperar de 20us a 40us por la respuesta del DHT22
  • Cuando el sensor comienza a enviar los datos, cada bit, inicia con un estado bajo o GND de al menos 50us, después de ello, la linea de datos va a VDD, y la duración en VDD determina si es un «1» o un «0»
  • Cuando es «0» la señal dura en VDD de 26us a 28us aproximadamente
  • Cuando es «1» la señal dura en VDD aproximadamente 70us
  • Si por alguna razón siempre se quedara en VDD indicaría que existe un problema en alguna conexión o en el sensor mismo
  • Todo el proceso de lectura y envió de datos dura aproximadamente 2 segundos

Colocare los diagramas que representan lo anterior explicado, extraido del datasheet:

Diagrama General

diagrama_general

Diagrama de START y respuesta del sensor DHT22

diagrama_start_dht22

Diagrama de determinacion «0» ó «1» logico

determinacion_cero_uno_dht22

Una ves que sabemos como funciona, se puede desarrollar el código correspondiente, en mi caso, he creado una librería independiente para el DHT22, de esa forma cada ves que lo usare, solo agrego un «#include» en mi código con la ubicación de mi archivo, o también puedes pegarla en el directorio principal de los includes en el CCS, yo la pongo en el mismo directorio y simplemente agrego la siguiente linea:

#include"dht22.h"

El archivo lo dejare para que lo descarguen, y el código principal para nuestro PIC, en mi caso para mi entrenadora es el siguiente:

#include<16f1825.h>
#fuses HS,MCLR,NOWDT,PLL_SW,PUT
#use delay(clock=16Mhz)

#include"dht22.h" //Libreria del sensor DHT22

//Configuracion para el puerto serie
#use rs232(baud=115200,UART1,bits=8,parity=N,stop=1,ERRORS)

char c,recep=0;

#INT_RDA
void recepcion(void)
{
  c=getc();
  recep=1;
}

void main()
{
   enable_interrupts(INT_RDA);
   enable_interrupts(GLOBAL);
 
   dht_init(); //Inicializamos el sensor
 
   while(true)
   {
      if(recep==1)
      {
         if(c=='$')
         {
            reset_cpu();
         }
      } 
       leer_dht22(dhthum,dthtemp); //Leemos el sensor
       printf("Temperatura: %f, Humedad: %f\r",dthtemp,dhthum); //Imprimimos
       delay_ms(1000); //Esperamos 1 segundo entre lectura
   }
}

Recordemos que:

  • Estamos usando un bootloader en la entrenadora, el ds30Loader, por ello la directiva para el puerto serie es necesaria, tanto para el bootloader como para enviar los datos leidos del sensor a la PC
  • Utilizamos interrupciones para la detección del carácter de RESET que es «$» (signo de pesos) esto para poder entrar en modo bootloader y cargar el programa desde la PC sin resetear manualmente
  • Debemos inicializar el sensor antes de usarlo, siempre, con dht_init( )
  • La lectura del sensor se realiza con la función leer_dht22(dhthum,dthtemp)
  • Siempre que desees usar el sensor, no olvides agregar la libreria dht22.h y si la colocas en el mismo directorio, no olvides colocar las dobles comillas
  • Existen muchas librerías para manejar el sensor, esta es una recopilación de algunas partes de código que se encuentra en internet, y lo he reunido en un solo archivo para facilitar el uso del mismo, espero sirva a mas personas

Algunas fotografías de su funcionamiento:

IMG_20171016_190812

IMG_20171016_190325

IMG_20171016_191020

Los archivos correspondientes los puedes encontrar y descargar en la Zona de Descargas de MCU Tronics y también puedes adquirir el sensor DHT22 utilizado en el tutorial.

Espero sea de utilidad este tutorial.

Saludos

JCCA/MCU Tronics

 

 

 

 

 

 

Diseño, Código y Simulación Cerradura Electrónica con PIC

Hoy tengo el gusto de publicarles un proyecto que amablemente nos ha proporcionado el compañero Abel Becerra Rodriguez, y que al igual que él, yo también espero sea de utilidad para quienes lo requieran.

El proyecto consiste en una cerradura electrónica, utiliza un PIC16F88, y a través de un teclado matricial el usuario ingresa una contraseña de acceso de 4 dígitos (inicialmente es 5279), dicha contraseña se almacena en la memoria EEPROM, permitiendo cambiarla de ser necesario y que permanezca si existe un corte de energía.

Para iniciar la lectura de la contraseña, se debe presionar el símbolo de » * » (sin las comillas),se introduce la contraseña y si es correcta, se envía un pulso a las salidas A2 y A3, activando el relevador y un indicador.

En caso de ser incorrecta, se activa la salida A1 encendiendo un indicador y se repite el proceso.

Si se desea cambiar la contraseña se presiona la tecla » # » por un lapso de 7 segundos, hasta que se activan los 3 leds indicadores, una ves que parpadean, se introduce la contraseña anterior, y después de ello, la contraseña nueva, quedando almacenada.

Existe un vídeo donde pueden revisar su funcionamiento mas a detalle, les dejo el enlace aqui: https://www.youtube.com/watch?v=JSN2nR3s-No&t=16s

En los archivos que nos ha enviado Abel, encontraras el diseño en CadSoft Eagle, el código (Firmware) para el PIC16F88, y la simulación en ISIS Proteus.

Los dejo en el siguiente enlace para su descarga: Diseño,Codigo y Simulacion

Nuevamente el agradecimiento por compartir y la invitación a quienes deseen hacerlo, aquí podrán encontrar un espacio para ello.

Saludos.

JCCA

No olvides visitar nuestra tienda oficial, o dejar un comentario en nuestras redes sociales

Detector de Presencia Ultrasonico

Diseñamos un detector de presencia sencillo, ideal para colocarse en casos donde sea necesario saber solamente si un objeto o persona se encuentra delante de nosotros, o de algún aparato.

Por ejemplo, en algún expendidor de tickets, alguna maquina de vending, alguna lampara nocturna automática entre otras muchas aplicaciones.

El diseño inicial es básico

  • Dimensiones de 2.0 cm X 3.8 cm
  • Orificios de montaje de 1.5mm aproximadamente
  • Relay de 500mA como medio de salida
  • Tornillera para el cableado externo,
  • Voltaje de operación 5VCD
  • Se puede usar con el sensor HC-SR04 ó HY-SRF05

Si deseas mas información del mismo o adquirirlo, puedes consultarnos por este medio, facebook, o en la tienda online. www.mcutronics.com.mx

Te dejo unas imágenes del diseño versión 1.0

MCU-Tronics

#6, Tutorial CCS para PICs, Usemos un Relevador

Conectar un relevador en conjunto con un PIC es relativamente sencillo, solo debemos recordar algunas cosas que son importantes:

  • En primer lugar, no olvidar JAMAS conectar el relevador directamente al pin de salida que queremos usar

La razón es muy simple, normalmente los pines de los PICs pueden proporcionar unos 20mA de corriente, lo que, para energizar la bobina de nuestro relevador no es suficiente, y terminaríamos dañando el pin del PIC, o en el peor de los casos el PIC.

Entonces, necesitamos un elemento que maneje la corriente extra que el pin del PIC no puede manejar, por lo que lo mas comun, facil, y mas usado es un transistor. Yo normalmente uso el 2N2222, con el funciona perfecto.

Tambien necesitamos un diodo, para ponerlo en antiparalelo con la bobina del relevador.

El esquema de conexion seria el siguiente:

esquema_relevador

Tambien agregamos un led, indicador, con su respectiva resistencia limitadora, de este modo, cada ves que enviemos un 1 logico (5 volts) por la salida «OUT4», el transistor cerrara el circuito de activacion de la bobina, manejando la corriente que pueda exigir la bobina del relevador, y no forzando nuestro pin del PIC.

El relevador se cerrara, el led indicador se encendera y podremos controlar cargas de CD y CA segun nos permitan las caracteristicas del relevador.

Cuando enviemos un 0 logico (0 volts) por nuestra salida «OUT4» el transistor se abrira, cortando la corriente que circula por la bobina del relevador, y el diodo en antiparalelo atrapara la corriente generada por la bobina del relevador evitando que retorne hacia nuestro circuito.

El codigo de ejemplo sencillo seria el siguiente, tomando en cuenta que ya has echo lo codigos anteriores del tutorial, te mostrare solo la parte que va en el main():

main()
{
     while(true)
     {
          if(input_state(PIN_A1)==1)
          {
              output_high(OUT4);
          }
          else
          {
              output_low(OUT4);
          }
      }
}

De este modo, cuando en la entrada A1, se tenga un 1 lógico (5 volts), se activara la salida «OUT4», en caso contrario (que fuese un 0 lógico, 0 volts), se desactivara la salida, y por tanto, el relevador.

No olvides cambiar el pin tanto de entrada como de salida según lo tengas en tu circuito, el código solo es de ejemplo y solo es la parte del main( ).

Lo mas importante aquí, es saber como conectar el relevador y como usarlo.

Espero te sirva, no dudes en dejar tus comentarios o preguntas

Jcca