You dont have javascript enabled! Please enable it!

Caso práctico: Contador de objetos en cinta transportadora

Esquemático — Caso práctico: Contador de objetos en cinta transportadora

Nivel: Medio – Construye un contador óptico de objetos con salidas decimales y un reinicio automático de lote.

Objetivo y caso de uso

En este caso práctico, construirás un circuito contador óptico secuencial utilizando una resistencia dependiente de la luz (LDR), un inversor 74HC04 para el acondicionamiento de la señal y un contador de décadas CD4017BE. El circuito detecta objetos que interrumpen un haz de luz, los cuenta secuencialmente mediante indicadores LED y se reinicia automáticamente después de un lote de 5 artículos.

Este circuito es muy relevante en escenarios del mundo real:
Líneas de envasado: Agrupación automática de productos en tamaños de lote predeterminados (por ejemplo, 5 artículos por caja).
Automatización industrial: Seguimiento del movimiento de piezas discretas a lo largo de una cinta transportadora.
Enclavamientos de seguridad: Monitorización de interruptores de límite o barreras ópticas para garantizar que un ciclo de operación se complete en su totalidad.

Resultado esperado:
– El divisor de tensión de la LDR oscilará de ALTO (iluminada) a BAJO (haz bloqueado).
– El inversor 74HC04 generará un flanco de reloj de subida limpio (VB) con cada detección.
– El contador CD4017BE avanzará su señal lógica activa en ALTO a través de las salidas Q0 a Q4, encendiendo los LED en secuencia.
– Cuando se detecta el sexto objeto (conteo de 5), la salida Q5 activará el pin de reinicio, borrando instantáneamente el conteo de vuelta a 0.

Público objetivo: Estudiantes de electrónica que aprenden lógica secuencial, contadores decimales e integración básica de sensores.

Materiales

  • V1: fuente de alimentación de 5 V CC
  • RLDR1: Resistencia dependiente de la luz (LDR), función: detección óptica
  • R1: resistencia de 10 kΩ, función: pull-down del divisor de tensión para la LDR
  • U1: 74HC04, función: inversor lógico y conformador de flanco de reloj
  • U2: CD4017BE, función: contador de décadas con salidas decodificadas
  • D1: LED rojo, función: indicador del conteo 0
  • D2: LED rojo, función: indicador del conteo 1
  • D3: LED rojo, función: indicador del conteo 2
  • D4: LED rojo, función: indicador del conteo 3
  • D5: LED rojo, función: indicador del conteo 4
  • R2: resistencia de 330 Ω, función: limitación de corriente del LED D1
  • R3: resistencia de 330 Ω, función: limitación de corriente del LED D2
  • R4: resistencia de 330 Ω, función: limitación de corriente del LED D3
  • R5: resistencia de 330 Ω, función: limitación de corriente del LED D4
  • R6: resistencia de 330 Ω, función: limitación de corriente del LED D5
  • C1: condensador de 100 nF, función: desacoplo de U1
  • C2: condensador de 100 nF, función: desacoplo de U2

Pin-out del CI utilizado

74HC04 (Inversor hexadecimal)

PinNombreFunción lógicaConexión en este caso
11AEntradaSe conecta al divisor de la LDR (VA)
21YSalidaSe conecta al reloj de U2 (VB)
7GNDTierraSe conecta a 0
14VCCAlimentaciónSe conecta a VCC

CD4017BE (Contador de décadas / divisor)

PinNombreFunción lógicaConexión en este caso
14CLKEntrada de relojSe conecta a la señal invertida del sensor (VB)
13CKEHabilitación de relojSe conecta a 0 (activo en nivel bajo)
15RSTReinicioSe conecta a Q5 (VC) para reinicio automático
3Q0Salida 0Se conecta a la rama de D1 (V_Q0)
2Q1Salida 1Se conecta a la rama de D2 (V_Q1)
4Q2Salida 2Se conecta a la rama de D3 (V_Q2)
7Q3Salida 3Se conecta a la rama de D4 (V_Q3)
10Q4Salida 4Se conecta a la rama de D5 (V_Q4)
1Q5Salida 5Se conecta a reinicio (VC)
8VSSTierraSe conecta a 0
16VDDAlimentaciónSe conecta a VCC

Nota: Los pines 5, 6, 9, 11 y 12 son salidas decodificadas no utilizadas y el pin de acarreo; se dejan flotando en este caso.

Guía de conexionado

  • V1 se conecta entre VCC y 0.
  • RLDR1 se conecta entre VCC y VA.
  • R1 se conecta entre VA y 0.
  • El pin 14 de U1 se conecta a VCC.
  • El pin 7 de U1 se conecta a 0.
  • El pin 1 de U1 se conecta a VA.
  • El pin 2 de U1 se conecta a VB.
  • El pin 16 de U2 se conecta a VCC.
  • El pin 8 de U2 se conecta a 0.
  • El pin 13 de U2 se conecta a 0.
  • El pin 14 de U2 se conecta a VB.
  • El pin 1 de U2 se conecta a VC.
  • El pin 15 de U2 se conecta a VC.
  • El pin 3 de U2 se conecta a V_Q0.
  • El pin 2 de U2 se conecta a V_Q1.
  • El pin 4 de U2 se conecta a V_Q2.
  • El pin 7 de U2 se conecta a V_Q3.
  • El pin 10 de U2 se conecta a V_Q4.
  • R2 se conecta entre V_Q0 y V_D1.
  • D1 se conecta entre V_D1 y 0.
  • R3 se conecta entre V_Q1 y V_D2.
  • D2 se conecta entre V_D2 y 0.
  • R4 se conecta entre V_Q2 y V_D3.
  • D3 se conecta entre V_D3 y 0.
  • R5 se conecta entre V_Q3 y V_D4.
  • D4 se conecta entre V_D4 y 0.
  • R6 se conecta entre V_Q4 y V_D5.
  • D5 se conecta entre V_D5 y 0.
  • C1 se conecta entre VCC y 0, cerca de U1.
  • C2 se conecta entre VCC y 0, cerca de U2.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC04 Decimal counter
Lectura rápida: entradas → bloque principal → salida (actuador o medida). Resume el esquemático ASCII de la siguiente sección.

Esquemático

[ U2: CD4017BE Decade Counter ]
                                                             |                             |
VCC --> [ RLDR1: LDR ] --(VA)--> [ U1: 74HC04 Inverter ] --(VB)--> CLK (Pin 14)            |
                           |                                 |                  Q0 (Pin 3)-|--(V_Q0)--> [ R2: 330 ] --> [ D1: Red LED ] --> GND
                           +---> [ R1: 10k ] --> GND         |                  Q1 (Pin 2)-|--(V_Q1)--> [ R3: 330 ] --> [ D2: Red LED ] --> GND
                                                             |                  Q2 (Pin 4)-|--(V_Q2)--> [ R4: 330 ] --> [ D3: Red LED ] --> GND
                                                 +--(VC)---------> RST (Pin 15) Q3 (Pin 7)-|--(V_Q3)--> [ R5: 330 ] --> [ D4: Red LED ] --> GND
                                                 |           |                  Q4 (Pin 10)|--(V_Q4)--> [ R6: 330 ] --> [ D5: Red LED ] --> GND
                                                 +---------------< Q5 (Pin 1)              |
                                                             |                             |
                                                 GND ------------> EN (Pin 13)             |
                                                             [-----------------------------]

* Power & Decoupling Notes:
  VCC --> [ C1: 100nF ] --> GND  (U1 Decoupling)
  VCC --> [ C2: 100nF ] --> GND  (U2 Decoupling)
  U1 Power: Pin 14 (VCC), Pin 7 (GND)
  U2 Power: Pin 16 (VCC), Pin 8 (GND)
Electrical Schematic

Diagrama eléctrico

Diagrama electrico del caso: Contador de objetos en cinta transportadora
Generado desde la netlist SPICE validada del caso.

🔒 Este diagrama eléctrico es premium. Con el pase de 7 días o la suscripción mensual podrás desbloquear el material didáctico completo y el pack PDF listo para imprimir.🔓 Ver planes de acceso premium

Mediciones y pruebas

  1. Calibración del sensor: mide el nodo VA con un multímetro. Debe estar por encima de 4,0 V con la LDR iluminada y caer por debajo de 1,0 V cuando un objeto corta el haz. Ajusta R1 si tu LDR tiene otra curva de resistencia.
  2. Comprobación del flanco de reloj: conecta el osciloscopio al nodo VB. Al pasar un objeto por el haz debes ver una transición limpia de 0 V a 5 V.
  3. Verificación del conteo secuencial: observa los nodos V_Q0 a V_Q4. Cada pulso debe activar una salida distinta y encender D1 a D5 en orden.
  4. Validación del reinicio automático: monitoriza VC. Al detectar el sexto objeto debe aparecer un pulso breve que reinicia el contador y vuelve a activar D1.

Netlist SPICE y simulación

Netlist SPICE de referencia (ngspice) — extractoNetlist SPICE completo (ngspice)

* Conveyor belt object counter
.width out=256

* --- Digital Subcircuits ---

* Analog Behavioral D-Flip-Flop with Asynchronous Reset
.subckt DFF D CLK RST Q
B_M M_int 0 V = V(RST)>2.5 ? 0 : (V(CLK)>2.5 ? (V(M_state)>2.5 ? 5 : 0) : (V(D)>2.5 ? 5 : 0))
R_M M_int M_state 100
C_M M_state 0 1n

B_S S_int 0 V = V(RST)>2.5 ? 0 : (V(CLK)>2.5 ? (V(M_state)>2.5 ? 5 : 0) : (V(S_state)>2.5 ? 5 : 0))
R_S S_int S_state 100
C_S S_state 0 1n

B_Q Q_int 0 V = V(S_state)>2.5 ? 5 : 0
R_Q Q_int Q 100
C_Q Q 0 1n
.ends

* ... (truncated in public view) ...

Copia este contenido en un archivo .cir y ejecútalo con ngspice.

🔒 Parte del contenido de esta sección es premium. Con el pase de 7 días o la suscripción mensual tendrás acceso al contenido completo (materiales, conexionado, compilación detallada, validación paso a paso, troubleshooting, mejoras/variantes y checklist) y podrás descargar el pack PDF listo para imprimir.

* Conveyor belt object counter
.width out=256

* --- Digital Subcircuits ---

* Analog Behavioral D-Flip-Flop with Asynchronous Reset
.subckt DFF D CLK RST Q
B_M M_int 0 V = V(RST)>2.5 ? 0 : (V(CLK)>2.5 ? (V(M_state)>2.5 ? 5 : 0) : (V(D)>2.5 ? 5 : 0))
R_M M_int M_state 100
C_M M_state 0 1n

B_S S_int 0 V = V(RST)>2.5 ? 0 : (V(CLK)>2.5 ? (V(M_state)>2.5 ? 5 : 0) : (V(S_state)>2.5 ? 5 : 0))
R_S S_int S_state 100
C_S S_state 0 1n

B_Q Q_int 0 V = V(S_state)>2.5 ? 5 : 0
R_Q Q_int Q 100
C_Q Q 0 1n
.ends

* CD4017BE Decade Counter (5-stage Johnson Counter with decoded outputs)
* Pins: 1:Q5(VC), 2:Q1, 3:Q0, 4:Q2, 7:Q3, 8:GND, 10:Q4, 13:EN, 14:CLK, 15:RST, 16:VCC
.subckt CD4017 1 2 3 4 7 8 10 13 14 15 16
B_CLK_INT CLK_INT 0 V = (V(14)>2.5) * (V(13)<2.5) * 5
R_CLK CLK_INT CLK_F 100
C_CLK CLK_F 0 1n

XF1 D1 CLK_F 15 F1 DFF
XF2 F1 CLK_F 15 F2 DFF
XF3 F2 CLK_F 15 F3 DFF
XF4 F3 CLK_F 15 F4 DFF
XF5 F4 CLK_F 15 F5 DFF

B_D1_int D1_int 0 V = V(F5)>2.5 ? 0 : 5
R_D1 D1_int D1 100
C_D1 D1 0 1n

B_Q0_int Q0_int 0 V = (V(F1)<2.5) * (V(F5)<2.5) * 5
R_Q0 Q0_int 3 100
C_Q0 3 0 1n

B_Q1_int Q1_int 0 V = (V(F1)>2.5) * (V(F2)<2.5) * 5
R_Q1 Q1_int 2 100
C_Q1 2 0 1n

B_Q2_int Q2_int 0 V = (V(F2)>2.5) * (V(F3)<2.5) * 5
R_Q2 Q2_int 4 100
C_Q2 4 0 1n

B_Q3_int Q3_int 0 V = (V(F3)>2.5) * (V(F4)<2.5) * 5
R_Q3 Q3_int 7 100
C_Q3 7 0 1n

B_Q4_int Q4_int 0 V = (V(F4)>2.5) * (V(F5)<2.5) * 5
R_Q4 Q4_int 10 100
C_Q4 10 0 1n

* Q5 output is used for the modulo-5 reset via VC, so it uses a slightly larger delay 
* to guarantee the reset pulse is wide enough to clear all DFFs.
B_Q5_int Q5_int 0 V = (V(F5)>2.5) * (V(F1)>2.5) * 5
R_Q5 Q5_int 1 100
C_Q5 1 0 10n

* Dummy loads to prevent warnings on power pins
R_GND 8 0 1
R_VCC 16 0 1Meg
.ends

* 74HC04 Hex Inverter (single gate modeled for pins 1, 2)
* Pins: 1:A, 2:Y, 7:GND, 14:VCC
.subckt 74HC04 1 2 7 14
B_Y_int Y_int 0 V = V(1)>2.5 ? 0 : 5
R_Y Y_int 2 100
C_Y 2 0 1n
R_GND 7 0 1
R_VCC 14 0 1Meg
.ends

* --- Main Circuit ---

* Power Supply
V1 VCC 0 DC 5

* Optical Sensing (LDR and pull-down divider)
* Conveyor beam is normally ON (light=1), LDR is 1k. 
* When object passes, light is blocked (light=0), LDR becomes 100k.
V_LIGHT N_LIGHT 0 PULSE(1 0 0.1 0.05 0.05 0.2 0.5)
R_LIGHT N_LIGHT 0 1Meg 
RLDR1 VCC VA R='V(N_LIGHT) > 0.5 ? 1k : 100k'
R1 VA 0 10k

* Edge sharpener and logic inverter
XU1 VA VB 0 VCC 74HC04

* Decade Counter
XU2 VC V_Q1 V_Q0 V_Q2 V_Q3 0 V_Q4 0 VB VC VCC CD4017

* LED Output Indicators
.model RED_LED D(IS=1e-18 N=1.8 RS=10)

R2 V_Q0 V_D1 330
D1 V_D1 0 RED_LED

R3 V_Q1 V_D2 330
D2 V_D2 0 RED_LED

R4 V_Q2 V_D3 330
D3 V_D3 0 RED_LED

R5 V_Q3 V_D4 330
D4 V_D4 0 RED_LED

R6 V_Q4 V_D5 330
D5 V_D5 0 RED_LED

* Decoupling Capacitors
C1 VCC 0 100n
C2 VCC 0 100n

* Dummy IN/OUT assignments for strict output requirements
R_IN VA IN 1
R_IN_GND IN 0 100Meg
R_OUT V_Q4 OUT 1
R_OUT_GND OUT 0 100Meg

* --- Simulation Commands ---
.op
.tran 1m 3.0
.print tran V(IN) V(OUT) V(VA) V(V_Q0) V(V_Q1) V(V_Q2) V(V_Q3) V(V_Q4)

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Análisis: The simulation shows the input signal (VA) toggling between ~4.5V and ~0.45V, representing the LDR state changes. The outputs V_Q0 to V_Q4 sequentially pulse high to ~4.25V, confirming the decade counter is advancing correctly with each input pulse.
Show raw data table (3128 rows)
Index   time            v(in)           v(out)          v(va)           v(v_q0)         v(v_q1)         v(v_q2)         v(v_q3)         v(v_q4)
0	0.000000e+00	4.545413e+00	7.813983e-36	4.545413e+00	7.814080e-36	4.250409e+00	7.814080e-36	7.814080e-36	7.813983e-36
1	1.000000e-05	4.545413e+00	7.736609e-38	4.545413e+00	7.736713e-38	4.250409e+00	7.736713e-38	7.736713e-38	7.736609e-38
2	2.000000e-05	4.545413e+00	7.660001e-40	4.545413e+00	7.660112e-40	4.250409e+00	7.660112e-40	7.660112e-40	7.660001e-40
3	4.000000e-05	4.545413e+00	-7.50832e-40	4.545413e+00	-7.50843e-40	4.250409e+00	-7.50843e-40	-7.50843e-40	-7.50832e-40
4	8.000000e-05	4.545413e+00	7.433609e-40	4.545413e+00	7.433716e-40	4.250409e+00	7.433716e-40	7.433716e-40	7.433609e-40
5	1.600000e-04	4.545413e+00	-7.39653e-40	4.545413e+00	-7.39664e-40	4.250409e+00	-7.39664e-40	-7.39664e-40	-7.39653e-40
6	3.200000e-04	4.545413e+00	7.378065e-40	4.545413e+00	7.378171e-40	4.250409e+00	7.378171e-40	7.378171e-40	7.378065e-40
7	6.400000e-04	4.545413e+00	-7.36885e-40	4.545413e+00	-7.36895e-40	4.250409e+00	-7.36895e-40	-7.36895e-40	-7.36885e-40
8	1.280000e-03	4.545413e+00	7.364244e-40	4.545413e+00	7.364350e-40	4.250409e+00	7.364350e-40	7.364350e-40	7.364244e-40
9	2.280000e-03	4.545413e+00	-7.36130e-40	4.545413e+00	-7.36141e-40	4.250409e+00	-7.36141e-40	-7.36141e-40	-7.36130e-40
10	3.280000e-03	4.545413e+00	7.358355e-40	4.545413e+00	7.358461e-40	4.250409e+00	7.358461e-40	7.358461e-40	7.358355e-40
11	4.280000e-03	4.545413e+00	-7.35541e-40	4.545413e+00	-7.35552e-40	4.250409e+00	-7.35552e-40	-7.35552e-40	-7.35541e-40
12	5.280000e-03	4.545413e+00	7.352471e-40	4.545413e+00	7.352577e-40	4.250409e+00	7.352577e-40	7.352577e-40	7.352471e-40
13	6.280000e-03	4.545413e+00	-7.34953e-40	4.545413e+00	-7.34964e-40	4.250409e+00	-7.34964e-40	-7.34964e-40	-7.34953e-40
14	7.280000e-03	4.545413e+00	7.346591e-40	4.545413e+00	7.346697e-40	4.250409e+00	7.346697e-40	7.346697e-40	7.346591e-40
15	8.280000e-03	4.545413e+00	-7.34365e-40	4.545413e+00	-7.34376e-40	4.250409e+00	-7.34376e-40	-7.34376e-40	-7.34365e-40
16	9.280000e-03	4.545413e+00	7.340716e-40	4.545413e+00	7.340822e-40	4.250409e+00	7.340822e-40	7.340822e-40	7.340716e-40
17	1.028000e-02	4.545413e+00	-7.33778e-40	4.545413e+00	-7.33789e-40	4.250409e+00	-7.33789e-40	-7.33789e-40	-7.33778e-40
18	1.128000e-02	4.545413e+00	7.334846e-40	4.545413e+00	7.334952e-40	4.250409e+00	7.334952e-40	7.334952e-40	7.334846e-40
19	1.228000e-02	4.545413e+00	-7.33191e-40	4.545413e+00	-7.33202e-40	4.250409e+00	-7.33202e-40	-7.33202e-40	-7.33191e-40
20	1.328000e-02	4.545413e+00	7.328981e-40	4.545413e+00	7.329086e-40	4.250409e+00	7.329086e-40	7.329086e-40	7.328981e-40
21	1.428000e-02	4.545413e+00	-7.32605e-40	4.545413e+00	-7.32616e-40	4.250409e+00	-7.32616e-40	-7.32616e-40	-7.32605e-40
22	1.528000e-02	4.545413e+00	7.323120e-40	4.545413e+00	7.323225e-40	4.250409e+00	7.323225e-40	7.323225e-40	7.323120e-40
23	1.628000e-02	4.545413e+00	-7.32019e-40	4.545413e+00	-7.32030e-40	4.250409e+00	-7.32030e-40	-7.32030e-40	-7.32019e-40
... (3104 more rows) ...

Errores comunes y cómo evitarlos

  1. Dejar CKE flotante: el pin 13 del CD4017BE es activo en nivel bajo. Si queda sin conectar, el ruido puede bloquear o habilitar el reloj de forma impredecible. Conéctalo siempre a 0.
  2. Omitir resistencias en los LED: conectar los LED directamente a las salidas del CD4017BE puede dañar el integrado. Cada LED debe llevar su resistencia limitadora, por ejemplo 330 Ω.
  3. Transiciones lentas del sensor: si el objeto se mueve despacio, la señal de la LDR puede permanecer demasiado tiempo cerca del umbral lógico y producir varios pulsos. En ese caso conviene sustituir el 74HC04 por un inversor Schmitt como el 74HC14.

Solución de problemas

  • Síntoma: el contador salta números o cuenta de forma aleatoria.
  • Causa: ruido eléctrico en la línea de la LDR o vibraciones que afectan al haz de luz.
  • Solución: añade un condensador pequeño, por ejemplo 10 nF, entre VA y 0 para filtrar ruido de alta frecuencia.
  • Síntoma: el circuito se queda siempre en D1 y no avanza.
  • Causa: el pin de reinicio está fijo en alto o el pin CKE está en alto.
  • Solución: revisa la conexión entre Q5 y RST, y confirma que el pin 13 está unido a 0.
  • Síntoma: los LED se ven muy tenues.
  • Causa: las resistencias limitadoras son demasiado grandes o la alimentación cae por falta de corriente.
  • Solución: comprueba que R2-R6 son de 330 Ω y que VCC se mantiene estable en 5 V.

Posibles mejoras y extensiones

  1. Visualización numérica: sustituir la lógica de LED por un CD4026BE permite excitar directamente un display de 7 segmentos y mostrar el conteo como dígito.
  2. Antirrebote con monoestable: insertar un NE555 en configuración monoestable entre VB y el reloj del contador garantiza un único pulso de duración fija por objeto detectado.
  3. Tamaño de lote ajustable: puedes elegir otra salida del CD4017BE para el reinicio si necesitas agrupar 3, 4, 6 o más objetos.
  4. Salida de control: añade un transistor o un relé para activar una compuerta, zumbador o actuador cuando se complete el lote.

Encuentra este producto y/o libros sobre este tema en Amazon

Ir a Amazon

Como afiliado de Amazon, gano con las compras que cumplan los requisitos. Si compras a través de este enlace, ayudas a mantener este proyecto.

Quiz rápido

Pregunta 1: ¿Qué función realiza la LDR en este circuito?



Pregunta 2: ¿Por qué se usa el 74HC04?



Pregunta 3: ¿Qué entrada del CD4017BE recibe los pulsos de conteo?



Pregunta 4: ¿Qué ocurre cuando se activa Q5 en este montaje?



Pregunta 5: ¿Por qué cada LED necesita su propia resistencia?



Carlos Núñez Zorrilla
Carlos Núñez Zorrilla
Electronics & Computer Engineer

Ingeniero Superior en Electrónica de Telecomunicaciones e Ingeniero en Informática (titulaciones oficiales en España).

Sígueme:
Scroll al inicio