Icono del sitio ELECTROALL

PLC LOGO con ARDUINO (demo)

YouTube
YouTube
Instagram
Instagram
GitHub
GitHub

 Este es un PLC logo de siemens y este es nuestro logo con arduino que hemos hecho. Uno de los saltos que hemos dado con respecto a las anteriores versiones fue el de diseñar una carcasa y que se pueda a adaptar aun diel din. Y bueno para llegar a tener un plc en este tamaño tuvimos que hacer tres tarjetas pcbs, en la tarjeta de la parte inferior se encuentran las entradas digitales, las salidas a Relays y la fuente de alimentación luego en el segundo nivel se encuentra la parte de control, los interfaces de comunicación, y la salida pwm. Finalmente en la última capa se encuentra los leds señalizadores, evidentemente todas estas capas están interconectado por conectores header.

ESPECIFICACIONES TÉCNICAS
  1. Tensión de alimentación……………………….…………24VDC
  2. Corriente de alimentación………………….……………190mA
  3. Entadas digitales 15-24VDC……………………….……6
  4. Entradas analógicas (voltaje) 0-10V…………..…….2
  5. Salida PWM (0-10VDC)……………………………………2
  6. Salidas RLY…………………………………………………………6
      • Tensión AC…………..……….………………….….……250V
      • Corriente AC…………………………………………….5A
      • Tensión DC………………………………………………30V
      • Corriente DC……………………………………………5A
  7. Puerto de comunicación serial……………………………1
  8. Comunicación ISP……………………………………..……….1
  9. Comunicación RS485..……………….…….………………..1 (en desarrollo)
  10. Reloj de tiempo real………………………………………..Sí (en desarrollo)
  11. Programación Directa………………………………………..Ordenador – PLC V5
  12. Entorno de programación………………………..………..Arduino IDE (LDmicro)
  13. Condiciones ambientales min……………………….….-40°
  14. Condiciones ambientales max…………………..……….85°
  15. Dimensiones……………………………………………………….74x63mm
  16.  Empotrable………………………………….……………………Sí
ESQUEMÁTICOS ELECTRÓNICO
1 CAPA DE ENTRADAS DIGITALES Y SALIDAS A RELAYS

Bien, inicialmente veremos el esquemático electrónico de cada capa. Empecemos viendo la primera capa, aquí se encuentran las 6 entradas digitales de 24V y cada entrada tiene su protección a través de optoacopladores y luego un  inversor  de señal que a su vez nos sirve de filtrar voltajes no deseados.

Luego tenemos dos entradas analógicas de 0-10V, para aislar estas entradas hemos usador el famoso amplificador operacional lm358, luego hemos usado este arreglo de resistencias para obtener un rango de voltaje entre 0 y 5V que es lo acepta el microcontrolador y para proteger de un exceso de voltaje se ha usado un diodo zener de 5.1V, con este nos aseguramos de que no ingrese un voltaje superior a 5.1V.

Por otro lado tenemos la parte de las salidas a relay, estos relays  son muy pequeños de un solo contacto normalmente abierto,  de tal manera esto nos permite reducir el tamaño del diseño pcb, y bueno cada uno de estos están controlados por un transistor de tipo NPN.

Y finalmente tenemos la parte de la fuente de alimentación. Cuyo suministro general es de 24V, luego tenemos un regulador step down de 12V, este voltaje nos servirá para las entradas analógicas de 10V y para las salidas de PWM, Luego tenemos un regulador step down de 5V para alimentar la parte de control. Bien, ahora en cuanto al diseño pcb, tenemos que procurar de que sea lo más pequeño posible, y este tiene una medida de 70*85mm.

2 CAPA CONTROL, RTC, COMUNICACIONES Y PMW 

Bien, ahora veamos la segunda capa, básicamente en esta parte estará la parte de control, gobernado por el microcontrolador atmega328p,  y tambien estarán los drivers de las entradas y las salidas, luego tendremos el interfaz usb ch340C que nos permitirá recibir y transferir datos a la computara, tambien este mismo puerto nos servirá para programar el controlador. Seguidamente tenemos el  DS1307, que nos proporciona la hora y la fecha, luego tendremos el max485 que nos ayudará establecer la comunicación rs845, finalmente tenemos las salidas pwm optoaisladas y controlados por  mosfets de canal P.  Y es asi como luse el diseño pcb.

3 CAPA DE LEDS SEÑALIZADORES

En cuanto a la tercera capa, en realidad no tiene mucha ciencia, ya que aquí solo se encuentran unos leds señalizadores que están conectados de manera paralela a las entradas y salidas respectivamente.

NO SE RECOMIENDA REALIZAR U ORDENAR ESTA TARJETA YA QUE TODAVÍA ESTA EN DESARROLLO. LE RECOMENDAMOS QUE SOLO ESTUDIE EL ESQUEMÁTICO.

PASOS PARA SUBIR UN PROGRAMA
PASO 1 : SUBIR PROGRAMA BOOTLOADER A UN  ARDUINO UNO

Primero subimos este código BOOTLOADER a un arduino UNO como normalmente subimos cualquier programa a nuestra placa arduino UNO.

PASO 2 : CABLEADO PARA SUBIR GESTOR DE ARRANQUE (BOOTLOADER)

Despues de haber subido el programa anterior, ahora vamos aquemar el gestor de arranque al nuevo microcontrolador que tiene nuestro plc.
Recuerden que para poder usar un microcontrolador nuevo (atmega328P-AU), es necesario subir  un gestor de arranque como también llamado “BOOTLOADER”, esto nos facilitará subir programas en futuras ocasiones. Especialmente cuando se quiere programar desde el IDE de arduino.

finalmente para quemar el bootloader se tendrá que realizar a través de los pines ISP, que prácticamente serían los pines [(MOSI=PIN 11) (MISO = PIN 12) (SCK=PIN 13) (Slave=PIN 10)]. Para subir y quemar el gestor de arranque necesitaremos un arduino UNO ó MEGA y realizar las siguientes conexiones (ARDUINO UNO – PLC LOGO demo).  OJO que este paso solo se hace una sola vez.

PASO 3: QUEMAR BOOTLOADER

A) SELECCIONANDO PLACA.- Aquí vamos a seleccionar la placa de arduino que lleva nuestro microcontrolador, en este caso el que tengo es atmega328p – AU (Arduino nano). Adicionalmente tenemos que seleccionar el procesador como Atmega328p (old bootloader).
.

B) SELECCIONANDO PUERTO.- Aquí es donde la mayoría se confunde. La explicacion es; que aqui estamos seleccionando el puerto del arduino uno que tenemos conectado, mas no el puerto del micro que tenemos en nuestro plc.
.

C) SELECCIONANDO ARDUINO AS ISP.- Aquí seleccionamos ARDUINO AS ISP para que el arduino UNO pueda subir el gestor de arranque a través de ISP que previamente se hizo las conexiones en el PASO 2.
.

D) GRABAR BOOTLOADER.- Finalmente quemanos el gestor de arranque. Cabe mencionar que este será unica vez que se tiene que hacer estos pasos. El proceso del quemado no debe tardar mas de un minuto, y cuando finalice ya estará listo para subir cualquier programa desde el IDE de arduino o de cualquier entorno de programación afines.
.

RELACIÓN DE BORNERAS EXTERNAS Y ATMEGA328P-AU
CONEXIONES EXTERNAS
DESCARGAR LDmicro y AVRDUDESS
COGIDOS DE PRUEBAS
ENTRADAS ANALOGICAS Y SALIDAS PWM
int pwm1 = 9;
int pwm2 = 10;
int pwm3 = 11;

void setup() {
  pinMode(pwm1, OUTPUT);
  pinMode(pwm2, OUTPUT);
  pinMode(pwm3, OUTPUT);
}

void loop() {

  int anRead1 = map(analogRead(A6), 0, 1023, 0, 255);
  analogWrite(pwm1, anRead1);
  int anRead2 = map(analogRead(A7), 0, 1023, 0, 255);
  analogWrite(pwm2, anRead2);
  analogWrite(pwm3, anRead2);
}

NO SE RECOMIENDA REALIZAR U ORDENAR ESTA TARJETA YA QUE TODAVÍA ESTA EN DESARROLLO. LE RECOMENDAMOS QUE SOLO ESTUDIE EL ESQUEMÁTICO.

VIDEOS
YouTube
YouTube
Instagram
Instagram
GitHub
GitHub
Salir de la versión móvil