sábado, 15 de septiembre de 2012
Autómata didáctico con PIC
domingo, 18 de diciembre de 2011
Control de Temperatura con PIC - Modbus-RTU- 485 y Ascii Protokol
Una vez mas comienzo un nuevo proyecto ,un control de la temperatura de una caldera de Gasoil.
El proyecto se basa principal mente en el control autónomo con un PIC , en concreto el 16F877 , realizando un status de las sondas en el PC bajo en soft de SCADA. La comunicacion con el PC será Modbus, un protocolo muy conocido en la automatización para comunicar el hombre con la maquina.
El SCADA que utilizo es un programa gratuito y de muy buenas caracteristicas , visualizacion y programacion en objetos , practicamente no necesitas código ,es el Xscada - Xedit , un proyecto muy bueno. http://www.micset.net/
Descarga los ficheros del proyecto:
Fichero HEX para Pic16F877 - 20 Mhz ( Modo ModBus-RTU )
Fichero Fuente de Visualizacion Status sondas- XScada-ModbusV2
( Mejorada la comunicación , no necesita la EEPROM interna )
Se utiliza dos entradas Analógica del 16f877 , AN0 y AN1 , un Led de Estado y dos salidas digitales conectadas mediante el BC547 a dos Reles , en concreto el RB0 y el RB4. La velocidad de comunicación es 9600 Baudios, 8 bits de datos , sin paridad y un bit de Stop.
En cuanto al conversor utilizo el famoso MAX485 , donde habilito la trasmisión con una salida del PIC, RC5.
Los valores de las sondas conectadas al puerto analógico se escriben en direcciones de la EEPROM interna del PIC.
Estas direcciones o registros están situadas al principio de la memoria EEPROM. Se dispone de cuatro registros para cada una de las sondas. Temperatura Sonda, Set de temperatura ,Diferencial y Calibración de la sonda.Según el registro de Set , se dará un temperatura de disparo de los Reles teniendo en cuenta el diferencial programado.
Se pueden utilizar cualquier programa de Analisis de MODBUS , pero yo utilizo el XScada de MICSET
domingo, 20 de noviembre de 2011
Termometro MODBUS
Para la visualizacion de el Status utilizo un SCADA libre ,en concretoel Xedit (MICSET ).
Los componentes son sencillos y faciles de encontrar en la tienda de electronica habitual.
La placa principal esta montada en una perforada para prototipos.
Esta incorpora un PIC , 3 reles finder, tres transitores, y los mas importante , un conversor TTL -485 , el famoso MAX485.
viernes, 19 de agosto de 2011
lunes, 15 de agosto de 2011
domingo, 1 de mayo de 2011
Control de Nivel de Lastre con PIC (Seawolf)
El control de nivel de agua dentro del depósito de lastre se basa principalmente en una sonda realizada con dos hilos de cobre incrustada dentro del depósito colocada según el dibujo adjunto. Se conecta a una de las entradas analógicas de microcontrolador , uno de los hilos estará conectado a negativo y el otro hilo a la entrada correspondiente de una de las señales analógicas de entrada , Ejemplo . AN0.
Su funcionamiento a nivel de programación es muy simple, cuando no exista conductividad el valor analógico será > de 0 y si conduce porque el nivel de lastre a llegado a su limite será 0 , en este caso cambiaremos por seguridad la válvula de tres vías para que corte la entrada de agua y no se inunde el casco seco.
VIDEO PRUEBA SUBMARINO LASTRE
domingo, 17 de abril de 2011
Control de lastre con Bomba de Vacio - Submarino RC-Seawolf
Esta idea me surgió hace unas semanas , es peliagudo lo que voy a describir pero la lucidez aparece en momentos concretos de nuestra vida.
Ya en el hospital ingresado tras haber sufrido un infarto de miocardio agudo en una de las tres arterias , en concreto la descendente anterior , una de las dos palometas de 3 vías colocadas en las muñecas de las manos para extracción o introducción de líquidos (suero) , me aparece la idea de utilizarlo como válvula de tres vías junto con un servo para el control del submarino de entrada y salida del lastre.
Me compré un medidor de presión arterial de muñeca para poder controlarme mi presión arterial de vez en cuando , la curiosidad me llevó a desmontar el dispositivo para ver su funcionamiento.
Cual fue mi sorpresa que me encontré una bomba de vacío miniatura instalada , que me serviría perfectamente para realizar el llenado y vaciado del lastre de mi submarino.
Bomba de Vacío -KPM14A
Voltaje – DC3.0V
Consumo - <380mA
Tiempo de expulsión - <7.5 S (From 0 to 300 mmHg in a 100CC tank.)
Valvula de 3 vias
Existen muchos tipos de marcas y modelos , las que tenía instalada fueron unas SURUWAY.
360° Rotación
Para la presión de (85 psi)
Uno de los puntos mas importantes a la hora de construir un modelo de estas características es el control del lastre de un submarino de Radiocontrol.
Existen varios tipos de métodos para manipular el lastre un submarino RC , cada uno tiene sus diferencias y dificultades , esta funciona simplemente con una bomba de vacío de 3 Voltios , de las utilizadas en los medidores de presión arterial como he comentado y una llave de palometa de 3 vías utilizadas para el suero.
Las figura que expongo muestra perfectamente su funcionamiento y con un buen control de radio y sistema de seguridad podemos tener perfectamente controlado el llenado y el vaciado del lastre de nuestro modelo.
Funcionamiento :
El funcionamiento es muy simple y lógico ,partiendo de un recipiente estanco, en este caso de un tubo de PVC transparente para poder ver mejor el funcionamiento interno, más un depósito interno para el lastre.
Pasos previos antes de introducir el submarino en el Agua.
Como es una acción de vacío, tenemos que preparar el interior con de presión para después succionar el agua
Dejando nuestro modelo en flotabilidad positiva a nivel de flotación correcto y dejando la válvula de tres vías en posición 1-3, accionamos la bomba de vacío 10 segundos para extraer el aire contenido en el depósito de lastre y provocando un vacío en el tubo estanco que mas adelante veremos.
.
Una vez colocado el submarino en el agua, para el llenado del lastre giramos la válvula de tres vías en posición 2-3.( Bomba parada).
Ahora tenemos un vacío dentro del casco seco que utilizaremos para succionar el agua cuando nos interese para llenar el lastre de agua.
Milagrosamente veremos como el agua se introduce en el depósito de lastre por acción de vacío consiguiendo sumergir nuestro modelo por peso y volumen.
Hay que tener en cuenta que si sobrepasamos los límites de la altura del depósito de lastre, nuestra bomba no le pasará nada, pero inundaremos el casco seco.
Para lograr una detención de agua en la zona de vacío montaremos un detector de agua, donde pondrá en marcha la bomba para poder extraer el agua del lastre, por seguridad.
Esta claro que para sacar el agua del lastre simplemente pasaremos a posición inicial 1-3 , desalojando el agua del lastre y a la vez creando el vacío del principio dejando el submarino preparado para la siguiente inmersión.
Este dispositivo es efectivo ya que este tipo de válvulas al poder trabajar con posiciones intermedias tienes una regulación muy variable y ajustada ya que el control lo realizará un servo acoplado a la palometa de su eje de rotación
SERVO + VALVULA
DETALLE DE ACOPLAMIENTO
VIDEO - ACOPLE SERVO-VALVULA
VIDEO - FUNCIONAMIENTO LASTRE POR VACIO
martes, 9 de marzo de 2010
Comunicacion PIC via Radio 433 Mhz.
Paquina WEB :http://savages.da.ru/
Utilizo dos módulos de AUREL , un receptor RX-4M50FM60SF y un transmisor TX-4MAVPF10.
Estos conectados al PIC ,con los correspondientes MAX232 , mas un protocolo de comunicación , consigo controlar dos servos FUTABA y 3 Reles.
En la parte del receptor , lo armo de una pantalla LCD de 4x20 caracteres , dos potenciómetros de 1K , conectados al las dos patas de PIC AN0 AN1 , y tres pulsadores conectados a las patas RB0 a RB3 del PIC.
En la pantalla refleja las posiciones de timers y el estado de la salida de los reles.
En el receptor , a parte de conectar el PIC y el modulo AUREL , conecto dos salidas del PIC , tres RELES y un LED de estatus , de comunicación con el transmisor , verificando la perdida de comunicacion y activando el rele de bomba de agua de lastre.
El protocolo de comunicación utilizo una base de punto a punto , a velocidad 1200 baudios, 1 bit de stop . VIA RS232.
Utilizo 5 Bytes para transferir el telegrama el primer byte siempre es 066 (Decimal ) , el segundo byte es el valor del primer servo , el tercero es el segundo servo , el cuarto byte es el valor de las 3 salidas en decimal y el ultimo byte siempre es 065 (Decimal ).
El por que de estos valores al principio y al final , es de verificar que no entre interferencias que puedan equivocar los valores de control.
Protocolo de Comunicacion:
065........123........210........001.......066
065 > Byte Inicial
123 > Valor posicion del Servo Nº1
210 > Valor posicion del Servo Nº2
001 > Valor Binario de Activacion de Salidas Reles.