Electronic – Driving a 24V isolated load from a 3.3V MCU

3.3vmicrocontrolleropto-isolator

I am looking to drive a 12-24V purely resistive load from a 3.3V MCU. I would like to use an opto-isolator to separate the circuits electrically. I've drawn up the following circuit, but I'm not sure about exactly how to simulate it in CircuitLab. Can someone please tell me if the following circuit will work for my needs or what changes I need to consider?

My concern with driving the MOSFET is that its Vgs max voltage is 20V, so I've put a voltage divider to limit it to ~10V when the opto-isolator turns on. I know I can use a MOSFET with a higher Vgs voltage, but I couldn't find any with the package size of the FDMC0310AS.

Thanks in advance for your help.

EDITED:

Original Image:

enter image description here

Modified Circuit:

enter image description here

Best Answer

This is mostly like your circuit, but the center of the voltage divider is being driven instead of the end, which will drive the load (R4) with nice snappy edges.

Be aware that when the MCU's output is low the load will be hot, so in order to start with the load cold the MCU's output must be high on power-up.

enter image description here

and here's the LTspice circuit list if you want to play with the circuit.

Version 4
SHEET 1 1576 736
WIRE 656 0 560 0
WIRE 784 0 656 0
WIRE 656 32 656 0
WIRE 784 32 784 0
WIRE 784 144 784 112
WIRE 128 208 96 208
WIRE 256 208 208 208
WIRE 656 208 656 112
WIRE 656 208 448 208
WIRE 656 224 656 208
WIRE 736 224 656 224
WIRE 96 304 96 208
WIRE 256 304 192 304
WIRE 480 304 448 304
WIRE 560 304 560 0
WIRE 656 304 656 224
WIRE 96 416 96 384
WIRE 192 416 192 304
WIRE 192 416 96 416
WIRE 288 416 192 416
WIRE 480 416 480 304
WIRE 480 416 368 416
WIRE 496 416 480 416
WIRE 560 416 560 384
WIRE 560 416 496 416
WIRE 656 416 656 384
WIRE 656 416 560 416
WIRE 784 416 784 240
WIRE 784 416 656 416
WIRE 496 464 496 416
FLAG 496 464 0
SYMBOL nmos 736 144 R0
SYMATTR InstName Q1
SYMATTR Value FDMC8462
SYMBOL voltage 560 288 R0
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
SYMATTR InstName V2
SYMATTR Value 24
SYMBOL voltage 96 288 R0
WINDOW 3 24 96 Invisible 2
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
SYMATTR InstName V1
SYMATTR Value PULSE(3.3 0 100u0 1u 1u 100u 500u)
SYMBOL res 768 16 R0
SYMATTR InstName R4
SYMATTR Value 2.4
SYMBOL res 224 192 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName R1
SYMATTR Value 75
SYMBOL res 640 288 R0
SYMATTR InstName R3
SYMATTR Value 1000
SYMBOL res 640 16 R0
SYMATTR InstName R2
SYMATTR Value 1000
SYMBOL Optos\\PC817A 352 256 R0
SYMATTR InstName U1
SYMBOL res 384 400 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName Rsim
SYMATTR Value 1G
TEXT 502 440 Left 2 !.tran 1000u uic