1
\$\begingroup\$

I am trying to design a circuit to switch 12V 90mA on/off using an Arduino Nano as the trigger.

Is there an optocoupler/transistor/MOSFET that can tolerate 12V at 100mA on the load side while still being switched by 5V from the Arduino Nano without overtaxing the nano?

I've tried a FQP30N06L MOSFET but the connection between the [S]ource and [D]rain pins allows enough voltage/current to flow when the MOSFET is in LOW state to keep that 12V circuit closed enough to run the load device. I added a resistor between Source and Drain to lower that voltage to zero in Low state but that also has the affect of dropping the 12V output to 11V when the MOSFET is switched HIGH.

Any advice would be great. I've been beating searching Google and SE for a few days trying to solve this.

Added - Data Sheet for the FQP30N06L MOSFET

The Load is an OBD2 reader for car diagnostics. Model: LAUNCH Creader 3001

enter image description here


I ended up using a HE3621A0510 reed relay to switch the ground of the OBD2 reader on and off. It worked great. Unfortunately now the reed relay stays closed when the Arduino trigger power is removed, until I tap the relay. Then the circuit opens again and shuts the OBD2 reader off.

Though the measured load current of the OBD2 reader (90mA - mind you this was measured with a digital multimeter) was far less than the the reed relay capacity (500mA), I feel there must be a spike in the current at startup high enough to weld the relay contacts a little. I have tried multiple reed relays of the same model number and they all do this, so it shouldn't be just a single defective unit.

Any chance a resistor in line with the load could help keep that inrush down or should I use a fly-back diode to stop it entirely?

\$\endgroup\$
3
  • 1
    \$\begingroup\$ What exactly is the "load device"? Please provide a link to the manufacturer's datasheet for the MOSFET. Explain what you mean by "dropping the 12V output to 11V"...where exactly are you measuring this? What is the yellow rectangle in the lower left of your diagram? Your diagram shows an Uno, not a Nano... which is it? \$\endgroup\$ Commented Feb 18, 2021 at 20:06
  • \$\begingroup\$ This diagram was created in Tinker Cad. They don't have a Nano so I used an Uno for reference. The yellow device is a multimeter, that is where the 11V is measured. \$\endgroup\$
    – HDub
    Commented Feb 18, 2021 at 20:55
  • \$\begingroup\$ The load is an OBD2 code reader for cars. The model is the LAUNCH Creader 3001. link \$\endgroup\$
    – HDub
    Commented Feb 18, 2021 at 20:56

3 Answers 3

1
\$\begingroup\$

Your circuit should work. I suspect that pin 8 is not set up as a real output (push-pull). That would explain the problems you are seeing.

To check this you can temporarily add a 1k pull up resistor from 3.3v to the drain when pin 8 is supposed to be low. If it doesn't stay really close to 0V then it would confirm it is set up as a open drain output and will not be able to drive pin 8 low.

You definitely don't want a resistor across the drain and source.

If you get it working right you won't need the other resistor either.

\$\endgroup\$
3
  • \$\begingroup\$ I tried the circuit without powering the Arduino and the Load device (OBD2 Code Reader) powered up. I measured the continuity across the S and D pins with the MOSFET just laying on the table, not attached to anything and found there was some continuity. Is this normal? \$\endgroup\$
    – HDub
    Commented Feb 18, 2021 at 21:26
  • \$\begingroup\$ @HDub are you measured in two direction? Just switch between S and D. \$\endgroup\$
    – user263983
    Commented Feb 18, 2021 at 22:41
  • \$\begingroup\$ I'm going to try a Reed Relay and see how that goes. Part#: HE3621A0510 Data Sheet: digikey.ca/htmldatasheets/production/1560293/0/0/1/he3600.html \$\endgroup\$
    – HDub
    Commented Feb 19, 2021 at 20:10
0
\$\begingroup\$

This arrangement will work better when doing low side switching of a load. It is not good practice to drive a capacitive load directly, you should use a series resistor. This prevents the current spike on the DIO pin while charging and discharging the gate. A 1K should be fine there as this will limit that spike to a few milliamps.

schematic

simulate this circuit – Schematic created using CircuitLab

There is one other potential problem. The OBDII reader is likely able to be powered either from batteries or by the OBDII port. Most readers only use the batteries so you can unplug the reader and still read the codes that you have previously downloaded from the port without being attached to the car. If you are breaking into the power pins on the reader to control it's power, you may need to do high side switching with a P-Channel MOSFET instead of doing low side switching with the N-Channel.

\$\endgroup\$
0
\$\begingroup\$

Would a ULN2003 do the job? It switches a connection to ground, and works with stepper motors, so should have no problem with the load.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.