INTRODUCCIÓN
Sin duda las señales de corriente son la manera más efectiva de persuadir los ruidos y las interferencias en las industrias, si bien es cierto en este canal hemos creado muchos proyectos para las industrias y obviamente muchos ingenieros me pedían que diseñara un modulo de corriente para dispositivos PLC’s, Efectivamente en este video crearemos una tarjeta que sea capaz de enviar datos de corriente de 4-20mA a los dispositivos de PLC Siemens a través de la comunicación modbus, cabe señalar que el modulo contará con 4 entradas de corriente de 4-20mA.
ESPECIFICACIONES TÉCNICAS

- Tensión de alimentación……………………….…………24VDC
- Corriente de alimentación………………….……………80mA
- Tensión de entrada(recomendado)…………………24VDC
- Corriente de entrada (4-20mA)………………………4
- Puerto ethernet…………………………………………………….1
- Programación Directa…………………………………………PC-BOARD MAIN
- Condiciones ambientales min……………………….….-40°
- Condiciones ambientales max…………………..……….85°
- Dimensiones……………………………………………………………. 82*89mm
- Empotrable………………………………………………………………SÍ
LISTA DE COMPONENTES

Categoría | Cantidad | Referencias | Valor | PCB Package | Datasheet |
Condensadores | 32 | C1,C4,C5,C6,C10,C11,C14,C15,C16,C17,C18,C20, C21,C22,C23,C24,C25,C26,C29,C30,C31,C32,C33, C35,C36,C37,C38,C39,C40,C41,C43,C45 |
100nF | 0603_CAP | (see &buy) |
Condensadores | 2 | C2,C3 | 18pF | CAPC1608X87 | (see &buy) |
Condensadores | 1 | C7 | 470uF | CAP SMD 10.5X10MM ALUMINUM 470UF/35V | (see &buy) |
Condensadores | 1 | C8 | 220uF | CAP SMD 6.3X7.7MM ALUMINUM 220UF/16V | (see &buy) |
Condensadores | 1 | C9 | 100nF | 1206_CAP | (see &buy) |
Condensadores | 6 | C12,C13,C19,C27,C28,C34 | 10uF | 1206_CAP | (see &buy) |
Condensadores | 1 | C42 | 10uF | 0805_CAP | (see &buy) |
Condensadores | 1 | C44 | 47uF | CAP SMD 5X5.4MM ALUMINUM 47UF/16V | (see &buy) |
Condensadores | 1 | C46 | 1000uF | ELEC-RAD25 | (see &buy) |
Resistencias | 20 | R1,R2,R3,R11,R19,R20,R26,R28,R32, R33,R37,R39,R43,R44,R50,R52,R56,R57,R61,R63 |
10k | 0603_RES | (see &buy) |
Resistencias | 5 | R4,R5,R12,R13,R14 | 1k | 0603_RES | (see &buy) |
Resistencias | 1 | R6 | 2.7k | 0603_RES | (see &buy) |
Resistencias | 4 | R7,R8,R9,R10 | 49.9 | 0805_RES | (see &buy) |
Resistencias | 1 | R15 | 1M | 0603_RES | (see &buy) |
Resistencias | 4 | R16,R29,R40,R53 | 10 | 0603_RES | (see &buy) |
Resistencias | 4 | R17,R30,R41,R54 | 15k | 0603_RES | (see &buy) |
Resistencias | 4 | R18,R31,R42,R55 | 51k | 0603_RES | (see &buy) |
Resistencias | 4 | R21,R34,R45,R58 | 20k | 0603_RES | (see &buy) |
Resistencias | 4 | R22,R35,R46,R59 | 2k | 0603_RES | (see &buy) |
Resistencias | 4 | R23,R36,R47,R60 | 4.7k | 0603_RES | (see &buy) |
Resistencias | 2 | R24,R48 | 240 | 0603_RES | (see &buy) |
Resistencias | 2 | R25,R49 | 1.8k | 0603_RES | (see &buy) |
Resistencias | 4 | R27,R38,R51,R62 | 100 | 1206_RES | (see &buy) |
Integrados | 1 | U1 | ENC28J60-I/SS | SSOP28 V1 | (see &buy) |
Integrados | 1 | U2 | ATMEGA328P | QFP80P900X900X120-32 | (see &buy) |
Integrados | 1 | U3 | CH340C | SO16 | (see &buy) |
Integrados | 1 | U4 | LM2576-5,0 | TO170P1410X464-6 | (see &buy) |
Integrados | 4 | U5,U9,U11,U15 | LM358N | SO8 | (see &buy) |
Integrados | 2 | U6,U12 | ICL7660 | SO8 | (see &buy) |
Integrados | 4 | U7,U10,U13,U16 | TL431 | SOT23-3 | (see &buy) |
Integrados | 2 | U8,U14 | LM317L | SOT89 | (see &buy) |
Integrados | 1 | U17 | LD1117S33 | SOT230P700X180-4 | (see &buy) |
Diodos | 1 | D1 | SS14-TP | DIOM5226X230N | (see &buy) |
Diodos | 1 | D2 | B330A-13-F | DIOM5226X230N | (see &buy) |
Diodos | 1 | D3 | LED-RED | LEDC2012X120 | (see &buy) |
Miscelánea | 1 | BTN1 | RST | BUTTON SMD 2P | (see &buy) |
Miscelánea | 1 | J1 | USB TYPE C | USB TYPE C | (see &buy) |
Miscelánea | 1 | J2 | MICRO USB B | MICRO USB B | (see &buy) |
Miscelánea | 1 | J3 | TBLOCK-M2 | T-BLOCK 2PIN BLUE | |
Miscelánea | 1 | J4 | CONN-SIL6 | CONN-SIL6 | (see &buy) |
Miscelánea | 4 | J5,J6,J7,J8 | TBLOCK-M2 | T-BLOCK 2PIN BLUE | |
Miscelánea | 1 | L1 | HF70ACC201209 | INDC2012X130 | (see &buy) |
Miscelánea | 1 | L2 | 100u | INDUCTOR 100UH | (see &buy) |
Miscelánea | 1 | RJ1 | RJ45/HR | RJ45/NORMAB | (see &buy) |
Miscelánea | 1 | X1 | CRYSTAL | XTAL18 V1 | (see &buy) |
Miscelánea | 1 | X2 | CRYSTAL SMD S | OSCILADOR SMD | (see &buy) |
MATERIAL Y VIDEOS RELACIONADOS (Obligatorio*)

COMO MANDAR DATOS DE UN ARDUINO A UN PLC
Seguramente a muchos de nosotros nos suena familiar el protocolo de comunicación MODBUS, esta comunicación es una de las comunicaciones estándar que se usa en las industrias para la comunicación de dispositvos plc’s, drivers, módulos, etc. Justamente para establecer el intercambio de datos de un Arduino y un PLC usaremos el mismo protocolo ya antes mencionado, el cual nos permitirá el intercambio de lecturas de señales digitales, señales analógicas y otros datos. Por consiguiente, en este episodio mandaremos señales analógicas desde un arduino a un dispositivo PLC Siemens S7 1200, para que posteriormente el dispositivo PLC realice un acción de acuerdo a los datos recibidos. por ejemplo, que se active una salida cuando el valor analógico sea mayor igual a 500.
MAS INFORMACIÓN
COMO HACER UN CONVERSOR DE CORRIENTE (4-20mA) – Voltaje (0-3V)
En este episodio explicamos paso a paso a como crear el circuito conversor de corriente a voltaje.
MAS INFORMACIÓN
MODULO DE ENTRADAS DE CORRIENTE (4-20mA) PARA PLC Siemens
Prácticamente este proyecto es la fusión de todos los artículos que hicimos en la parte superior.
PASOS PARA SUBIR UN PROGRAMA

PASO 1 : SUBIR GESTOR DE ARRANQUE (BOOTLOADER)
Para poder usar un microcontrolador nuevo (atmega328p-AU), es necesario subir un un gestor de arranque como también llamado “BOOTLOADER”, esto nos facilitará subir programas en futuras ocasiones.
finalmente para quemar el bootloader se tendrá que realizar a través de los pines ISP, que prácticamente serían los pines [ (MOSI=11) (MISO = PIN12) (SCK=PIN13) (Slave=PIN10) ]. Para subir y quemar el gestor de arranque necesitaremos un arduino UNO ó MEGA y realizar las siguientes conexiones (ARDUINO UNO – MAIN BOARD).
PASO 2 : SUBIR PROGRAMA; PC – MAIN BOARD
Después de haber subido el gestor de arranque finalmente ya podremos subir cualquier programa como normalmente lo realizamos a través del puerto serie.
ARDUINO CODE

#include <EtherCard.h> #include <Modbus.h> #include <ModbusIP_ENC28J60.h> const int SENSOR_IREG1 = 10; const int SENSOR_IREG2 = 20; const int SENSOR_IREG3 = 30; const int SENSOR_IREG4 = 40; const int sensorAnalog1 = A0; const int sensorAnalog2 = A1; const int sensorAnalog3 = A2; const int sensorAnalog4 = A3; const int sensorAnalog5 = A4; ModbusIP mb; void setup() { //dirección MAC byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; //dirección IP byte ip [] = {192, 168, 1, 22}; mb.config (mac, ip); // se confirma las direcciones mb.addIreg(SENSOR_IREG1); mb.addIreg(SENSOR_IREG2); mb.addIreg(SENSOR_IREG3); mb.addIreg(SENSOR_IREG4); } void loop() { mb.task();// actualiza para el trabajo se realize con normalidad // envía los valores de la entrada de corriente mb.Ireg(SENSOR_IREG1, analogRead(sensorAnalog1)); mb.Ireg(SENSOR_IREG2, analogRead(sensorAnalog2)); mb.Ireg(SENSOR_IREG3, analogRead(sensorAnalog3)); mb.Ireg(SENSOR_IREG4, analogRead(sensorAnalog4)); }