Yo sé que muchos de los electrónicos conocemos los dispositivos LOGO de siemens, que prácticamente es un Controlador lógico programable.
Hace unos días se me ocurrió desarmarlo para ver que componentes usa y hace que sea más robusto. Honestamente al destaparlo y analizar minuciosamente cada componente del dispositivo LOGO 8 en particular me encontré con una grata sorpresa, y es que la parte de las entradas y las salidas no se encontraban aisladas como es habitual en los plc’s, en lugar de un optoacoplador se encontraban unos amplificadores operaciones, esto es comprensible ya que la parte de las entradas de estos dispositivos cumplen dos funciones de ” entradas digitales” y “entradas analógicas”, en este sentido hoy crearemos un logo con atmega328p con la diferencia de que la parte de las entradas y salidas estarán completamente aislados por optoacopladores para tener un mejor desempeño y robustez. Básicamente contaremos con 8 entradas de digitales de 12-24V, 4 salidas a relays. Además se contará con un reloj de tiempo real y los importante es que se podrá programar de manera directa (ordenador y nuestra tarjeta logo
ESPECIFICACIONES TÉCNICAS
- Tensión de alimentación……………………….…………24VDC
- Corriente de alimentación………………….……………90mA
- Reloj de tiempo Real……………………………………………..Sí
- Entadas digitales 15-24VDC……………………….……8
- Salidas RLY…………………………………………………………4
-
- Tensión AC…………..……….………………….….……250V
- Corriente AC…………………………………………….5A
- Tensión DC………………………………………………30V
- Corriente DC……………………………………………5A
-
- Entorno de programación………………………..………..Arduino IDE
- Condiciones ambientales min……………………….….-40°
- Condiciones ambientales max…………………..……….150°
- Dimensiones……………………………………………………….85x65mm
- Empotrable………………………………….……………………Sí
- Programación directa (PC-PLC logo with ATmega328)…………Sí
LISTA DE COMPONENTES ELECTRÓNICOS
Categoría | Cantidad | Referencias | Valor | PCB Package | Datasheet |
Condensadores | 20 | C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C18,C23,C24,C28 | 100nF | 0603_CAP | |
Condensadores | 4 | C17,C29,C30,C31 | 10uF | 1206_CAP | |
Condensadores | 1 | C19 | 470uF | CAP SMD 10.5X10MM ALUMINUM 470UF/35V | |
Condensadores | 1 | C20 | 220uF | CAP SMD 6.3X7.7MM ALUMINUM 220UF/16V | |
Condensadores | 1 | C21 | 100nF | 1206_CAP | |
Condensadores | 1 | C22 | 1000uF | ELEC-RAD25 | |
Resistencias | 21 | R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,R13,R14,R15,R16,R25,R34,R36,R38,R40 | 10k | 0603_RES | |
Resistencias | 8 | R17,R18,R19,R20,R21,R22,R23,R24 | 20k | 1206_RES | |
Resistencias | 7 | R26,R27,R28,R33,R35,R37,R39 | 1k | 0603_RES | |
Resistencias | 1 | R29 | 1M | 0603_RES | |
Resistencias | 2 | R30,R31 | 4.7k | RES_ARRAY 0603X4 | |
Resistencias | 1 | R32 | 470 | 0603_RES | |
Resistencias | 4 | R41,R42,R43,R44 | 220 | 0603_RES | |
Integrados | 2 | U1,U7 | 74HC14 | TSSOP14 | |
Integrados | 1 | U2 | 74HC541 | TSSOP20 | |
Integrados | 6 | U3,U4,U5,U6,U13,U14 | ILD207T | SO8 | |
Integrados | 1 | U8 | LM2576-5,0 | TO170P1410X464-6 | |
Integrados | 1 | U9 | ATMEGA328P | QFP80P900X900X120-32 | |
Integrados | 1 | U10 | CH340C | SO16 | |
Integrados | 1 | U11 | AT24C512B | SO8 | |
Integrados | 1 | U12 | DS3232 | SO16W | |
Transistores | 4 | Q1,Q2,Q3,Q4 | PMBT3904,215 | SOT23-3 | |
Diodos | 5 | D1,D7,D8,D9,D10 | 1N4148W | SOD123 | |
Diodos | 5 | D2,D3,D5,D6,D11 | B330A-13-F | DIOM5226X230N | |
Diodos | 1 | D4 | LED-RED | LEDC2012X120 | |
Miscelánea | 1 | BAT1 | 3V | BAT 3V | |
Miscelánea | 1 | BTN1 | RST | BUTTON SMD 2P | |
Miscelánea | 1 | F1 | 1A | FUSE SMD | |
Miscelánea | 9 | J1,J2,J3,J4,J5,J8,J9,J10,J11 | TBLOCK-M2 | T-BLOCK 2PIN BLUE | |
Miscelánea | 1 | J6 | MICRO USB B | MICRO USB B | |
Miscelánea | 1 | L1 | 100u | INDUCTOR 100UH | |
Miscelánea | 4 | RL1,RL2,RL3,RL4 | HF49FD/012-1H12G | RELAY24VPLC V1 | |
Miscelánea | 1 | X1 | CRYSTAL SMD S | OSCILADOR SMD CERAMIC RESONATORS |
CÓDIGOS DE PRUEBA
TEST _ ENTRADAS DIGITALES Y SALIDAS A RELAYS
const int IN0 = 2; const int IN1 = 3; const int IN2 = 4; const int IN3 = 5; const int IN4 = 6; const int IN5 = 7; const int IN6 = 8; const int IN7 = 9; //RELAY OUTPUTS int Q0 = 10; int Q1 = 11; int Q2 = 17; int Q3 = 16; void setup() { //DIGITAL INPUTS pinMode(IN0, INPUT); pinMode(IN1, INPUT); pinMode(IN2, INPUT); pinMode(IN3, INPUT); pinMode(IN4, INPUT); pinMode(IN5, INPUT); pinMode(IN6, INPUT); pinMode(IN7, INPUT); //RELAY OUTPUTS pinMode(Q0, OUTPUT); pinMode(Q1, OUTPUT); pinMode(Q2, OUTPUT); pinMode(Q3, OUTPUT); } void loop() { if (digitalRead(IN0) || digitalRead(IN4) == 1)digitalWrite(Q0, 1); else digitalWrite(Q0, 0); if (digitalRead(IN1) || digitalRead(IN5) == 1)digitalWrite(Q1, 1); else digitalWrite(Q1, 0); if (digitalRead(IN2) || digitalRead(IN6) == 1)digitalWrite(Q2, 1); else digitalWrite(Q2, 0); if (digitalRead(IN3) || digitalRead(IN7) == 1)digitalWrite(Q3, 1); else digitalWrite(Q3, 0); }
TEST _ RELOJ DE TIEMPO REAL
/* CREADO POR :{==[=======>>>> ELECTROALL <<<<<=======]==} FACEBOOK : https://web.facebook.com/ELECTROALL.ELECTRONICA/?_rdc=1&_rdr PÁGINA WEB : https://www.electroallweb.com/ YOUTUBE : https://www.youtube.com/c/ELECTROALL ________________________________________________________ {==[=======> (Testing CLOCK REAL TIME ) <=======]==} ________________________________________________________ */ #include <Wire.h> #include "Sodaq_DS3231.h" char DiaSemana[][4] = {"Dom", "Lun", "Mar", "Mie", "Jue", "Vie", "Sab" }; // La linea fija la fecha, hora y dia de la semana, se debe suprimir la linea en la segunda carga // Ejemplo 2017 diciembre 06, 22:00:00 dia 1-Lunes (0=Dom, 1=Lun, 2=Mar, 3=Mie, 4=Jue, 5=Vie, 6=Sab) //DateTime dt(2020, 06, 16, 07, 43, 0, 2); void setup () { Serial.begin(9600); Wire.begin(); rtc.begin(); // La linea fija la fecha, hora y dia de la semana, se debe suprimir la linea en la segunda carga // rtc.setDateTime(dt); } void loop () { DateTime now = rtc.now(); Serial.print(now.year(), DEC); Serial.print('/'); Serial.print(now.month(), DEC); Serial.print('/'); Serial.print(now.date(), DEC); Serial.print(' '); Serial.print(now.hour(), DEC); Serial.print(':'); Serial.print(now.minute(), DEC); Serial.print(':'); Serial.print(now.second(), DEC); Serial.print(' '); Serial.print(DiaSemana[now.dayOfWeek()]); Serial.println(); }
6 comentarios. Dejar nuevo
Hola
Why (int Q2 = 17 and int Q3 = 16)
Not Q2 =12 and Q3=13 ??
WE don’t have D17 or D16 but D12 ans D13
What is valor C32 to C39 please???
there are no such labels
Wow
que gran proyecto
tengo una duda
cual es la utilidad del 74HC14 y 74HC541?
Are there any Analog inputs?!
Is there any chance You could send me PDF of top and bottom layer with both side component possition?
Hola, que tal buenos trabajos. Una consulta. Que costos tienen las tarjetas plc disponibles para Perú, me gustaría probarlas y poder trabajar más adelante.