viernes, 19 de agosto de 2016

Ingenieria electronica

Desarrollo de proyectos electrónicos de aplicacion industrial y comercial.

Circuitos electrónicos en la medida de sus necesidades
Diseñamos y fabricamos circuitos electrónicos para control industrial de procesos. 

imagen de muestra tomada de la web.
Circuitos impresos en fibra o bakelita con antisolder


Adquisición de datos de sensores.

Sensores PIR (presencia humana):

El PIR (Passive Infra-Red) es un dispositivo sensor piroeléctrico que detecta el movimiento mediante la medición de cambios en los niveles infrarrojos emitida por los objetos circundantes. La detección de movimiento en este sensor genera un cambio de nivel en el pin de salida.


Sensor de temperatura: Termocupla tipo K hasta 1000°C

Una termocupla es un sensor de temperatura que se construye a través de la unión de dos metales diferentes, generalmente soldados, al aplicar temperatura en esta unión se genera un voltaje muy pequeño del orden de mili-voltios, este efecto es denominado efecto seebeck el cual aumenta a medida que aumenta la temperatura de la unión. 

Sensores de gases y calidad de ambiente.

Sensor de detección de gas natural, sencillo de usar, con una alta sensibilidad y rápida respuesta en tiempo, caracterizándose por sus dimensiones tan prácticas. Normalmente usados para la detección de concentraciones de gas natural de 300ppm a 10000ppm. 

Sensores de presion de gases:
Sensor de presión piezoelectrico en silicio el cual da una salida diferencial la cual es proporcional a la presión aplicada.

Sensor de flujo de agua
Este sensor esta fabricado en plástico de alto impacto. Utiliza un sensor de efecto hall para hacer la detección y medición del flujo de agua.

Sensor de humedad de suelo.
El sensor incluye una cubierta protectora impermeable que le permite al sensor capturar la humedad del aire, y de esta manera medir la humedad del suelo o la temperatura.

Desarrollos realizados:

  • -Interfaz grafica windows 32/64 bits
  • -Comunicación RS232, RS485, I2C, USB (HID, Bulk, SDC)*
  • -Actulizacion de firmware mediante USB, Serie, HID.
  • -Software que controla actualizacion y comunicacion.
  • -Bootloaders Serie y USB Firmware y Software.
  • -Grabacion y lectura de datos en memorias SD y MicroSD
  • -Comunicación serial asincrona y/o sincrona*-Control por infrarrojos*
  • -Control por RF*
  • -Programación de Memorias EEprom Seriales y Paralelas.*
  • -Tomar datos de Sensores de Temperatura y otros...*
  • -Manejo de LCD estandar y Graficos LCD, GLC, TFT*
  • -Manejo de Teclados de PC*
  • -Manejo de Teclados Matriciales*
  • -Control de Motores paso a paso*
  • -Desarrollo de aplicaciones comerciales: inversores, protectores, estabilisadores...*

 Electrónica industrial y control automático.

  • Circuitos electrónicos para el control industrial.
  • Sistemas de control de potencia.
  • Control de tiempos, arrancadores, retardadores.
  • Temporizador.
  • Control de potencia en AC-DC, sistemas automáticos de control.
  • Contadores de piezas, banda transportadora, ascensor. 
  • Señalización de trafico, Iluminacion LED de alta eficiencia.
  • Sistema de control de turnos.
  • Anunciador Digital.
  • Control e indicación de temperatura en todo tipo de ambientes.
  • Reloj de tiempo real con leds.
  • Sistemas de indicación y alarma de velocidad alta o baja.
  • Sistemas de turnos
  • Llamados de enfermería.
  • Certificacion Sanitaria NIMF15
  • Tableros electrónicos en acrilico

>>Mas informacion <<

mail: electronicosembebidos@gmail.com 


Barranquilla/Colombia.


lunes, 14 de marzo de 2016

En este video presentamos como muestrear la señal de AC con un detector de cruce por cero y la interface con el microcontrolador PIC18F4550 con el objetivo de controlar el angulo de disparo de un TRIAC modificando el valor promedio de una carga resistiva.



Vídeo cortesía del ingeniero Carlos Hernandez


Dimmer con triac desarrollado en torno a un PIC12F675.

Características: Al estar basado en un microcontrolador es mucho mas suave en la variacion de luz, ademas que puede usar botones para aumentar o disminuir el brillo del bombillo, y se le puede programar un valor de arranque para un uso mas natural.
La principal característica de este circuito es que no necesariamente usa una fuente de alimentación ya que se alimenta de los mismos 110-220 VAC y por lo tanto no usa transformador.


Este es un control capas de controlar las dos faces de un triac, podemos ver como
recorta las ondas en ambos sentidos en el oscilograma.


Desarrollamos proyectos electrónicos.




Diseñamos circuitos electrónicos en la medida de sus necesidades

¿Necesitas ayuda para tu proyecto electronico? 

buscame, tal ves pueda colaborarte.
mail: electronicosembebidos@gmail.com 
Blog: http://electronicosembebidos.blogspot.com.co/


sábado, 12 de marzo de 2016

Tarjeta usada en el desarrollo de este curso


La arquitectura ARM se diseñó para permitir implementaciones de tamaño muy reducido y de alto rendimiento. Estas arquitecturas tan simples permiten dispositivos con muy bajo consumo de energía. Se caracteriza fundamentalmente por ser una computadora de set de instrucciones reducido (Reduced Instruction Set Computer, RISC), como lo indica su propio nombre.

El concepto RISC se originó en los programas de investigación de procesadores de las universidades de Stanford y Berkeley, alrededor de 1980. El único ejemplo de arquitectura RISC fue el de Berkeley, RISC I y II, y Stanford, MIPS (Microprocessor without Interlocking Pipeline Stages).



El primer procesador ARM fue desarrollado, entre 1983 y 1985, por Acorn Computers Limited of Cambridge, England. Fue el primer microprocesador RISC para uso comercial. Las posteriores arquitecturas RISCs tuvieron diferencias significativas con este primer diseño. Acorn tuvo una posición fuerte en el mercado de las computadoras personales del Reino Unido debido al suceso de la microcomputadora BBC (British Broadcasting Corporation). El micro BBC fue una máquina potenciada por un microprocesador de 8 bits, el 6502.

En 1990, ARM Limited se estableció como una compañía separada específicamente dedicada a la explotación de la tecnología ARM. El criterio de la empresa fue otorgar la licencia de esta tecnología a varios fabricantes de semiconductores en todo el mundo. Comenzó a establecerse como líder del mercado para aplicaciones embebidas de bajo consumo y costo.

El siguiente curso es cortesía del ingeniero  Carlos Hernandez:




Desarrollamos proyectos electrónicos.




Diseñamos circuitos electrónicos en la medida de sus necesidades

¿Necesitas ayuda para tu proyecto electronico? 

buscame, tal ves pueda colaborarte.
mail: electronicosembebidos@gmail.com 
Blog: http://electronicosembebidos.blogspot.com.co/


jueves, 10 de marzo de 2016

LoRa propone comunicaciones RF de largo alcance.


Estos módulos RF tienen un alcance de 15Km y trabajan en modo punto a punto o bien a través de un Gateway para subir la información a la nube. Soportan frecuencias de 433 MHz y 868 MHz. Además incorporan el protocolo LoRaWAN™ que le permiten reducir significativamente el tiempo al mercado. Entre las aplicaciones más comunes podemos encontar: agricultura, ciudades inteligentes, redes de sensores, M2M, Smart Home y Smart City.
Microchip cuenta con los módulos RN2483 que cumplen con las especificaciones de LoRa. La placa Smart LoRa, incluye los nuevos módulos de Microchip, batería, sensor de temperatura y antenas para trabajar a distintas frecuencias.



En esta ilustración se ve de que forma es posible utilizar la tecnología LoRa para controlar el alumbrado público, cámaras de seguridad y semáforos en grandes ciudades.
Los módulos reportar a un Gateway que a su vez se conecta a internet para subir la información a un servidor remoto. Un operario puede controlar todo el sistema a distancia por medio de una interfaz de usuario.


Fuentes:
https://www.lora-alliance.org/
tecnologia-loratm


Desarrollamos proyectos electrónicos.




Diseñamos circuitos electrónicos en la medida de sus necesidades

¿Necesitas ayuda para tu proyecto electronico? 

buscame, tal ves pueda colaborarte.
mail: electronicosembebidos@gmail.com 
Blog: http://electronicosembebidos.blogspot.com.co/


martes, 1 de marzo de 2016

Contador muy facil de montar que solo utiliza un display cuadruple de siete setmentos y un pequeño microcontrolador PIC16F628A.


 El display que voy a utilizar en este artículo, es el de un display multiplexado, es decir, que sus segmentos están conectados internamente de tal manera que al exterior sólo aparecen (normalmente) los correspondientes a los siete segmentos, más el común de cada uno de los dígitos que lo componen, en el caso de cuatro dígitos, muestra los siete pines de los siete segmentos, más cuatro correspondientes a cada uno de los cuatro dígitos. Este en especial es el que yo utilice:
Display siete segmentos multiplexado de 4 digitos

El pic16f628a es un microcontrolador de 8 bit, posee una arquitectura RISC avanzada así como un juego reducido de 35 instrucciones. Este microcontrolador es el remplazo del obsoleto pic16f84a, los pines del pic16f628a son compatibles con el pic16f84a, así se podrían actualizar proyectos que hemos utilizado con el pic16f84a.

En la siguiente figura se muestra el diagrama de pines.


Características del PIC16F628A:

CPU De alto rendimiento RISC: 
• velocidades de operación de DC - 20 MHz 
• Capacidad de interrupción 
• pila de 8 niveles
• Modos de direccionamiento directos, indirectos y relativo 
• 35 simples instrucciones de palabra: 
- Todas las instrucciones de ciclo único, excepto las de salto 


Características Especial microcontrolador: 
• opciones de oscilador externo e interno: 
- Precisión de fábrica del oscilador interno de 4 MHz calibrada a ± 1% 
- oscilador de 48 kHz De bajo consumo interno 
• Modo de ahorro de energía en modo sueño 
• resistencias programable pul-ups del PORTB 
• Multiplexado del pin reset / Entrada-pin 
• Temporizador Watchdog con oscilador independiente para un funcionamiento fiable
• Baja tensión de programación ™ In-Circuit Serial (a través de dos pines) 
• Protección de código programable 
• Brown-out reset 
• Power-on Reset 
• Power-up Timer y el oscilador de puesta en marcha del temporizador 
• Amplio rango de funcionamiento de tensión (2.0-5.5V) 
• Industrial y amplia gama de temperaturas extendidas
• Alta durabilidad de la memoria  Flash /EEPROM: 
- 100.000 ciclos de escritura Flash 
- 1.000.000  ciclos de escritura EEPROM 
- 40 años de retención de datos 
De baja potencia Características: 
• Corriente en espera: 
- 100 nA@2.0V, típico 
• Corriente de funcionamiento: 
- 12μA @ 32 kHz, 2,0 V, típica 
- 120μA @ 1 MHz, 2,0 V, típica 
• Temporizador Watchdog actual: 
- 1μA@2.0V, típico 
• Timer1 oscilador actual: 
- 1.2μA @ 32 kHz, 2,0 V, típica 
• Doble velocidad del oscilador interno: 
- Tiempo de ejecución seleccionable entre 4 MHz y de  48 kHz 
- 4μs despertar de un sueño, 3.0V, típico 


En la siguiente figura se muestran los microcontroladores que componen esta serie



TIPOS DE MEMORIA DEL PIC16F628A

Memoria flash: esta memoria es de tipo no volátil  en esta  memoria  ira nuestro programa que realicemos.

 El pic16f628a tiene una capacidad de 2048 words seto se podría traducir a 2048 líneas de código que podemos escribir  en lenguaje assembler para este microcontrolador.

Memoria RAM: esta memoria sirve para guardar datos y variables, esta memoria es de tipo volátil, es decir perderá la información cuando desaparezca la alimentación.

La memoria ram que posee el microcontrolador pic16f628a es de 224 bytes

Memoria eeprom: en una memoria de tipo no volátil de poca capacidad sirve para guardar datos, aun cuando deje de recibir alimentación la información no se perderá.

La memoria eeprom  que posee el pic16f628a es de 128 bytes.

Tipos de osciladores

El PIC16F627A/628A/648A puede ser operado en ocho diferentes modos de oscilador. RC, Oscilador con resistencia y condensador (2 modos)
XT, Cristal de cuarzo.
HS, Cristal de alta velocidad
LP, Cristal de baja frecuencia y bajo consumo de potencia.
 INTOSC, oscilador interno de precisión de 4mhz (2 modos)
EC, señal externa de entrada de reloj
En la siguiente figura el diagrama de bloques del oscilador

Circuito del proyecto.


Como se puede ver este contador es muy sencillo y ocupa poco espacio, ud puede diseñar el circuito impreso, o modificarlo para que haga otra funcion deseada, si ud desea hacer una mejora pero no esta en capacidad de realizarlo pongase en contacto con nosotros para ayudarlo.


A continuacion el codigo fuente para el microcontrolador:
#include 
const char display[16]={   
                              0b11000000,
                              0b11111001,
                              0b00100010,
                              0b00110000,
                              0b00011001,
                              0b00010100,
                              0b00000100,
                              0b11110001,
                              0b00000000,
                              0b00010000,
                              0b00000001,
                              0b00001100,
                              0b11000110,
                              0b00101000,
                              0b00000110,
                              0b00000111};
   unsigned adl=50, ads;
//*****************************************************************************
void saca(char *dtxt){
unsigned short j;
   for(j=0;j<50;j++){
   portb=0xff;
   porta.b0=0;
   porta.b1=0;
   porta.b2=0;
   porta.b3=1;
   portb=display[dtxt[1]&0x0f];
   delay_us(100);


   portb=0xff;
   porta.b0=0;
   porta.b1=0;
   porta.b2=1;
   porta.b3=0;
   portb=display[dtxt[2]&0x0f];
   delay_us(100);

   portb=0xff;
   porta.b0=0;
   porta.b1=1;
   porta.b2=0;
   porta.b3=0;
   portb=display[dtxt[3]&0x0f];
   delay_us(100);

   portb=0xff;
   porta.b0=1;
   porta.b1=0;
   porta.b2=0;
   porta.b3=0;
   portb=display[dtxt[4]&0x0f];
   delay_us(100);
   }

}
//***********************************************************
   void main(){
unsigned tmr1=0;
char txt[6];
unsigned short j;

   CMCON=7;
   portb=0xff;
   porta=0;
   trisb=0b01000000;
   trisa=0b11110000;
   wordtostr(tmr1,txt);
   //T1CON=0b00000111;
   //TMR1H=0;
   //TMR1L=0;
while(1){
    while(portb.b6==1){for(j=0;j<4;j++){saca(txt);}}
    tmr1++; wordtostr(tmr1,txt);
    while(portb.b6==0){for(j=0;j<4;j++){saca(txt);}}
     }



       }

Desarrollamos proyectos electrónicos.

Diseñamos circuitos electrónicos en la medida de sus necesidades

>>Mas informacion <<

mail: electronicosembebidos@gmail.com 


Necesitas ayuda para tu proyecto electronico? 

lunes, 29 de febrero de 2016

Diagrama de conexión del PIC18F2550 con el LCD y el LM35



El LM35 es un sensor de temperatura con una precisión calibrada de 1 ºC. Su rango de medición abarca desde -55 °C hasta 150 °C. La salida es lineal y cada grado Celsius equivale a 10 mV, por lo tanto:

150 ºC = 1500 mV
-55 ºC = -550 mV1

El LM35 no requiere de circuitos adicionales para calibrarlo externamente. La baja impedancia de salida, su salida lineal y su precisa calibración hace posible que este integrado sea instalado fácilmente en un circuito de control. Debido a su baja corriente de alimentación se produce un efecto de auto calentamiento muy reducido. Se encuentra en diferentes tipos de encapsulado, el más común es el TO-92, utilizada por transistores de baja potencia.




A continuacion este es el codigo del proyecto:

sbit LCD_RS at RB2_bit;
sbit LCD_RS at RB2_bit;
sbit LCD_EN at RB3_bit;
sbit LCD_D4 at RB4_bit;
sbit LCD_D5 at RB5_bit;
sbit LCD_D6 at RB6_bit;
sbit LCD_D7 at RB7_bit;

sbit LCD_RS_Direction at TRISB2_bit;
sbit LCD_EN_Direction at TRISB3_bit;
sbit LCD_D4_Direction at TRISB4_bit;
sbit LCD_D5_Direction at TRISB5_bit;
sbit LCD_D6_Direction at TRISB6_bit;
sbit LCD_D7_Direction at TRISB7_bit;

unsigned adj(unsigned val){
unsigned res;
    if((val>=0)&&(val<11)){res=val;}
    if((val>=11) && (val<72)){res=val-1;}
    if((val>=72)&&(val<134)){res=val-2;}
    if((val>=134)&&(val<174)){res=val-3;}
    if((val>=174)&&(val<250)){res=val-4;}
    res=res/2;
    return res;
}

void main() {
unsigned tmp,temp;
char txt[6];
  CMCON  |= 7;
  Adc_init();
  Lcd_Init();
  Lcd_Cmd(_LCD_CLEAR);
  Lcd_Cmd(_LCD_CURSOR_OFF);
  Lcd_Out(1,1,"SENSOR LM35");
  Lcd_Out(2,1,"LEER TEMPERATURA");
  delay_ms(1000);
  Lcd_Cmd(_LCD_CLEAR);
  Lcd_Out(1,1,"  TEMPERATURA");
  while(1){
  tmp=Adc_Read(0);
  temp=adj(tmp);
  wordtostr(temp,txt);
  lcd_out(2,1,txt);
  Lcd_Chr_cp(223);
  Lcd_Chr_cp('C');
  delay_ms(300);
  }

}
Cargando el codigo MIKROC en la placa POWER2550 usando el bootloader.
Con este codigo vamos a cargar nuestra placa, para ello vamos a usar el programa mikrobootloader
lo ejecutamos, presionamos el boton de reset de nuestra placa y esperamos que el icono USB que aparece en el programa se ponga rojo.


Mientras esta asi no debemos perder el tiempo por que se puede desconectar, entonces rapidamente hacemos click en connect.



una vez conectado hacemos click en browse para cargar nuestro archivo .hex seleccionamos donde tenemos nuestra carpeta y seleccionamos el archivo.

Ahora le damos click en Begin uploading y el programa sera enviado a nuestro micro asi sin mas.


El proseso se termina y el micro se reinicia.




Desarrollamos proyectos electrónicos.

Diseñamos circuitos electrónicos en la medida de sus necesidades

>>Mas informacion <<

mail: electronicosembebidos@gmail.com 

Necesitas ayuda para tu proyecto electronico? 
buscame, tal ves pueda colaborarte.
Blog: http://electronicosembebidos.blogspot.com.co/
mail: electronicosembebidos@gmail.com
Mi grupo de facebook: https://www.facebook.com/groups/electronicteamgroup/?ref=bookmarks

sábado, 27 de febrero de 2016

Asi quedaría la conexión y el funcionamiento del PIC18F2550 con el LCD.


En este post vamos a trabajar con la tarjeta POWER2550 y un Display LCD 2x16.

¿Que es un LCD?


El LCD(Liquid Crystal Dysplay) o pantalla de cristal líquido es un dispositivo empleado para la visualización de contenidos o información de una forma gráfica, mediante caracteres, símbolos o pequeños dibujos dependiendo del modelo. Está gobernado por un microcontrolador el cual dirige todo su funcionamiento.
En este caso vamos a emplear un LCD de 16x2, esto quiere decir que dispone de 2 filas de 16 caracteres cada una. Los píxeles de cada símbolo o carácter, varían en función de cada modelo.

¿Como es su conexionado?

En la siguiente imagen de Proteus se puede observar la estructura de sus pines.
Lo  podemos dividir en los Pines de alimentación, pines de control y los pines del bus de datos bidireccional. Por lo general podemos encontrar ademas en su estructura los pines de Anodo de led backlight y cátodo de led backlight.


Pines de alimentación:

Vss: Gnd
Vdd: +5 voltios
Vee: corresponde al pin de contraste, lo podemos simplicar conectando una resistencia de 2.2k a VDD, dependiendo del modelo del LCD esta puede variar, entre mas baja sea mas fuerte sera el contraste.

    Pines de control:

    RS: Corresponde al pin de selección de registro de control de datos (0) o registro de datos(1). Es decir el pin RS funciona paralelamente a los pines del bus de datos. Cuando RS es 0 el dato presente en el bus pertenece a un registro de control/instrucción. y cuando RS es 1 el dato presente en el bus de datos pertenece a un registro de datos o un carácter.
    RW: Corresponde al pin de Escritura(0) o de Lectura(1). Nos permite escribir un dato en la pantalla o leer un dato desde la pantalla.
    E: Corresponde al pin Enable o de habilitación. Si E(0) esto quiere decir que el LCD no esta activado para recibir datos, pero si E(1) se encuentra activo y podemos escribir o leer desde el LCD.

      Pines de Bus de datos:
      El Bus de datos bidireccional comprende desde los pines D0 a D7. Para realizar la comunicación con el LCD podemos hacerlo utilizando los 8 bits del bus de datos(D0 a D7) o  empleando los 4 bits mas significativos del bus de datos(D4 a D7). En este caso vamos a explicar la comunicación con el bus de 4 bits.

      ¿DDRAM y CGROM?

      Son las dos zonas de memoria del LCD.
      La memoria DDRAM(Data Display Ram): corresponde a una zona de memoria donde se almacenan los caracteres que se van a representar en pantalla. Es decir es la memoria donde se almacenan los caracteres a mostrar con su correspondiente posición.

      La memoria CGROM es una memoria interna donde se almacena una tabla con los caracteres que podemos visualizar en el lcd. En la imagen podemos ver un ejemplo de la tabla con un contenido de 192 caracteres.


      Cargando el codigo MIKROC en la placa POWER2550 usando el bootloader.

      Codigo:
      
      
      sbit LCD_RS at RB2_bit;
      sbit LCD_EN at RB3_bit;
      sbit LCD_D4 at RB4_bit;
      sbit LCD_D5 at RB5_bit;
      sbit LCD_D6 at RB6_bit;
      sbit LCD_D7 at RB7_bit;
      
      sbit LCD_RS_Direction at TRISB2_bit;
      sbit LCD_EN_Direction at TRISB3_bit;
      sbit LCD_D4_Direction at TRISB4_bit;
      sbit LCD_D5_Direction at TRISB5_bit;
      sbit LCD_D6_Direction at TRISB6_bit;
      sbit LCD_D7_Direction at TRISB7_bit;
      
      
      void main() {
        ADCON1 |= 0x0F;    // Configure all ports with analog function as digital
        CMCON  |= 7;                            // Disable comparators
        Lcd_Init();                        // Initialize LCD
        Lcd_Cmd(_LCD_CLEAR);               // Clear display
        Lcd_Cmd(_LCD_CURSOR_OFF);          // Cursor off
        Lcd_Out(1,1,"TARJETA 1");
        Lcd_Out(2,1,"POWER 2550");
        
        while(1);
      
      }

      Tarjeta Power 2550:



      Con este codigo vamos a cargar nuestra placa, para ello vamos a usar el programa mikrobootloader
      lo ejecutamos, presionamos el boton de reset de nuestra placa y esperamos que el icono USB que aparece en el programa se ponga rojo.


      Mientras esta asi no debemos perder el tiempo por que se puede desconectar, entonces rapidamente hacemos click en connect.


      Una vez conectado hacemos click en browse para cargar nuestro archivo .hex seleccionamos donde tenemos nuestra carpeta y seleccionamos el archivo.

      Ahora le damos click en Begin uploading y el programa sera enviado a nuestro micro asi sin mas.


      El proseso se termina y el micro se reinicia.


      El montaje funciona correctamente.



      Desarrollamos proyectos electrónicos.

      Diseñamos circuitos electrónicos en la medida de sus necesidades

      >>Mas informacion <<

      mail: electronicosembebidos@gmail.com 

      Necesitas ayuda para tu proyecto electronico? 
      buscame, tal ves pueda colaborarte.
      Blog: http://electronicosembebidos.blogspot.com.co/
      mail: electronicosembebidos@gmail.com
      Mi grupo de facebook: https://www.facebook.com/groups/electronicteamgroup/?ref=bookmarks