Automotive stepper motor control using Easy Driver and Nano


I have a nano and a sparkfun easy driver that I thought might work for a automotive project but I am not so sure anymore. The issue is that I originally thought that my aftermarket ecu would be able to output a 0-5v pwm signal which would be able to be fed to the arduino then to the easy driver to move a stepper motor a specific amount of steps based on parameters I set in the cars ecu. I found out that the ecu is designed in its current configuration to only ground a circuit to open and close a valve, so it does not send any sort of signal voltage out of the wire to be used. My thought was to use this switched ground wire to operate a relay which would send 5v to the arduino when I command the ecu to do so.

So my question is, how would I set up the arduino to move the stepper motor out fully (about 255 steps) when it sees 5v and then move the stepper motor back in a number of steps from that position when the voltage is gone. or vise versa. Do I have the right hardware? Is there a better way to do this? I’ve done plenty of work with electronics but never with arduino so I am a little lost as to how exactly this would work. Hopefully I’ve provided enough info for the situation to make sense, if not let me know and thanks for looking.

The stepper in question is a GM style bipolar motor such as,

The ECU is a Megasquirt 2 with a v3 board, if that helps. I know there is stepper outputs, long answer short is they are being used by other parts of the car. So I must make this “fidle” switched ground wire work for a stepper.

Why not use a valve?

The throttle body only accepts this design of stepper motor valve.

There is no useful information in the link you posted, and no evidence that the valve is a stepper motor.

If the valve does employ a stepper, the motor winding specifications are needed to select a suitable driver. Please post a link to that info.

Otherwise, it is completely straightforward to use an Arduino to read a digital input, and command a motor to move. There are plenty of introductory tutorials on line.

Treat the ECU output as "open collector" and use a resistor connected to Arduino Vcc to get a usable signal.

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