Generating a 12V square wave (VCC load)

Hi,

I want to use an Arduino Mega 2560 for an automotive application. It will be used to drive a seat motor in which the motor is connected to a chassis ground, and a +12V square wave regulates the speed of the motor. Here is the wave I need to produce.
Screenshot 2023-08-10 at 7.34.24 PM

Other specifications are as follows:

  • Load needs to support up to 10A
  • Needs to be able to switch on and off at high frequency, say 2-3KHz
  • Needs to have a logic-level control signal such that the Arduino GPIO is enough to turn it on

I've done a lot of research and it seems that the best solutions would be either a P-channel MOSFET, or an automotive-specific high side switch such as the BTS7002-1EPP from Infineon. I am somewhat deterred from using the latter because it seems like a lot of additional connections/components would be required. I'd like to keep the circuit as simple as possible.

I'm wondering if anyone has done something similar and what would be good components to use in this case. Any advice is appreciated. Thanks!

Build a low side switch with a logic level MOSFET or an ordinary MOSFET with a driver stage.

1 Like

For an automotive application you may find a P channel mosfet a better choice especially if the device you are driving is grounded to the chassis (negative earth) . At 2kHz to 3kHz you may just find that a simple high side switch circuit with a strong pullup resistor is OK here without incurring high switching losses.

1 Like

I did something similar and I used a bTS660, it is still working great. Be careful of your connections it will draw a lot of current if you have a fault. It is also important that it does not lose its ground connection.

If the motor is going to be reversible, you will need relays or a 4 transistor H-bridge.

Which Arduino? Will the motor be reversible? Will the speed be variable?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.