lunes, 15 de agosto de 2016

Lt3301(Proface) comunicación Modbus con puerto serie Pc:

Introducción: 

     Esta vez veremos la manera de implementar una comunicación Modbus serie entre una Lt3301 y un Pc. La pantalla Plc es una Lt3301 de Proface que ya hemos usado antes. La aplicación que correrá en la Pc está realizada en Excel vba, en este entorno se implementó Modbus.


El Conexionado:


          En la figura siguiente se muestra el conexionado que se debe realizar para interconectar los dos dispositivos. Hay que tener la precaución de marcar los extremos del cable para no equivocarse en la conexión. Ya que el conexionado en cada Db9 no es el mismo, si bien son dos conectores hembras iguales.

Figura 1: Pinout del cable.

La aplicación Excel Vba:


            Nuevamente se desarrolló una aplicación Excel vba (visual basic for applications) para el Pc. En la figura siguiente se puede apreciar la aplicación, esta es muy simple de operar. 


Figura 2: Aplicación Excel Vba.
          
        A partir de la celda C5, las direcciones de memoria leídas desde el Plc se van actualizando una a continuación de la otra hasta la celda C22. O sea lee 18 variables en total de una vez. Esta operación se realiza si se presiona el botón "Leer". Las direcciones del Plc leídas son las ubicadas en el rango de celdas A5 a A22. 
       Si se presiona el botón "Escribir", en la dirección de Plc indicada por la celda I8 se escribe el valor contenido en la celda I9. Al código vba puede accederse yendo a la solapa "desarrollador" , una vez abierta la aplicación en excel.








                                                                                  Figura 3: Proyecto en Marcha.


La aplicación en la LT3301:

        La aplicación de la pantalla Plc es muy simple y ejemplifica bien la comunicación. En ella, si la abren no verán código alguno. La pantalla es esclavo en la red Modbus, y la Pc es maestro por eso es la que gestiona la comunicación. Si presionan sobre cualquiera de los 18 casilleros con la leyenda "Leer desde Pc" , podrán ingresar un número de 0 al 100 que será luego leído por el Pc.  

Figura 4: Aplicación Pantalla Plc.

         En la figura siguiente, pueden ver la pantalla que se despliega al hacer doble click sobre el primer casillero (en GpProEx, entorno de programación de la Lt3301). En ella se observa la dirección de Plc ([Plc1]%MW00003) en que se está guardando el dato introducido.

Figura 5: Entorno GP-ProEx.

         Esta dirección obviamente coincide con la celda A5 de la aplicación Excel (dirección: 3), O sea Excel leerá la dirección 3 y ahí estará el dato que yo introduje previamente. Lo mismo para los demás casilleros vistos en la pantalla Plc. Estos irán desde la dirección 3 hasta la 20 y estas además se corresponderán con las de las celdas en Excel.



Figura 6: GP-ProEx, configuración de la comunicación.
        La configuración de la pantalla Plc respecto de la comunicación puede verse en la figura 5. Se seleccionó un protocolo Modbus de Schneider esclavo, como se mencionó antes. Hay que decir, que esta pantalla de Proface tiene gran cantidad de protocolos de comunicación disponibles. Entre ellos varios de Siemens, lo que da la posibilidad de utilizarla en reemplazo de alguna pantalla Siemens obsoleta en caso de emergencia. Modbus está utilizado en este caso sobre puerto serie en Rs232, de esta manera no es necesario utilizar ningún adaptador, simplemente un cable. En link debajo se puede acceder a los archivos del proyecto, saludos.


https://www.dropbox.com/sh/sv4276jugtokizm/AACIrohBkcO-Hv04r37nj2nua?dl=0








domingo, 24 de enero de 2016

Grafico de Temperatura en Vba via puerto serie:

Introducción: 

       En esta entrada trataré de explicar como llevar a cabo una comunicación serie Rs232 en Excel Vba. Primeramente tratemos de explicar que es Vba: es el lenguaje de macros de Microsoft Visual Basic que se utiliza para programar aplicaciones Windows y que se incluye en varias aplicaciones Microsoft. VBA permite a usuarios y programadores ampliar la funcionalidad de programas de la suite Microsoft Office. Visual Basic para Aplicaciones(Vba) es un subconjunto casi completo de Visual Basic 5.0 y 6.0.
      Microsoft VBA viene integrado en aplicaciones de Microsoft Office, como Word, Excel, Access y Powerpoint. Prácticamente cualquier cosa que se pueda programar en Visual Basic 5.0 o 6.0 se puede hacer también dentro de un documento de Office, con la sola limitación que el producto final no se puede compilar separadamente del documento, hoja o base de datos en que fue creado; es decir, se convierte en una macro (o más bien súper macro). Esta macro puede instalarse o distribuirse con sólo copiar el documento, presentación o base de datos. Su utilidad principal es automatizar tareas cotidianas, así como crear aplicaciones y servicios de bases de datos para el escritorio.
  
Figura 1: Lm35.
  Volviendo al proyecto, no nos centraremos mucho en el hardware ya que es bastante simple y es más de lo mismo de lo que se ve en la web. Solo mencionaré que el sensor usado es un LM35, este posee una salida de tensión lineal de 10mv /ºC. Viene en distintos encapsulados aunque el más conocido es el to92. Existen dos maneras de usarlo, la configuración básica y en rango completo.
     Otra manera de conectarlo para obtener el rango completo del sensor, además de la mostrada en la figura 1 es la mostrada en la siguiente figura (la 2). Esta forma de conexión será la utilizada en este proyecto, ya que tiene la ventaja de no utilizar una tensión negativa.

Figura 2: Conexionado para obtener el rango completo.
      En la figura 3 vemos el esquemático completo del graficador de temperatura. El pin 2 del microcontrolador un MC9S08SH8 esta dedicado para la programación en circuíto. Los pines 18 y 17 los utiliza el bus I2C, si bien no los usaremos aquí lo dejaremos disponible.


Figura 3: Esquemático Termómetro.

























  Continuara.....

El programa en vba:




sábado, 26 de septiembre de 2015

Configuración de un Indicador de Proceso:

Introducción:

      Asociar un indicador de proceso a un Variador de Frecuencia, es una tarea sencilla y común en la vida de planta. Aún así me han consultado por esto, así que será tema de esta entrada. El indicador de proceso utilizado en esta ocación es el conocido K3MAJ de Omron, y será asociado a otro equipo muy conocido (variador de frecuencia) ATV312 de Schneider. En la figura 1 se ve una imagen del indicador, posee una pantalla led alta visibilidad configurable en dos colores verde o rojo. Viene en formato 96 x 48 mm, con una entrada analógica configurable de tensión o corriente. Además posee dos salidas digitales comparativas a relé.
Figura 1: Indicador de Proceso K3MAJ.

       En la figura 2 podemos ver las borneras del K3MAJ junto con el conexionado del mismo. La alimentación depende del modelo escogido pudiendo ser de 220Vca o 24Vcc o Vca, la entrada analógica que usaremos será la de corriente en su configuración 4 a 20mA.


                                                        Figura 2: Bornera y conexionado del K3MAJ.

      La configuración del indicador es verdaderamente sencilla, se trata de setear dos puntos de una recta de trabajo. Las dos coordenadas del eje x serían los valores de corriente en este caso 4mA para CNP1 y 20mA para CNP2. Las cordenadas y serían 0 para DSP1 y 50 para DSP2. En este caso se quiere mostrar una variación de frecuencia de 0 a 50Hz por eso se eligió ese valor para DSP2.

Figura 3: Recta de trabajo del indicador de proceso.
      Para poder acceder al menú de configuración se debe presionar el botón Level por más de 3 segundos (ver figura 4). Una vez entrado al menú de programación, el primer parámetro que vemos es Cn-t. Este parámetro nos permite configurar el tipo de entrada analógica que usaremos. En este caso 4-20 (4 a 20mA).

Figura 4: Frontal del indicador donde se aprecian las teclas.
      Luego si seguimos avanzando en el menú, irán apareciendo los parámetros indicados en el párrafo anterior (ver figura 5). Para salir del menú de programación y volver a la "medición" debe presionarse el botón "level" nuevamente por 3 segundos.

Figura 5: Menú de Programación del K3MAJ.

Configuración:

      En cuanto al variador de frecuencia como mencioné será un ATV312 y el parámetro que visualizaremos en el indicador será la frecuencia del motor. La configuración del variador de frecuencia es la siguiente:

Figura 6: Configuración ATV312 (salida analógica y escalado de la misma).


      La configuración del indicador de proceso sería así:

Figura 7: Configuración K3MAJ.

      En el display del Vf. la frecuencia de salida se indica con un decimal, para lograr eso en el indicador de procesos en caso que se requiera, deberá configurarse dSP.2 = 500, y dP = 0.0.
      El conexionado se puede ver en la figura 8. Cualquier duda comenten!. Sds.

Figura 8: Conexionado del indicador de proceso con el vf.

domingo, 3 de mayo de 2015

Buck Converter (Convertidor Step Down):

Introducción:

Buenas, en esta entrada veremos como diseñar y construir un convertidor buck (step down) simple. Haremos uso de un microcontrolador Freescale Qt4 para generar el pwm. No haremos realimentación de la tensión de salida, o sea será a lazo abierto. Se verá como calcularlo y utilizar un programa de simulación para confirmar esos cálculos.

Figura 1: Esquemático buck converter.
Se trata de una fuente switching que convierte 12v de entrada a 7.5v con una corriente máxima de 450mA. Será usada en el proyecto de iluminación de emergencia de la entrada anterior. Me regalaron una luz de emergencia con el cargador roto, en lugar de tratar de reparalo se me ocurrió modificarla para utilizarla con el panel solar. Pero bue.. eso es cosa de otra entrada volvamos al tema.

Los requerimientos son entonces:

Vout = 7.5v.
Iout máx = 450mA.
Vin = 12v.
f  = 50kHz.
Ripple = 10%.
Rout = 17 Ohm.

Los Cálculos:



La Simulación:

Se simuló la solución con Multisim v11.0 y los resultados son bastante cercanos a lo necesario. Está disponible para descarga el archivo de Multisim.

                Figura 2: Simulación del buck converter.

Construcción del inductor:

Para su construcción usaremos un núcleo toroidal recuperado. En un núcleo la permeabilidad magnética es mayor que la del aire, entonces menos vueltas de alambre generan mayor inductancia. Se pueden usar diferentes materiales para la construcción, la diferencia entre estos es la frecuencia a que pueden estar sometidos y la permeabilidad magnética propia. La permeabilidad magnética es sencillamente la habilidad del material de concentrar las líneas de flujo magnético. El aire tiene una permeabilidad relativa de ur = 1, la misma que el vacío. Los inductores que tengan una permeabilidad cercana a uno (núcleo de aire), son de bajas pérdidas. Principalmente tienen pérdidas por conducción del alambre (resistencia del cobre). Pero como se mencionó antes los valores de inductancia alcanzados son bajos. Lo que limita su uso en el rango de las hf y vhf. Para frecuencias más bajas se utilizan núcleos con una permeabilidad relativa de cientos o miles. Valores de Hy o mHy son posibles, pero con el inconveniente de mayores  pérdidas. Reduciendo el factor de calidad del inductor (factor Q).
El material va reduciendo su permeabilidad a medida que se aumenta el campo magnético, saturación del núcleo. Efectos como el de histéresis, corrientes de eddy e inductancias de fuga también contribuyen a las pérdidas.
Los núcleos toroidales tienen un código de colores para conocer el material de que están hechos y su diámetro externo para poder ser identificados. Por ejemplo en un núcleo T50, 50 sería el díametro externo del toroide en décimas de pulgada. Para obtener el valor en mm se lo multiplica por 0.254, T50 x 0.254 = 12.7 mm


                                                                               Figura 3: Núcleo Toroidal.


Para el inductor del proyecto utilizaremos un núcleo T50, de 13 mm de díametro externo, 8mm de díametro interno y 5mm de espesor. Su color amarillo y blanco indica que es adecuado para el rango de frecuencias que van desde los 0 a 1Mhz.
 Utilizaremos el software para diseño de inductores "mini Ring Core calculator". 

 
                                                                                 Figura 4: Captura de pantalla de Mini ring core calculator.

En la solapa "Iron Powder Toroidal Core" seleccionaremos el tamaño de núcleo T50, y el material 26 (amarillo - blanco). Podemos ver el rango de frecuencia mencionado, el diámetro exterior 12.7mm, el interior 7.7mm y el espesor 4.83mm. El valor de la inductancia lo introducimos en el cuadro verde, 79 uHy. El resultado 49 vueltas, con un alambre de diámetro máximo 0.46mm.
Existen consideraciones a tener en cuenta al bobinar un núcleo toroidal. La bobina debe abarcar toda la circunsferencia del núcleo de otra manera el valor de inductancia aumenta. 



                           Figura 5: Iluminación de emergencia con el buck converter.

Sobre la selección de los componentes:

 Los semiconductores más importantes del convertidor son el Mosfet y el diodo. En el caso del diodo las características que este debe tener son:
  •  Baja caída de tensión en conducción.
  • Corriente media adecuada a la carga que alimenta.
  • Bajo tiempo de recuperación inversa.
El Mosfet debe:
  • Tener una frecuencia de conmutación adecuada para poder responder al pwm.
  • La tensión inversa de ruptura no es relevante debido a la baja tensión del proyecto.
  • Corriente media adecuada a la carga. 
No es la idea de esta entrada ahondar en el aspecto teórico del diseño de un convertidor buck, esto será tema de una próxima entrada.

Construcción del buck converter:

En la figura 6 aparece el pcb del convertidor con la disposición de los componentes. Como siempre en el link del final dejo todo disponible para el que quiera construirlo. Cualquier comentario o sugerencia es bien recibida.


                                                              Figura 6: Pcb del buck converter.


Descarga



sábado, 25 de abril de 2015

Freescale Freedom Platform:

Introducción:

Les presento la nueva adquisición, una placa de desarrollo FRDM-KLZ05. La entiendo como la contrapropuesta de Freescale a Arduino. El lenguaje de programación es muy simple, se trata de C/C++. Es tan accesible que no es necesario tener muchos conocimientos de electrónica para hacer un proyecto interesante. 
Lo primero que se debería hacer es registrarse en mbed.org, este sitio agrupa muchos desarrolladores de distintas plataformas. Con lo cual se tiene acceso a librerias muy interesantes. Además de esta manera no es necesario instalar ningún software para poder programarla. 

Figura 1: Experimentando con la FRDM.
Descripción de la placa:

La tarjeta de desarrollo de Freescale Freedom Board, es una plataforma de evaluacion y desarrollo de bajo costo la cual cuenta con uno de los más nuevos Microcontroladores ARM Cortex M0+. Fue desarrollada por Freescale en colaboración con mbed para desarrollar todo tipo de dispositivos, sobre todos aquellos donde el tamaño y el costo sean un factor importante.
La placa incluye un acelerómetro MMA8451Q, un led RGB, un slider capacitivo y lo más importante un programador flash usb.

  Figura 2 : FRDM - KL05Z.

 Características Principales:

  • ARM® Cortex™-M0+ Core
  • 48MHz, 4KB RAM, 32KB FLASH
  • SPI (1)
  • I2C (1)
  • UART (1)
  • PWM (8)
  • ADC (6)
  • DAC (1x 12bit)
  • Touch Slider
  • GPIO (28)


Programación:
 


Figura 3: mbed.org.


Una vez registrados y loggeados en mbed, podremos acceder al compilador (figura 3, clickeando en el botón "Compiler"). En la figura 4 vemos el entorno de programación, obviaremos la creación de un nuevo proyecto ya que es un proceso muy intuitivo. Una vez realizado el programa, presionando "compile" aparecerá una ventana (figura 5). Terminada la compilación, nos abrirá otra ventana donde nos preguntará "windows" que hacer con el archivo. Haremos que guarde el archivo con extención bin, en la placa FRDM conectada al puerto USB.

Figura 4: Entorno de programación.

sábado, 11 de abril de 2015

Energía Solar:

Este proyecto nació con la intención de utilizar este tipo de energía. En esta primera etapa tiene dos propósitos. El primero y más importante alimentar el sistema de iluminación de emergencia de la casa. El segundo propósito es ser una estación de carga para todos los dispositivos portátiles (celulares, tablets, etc.).
La Energía solar es convertida en corriente eléctrica mediante un panel solar, en la siguiente imagen pueden verse las características eléctricas del mismo.

     Figura 1: Características eléctricas del panel solar.

 Una breve introducción sobre su funcionamiento:

Los paneles fotovoltaicos: están formados por numerosas celdas que convierten la luz en electricidad. Estas celdas dependen del efecto fotovoltaico por el que la energía lumínica produce cargas positiva y negativa en dos semiconductores próximos de diferente tipo, produciendo así un campo eléctrico capaz de generar una corriente. Los materiales para celdas solares suelen ser silicio cristalino o arseniuro de galio. Los cristales de arseniuro de galio se fabrican especialmente para uso fotovoltaico, mientras que los cristales de silicio están disponibles en lingotes normalizados, más baratos, producidos principalmente para el consumo de la industria microelectrónica. El silicio policristalino tiene una menor eficacia de conversión, pero también menor coste. Los lingotes cristalinos se cortan en discos finos como una oblea, pulidos para eliminar posibles daños causados por el corte. Se introducen dopantes (impurezas añadidas para modificar las propiedades conductoras) en las obleas, y se depositan conductores metálicos en cada superficie: una fina rejilla en el lado donde da la luz solar y usualmente una hoja plana en el otro. Los paneles solares se construyen con estas celdas agrupadas en forma apropiada. Para protegerlos de daños, causados por radiación o por el manejo de éstos, en la superficie frontal se los cubre con una cubierta de vidrio y se pegan sobre un sustrato. Se hacen conexiones eléctricas en serie-paralelo para fijar el voltaje total de salida. El pegamento y el sustrato deben ser conductores térmicos, ya que las celdas se calientan al absorber la energía infrarroja que no se convierte en electricidad. Debido a que el calentamiento de las celdas reduce la eficacia de operación es deseable minimizarlo.

 Especificaciones eléctricas más importantes de un panel solar:

  Corriente de cortocircuito (Isc). Es la intensidad máxima de la comente que se puede obtener de un panel bajo unas determinadas condiciones (generalmente normalizadas, Correspondería a la medida, mediante un amperímetro (de resistencia prácticamente núla). de la corriente entre bornes del panel, sin ninguna otra resistencia adicional, esto es, provocando un cortocircuito.
Voltaje a circuito abierto (Voc). Es el voltaje máximo que se podría medir con un voltímetro sin permitir que pase corriente alguna entre los bornes de un panel, es decir, en condiciones de circuito abierto (resistencia entre bornes infinita).
 Potencia máxima (PM).Decimos que un panel trabaja en condiciones de potencia máxima cuando la resistencia de! circuito externo es tal que determina unos valores de iM y VM tales que su producto sea máximo. Normalmente un panel no trabaja en condiciones de potencia máxima, ya que la resistencia exterior está fijada por las características propias del circuito. La potencia del panel empleado para la aplicación es de 10W. Se obtiene:

Potencia máxima = Max. Power Voltage * Max. Power Current =
                          = Vmp * Imp =  17.6V * 0.57A = 10w.

  Figura 2: Prueba a circuíto abierto del panel.

domingo, 8 de junio de 2014

Voltímetro 0 a 25v

Este es un proyecto muy simple, no se pretende de el gran exactitud. Surgió de la necesidad, de construir una fuente de alimentación de tensión variable para el  taller de la empresa donde trabajo. Y además dotarla de un instrumento para visualizar el voltaje de salida. Se trata entonces de un voltímetro con una resolución de 100mv, y un rango de 0 a 25v.
 El microcontrolador elegido es un viejo 68hc908JK1de la firma Freescale, la resolución de su conversor AD es de solo 8 bits. Lo que no es mucho, pero bastará para la aplicación.


Figura 1: Esquemático.

Figura 2: PCB Displays.
En la figura 1 se muestra el diagrama esquemático del proyecto. El circuíto de entrada está conformado por un amplificador operacional como atenuador de alta impedancia de entrada. Su función es convertir la tensión de entrada variable de 0 - 25v a 0 - 5v. . Está alimentado a través de un zener de 12v para lograr la excursión deseada. Ya que si lo alimentaramos con 5v, lo cual seria lógico pensar, nunca se lograría una salida de 5v cuando la tensión de entrada sea de 25v. Esto es debido a caídas de tensión internas en el amplificador.

Figura 3: PCB Voltímetro.
Las placas de circuito impreso fueron realizados con el programa Eagle 6.1. La primera donde se montan los displays (figura 2) es de doble faz. La segunda (figura 3), solo tiene una cara (en rojo pueden verse los puentes). Ambas fueron realizadas mediante el método de transferencia térmica (impreso en laser sobre papel de revista, luego transferido con una plancha, existe abundante información del método en la web).

Figura 4: Fotos de los PCBs realizados.
Figura 5: Pcbs parcialmente montados.
Los archivos del proyecto: programa del microcontrolador, diseño pcb, esquemático, lista  de comonentes, etc pueden descargarse siguiendo el enlace sobre el final del artículo.
Saludos.
Figura 6: Primeras pruebas.

Descarga