Practical case: Simple half-wave rectification

Simple half-wave rectification prototype (Maker Style)

Level: Basic. Visualizing how a diode converts AC to pulsating DC by removing the negative half-cycle.

Objective and use case

You will build a fundamental analog circuit that uses a single semiconductor diode to block the negative portion of an alternating current (AC) signal, passing only the positive portion to a resistive load.

Why it is useful:
* Power conversion: It represents the first stage in converting AC mains power to DC for electronic devices.
* Signal demodulation: Used in AM radios to extract audio signals from radio frequency carriers (envelope detector).
* Polarity protection: Similar logic prevents damage to DC circuits if batteries are inserted backward.

Expected outcome:
* Input Signal: A complete sine wave swinging between positive and negative voltages (e.g., +10 V to -10 V).
* Output Signal: A pulsating waveform showing only the positive «humps» of the sine wave; the voltage sits at 0 V during the negative cycle.
* Voltage Drop: The peak output voltage will be approximately 0.7 V lower than the input peak due to the silicon diode forward voltage drop.
* Frequency: The output frequency remains identical to the input frequency.

Target audience and level: Students and hobbyists learning basic analog components.

Materials

  • V1: 10 V (peak), 60 Hz AC voltage source (sine wave), function: main power input.
  • D1: 1N4007 (or 1N4148), function: rectifier diode.
  • R1: 1 kΩ resistor, function: resistive load.

Wiring guide

This guide defines the connections between components using specific node names (VIN, VOUT, 0).

  • V1 (Source): Connect the positive terminal to node VIN and the negative terminal to node 0 (GND).
  • D1 (Diode): Connect the Anode to node VIN and the Cathode (marked with a stripe) to node VOUT.
  • R1 (Load): Connect one terminal to node VOUT and the other terminal to node 0 (GND).

Conceptual block diagram

Conceptual block diagram — Half-Wave Rectification
Quick read: inputs → main block → output (actuator or measurement). This summarizes the ASCII schematic below.

Schematic

[ SOURCE / INPUT ]             [ RECTIFICATION ]               [ LOAD / OUTPUT ]

[ V1: AC Source    ]           +----------------------+           [ R1: Resistor   ]
[ 10 V Peak, 60Hz   ] --(VIN)-->| Anode (A) -> Cathode | --(VOUT)--> [ 1 kΩ         ] --> GND
                               | D1: 1N4007           |
                               +----------------------+
Schematic (ASCII)

Measurements and tests

To validate the circuit, you will need a dual-channel oscilloscope or a simulation tool.

  1. Setup Probes:
    • Connect Channel A (Yellow) to VIN to monitor the source.
    • Connect Channel B (Blue) to VOUT to monitor the voltage across the resistor.
    • Ensure the ground clips of both probes are connected to node 0 (GND).
  2. Visual Inspection:
    • Observe that VIN is a full sine wave centered at 0 V.
    • Observe that VOUT follows VIN during the positive cycle but stays flat at 0 V during the negative cycle.
  3. Cursor Measurement:
    • Measure the peak voltage of VIN (e.g., 10.0 V).
    • Measure the peak voltage of VOUT. It should be approximately 9.3 V.
    • Calculate the difference (Vin – Vout). This confirms the roughly 0.7 V forward voltage drop of the silicon diode.

SPICE netlist and simulation

Reference SPICE Netlist (ngspice) — excerptFull SPICE netlist (ngspice)

* Practical case: Simple half-wave rectification

* --- Circuit Description ---
* V1 (Source): 10V Peak, 60Hz Sine Wave
* D1 (Diode): 1N4007 Rectifier
* R1 (Load): 1k Ohm Resistor

* --- Components ---

* V1: Main power input
* Connected: Positive -> VIN, Negative -> 0 (GND)
* Syntax: SIN(Voffset Vamp Freq)
V1 VIN 0 SIN(0 10 60)

* D1: Rectifier diode (1N4007)
* Connected: Anode -> VIN, Cathode -> VOUT
D1 VIN VOUT 1N4007

* R1: Resistive load
* Connected: VOUT -> 0 (GND)
* ... (truncated in public view) ...

Copy this content into a .cir file and run with ngspice.

🔒 Part of this section is premium. With the 7-day pass or the monthly membership you can access the full content (materials, wiring, detailed build, validation, troubleshooting, variants and checklist) and download the complete print-ready PDF pack.

* Practical case: Simple half-wave rectification

* --- Circuit Description ---
* V1 (Source): 10V Peak, 60Hz Sine Wave
* D1 (Diode): 1N4007 Rectifier
* R1 (Load): 1k Ohm Resistor

* --- Components ---

* V1: Main power input
* Connected: Positive -> VIN, Negative -> 0 (GND)
* Syntax: SIN(Voffset Vamp Freq)
V1 VIN 0 SIN(0 10 60)

* D1: Rectifier diode (1N4007)
* Connected: Anode -> VIN, Cathode -> VOUT
D1 VIN VOUT 1N4007

* R1: Resistive load
* Connected: VOUT -> 0 (GND)
R1 VOUT 0 1k

* --- Models ---
* Standard model for 1N4007 Diode
.model 1N4007 D (IS=7.69n RS=0.042 N=1.45 BV=1000 IBV=5u CJO=14.2p VJ=0.5 M=0.333 TT=4.32u)

* --- Analysis Commands ---
* Transient analysis
* Frequency is 60Hz (Period ~16.67ms).
* Simulate for 50ms to capture approximately 3 full cycles.
.tran 0.1ms 50ms

* Operating Point for initial check
.op

* --- Output Directives ---
* Print input voltage and rectified output voltage
.print tran V(VIN) V(VOUT)

.end

Simulation Results (Transient Analysis)

Simulation Results (Transient Analysis)
Show raw data table (515 rows)
Index   time            v(vin)          v(vout)
0	0.000000e+00	0.000000e+00	-2.01593e-21
1	1.000000e-06	3.769911e-03	5.704546e-05
2	2.000000e-06	7.539822e-03	5.927562e-05
3	4.000000e-06	1.507964e-02	6.305993e-05
4	8.000000e-06	3.015924e-02	7.111847e-05
5	1.600000e-05	6.031821e-02	1.021853e-04
6	3.200000e-05	1.206342e-01	3.070797e-04
7	5.378437e-05	2.027484e-01	2.167324e-03
8	7.424258e-05	2.798514e-01	1.250260e-02
9	9.741093e-05	3.671480e-01	4.715921e-02
10	1.262516e-04	4.757778e-01	1.182339e-01
11	1.839330e-04	6.928557e-01	2.983890e-01
12	2.467131e-04	9.287461e-01	5.130162e-01
13	3.467131e-04	1.303359e+00	8.676123e-01
14	4.467131e-04	1.676120e+00	1.226655e+00
15	5.467131e-04	2.046499e+00	1.587509e+00
16	6.467131e-04	2.413969e+00	1.947514e+00
17	7.467131e-04	2.778010e+00	2.305173e+00
18	8.467131e-04	3.138102e+00	2.659882e+00
19	9.467131e-04	3.493735e+00	3.010809e+00
20	1.046713e-03	3.844404e+00	3.357375e+00
21	1.146713e-03	4.189609e+00	3.698904e+00
22	1.246713e-03	4.528861e+00	4.034877e+00
23	1.346713e-03	4.861677e+00	4.364712e+00
... (491 more rows) ...

Common mistakes and how to avoid them

  1. Reversing the diode:
    • Error: The diode is installed with the cathode pointing toward the source.
    • Result: The circuit produces negative voltage pulses instead of positive ones.
    • Solution: Verify the stripe (cathode) points toward the load resistor.
  2. Ignoring power ratings:
    • Error: Using a very small resistor (e.g., 10 Ω) with a standard 1/4W resistor.
    • Result: The resistor overheats and burns.
    • Solution: Calculate power (P = V^2 / R) or use a resistor value like 1 kΩ or higher for demonstration purposes.
  3. Floating Ground:
    • Error: Measuring VOUT without a common ground reference between the source and the oscilloscope.
    • Result: Noisy or floating signals on the screen.
    • Solution: Ensure all grounds (Source, Resistor, Oscilloscope) are tied to node 0.

Troubleshooting

  • Symptom: No output voltage (0 V flatline).
    • Cause: Diode is open (blown) or disconnected.
    • Fix: Check continuity with a multimeter; replace the diode.
  • Symptom: Output is identical to Input (full sine wave).
    • Cause: Diode is shorted internally.
    • Fix: Replace the diode; a shorted diode acts like a wire.
  • Symptom: Output peak is significantly lower than expected (e.g., 5 V drop).
    • Cause: High internal resistance of the source or an incorrect component (e.g., using a Zener diode in reverse breakdown).
    • Fix: Verify the diode part number is a standard rectifier (1N400x series).

Possible improvements and extensions

  1. Filter Capacitor: Connect a capacitor (e.g., 10 µF) in parallel with R1 to observe how the capacitor fills in the gaps between pulses, smoothing the DC output.
  2. Full-Wave Bridge: Replace the single diode with four diodes (bridge configuration) to utilize both the positive and negative halves of the AC cycle, improving efficiency.

More Practical Cases on Prometeo.blog

Find this product and/or books on this topic on Amazon

Go to Amazon

As an Amazon Associate, I earn from qualifying purchases. If you buy through this link, you help keep this project running.

Quick Quiz

Question 1: What is the primary function of the semiconductor diode in this circuit?




Question 2: What is the expected shape of the output signal?




Question 3: How does the output frequency compare to the input frequency in this half-wave rectifier?




Question 4: Why is the peak output voltage slightly lower than the input peak voltage?




Question 5: Approximately how much voltage is typically dropped across a standard silicon diode?




Question 6: In a standard schematic for this circuit, which component typically acts as the load?




Question 7: What happens to the voltage at the output during the negative cycle of the input?




Question 8: Which of the following is a practical use case for this type of circuit mentioned in the text?




Question 9: To allow positive current to flow from the source to the load, how should the diode be oriented?




Question 10: If the input signal swings between +10 V and -10 V, what is the approximate peak output voltage?




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

Telecommunications Electronics Engineer and Computer Engineer (official degrees in Spain).

Follow me:


Practical case: Forward and Reverse Diode Biasing

Forward and Reverse Diode Biasing prototype (Maker Style)

Level: Basic. Verify the diode’s behavior as a unidirectional switch by measuring current and voltage in both polarities.

Objective and use case

In this experiment, you will build a simple series circuit consisting of a DC voltage source, a current-limiting resistor, and a silicon diode. You will measure the voltage drop across the diode and the current flowing through the circuit to confirm how the component blocks or conducts electricity based on its orientation.

  • Reverse polarity protection: Prevents damage to sensitive electronics if a battery is inserted backwards.
  • AC to DC Rectification: Converts alternating current into direct current in power supplies.
  • Signal clipping: Limits voltage levels to protect downstream components in communication circuits.
  • Logic implementation: Forms the basis of DTL (Diode-Transistor Logic) gates.

Expected outcome:
* Forward Bias: The diode conducts current; voltage across the diode (VD) stays near 0.7 V.
* Reverse Bias: The diode blocks current (I ≈ 0 A); voltage across the diode equals the supply voltage (Vsupply).
* Unidirectional flow: Confirmation that electrons only flow effectively in one direction (Anode to Cathode).

Target audience: Students and beginners in basic analog electronics.

Materials

  • V1: 9 V DC supply (battery or bench power supply).
  • R1: 1 kΩ resistor, function: current limiting and current sensing.
  • D1: 1N4148 silicon diode (or 1N4007), function: Device Under Test (DUT).
  • Multimeter: Digital multimeter, function: measuring DC voltage and DC current.

Wiring guide

This guide describes the Forward Bias configuration. The nodes are defined as VCC (9 V), N1 (junction), and 0 (GND).

  • V1: Connect the positive terminal to node VCC and the negative terminal to node 0.
  • R1: Connect one leg to node VCC and the other leg to node N1.
  • D1: Connect the Anode (side without the stripe) to node N1 and the Cathode (side with the stripe) to node 0.

Conceptual block diagram

Conceptual block diagram — Forward Biased Diode Circuit
Quick read: inputs → main block → output (actuator or measurement). This summarizes the ASCII schematic below.

Schematic

[ POWER SOURCE ]               [ CIRCUIT PROCESSING ]                [ RETURN PATH ]

[ V1: 9 V DC Supply ] --(+9 V)--> [ R1: 1 kΩ Resistor ] --(Node N1)--> [ D1: 1N4148 Diode ] --(0 V)--> [ GND ]
                                (Current Limiting)    (Measurement)    (Anode -> Cathode)
                                                                        (Forward Biased)
Schematic (ASCII)

Measurements and tests

To validate the diode behavior, perform the following measurements using the multimeter.

1. Forward Bias Test (Anode to Positive)
* Voltage Measurement (VD): Set the multimeter to DC Volts. Place the red probe on the Anode (Node N1) and the black probe on the Cathode (Node 0).
* Result: You should read approximately 0.6 V to 0.7 V.
* Current Measurement (ID): Set the multimeter to DC mA. Break the circuit between R1 and D1, and insert the multimeter in series.
* Result: Using Ohm’s Law (I = (Vsource – VD) / R1), the current should be approximately 8.3 mA.

2. Reverse Bias Test (Cathode to Positive)
* Re-wiring: Disconnect D1, flip it 180 degrees, and reconnect it. Now the Cathode (stripe) connects to N1 and the Anode connects to 0.
* Voltage Measurement (VD): Measure across the diode again.
* Result: You should read a value very close to the source voltage (9 V), indicating the diode is acting as an open switch.
* Current Measurement (ID): Measure the current in the loop.
* Result: The reading should be 0 mA (or negligible leakage current in the nano-amp range).

SPICE netlist and simulation

Reference SPICE Netlist (ngspice) — excerptFull SPICE netlist (ngspice)

* Practical case: Forward and Reverse Diode Biasing
* Based on Wiring Guide: Forward Bias Configuration

* --- Power Supply ---
* V1: 9 V DC supply connected between VCC and GND (Node 0)
V1 VCC 0 DC 9

* --- Components ---
* R1: 1 kΩ resistor between VCC and Node N1
R1 VCC N1 1k

* D1: 1N4148 Diode
* Anode connected to N1, Cathode connected to GND (0)
D1 N1 0 D1N4148

* --- Models ---
* Standard 1N4148 Model
.model D1N4148 D (IS=2.682n N=1.836 RS=0.5664 BV=100 IBV=100p CJO=4p TT=11.54n)

* --- Analysis Directives ---
* ... (truncated in public view) ...

Copy this content into a .cir file and run with ngspice.

🔒 Part of this section is premium. With the 7-day pass or the monthly membership you can access the full content (materials, wiring, detailed build, validation, troubleshooting, variants and checklist) and download the complete print-ready PDF pack.

* Practical case: Forward and Reverse Diode Biasing
* Based on Wiring Guide: Forward Bias Configuration

* --- Power Supply ---
* V1: 9 V DC supply connected between VCC and GND (Node 0)
V1 VCC 0 DC 9

* --- Components ---
* R1: 1 kΩ resistor between VCC and Node N1
R1 VCC N1 1k

* D1: 1N4148 Diode
* Anode connected to N1, Cathode connected to GND (0)
D1 N1 0 D1N4148

* --- Models ---
* Standard 1N4148 Model
.model D1N4148 D (IS=2.682n N=1.836 RS=0.5664 BV=100 IBV=100p CJO=4p TT=11.54n)

* --- Analysis Directives ---
* Operating Point analysis to see DC bias values
.op

* Transient analysis to log data (1ms duration)
.tran 10u 1m

* --- Output Directives ---
* Print supply voltage and diode forward voltage
.print tran V(VCC) V(N1)

.end

Simulation Results (Transient Analysis)

Simulation Results (Transient Analysis)
Show raw data table (108 rows)
Index   time            v(vcc)          v(n1)
0	0.000000e+00	9.000000e+00	7.143329e-01
1	1.000000e-07	9.000000e+00	7.143290e-01
2	2.000000e-07	9.000000e+00	7.143286e-01
3	4.000000e-07	9.000000e+00	7.143286e-01
4	8.000000e-07	9.000000e+00	7.143286e-01
5	1.600000e-06	9.000000e+00	7.143286e-01
6	3.200000e-06	9.000000e+00	7.143286e-01
7	6.400000e-06	9.000000e+00	7.143286e-01
8	1.280000e-05	9.000000e+00	7.143286e-01
9	2.280000e-05	9.000000e+00	7.143286e-01
10	3.280000e-05	9.000000e+00	7.143286e-01
11	4.280000e-05	9.000000e+00	7.143286e-01
12	5.280000e-05	9.000000e+00	7.143286e-01
13	6.280000e-05	9.000000e+00	7.143286e-01
14	7.280000e-05	9.000000e+00	7.143286e-01
15	8.280000e-05	9.000000e+00	7.143286e-01
16	9.280000e-05	9.000000e+00	7.143286e-01
17	1.028000e-04	9.000000e+00	7.143286e-01
18	1.128000e-04	9.000000e+00	7.143286e-01
19	1.228000e-04	9.000000e+00	7.143286e-01
20	1.328000e-04	9.000000e+00	7.143286e-01
21	1.428000e-04	9.000000e+00	7.143286e-01
22	1.528000e-04	9.000000e+00	7.143286e-01
23	1.628000e-04	9.000000e+00	7.143286e-01
... (84 more rows) ...

Common mistakes and how to avoid them

  • Measuring current in parallel: Never connect the multimeter across the diode while in «Current/Amps» mode. This creates a short circuit and may blow the multimeter’s fuse. Always measure current in series.
  • Omitting the resistor: Connecting a diode directly to a voltage source (above 0.7 V) without a resistor will cause unlimited current flow, instantly destroying the diode (and potentially the power supply).
  • Misidentifying terminals: The stripe on the diode body indicates the Cathode. In forward bias, the Cathode must point toward the lower potential (GND).

Troubleshooting

  • 0 V measured across D1 in Forward Bias: The diode might be shorted internally or the power supply is off. Check V1 voltage first.
  • 0 mA in Forward Bias: The circuit is open. Check if the breadboard connections are loose or if the resistor value is too high (e.g., 1 MΩ instead of 1 kΩ).
  • 9 V across R1 in Reverse Bias: The diode is conducting when it should not. Ensure D1 is actually reversed (stripe facing positive voltage) or check if D1 is damaged (shorted).
  • Diode gets hot: The current is too high. Ensure R1 is at least 330 Ω for a 9 V supply.

Possible improvements and extensions

  • Visual Indicator: Replace the standard silicon diode (D1) with an LED. The light will visually confirm when current is flowing (Forward Bias) and turn off when blocked (Reverse Bias).
  • I-V Curve Tracing: Use a variable power supply (0 V to 10 V) and record the current at 0.1 V steps to plot the characteristic exponential curve of the diode.

More Practical Cases on Prometeo.blog

Find this product and/or books on this topic on Amazon

Go to Amazon

As an Amazon Associate, I earn from qualifying purchases. If you buy through this link, you help keep this project running.

Quick Quiz

Question 1: What is the primary objective of this experiment?




Question 2: In a forward bias configuration, what is the expected voltage drop across a silicon diode?




Question 3: What happens to the current when the diode is in reverse bias?




Question 4: Which component functions as the Device Under Test (DUT) in this experiment?




Question 5: What is the purpose of the resistor in this circuit?




Question 6: Which of the following is a use case mentioned for diodes in the text?




Question 7: In reverse bias, what voltage value is expected across the diode?




Question 8: What specific logic family is mentioned as a use case for diodes?




Question 9: How does the diode assist in power supplies according to the text?




Question 10: What function does a diode perform in signal clipping?




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

Telecommunications Electronics Engineer and Computer Engineer (official degrees in Spain).

Follow me:


Practical case: Adaptive Screen Brightness Regulator

Adaptive Screen Brightness Regulator prototype (Maker Style)

Level: Medium
Design a circuit that decreases LED backlight intensity as ambient light increases.

Objective and use case

In this practical case, you will build a PWM (Pulse Width Modulation) controller using a 555 timer and a photoresistor (LDR). The circuit will automatically adjust the duty cycle of the output signal based on ambient light levels, driving a power MOSFET to dim an LED strip.

Why it is useful:
* Energy Efficiency: Reduces power consumption in high-brightness environments where backlights might be less visible or needed (depending on display type).
* Automatic Night-Lights: Useful for systems that need to be dim during the day and bright at night (if logic is inverted) or vice-versa.
* Human Vision Comfort: Prevents glare by adjusting light intensity dynamically.
* Instrumentation: Often used in automotive dashboards or control panels.

Expected outcome:
* Signal Generation: A square wave output at pin 3 of the 555 timer.
* Inverse Response: When the LDR is exposed to strong light (Flashlight), the LED brightness decreases.
* Dark Response: When the LDR is covered (Darkness), the LED brightness increases to maximum.
* Target Audience: Intermediate electronics students and hobbyists.

Materials

  • V1: 9 V DC voltage source, function: Main circuit power.
  • R1: Photoresistor (LDR), function: Light sensor (Charge path).
  • R2: 10 kΩ resistor, function: Discharge path timing.
  • R3: 1 kΩ resistor, function: MOSFET Gate protection.
  • R4: 330 Ω resistor, function: LED current limiting.
  • C1: 100 nF capacitor, function: PWM timing capacitor.
  • C2: 10 nF capacitor, function: Control voltage noise filtering.
  • D1: 1N4148 diode, function: Steering diode for Charge path.
  • D2: 1N4148 diode, function: Steering diode for Discharge path.
  • D3: High-brightness White LED, function: Simulated Backlight.
  • Q1: 2N7000 (N-Channel MOSFET), function: LED driver switch.
  • U1: NE555 Precision Timer, function: PWM generator.

Wiring guide

This guide uses specific node names (VCC, 0, V_TRIG, V_GATE, etc.) to help you verify connections.

  • Power Supply:
  • Connect V1 positive terminal to node VCC.
  • Connect V1 negative terminal to node 0 (GND).
  • 555 Timer Power & Reset (U1):
  • Connect U1 pin 8 (VCC) to node VCC.
  • Connect U1 pin 1 (GND) to node 0.
  • Connect U1 pin 4 (Reset) to node VCC.
  • Timing Network (The PWM Core):
  • Connect R1 (LDR) between node VCC and node V_CHARGE.
  • Connect D1 (Anode) to V_CHARGE and D1 (Cathode) to node V_TIMING.
  • Connect D2 (Anode) to node V_TIMING and D2 (Cathode) to node V_DISCHARGE.
  • Connect R2 between node V_DISCHARGE and U1 pin 7 (Discharge).
  • Connect C1 between node V_TIMING and node 0.
  • Connect U1 pin 2 (Trigger) to node V_TIMING.
  • Connect U1 pin 6 (Threshold) to node V_TIMING.
  • Control Voltage:
  • Connect C2 between U1 pin 5 (CV) and node 0.
  • Output Stage:
  • Connect R3 between U1 pin 3 (Output) and node V_GATE.
  • Connect Q1 Gate to node V_GATE.
  • Connect Q1 Source to node 0.
  • Connect Q1 Drain to node V_LED_CATHODE.
  • Load (Backlight):
  • Connect R4 between node VCC and node V_LED_ANODE.
  • Connect D3 Anode to node V_LED_ANODE.
  • Connect D3 Cathode to node V_LED_CATHODE.

Conceptual block diagram

Conceptual block diagram — TEMPORIZADOR Adaptive PWM Generator
Quick read: inputs → main block → output (actuator or measurement). This summarizes the ASCII schematic below.

Schematic

Title: Practical case: Adaptive Screen Brightness Regulator

      [ INPUTS / TIMING NETWORK ]              [ LOGIC / CONTROL ]                 [ OUTPUT STAGE ]

[ V1: 9 V Source ] --(Power VCC)--------->+-----------------------+
                                         |                       |
(Light) -> [ R1: LDR ] --(Charge)------->|                       |
                                         |       U1: NE555       |
[ D1, D2, R2 ] --(Steering/Disch)------->|    (PWM Generator)    |--(Pin 3)--> [ R3: 1k ] --> [ Q1: MOSFET ]
                                         |                       |                                  |
[ C1: 100nF ] --(Timing Ramp)----------->|  Pins 2,6 (Trig/Thr)  |                                  |
                                         |  Pin 7 (Discharge)    |                           (Switches GND)
[ C2: 10nF ] --(Filter)----------------->|  Pin 5 (Ctrl Volt)    |                                  |
                                         |                       |                                  v
                                         +-----------------------+                       [ D3: LED + R4: 330R ]
                                                                                              (Backlight)
Schematic (ASCII)

Electrical diagram

Electrical diagram for case: Adaptive screen brightness regulator
Generated from the validated SPICE netlist for this case.

🔒 This electrical diagram is premium. With the 7-day pass or the monthly membership you can unlock the complete didactic material and the print-ready PDF pack.🔓 See premium access plans

Measurements and tests

Perform these steps to validate the «Inverse» behavior (More light = Less Brightness).

  1. Baseline Check (Ambient Light):
    • Power the circuit with 9 V.
    • Observe the LED D3. It should be illuminated at a moderate level.
    • Measure voltage at V_GATE using an oscilloscope. You should see a square wave.
  2. High Light Test:
    • Shine a flashlight directly onto R1 (LDR).
    • Observation: The LED D3 should dim significantly or turn off.
    • Measurement: Check the duty cycle at V_GATE. Since the LDR resistance drops, the capacitor charges very quickly (short Ton) relative to the fixed discharge time (Toff). The Duty Cycle (Ton / Ttotal) decreases.
  3. Low Light Test:
    • Cover R1 (LDR) with your hand or a black cap.
    • Observation: The LED D3 should reach maximum brightness.
    • Measurement: The LDR resistance increases, making the charge time (Ton) much longer. The Duty Cycle increases towards 100%.

SPICE netlist and simulation

Reference SPICE Netlist (ngspice) — excerptFull SPICE netlist (ngspice)

* Practical case: Adaptive Screen Brightness Regulator

* --- Power Supply ---
V1 VCC 0 DC 9

* --- Input Stage (Light Sensor) ---
R1 VCC V_CHARGE 20k

* --- PWM Timing Network ---
D1 V_CHARGE V_TIMING D1N4148
D2 V_TIMING V_DISCHARGE D1N4148
R2 V_DISCHARGE V_DISCH_PIN 10k
C1 V_TIMING 0 100n

* --- Control & Processing ---
* U1: NE555 Precision Timer
XU1 0 V_TIMING V_OUT_PIN VCC V_CV V_TIMING V_DISCH_PIN VCC NE555

* Control Voltage noise filtering
C2 V_CV 0 10n
* ... (truncated in public view) ...

Copy this content into a .cir file and run with ngspice.

🔒 Part of this section is premium. With the 7-day pass or the monthly membership you can access the full content (materials, wiring, detailed build, validation, troubleshooting, variants and checklist) and download the complete print-ready PDF pack.

* Practical case: Adaptive Screen Brightness Regulator

* --- Power Supply ---
V1 VCC 0 DC 9

* --- Input Stage (Light Sensor) ---
R1 VCC V_CHARGE 20k

* --- PWM Timing Network ---
D1 V_CHARGE V_TIMING D1N4148
D2 V_TIMING V_DISCHARGE D1N4148
R2 V_DISCHARGE V_DISCH_PIN 10k
C1 V_TIMING 0 100n

* --- Control & Processing ---
* U1: NE555 Precision Timer
XU1 0 V_TIMING V_OUT_PIN VCC V_CV V_TIMING V_DISCH_PIN VCC NE555

* Control Voltage noise filtering
C2 V_CV 0 10n

* --- Output Driver Stage ---
R3 V_OUT_PIN V_GATE 1k

* Q1: N-Channel MOSFET
MQ1 V_LED_CATHODE V_GATE 0 0 2N7000

* --- Load (Backlight) ---
R4 VCC V_LED_ANODE 330
D3 V_LED_ANODE V_LED_CATHODE WHITE_LED

* --- Component Models ---
.model D1N4148 D (IS=2.682n N=1.836 RS=.5664 BV=100 IBV=100p CJO=4p TT=11.54n)
.model 2N7000 NMOS (Level=1 VTO=2.1 KP=0.5 Lambda=0.002 RD=1.5 RS=1.5 CGSO=10p CGDO=10p CGBO=10p)
.model WHITE_LED D (IS=1p N=5 RS=5 BV=5 IBV=10u CJO=50p)

* --- NE555 Behavioral Subcircuit ---
.subckt NE555 GND TRIG OUT RESET CV THRES DISCH VCC
    * Internal Voltage Divider
    R_div1 VCC CV 5k
    R_div2 CV TR 5k
    R_div3 TR GND 5k

    * Comparators (Sigmoid-based for smooth convergence)
    * Set Signal (Active High) when TRIG < 1/3 VCC (V_TR)
    B_set set_node 0 V = 2.5 + 2.5 * tanh(100 * (V(TR) - V(TRIG)))

    * Reset Signal Logic
    * Condition 1: THRES > CV
    B_c1 c1 0 V = 0.5 * (1 + tanh(100 * (V(THRES) - V(CV))))
    * Condition 2: RESET < 1.0V
    B_c2 c2 0 V = 0.5 * (1 + tanh(100 * (1.0 - V(RESET))))
    * Combine (Probabilistic OR logic): V_rst = c1 + c2 - c1*c2, scaled to 5V
    B_rst rst_node 0 V = 5 * (V(c1) + V(c2) - V(c1)*V(c2))

    * RC Delays to prevent algebraic loops in Flip-Flop
    R_sd set_node set_d 1k
    C_sd set_d 0 1p
    R_rd rst_node rst_d 1k
    C_rd rst_d 0 1p

    * SR Latch (Cross-coupled NOR logic with soft thresholds)
    * Q = ~(R | Qb)
    B_q  q_int  0 V = 5 / (1 + exp( 20 * (V(rst_d) + V(qb_int) - 2.5) ))
    * Qb = ~(S | Q)
    B_qb qb_int 0 V = 5 / (1 + exp( 20 * (V(set_d) + V(q_int) - 2.5) ))

    * Output Buffer
    E_out OUT_int 0 q_int 0 1
    R_out_prot OUT_int OUT 1

    * Discharge Transistor (Switch to GND when Qb is High / Output Low)
    S_disch DISCH 0 qb_int 0 SW_DISCH
    .model SW_DISCH SW(Vt=2.5 Ron=10 Roff=100Meg)
.ends

* --- Simulation Directives ---
.tran 10u 20m
.print tran V(V_TIMING) V(V_GATE) V(V_LED_CATHODE) V(V_LED_ANODE)
.op
.end

Simulation Results (Transient Analysis)

Simulation Results (Transient Analysis)
Show raw data table (4016 rows)
Index   time            v(v_timing)     v(v_gate)       v(v_led_cathode
0	0.000000e+00	3.183820e+00	9.643749e-22	8.709822e+00
1	1.000000e-07	3.183820e+00	9.643749e-22	8.709822e+00
2	2.000000e-07	3.183820e+00	-2.54330e-17	8.709822e+00
3	4.000000e-07	3.183820e+00	4.759196e-18	8.709822e+00
4	8.000000e-07	3.183820e+00	-5.90561e-18	8.709822e+00
5	1.600000e-06	3.183820e+00	1.843922e-17	8.709822e+00
6	3.200000e-06	3.183820e+00	4.911091e-18	8.709822e+00
7	6.400000e-06	3.183819e+00	9.652751e-18	8.709822e+00
8	1.280000e-05	3.183819e+00	-2.42211e-18	8.709822e+00
9	2.280000e-05	3.183818e+00	-2.25892e-17	8.709822e+00
10	3.280000e-05	3.183818e+00	-5.29878e-18	8.709822e+00
11	4.280000e-05	3.183817e+00	-8.38426e-18	8.709822e+00
12	5.280000e-05	3.183816e+00	-5.24090e-18	8.709822e+00
13	6.280000e-05	3.183815e+00	5.344924e-18	8.709822e+00
14	7.280000e-05	3.183815e+00	-6.20163e-18	8.709822e+00
15	8.280000e-05	3.183814e+00	-2.95146e-18	8.709822e+00
16	9.280000e-05	3.183813e+00	-1.95605e-17	8.709822e+00
17	1.028000e-04	3.183813e+00	5.833300e-18	8.709822e+00
18	1.128000e-04	3.183812e+00	-9.79628e-18	8.709822e+00
19	1.228000e-04	3.183812e+00	1.090495e-18	8.709822e+00
20	1.328000e-04	3.183811e+00	-1.79618e-17	8.709822e+00
21	1.428000e-04	3.183810e+00	6.632650e-18	8.709822e+00
22	1.528000e-04	3.183810e+00	-1.47697e-17	8.709822e+00
23	1.628000e-04	3.183809e+00	6.958764e-18	8.709822e+00
... (3992 more rows) ...

Common mistakes and how to avoid them

  1. Reversing Steering Diodes (D1, D2):
    • Error: Placing D1 or D2 backwards prevents the capacitor from charging or discharging properly.
    • Solution: Ensure the black band (cathode) of D1 points towards the capacitor and the black band of D2 points towards Pin 7.
  2. Connecting LDR to Pin 7 directly:
    • Error: Connecting the LDR without the steering diodes creates a standard astable oscillator where frequency changes drastically, but duty cycle control is less distinct.
    • Solution: Use the diode steering topology described to separate the Charge (LDR) and Discharge (R2) paths.
  3. MOSFET Pinout Confusion:
    • Error: Swapping Drain and Source on the 2N7000.
    • Solution: Verify the datasheet. For 2N7000 (TO-92), looking at the flat side, pins are usually Source, Gate, Drain (left to right).

Troubleshooting

  • Symptom: LED is always ON and does not change with light.
    • Cause: MOSFET Gate floating or Pin 3 stuck High.
    • Fix: Check R1 and C1 connections. Ensure Pin 2 and 6 are tied together.
  • Symptom: LED is always OFF.
    • Cause: LDR resistance is too low (short circuit) or LED connected backwards.
    • Fix: Check LED polarity. Measure resistance of LDR in darkness; if it is 0 Ω, it is defective.
  • Symptom: LED flickers visibly.
    • Cause: Frequency is too low.
    • Fix: Reduce the value of C1 (e.g., change from 100 nF to 10 nF) to increase the PWM frequency beyond human persistence of vision (> 100 Hz).

Possible improvements and extensions

  1. Minimum Brightness Clamp: Add a fixed resistor in series with the LDR (R1). This ensures that even in extremely bright light (low LDR resistance), there is still a minimum charge time, preventing the LED from turning off completely.
  2. Smoother Transition: Add a large capacitor across the LDR to filter out rapid changes in light (e.g., shadows from passing objects), creating a «fade» effect rather than an instant jump in brightness.

More Practical Cases on Prometeo.blog

Find this product and/or books on this topic on Amazon

Go to Amazon

As an Amazon Associate, I earn from qualifying purchases. If you buy through this link, you help keep this project running.

Quick Quiz

Question 1: What is the primary function of the circuit described in the text?




Question 2: Which component is responsible for sensing the ambient light levels?




Question 3: What type of signal modulation is used to control the LED brightness?




Question 4: According to the 'Expected outcome', what happens to the LED brightness when the LDR is covered (darkness)?




Question 5: Which component drives the LED strip based on the signal from the 555 timer?




Question 6: Why is this circuit considered useful for energy efficiency?




Question 7: Which pin of the 555 timer outputs the square wave signal?




Question 8: What is the role of the 555 timer in this specific circuit?




Question 9: How does the circuit respond when the LDR is exposed to strong light?




Question 10: Besides energy efficiency, what is another stated benefit of this circuit?




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

Telecommunications Electronics Engineer and Computer Engineer (official degrees in Spain).

Follow me:


Practical case: Single-axis solar tracker

Single-axis solar tracker prototype (Maker Style)

Level: Medium. Design a control circuit that compares light levels from two sensors to orient a motor towards the brightest light source.

Objective and use case

This practical case guides you through building an analog control loop that automatically orients a mechanism towards a light source using photoresistors (LDRs) and operational amplifiers. You will construct a «sun seeker» that actively balances two light inputs to drive a motor in the corresponding direction.

  • Real-world applications:
  • Solar Energy: Increases photovoltaic panel efficiency by keeping panels perpendicular to the sun throughout the day.
  • Robotics: Enables light-seeking behaviors (phototaxis) in autonomous robots.
  • Home Automation: Controls smart blinds to regulate room temperature based on sunlight intensity.
  • Expected outcome:
  • When the light source is balanced, the motor remains stationary.
  • When LDR1 is shaded, the voltage difference triggers the motor to spin Clockwise (CW).
  • When LDR2 is shaded, the motor spins Counter-Clockwise (CCW).
  • Target audience: Electronics students familiar with voltage dividers and OpAmps.

Materials

  • V1: 9 V DC power supply (Power source).
  • R1: Photoresistor (LDR), function: Left light sensor.
  • R2: Photoresistor (LDR), function: Right light sensor.
  • R3: 10 kΩ resistor, function: Voltage divider bottom leg for R1.
  • R4: 10 kΩ resistor, function: Voltage divider bottom leg for R2.
  • U1: LM358, function: Dual Operational Amplifier (Comparators).
  • U2: L293D, function: H-Bridge Motor Driver IC.
  • M1: 9 V DC Gear Motor, function: Tracking actuator.
  • C1: 100 nF capacitor, function: Power supply decoupling.

Wiring guide

This circuit uses two parallel voltage dividers compared by two OpAmps to determine motor direction.

  • Power Supply:
  • Connect V1 positive terminal to node VCC.
  • Connect V1 negative terminal to node GND (0).
  • Connect C1 between VCC and GND.

  • Sensors (Dual Voltage Divider):

  • Connect R1 (LDR Left) between VCC and node VA (Sensor Voltage A).
  • Connect R3 between VA and GND.
  • Connect R2 (LDR Right) between VCC and node VB (Sensor Voltage B).
  • Connect R4 between VB and GND.

  • Comparators (LM358 – U1):

  • Comparator A (Turn Right/CW Logic):
    • Connect U1 Non-inverting input (+) to node VA.
    • Connect U1 Inverting input (-) to node VB.
    • Connect U1 Output A to node SIG_CW.
  • Comparator B (Turn Left/CCW Logic):
    • Connect U1 Non-inverting input (+) to node VB.
    • Connect U1 Inverting input (-) to node VA.
    • Connect U1 Output B to node SIG_CCW.
  • Connect U1 VCC pin to VCC and GND pin to GND.

  • Motor Driver (L293D – U2):

  • Connect U2 Input 1 to node SIG_CW.
  • Connect U2 Input 2 to node SIG_CCW.
  • Connect U2 Enable 1 pin to VCC.
  • Connect U2 Output 1 to node M_POS.
  • Connect U2 Output 2 to node M_NEG.
  • Connect U2 VCC1 (Logic) and VCC2 (Power) to VCC.
  • Connect U2 GND pins to GND.

  • Actuator:

  • Connect M1 (Motor) between nodes M_POS and M_NEG.

Conceptual block diagram

Conceptual block diagram — LM358 Solar Tracking Logic
Quick read: inputs → main block → output (actuator or measurement). This summarizes the ASCII schematic below.

Schematic

[ INPUTS / SENSORS ]               [ LOGIC / PROCESSING ]                  [ ACTUATOR ]

   [ Power Supply Block ]
   [ Source: V1 (9 V)    ] --(VCC/GND Power)--> (Distributes to all ICs and Sensors)
   [ Filter: C1 (100nF) ]

                                         [ U1: LM358 Dual OpAmp ]
                                         |                      |
   [ Left Light Sensor  ]                | Comparator A (Logic) |
   [ Top: R1 (LDR)      ] --(Signal VA)->| Input: VA > VB ?     |--(SIG_CW)--->+
   [ Bot: R3 (10k Ohm)  ]                | Output: Turn CW      |              |
                                         |                      |              |
                                         |                      |              v
                                         | Comparator B (Logic) |      [ U2: L293D H-Bridge ]
   [ Right Light Sensor ]                | Input: VB > VA ?     |      |                    |
   [ Top: R2 (LDR)      ] --(Signal VB)->| Output: Turn CCW     |      | Input 1: CW Sig    |
   [ Bot: R4 (10k Ohm)  ]                |                      |      | Input 2: CCW Sig   |===(High Current)==> [ M1: Gear Motor ]
                                         +----------+-----------+      | Enable: VCC        |      (9 V DC)
                                                    |                  | VCC1/VCC2: 9 V      |
                                                    +--(SIG_CCW)------>| GND: Common        |
                                                                       +--------------------+
Schematic (ASCII)

Measurements and tests

Follow these steps to validate the tracker logic:

  1. Static Equilibrium Test:

    • Expose both LDRs to ambient light equally.
    • Measure the voltage at node VA and VB. They should be approximately equal.
    • Measure SIG_CW and SIG_CCW. Both should be Low (approx. 0 V) or balanced, keeping the motor stopped.
  2. Left Shade Simulation:

    • Cover R1 (Left LDR) with your hand.
    • Observation: The resistance of R1 increases, causing voltage at VA to drop.
    • Logic Check: Since VB > VA, Comparator B (Non-inverting = VB) should go High (SIG_CCW ≈ VCC).
    • Actuator: The motor should spin Counter-Clockwise.
  3. Right Shade Simulation:

    • Expose R1 to light and cover R2 (Right LDR).
    • Observation: The resistance of R2 increases, causing voltage at VB to drop.
    • Logic Check: Since VA > VB, Comparator A (Non-inverting = VA) should go High (SIG_CW ≈ VCC).
    • Actuator: The motor should spin Clockwise.

SPICE netlist and simulation

Reference SPICE Netlist (ngspice) — excerptFull SPICE netlist (ngspice)

* Single-axis Solar Tracker Simulation
* Based on Practical Electronics Breadboard Case

* --- Power Supply ---
* V1: 9 V DC power supply
V1 VCC 0 DC 9V
* C1: 100 nF capacitor (Decoupling)
C1 VCC 0 100nF

* --- Dynamic Light Stimulus (Virtual Control) ---
* This source simulates the position of the sun moving from Left to Right.
* 0V = Light on Left Sensor, 5V = Light on Right Sensor.
* Sweeps linearly from 0V to 5V over 100ms.
V_LIGHT LIGHT_POS 0 PWL(0 0 100m 5)

* --- Sensors (LDRs) ---
* Modeled as voltage-dependent resistors controlled by LIGHT_POS.
* R1 (Left LDR): Resistance increases as Light moves Right (LIGHT_POS increases).
* Range: 1k (Bright) to 50k (Dark).
R1 VCC VA R = '1k + 49k * (V(LIGHT_POS)/5)'
* ... (truncated in public view) ...

Copy this content into a .cir file and run with ngspice.

🔒 Part of this section is premium. With the 7-day pass or the monthly membership you can access the full content (materials, wiring, detailed build, validation, troubleshooting, variants and checklist) and download the complete print-ready PDF pack.

* Single-axis Solar Tracker Simulation
* Based on Practical Electronics Breadboard Case

* --- Power Supply ---
* V1: 9 V DC power supply
V1 VCC 0 DC 9V
* C1: 100 nF capacitor (Decoupling)
C1 VCC 0 100nF

* --- Dynamic Light Stimulus (Virtual Control) ---
* This source simulates the position of the sun moving from Left to Right.
* 0V = Light on Left Sensor, 5V = Light on Right Sensor.
* Sweeps linearly from 0V to 5V over 100ms.
V_LIGHT LIGHT_POS 0 PWL(0 0 100m 5)

* --- Sensors (LDRs) ---
* Modeled as voltage-dependent resistors controlled by LIGHT_POS.
* R1 (Left LDR): Resistance increases as Light moves Right (LIGHT_POS increases).
* Range: 1k (Bright) to 50k (Dark).
R1 VCC VA R = '1k + 49k * (V(LIGHT_POS)/5)'

* R2 (Right LDR): Resistance decreases as Light moves Right.
* Range: 50k (Dark) to 1k (Bright).
R2 VCC VB R = '1k + 49k * (1 - V(LIGHT_POS)/5)'

* --- Voltage Divider Bottom Legs ---
* R3: 10 kΩ resistor for R1
R3 VA 0 10k
* R4: 10 kΩ resistor for R2
R4 VB 0 10k

* --- Comparators (U1: LM358) ---
* U1 is a Dual OpAmp. We define a subcircuit matching the 8-pin DIP pinout.
* Pinout: 1=OutA, 2=In-A, 3=In+A, 4=GND, 5=In+B, 6=In-B, 7=OutB, 8=VCC
* Wiring Guide:
* Comparator A (CW): (+) VA, (-) VB -> Out SIG_CW
* Comparator B (CCW): (+) VB, (-) VA -> Out SIG_CCW
XU1 SIG_CW VB VA 0 VB VA SIG_CCW VCC LM358_DIP8

* --- Motor Driver (U2: L293D) ---
* U2 is an H-Bridge Driver. We define a subcircuit for the used pins.
* Pinout used: 1=EN1, 2=IN1, 3=OUT1, 4/5=GND, 6=OUT2, 7=IN2, 8=VCC2, 16=VCC1
* Wiring Guide:
* IN1=SIG_CW, IN2=SIG_CCW, OUT1=M_POS, OUT2=M_NEG, EN1=VCC
XU2 VCC SIG_CW M_POS 0 0 M_NEG SIG_CCW VCC VCC L293D_BRIDGE

* --- Actuator (M1: 9V DC Gear Motor) ---
* Modeled as a resistive/inductive load.
R_M1 M_POS M_INT 20
L_M1 M_INT M_NEG 5mH

* --- Subcircuit Definitions ---

.subckt LM358_DIP8 OUTA INMA INPA GND INPB INMB OUTB VCC
* Comparator A Behavior (Sigmoid for convergence)
* Output swings approx 0V to VCC-1.5V
B_OUTA OUTA 0 V = (V(VCC)-1.5) / (1 + exp(-50*(V(INPA)-V(INMA)))) + 0.05
* Comparator B Behavior
B_OUTB OUTB 0 V = (V(VCC)-1.5) / (1 + exp(-50*(V(INPB)-V(INMB)))) + 0.05
.ends

.subckt L293D_BRIDGE EN1 IN1 OUT1 GND1 GND2 OUT2 IN2 VCC2 VCC1
* Logic Threshold approx 2.0V.
* Output Voltage ~ VCC2 - 1.4V drop.
* Enable Logic
B_EN node_en 0 V = 1 / (1 + exp(-50*(V(EN1)-2.0)))
* Output 1 (M_POS)
B_O1 OUT1 0 V = V(node_en) * (1/(1+exp(-50*(V(IN1)-2.0)))) * (V(VCC2)-1.4)
* Output 2 (M_NEG)
B_O2 OUT2 0 V = V(node_en) * (1/(1+exp(-50*(V(IN2)-2.0)))) * (V(VCC2)-1.4)
.ends

* --- Simulation Directives ---
.op
* Transient analysis: 100ms duration to capture the full light sweep
.tran 100u 100m

* Print signals to verify logic:
* VA/VB: Sensor Voltages
* SIG_CW/CCW: Comparator Logic Outputs
* M_POS/M_NEG: Motor Drive Voltages
.print tran V(VA) V(VB) V(SIG_CW) V(SIG_CCW) V(M_POS) V(M_NEG) V(LIGHT_POS)

.end

Simulation Results (Transient Analysis)

Simulation Results (Transient Analysis)
Show raw data table (3024 rows)
Index   time            v(va)           v(vb)           v(sig_cw)
0	0.000000e+00	8.181818e+00	1.500000e+00	7.550000e+00
1	1.000000e-06	8.181454e+00	1.500012e+00	7.550000e+00
2	2.000000e-06	8.181089e+00	1.500025e+00	7.550000e+00
3	4.000000e-06	8.180361e+00	1.500049e+00	7.550000e+00
4	8.000000e-06	8.178903e+00	1.500098e+00	7.550000e+00
5	1.600000e-05	8.175990e+00	1.500196e+00	7.550000e+00
6	3.200000e-05	8.170168e+00	1.500392e+00	7.550000e+00
7	6.400000e-05	8.158542e+00	1.500784e+00	7.550000e+00
8	1.280000e-04	8.135365e+00	1.501569e+00	7.550000e+00
9	2.280000e-04	8.099394e+00	1.502797e+00	7.550000e+00
10	3.280000e-04	8.063833e+00	1.504028e+00	7.550000e+00
11	4.280000e-04	8.028586e+00	1.505260e+00	7.550000e+00
12	5.280000e-04	7.993645e+00	1.506495e+00	7.550000e+00
13	6.280000e-04	7.959008e+00	1.507732e+00	7.550000e+00
14	7.280000e-04	7.924669e+00	1.508970e+00	7.550000e+00
15	8.280000e-04	7.890626e+00	1.510211e+00	7.550000e+00
16	9.280000e-04	7.856873e+00	1.511454e+00	7.550000e+00
17	1.028000e-03	7.823409e+00	1.512699e+00	7.550000e+00
18	1.128000e-03	7.790228e+00	1.513945e+00	7.550000e+00
19	1.228000e-03	7.757327e+00	1.515194e+00	7.550000e+00
20	1.328000e-03	7.724703e+00	1.516445e+00	7.550000e+00
21	1.428000e-03	7.692352e+00	1.517698e+00	7.550000e+00
22	1.528000e-03	7.660271e+00	1.518953e+00	7.550000e+00
23	1.628000e-03	7.628457e+00	1.520211e+00	7.550000e+00
... (3000 more rows) ...

Common mistakes and how to avoid them

  1. LDRs placed too close together:

    • Symptom: The system is insensitive and requires extreme light angles to react.
    • Solution: Mount the LDRs with a physical blinder (a piece of cardboard or plastic) between them so a shadow is cast on one LDR when the light is not perfectly centered.
  2. Driving the motor directly from OpAmps:

    • Symptom: The motor hums but doesn’t turn, or the OpAmp overheats and fails.
    • Solution: Always use a current driver stage like the L293D or a transistor H-Bridge. OpAmps cannot supply the current required by motors (typically >100 mA).
  3. Lack of Deadband (Jittering):

    • Symptom: The motor constantly vibrates back and forth when the light is centered.
    • Solution: This basic topology is a «bang-bang» controller. In advanced designs, add hysteresis resistors to the OpAmps to create a small voltage window where the motor remains off.

Troubleshooting

  • Motor spins in the wrong direction:
    • Cause: The motor polarity is reversed relative to the sensor placement.
    • Fix: Swap the connections of M1 (M_POS and M_NEG) OR physically swap the positions of R1 and R2.
  • Motor runs continuously even in equal light:
    • Cause: Large tolerance difference between the two LDRs or fixed resistors (R3/R4).
    • Fix: Replace one fixed resistor (e.g., R3) with a 10k trim potentiometer to calibrate the bridge balance manually.
  • Nothing happens when light changes:
    • Cause: L293D Enable pin not connected high.
    • Fix: Ensure the Enable pin of the driver is connected to VCC.

Possible improvements and extensions

  1. Sensitivity Control: Replace the fixed resistors R3 and R4 with a single multi-turn potentiometer. Connect the wiper to ground and the ends to the LDRs to allow fine-tuning of the center point.
  2. Solar Power Integration: Replace V1 with a small solar panel and a charging circuit to make the tracker self-sustaining.

More Practical Cases on Prometeo.blog

Find this product and/or books on this topic on Amazon

Go to Amazon

As an Amazon Associate, I earn from qualifying purchases. If you buy through this link, you help keep this project running.

Quick Quiz

Question 1: What is the primary objective of the control circuit described in the text?




Question 2: Which component is used as the light sensor in this circuit?




Question 3: What is a real-world application of this 'sun seeker' circuit mentioned in the text?




Question 4: How does the motor behave when the light source is balanced between the two sensors?




Question 5: What happens to the motor when LDR1 is shaded?




Question 6: What happens to the motor when LDR2 is shaded?




Question 7: Which component is identified as U1 in the context of this circuit?




Question 8: Which component is identified as U2 and is responsible for driving the motor?




Question 9: What is the role of the 10 kΩ resistors (R3 and R4) in the circuit design?




Question 10: Who is the specific target audience for this practical case?




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

Telecommunications Electronics Engineer and Computer Engineer (official degrees in Spain).

Follow me:


Practical case: Object counter on conveyor belt

Object counter on conveyor belt prototype (Maker Style)

Level: Basic – Build a light interruption sensor system to detect objects moving on a line.

Objective and use case

In this practical case, you will build an optical barrier using a photoresistor (LDR) and an operational amplifier configured as a voltage comparator. The circuit detects when an opaque object interrupts a continuous beam of light, triggering a signal that can be counted or processed.

Why it is useful:
* Industrial automation: Used to count products moving on a conveyor belt.
* Safety barriers: Detects if a person or object crosses a dangerous boundary.
* Intruder alarms: Triggers a warning when a beam of invisible or visible light is broken.
* Parking systems: Detects the presence of a vehicle in a specific spot.

Expected outcome:
* State A (Light path clear): The sensor receives light, and the output indicator (Red LED) remains OFF (Logic Low).
* State B (Object detected): The object blocks the light, increasing LDR resistance. The output indicator turns ON (Logic High).
* Signal Threshold: The comparator switches states when the sensor voltage crosses the adjustable reference voltage (approx. 2.5 V).

Target audience: Level Basic

Materials

  • V1: 5 V DC power supply, function: main circuit power.
  • R1: 10 kΩ resistor, function: voltage divider top for reference.
  • R2: 10 kΩ resistor, function: voltage divider bottom for reference.
  • R3: 10 kΩ resistor, function: pull-up resistor for the sensor node.
  • R4: Photoresistor (LDR), function: light detection sensor.
  • R5: 330 Ω resistor, function: current limiting for output indicator LED.
  • R6: 330 Ω resistor, function: current limiting for emitter LED.
  • D1: White LED, function: light emitter (simulates the beam source).
  • D2: Red LED, function: output indicator (object detected).
  • U1: LM358 or similar OpAmp, function: voltage comparator.

Wiring guide

This circuit relies on comparing two voltages: a fixed reference (V_REF) and a variable sensor voltage (V_SENSE).

Power Connections
* V1 (+) connects to node VCC.
* V1 (-) connects to node 0 (GND).
* U1 (Pin 8 / VCC) connects to VCC.
* U1 (Pin 4 / GND) connects to 0.

Reference Voltage (V_REF)
* R1 connects between VCC and V_REF.
* R2 connects between V_REF and 0.
* U1 (Pin 2 / Inverting Input) connects to V_REF.
* Note: This sets a fixed threshold of 2.5 V.

Sensor Voltage (V_SENSE)
* R3 connects between VCC and V_SENSE.
* R4 (LDR) connects between V_SENSE and 0.
* U1 (Pin 3 / Non-Inverting Input) connects to V_SENSE.
* Logic: When light is blocked, R4 resistance increases, V_SENSE rises. If V_SENSE > V_REF, Output goes High.

Light Emitter (Source)
* R6 connects between VCC and NODE_EMIT.
* D1 (Anode) connects to NODE_EMIT.
* D1 (Cathode) connects to 0.
* Place D1 physically facing R4 (LDR).

Output Stage
* U1 (Pin 1 / Output) connects to V_OUT.
* R5 connects between V_OUT and NODE_LED.
* D2 (Anode) connects to NODE_LED.
* D2 (Cathode) connects to 0.

Conceptual block diagram

Conceptual block diagram — LM358 Light Beam Interruption Logic
Quick read: inputs → main block → output (actuator or measurement). This summarizes the ASCII schematic below.

Schematic

[ INPUTS / SENSORS ]                     [ LOGIC / PROCESSING ]             [ OUTPUTS ]

    [ LIGHT SOURCE ]
    [ VCC -> R6 -> D1 (White) ]
             |
      (Light Beam Path)
             |
             V
    [ SENSOR DIVIDER ]
    [ VCC -> R3 -> Node -> R4 ] --(V_SENSE)-->+----------------+
    [ (R4=LDR, varies w/ light)]              |   Pin 3 (+)    |
                                              |                |
                                              |    U1 LM358    |
                                              |   (Comparator) | --(Pin 1)--> [ R5 (330) ] --> [ D2 (Red LED) ] --> GND
                                              |                |
    [ REFERENCE DIVIDER ]                     |                |
    [ VCC -> R1 -> Node -> R2 ] --(V_REF)---->|   Pin 2 (-)    |
    [ (Fixed 2.5 V Threshold)  ]               +----------------+
Schematic (ASCII)

Electrical diagram

Electrical diagram — Object counter on conveyor belt
Generated from the validated SPICE netlist for this case.

🔒 This electrical diagram is premium. With the 7-day pass or the monthly membership you can unlock the complete didactic material and the print-ready PDF pack.🔓 See premium access plans

Measurements and tests

  1. Reference Check: Use a multimeter to measure the voltage between V_REF and 0. It should be approximately 2.5 V (half of VCC).
  2. Light Condition (Clear Path): Ensure the Emitter LED (D1) shines on the LDR (R4). Measure V_SENSE. It should be lower than V_REF (e.g., < 2.0 V). The Output LED (D2) should be OFF.
  3. Dark Condition (Object Detected): Place an object (cardboard or finger) between D1 and R4. Measure V_SENSE. It should rise higher than V_REF (e.g., > 3.0 V). The Output LED (D2) should turn ON.
  4. Comparator Output: Measure V_OUT relative to 0. In the «Dark» state, it should be close to 3.5 V – 4 V (High). In the «Light» state, it should be close to 0 V (Low).

SPICE netlist and simulation

Reference SPICE Netlist (ngspice) — excerptFull SPICE netlist (ngspice)

* Practical case: Object counter on conveyor belt

* -----------------------------------------------------------------------------
* Power Supply
* Wiring: V1 (+) to VCC, V1 (-) to 0 (GND)
* -----------------------------------------------------------------------------
V1 VCC 0 DC 5

* -----------------------------------------------------------------------------
* Reference Voltage Divider
* Wiring: R1 between VCC and V_REF, R2 between V_REF and 0
* Function: Sets threshold voltage (approx 2.5V)
* -----------------------------------------------------------------------------
R1 VCC V_REF 10k
R2 V_REF 0 10k

* -----------------------------------------------------------------------------
* Sensor Network
* Wiring: R3 between VCC and V_SENSE, R4 (LDR) between V_SENSE and 0
* Simulation Note: R4 is modeled as a behavioral resistor to simulate the
* ... (truncated in public view) ...

Copy this content into a .cir file and run with ngspice.

🔒 Part of this section is premium. With the 7-day pass or the monthly membership you can access the full content (materials, wiring, detailed build, validation, troubleshooting, variants and checklist) and download the complete print-ready PDF pack.

* Practical case: Object counter on conveyor belt

* -----------------------------------------------------------------------------
* Power Supply
* Wiring: V1 (+) to VCC, V1 (-) to 0 (GND)
* -----------------------------------------------------------------------------
V1 VCC 0 DC 5

* -----------------------------------------------------------------------------
* Reference Voltage Divider
* Wiring: R1 between VCC and V_REF, R2 between V_REF and 0
* Function: Sets threshold voltage (approx 2.5V)
* -----------------------------------------------------------------------------
R1 VCC V_REF 10k
R2 V_REF 0 10k

* -----------------------------------------------------------------------------
* Sensor Network
* Wiring: R3 between VCC and V_SENSE, R4 (LDR) between V_SENSE and 0
* Simulation Note: R4 is modeled as a behavioral resistor to simulate the
* changing resistance of an LDR when an object blocks the light.
* -----------------------------------------------------------------------------
R3 VCC V_SENSE 10k

* R4 (LDR) Implementation:
* Resistance = 1k (Light/No Object) to 100k (Dark/Object Detected)
* Controlled by dummy voltage source V_OBJ_CTRL
R4 V_SENSE 0 R='1k + 99k / (1 + exp(-50 * (V(V_OBJ_CTRL) - 2.5)))'

* -----------------------------------------------------------------------------
* Light Emitter (Source)
* Wiring: R6 between VCC and NODE_EMIT, D1 Anode to NODE_EMIT, Cathode to 0
* -----------------------------------------------------------------------------
R6 VCC NODE_EMIT 330
D1 NODE_EMIT 0 D_WHITE

* -----------------------------------------------------------------------------
* Comparator (U1: LM358)
* Wiring: Pin 8=VCC, Pin 4=0, Pin 3=V_SENSE (+), Pin 2=V_REF (-), Pin 1=V_OUT
* -----------------------------------------------------------------------------
XU1 V_SENSE V_REF VCC 0 V_OUT LM358_COMP

* -----------------------------------------------------------------------------
* Output Stage
* Wiring: R5 between V_OUT and NODE_LED, D2 Anode to NODE_LED, Cathode to 0
* -----------------------------------------------------------------------------
R5 V_OUT NODE_LED 330
D2 NODE_LED 0 D_RED

* -----------------------------------------------------------------------------
* Dynamic Stimuli (Object Simulation)
* This source drives the behavioral LDR (R4).
* Logic: 0V = Clear (Light), 5V = Object (Dark)
* Timing: Wait 50us, Pulse High for 100us, Repeat every 300us
* -----------------------------------------------------------------------------
V_OBJ V_OBJ_CTRL 0 PULSE(0 5 50u 10u 10u 100u 300u)

* -----------------------------------------------------------------------------
* Models and Subcircuits
* -----------------------------------------------------------------------------
.model D_WHITE D(IS=1e-14 N=4 RS=10) ; High Vf simulation for White LED
.model D_RED D(IS=1e-12 N=2 RS=5)    ; Standard Red LED

* Behavioral OpAmp Subcircuit (Comparator)
* Pinout Order: Non-Inv(+), Inv(-), VCC, GND, Output
.subckt LM358_COMP P M V_POS V_NEG OUT
  * Sigmoid function for robust switching behavior (Rail-to-Rail logic approx)
  * V(OUT) approaches V_POS when P > M, V_NEG when P < M
  B1 OUT 0 V = V(V_POS) * (1 / (1 + exp(-100 * (V(P) - V(M)))))
.ends

* -----------------------------------------------------------------------------
* Analysis Directives
* -----------------------------------------------------------------------------
.op
.tran 1u 500u

* Print required signals for batch processing
.print tran V(V_SENSE) V(V_REF) V(V_OUT) V(V_OBJ_CTRL)

Simulation Results (Transient Analysis)

Simulation Results (Transient Analysis)
Show raw data table (1064 rows)
Index   time            v(v_sense)      v(v_ref)        v(v_out)
0	0.000000e+00	4.545455e-01	2.500000e+00	7.345271e-89
1	1.000000e-08	4.545455e-01	2.500000e+00	7.345271e-89
2	2.000000e-08	4.545455e-01	2.500000e+00	7.345271e-89
3	4.000000e-08	4.545455e-01	2.500000e+00	7.345271e-89
4	8.000000e-08	4.545455e-01	2.500000e+00	7.345271e-89
5	1.600000e-07	4.545455e-01	2.500000e+00	7.345271e-89
6	3.200000e-07	4.545455e-01	2.500000e+00	7.345271e-89
7	6.400000e-07	4.545455e-01	2.500000e+00	7.345271e-89
8	1.280000e-06	4.545455e-01	2.500000e+00	7.345271e-89
9	2.280000e-06	4.545455e-01	2.500000e+00	7.345271e-89
10	3.280000e-06	4.545455e-01	2.500000e+00	7.345271e-89
11	4.280000e-06	4.545455e-01	2.500000e+00	7.345271e-89
12	5.280000e-06	4.545455e-01	2.500000e+00	7.345271e-89
13	6.280000e-06	4.545455e-01	2.500000e+00	7.345271e-89
14	7.280000e-06	4.545455e-01	2.500000e+00	7.345271e-89
15	8.280000e-06	4.545455e-01	2.500000e+00	7.345271e-89
16	9.280000e-06	4.545455e-01	2.500000e+00	7.345271e-89
17	1.028000e-05	4.545455e-01	2.500000e+00	7.345271e-89
18	1.128000e-05	4.545455e-01	2.500000e+00	7.345271e-89
19	1.228000e-05	4.545455e-01	2.500000e+00	7.345271e-89
20	1.328000e-05	4.545455e-01	2.500000e+00	7.345271e-89
21	1.428000e-05	4.545455e-01	2.500000e+00	7.345271e-89
22	1.528000e-05	4.545455e-01	2.500000e+00	7.345271e-89
23	1.628000e-05	4.545455e-01	2.500000e+00	7.345271e-89
... (1040 more rows) ...

Common mistakes and how to avoid them

  • Swapping OpAmp inputs: Connecting the Reference to the Non-Inverting (+) input instead of the Inverting (-) input will reverse the logic (LED turns OFF when object is detected). Ensure V_SENSE goes to the Non-Inverting (+) pin for «Dark Detection».
  • Ambient Light interference: The LDR is very sensitive. If the room is bright, the «Dark» state might not be dark enough to trigger the threshold. Use a small tube or tape to shield the LDR.
  • Incorrect LDR placement: If the LDR (R4) is placed in the top leg of the voltage divider (swapped with R3), the logic is inverted. Ensure R4 connects to Ground (0).

Troubleshooting

  • Output LED never turns ON:
    • Check if the object actually blocks the light completely.
    • Measure V_SENSE. If it never exceeds 2.5 V, increase the value of R3 (e.g., to 22 kΩ) to raise the voltage sensitivity.
  • Output LED never turns OFF:
    • The LDR might be receiving insufficient light from the Emitter.
    • Check alignment of D1 and R4.
    • Measure V_REF. If R1 is disconnected, V_REF might be 0 V, causing the output to stay High.
  • Output flickers:
    • The light source might be unstable, or the voltage is hovering exactly at the threshold. Add a decoupling capacitor (e.g., 100 nF) across the power rails near the OpAmp.

Possible improvements and extensions

  1. Adjustable Sensitivity: Replace R1 or R2 with a 10 kΩ potentiometer. This allows you to fine-tune the V_REF threshold to work in different ambient light conditions.
  2. Hysteresis (Schmidt Trigger): Add a high-value feedback resistor (e.g., 1 MΩ) between the Output (V_OUT) and the Non-Inverting input (V_SENSE). This prevents the LED from flickering if the object moves slowly across the beam.

More Practical Cases on Prometeo.blog

Find this product and/or books on this topic on Amazon

Go to Amazon

As an Amazon Associate, I earn from qualifying purchases. If you buy through this link, you help keep this project running.

Quick Quiz

Question 1: What is the primary component used to detect light intensity in this circuit?




Question 2: What is the specific role of the operational amplifier in this project?




Question 3: According to the expected outcome, what defines 'State B'?




Question 4: What is the status of the Red LED output indicator when an object is detected?




Question 5: What is the approximate reference voltage threshold for the comparator to switch states?




Question 6: How does the LDR's resistance change when an opaque object blocks the light beam?




Question 7: Which of the following is a listed industrial use case for this sensor system?




Question 8: In 'State A' (Light path clear), what is the logic state of the output?




Question 9: What type of safety application is mentioned for this optical barrier?




Question 10: What triggers the intruder alarm function in this system?




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

Telecommunications Electronics Engineer and Computer Engineer (official degrees in Spain).

Follow me:


Practical case: Simple light intensity meter

Simple light intensity meter prototype (Maker Style)

Level: Basic – Build a circuit where an LED dims as ambient light increases.

Objective and use case

You will construct a simple analog light sensor circuit using a photoresistor (LDR) in a configuration where the light output is inversely proportional to the ambient light intensity. This creates a «Dark Sensor» effect without using transistors.

Why it is useful:
* Automatic Lighting: Simulates street lamps or night lights that turn on automatically when it gets dark.
* Battery Efficiency: Ensures indicators are only active during low-light conditions when visibility is poor.
* Security Systems: Can detect if a sealed container or dark room has been breached by light.
* Concept Demonstration: Demonstrates current division and non-linear resistance components in parallel circuits.

Expected outcome:
* Dark condition: The LDR resistance is high, forcing current through the LED. The Red LED turns ON.
* Bright condition: The LDR resistance drops significantly, shunting current away from the LED. The Red LED turns OFF or dims significantly.
* Voltage shift: You will measure a voltage drop at the shared node as light increases.
* Target audience: Beginners and students familiar with basic breadboarding.

Materials

  • V1: 5 V DC supply, function: main power source
  • R1: 470 Ω resistor, function: current limiting and voltage divider upper leg
  • R2: LDR (GL5528 or similar), function: ambient light sensor (variable resistor)
  • D1: Red LED, function: low-light indicator

Wiring guide

We will use a «current shunt» topology. The LDR is placed in parallel with the LED.

  • VCC: Connect positive terminal of V1 to one side of R1.
  • VA: Connect the other side of R1 to the Anode (long leg) of D1.
  • VA: Connect one leg of R2 (LDR) to the same node (Anode of D1).
  • 0 (GND): Connect the Cathode (flat side/short leg) of D1 to the negative terminal of V1.
  • 0 (GND): Connect the remaining leg of R2 (LDR) to the negative terminal of V1.

Conceptual block diagram

Conceptual block diagram — Light Intensity Indicator
Quick read: inputs → main block → output (actuator or measurement). This summarizes the ASCII schematic below.

Schematic

[ POWER SOURCE ]              [ CURRENT LIMITER ]               [ SHUNT TOPOLOGY ]

                                                              +--> [ D1: Red LED ] --> GND
                                                              |    (Output Indicator)
    [ V1: 5 V DC ] --(+)--> [ R1: 470 Ω ] --(Node VA)--> [ + ]
                                                              |
                                                              +--> [ R2: LDR ] --> GND
                                                                   (Light Sensor)
Schematic (ASCII)

Electrical diagram

Electrical diagram for case: Simple light intensity meter
Generated from the validated SPICE netlist for this case.

🔒 This electrical diagram is premium. With the 7-day pass or the monthly membership you can unlock the complete didactic material and the print-ready PDF pack.🔓 See premium access plans

Measurements and tests

To validate that the circuit behaves inversely to light intensity:

  1. Set up the multimeter: Select DC Voltage mode (20 V range).
  2. Connect probes: Place the Red probe on node VA (Anode of LED) and Black probe on 0 (GND).
  3. Test 1 (Ambient/Bright Light):
    • Expose the LDR to bright light.
    • Observation: The LED should be DIM or OFF.
    • Measurement: The voltage at VA should drop below the LED forward voltage (likely < 1.5 V). The low resistance of the LDR shunts the current to ground.
  4. Test 2 (Darkness):
    • Cover the LDR completely with your finger or a cap.
    • Observation: The LED should light up BRIGHTLY.
    • Measurement: The voltage at VA should rise to the LED’s forward voltage (approx. 1.8 V to 2.0 V for a red LED). The high resistance of the LDR forces current through the LED.

SPICE netlist and simulation

Reference SPICE Netlist (ngspice) — excerptFull SPICE netlist (ngspice)

* Practical case: Simple light intensity meter

* --- Models ---
* Generic Red LED Model
* Parameters: IS=saturation current, N=emission coefficient, RS=series resistance
* BV=breakdown voltage, IBV=breakdown current, CJO=junction capacitance
.model DLED D(IS=1e-14 N=2 RS=10 BV=5 IBV=10u CJO=20p)

* --- Power Supply ---
* V1: 5V DC supply (Main power source)
* Connected between VCC and GND (0)
V1 VCC 0 DC 5

* --- Circuit Components ---
* R1: 470 Ohm resistor
* Function: Current limiting and voltage divider upper leg
* Wiring: Connects Positive Terminal of V1 (VCC) to Node VA
R1 VCC VA 470

* D1: Red LED
* ... (truncated in public view) ...

Copy this content into a .cir file and run with ngspice.

🔒 Part of this section is premium. With the 7-day pass or the monthly membership you can access the full content (materials, wiring, detailed build, validation, troubleshooting, variants and checklist) and download the complete print-ready PDF pack.

* Practical case: Simple light intensity meter

* --- Models ---
* Generic Red LED Model
* Parameters: IS=saturation current, N=emission coefficient, RS=series resistance
* BV=breakdown voltage, IBV=breakdown current, CJO=junction capacitance
.model DLED D(IS=1e-14 N=2 RS=10 BV=5 IBV=10u CJO=20p)

* --- Power Supply ---
* V1: 5V DC supply (Main power source)
* Connected between VCC and GND (0)
V1 VCC 0 DC 5

* --- Circuit Components ---
* R1: 470 Ohm resistor
* Function: Current limiting and voltage divider upper leg
* Wiring: Connects Positive Terminal of V1 (VCC) to Node VA
R1 VCC VA 470

* D1: Red LED
* Function: Low-light indicator
* Wiring: Anode to Node VA, Cathode to Negative Terminal of V1 (0)
D1 VA 0 DLED

* R2: LDR (GL5528 or similar)
* Function: Ambient light sensor (variable resistor)
* Wiring: Connects Node VA to Negative Terminal of V1 (0)
* Note: Modeled as a behavioral resistor where Resistance = V(V_LDR_CTRL).
* This allows simulating the change from Light (Low R) to Dark (High R).
R2 VA 0 R='V(V_LDR_CTRL)'

* --- Dynamic Stimuli (Simulation Only) ---
* V_LDR_SRC: Generates a voltage signal representing the LDR resistance in Ohms.
* Logic: 
*   - 100V (representing 100 Ohms) = Bright Light -> V(VA) drops -> LED OFF
*   - 10kV (representing 10k Ohms) = Dark -> V(VA) rises -> LED ON
* Timing: Fast pulse to demonstrate switching.
* PULSE(v1 v2 td tr tf pw per)
V_LDR_SRC V_LDR_CTRL 0 PULSE(100 10000 10u 100u 100u 500u 1000u)

* --- Analysis Directives ---
* Transient analysis: 5us step size, 2ms duration
.tran 5u 2ms

* Print specific nodes to verify operation
* V(VA): Voltage at the LED/LDR node (Should swing between ~0.8V and ~1.8V)
* V(V_LDR_CTRL): The resistance value being simulated
.print tran V(VA) V(V_LDR_CTRL)

.op
.end

Simulation Results (Transient Analysis)

Simulation Results (Transient Analysis)
Show raw data table (441 rows)
Index   time            v(va)           v(v_ldr_ctrl)
0	0.000000e+00	8.771739e-01	1.000000e+02
1	5.000000e-08	8.771739e-01	1.000000e+02
2	1.000000e-07	8.771739e-01	1.000000e+02
3	2.000000e-07	8.771739e-01	1.000000e+02
4	4.000000e-07	8.771739e-01	1.000000e+02
5	8.000000e-07	8.771739e-01	1.000000e+02
6	1.600000e-06	8.771739e-01	1.000000e+02
7	3.200000e-06	8.771739e-01	1.000000e+02
8	6.400000e-06	8.771739e-01	1.000000e+02
9	1.000000e-05	8.771739e-01	1.000000e+02
10	1.016024e-05	9.861073e-01	1.158634e+02
11	1.048071e-05	1.182699e+00	1.475902e+02
12	1.112165e-05	1.342799e+00	2.110437e+02
13	1.175485e-05	1.386540e+00	2.737299e+02
14	1.276008e-05	1.418826e+00	3.732481e+02
15	1.399489e-05	1.436968e+00	4.954940e+02
16	1.646450e-05	1.455127e+00	7.399857e+02
17	2.140373e-05	1.468889e+00	1.228969e+03
18	2.640373e-05	1.474732e+00	1.723969e+03
19	3.140373e-05	1.478748e+00	2.218969e+03
20	3.640373e-05	1.480441e+00	2.713969e+03
21	4.140373e-05	1.481529e+00	3.208969e+03
22	4.640373e-05	1.482571e+00	3.703969e+03
23	5.140373e-05	1.483189e+00	4.198969e+03
... (417 more rows) ...

Common mistakes and how to avoid them

  1. Placing components in Series:
    • Mistake: Wiring Source -> Resistor -> LDR -> LED -> Ground.
    • Result: This creates a «Light Sensor» (brighter light = brighter LED), which is the opposite of the objective.
    • Solution: Ensure the LDR is in parallel with the LED (sharing the same start and end nodes).
  2. Using a resistor value that is too high for R1:
    • Mistake: Using a 10 kΩ resistor for R1.
    • Result: The LED never turns on brightly even in total darkness because the current is too restricted.
    • Solution: Use 330 Ω to 470 Ω for a 5 V source to ensure sufficient current for the LED when the LDR is high-resistance.
  3. Expecting a «Hard» On/Off switch:
    • Mistake: Expecting digital-like switching.
    • Result: The LED dims gradually rather than snapping off.
    • Solution: Understand that this is a passive analog circuit. For a hard «snap» action, a transistor or comparator would be required.

Troubleshooting

  • Symptom: LED is always ON, even in bright light.
    • Cause: R1 value is too low, or LDR has very high resistance even in light (or is disconnected).
    • Fix: Check LDR connections. If correct, increase R1 to 1 kΩ to make it easier for the LDR to pull the voltage down.
  • Symptom: LED is always OFF.
    • Cause: LED wired backwards or R1 is too high.
    • Fix: Flip the LED orientation. Ensure R1 is < 1 kΩ.
  • Symptom: Source gets hot.
    • Cause: Short circuit. Likely R1 was bypassed, connecting VCC directly to the LDR or LED.
    • Fix: Ensure R1 is strictly between VCC and the VA node.

Possible improvements and extensions

  1. Sensitivity Adjustment: Replace R1 with a 1 kΩ potentiometer to tune exactly how dark it needs to be before the LED turns on.
  2. Color Mixing: Put a Green LED in series with the LDR (instead of parallel). As light increases, the Green LED gets brighter while the Red LED (parallel) gets dimmer, creating a color-shifting light monitor.

More Practical Cases on Prometeo.blog

Find this product and/or books on this topic on Amazon

Go to Amazon

As an Amazon Associate, I earn from qualifying purchases. If you buy through this link, you help keep this project running.

Quick Quiz

Question 1: What is the primary objective of the circuit described in the text?




Question 2: Which component acts as the ambient light sensor in this circuit?




Question 3: What happens to the Red LED in a 'Dark condition'?




Question 4: Why is this circuit useful for battery efficiency?




Question 5: What electrical concept does this circuit demonstrate?




Question 6: How does the circuit achieve the 'Dark Sensor' effect without transistors?




Question 7: What happens to the LDR resistance in a 'Bright condition'?




Question 8: Which of the following is a listed use case for this circuit?




Question 9: What happens to the voltage at the shared node as light increases?




Question 10: In the 'Dark condition', why does the LED turn on?




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

Telecommunications Electronics Engineer and Computer Engineer (official degrees in Spain).

Follow me: