Go Down

Topic: Controlling isolated 0-5V  (Read 375 times) previous topic - next topic

stueveone

Hi all,

I would like to use and Arduino to replace the 0-5V 10K analog potentiometer that is currently used to control the speed input on a DC motor controller. Additionally, the Arduino and the 0-5V speed control input must be isolated. I have tried using a digital pot (MCP4131) but it is acting erratically (I suspect the current is too great because the 4131 is getting very hot). I do not have any current ratings on the 0-5V speed control circuit.  I have also used a PWM signal from Arduino to mimic the voltage on the wiper, which works well, but does not solve the isolation constraint.

Any thoughts on where to go from here?


Best,
stueveone

DVDdoug

PWM is digital so it will pass-through an optical isolator but if you need "higher current" you might have to add a MOSFET or transistor driver circuit.

With a 10K pot and 5V you can't get a LOT of current (but it might depend on the pot setting which can give you lower resistance and more current, depending on the resistance of the attached load).

Quote
I have tried using a digital pot (MCP4131) but it is acting erratically
How did you isolate that?

stueveone

Thanks for the response DVDdoug.

Quote
PWM is digital so it will pass-through an optical isolator
That's interesting. I'll do some research on that and see what I come up with.

Quote
How did you isolate that?
That's the thing, I didn't!  :o 


6v6gt

You may find something here. It is about a similar problem of replacing an isolated motor controller potentiometer using a pwm method:
https://forum.arduino.cc/index.php?topic=511067.5

MarkT

#4
Sep 14, 2019, 01:58 pm Last Edit: Sep 14, 2019, 01:59 pm by MarkT
Hi all,

I would like to use and Arduino to replace the 0-5V 10K analog potentiometer that is currently used to control the speed input on a DC motor controller. Additionally, the Arduino and the 0-5V speed control input must be isolated. I have tried using a digital pot (MCP4131) but it is acting erratically (I suspect the current is too great because the 4131 is getting very hot). I do not have any current ratings on the 0-5V speed control circuit.  I have also used a PWM signal from Arduino to mimic the voltage on the wiper, which works well, but does not solve the isolation constraint.

Any thoughts on where to go from here?


Best,
stueveone
Digital pots are not isolated at all.  If its getting hot, its probably fried.  There is no easy way to do this isolated, you need to know more about the motor controller, in particular what voltage it uses on the pot, whether it has open-circuit and closed-circuit failsafe modes on the potentiometer connections.  The receive side needs power from the controller circuit too of course.

The conceptually easiest approach is servo controlling the existing pot shaft.

You've posted no details of the motor controller, this is the primary piece of information required.

Also why the isolation requirement?
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

TomGeorge

Hi,
Can you post a diagram of how you have the Arduino, what model, and the digital pot and motor controller please?

Can you please post a link to data/specs of the motor controller?

Tom.... :)
Everything runs on smoke, let the smoke out, it stops running....

wvmarle

Additionally, the Arduino and the 0-5V speed control input must be isolated.
Why dos it have to be isolated? That's rather unusual.

You could mount a regular pot to a servo... full electric isolation between the to.
Quality of answers is related to the quality of questions. Good questions will get good answers. Useless answers are a sign of a poor question.

6v6gt

Presumably the motor controller is not cleanly isolated from the mains supply, hence the isolation requirement for the potentiometer.

TomGeorge

Presumably the motor controller is not cleanly isolated from the mains supply, hence the isolation requirement for the potentiometer.
Usually motor controllers have analog inputs designed to have their signal gnd connected to external gnd, such as the Arduino.
The system should work as the Arduino 5V and the controller 5V are within the specs  for the digital pot.
We await more information... :)
Everything runs on smoke, let the smoke out, it stops running....

6v6gt

OK. But here is an example of such a controller which specifically warns that the circuit is not at ground potential but I agree that we have to wait for the OP to come back.

https://www.bodine-electric.com/products/dc-controls/filtered-pwm-dc-basic-speed-control-open-chassis/0784/

stueveone

Sorry, stepped away from my computer for a few...

Quote
Digital pots are not isolated at all.  If its getting hot, its probably fried.  There is no easy way to do this isolated, you need to know more about the motor controller, in particular what voltage it uses on the pot, whether it has open-circuit and closed-circuit failsafe modes on the potentiometer connections.  The receive side needs power from the controller circuit too of course.
The voltage is 0-5V. How can I tell if it has failsafe modes? I'm not sure what you mean by "receive side needs power from the controller circuit"?

Quote
You've posted no details of the motor controller, this is the primary piece of information required.
I can try and get a schematic from the manufacturer, but that might take a bit.

Quote
Hi,
Can you post a diagram of how you have the Arduino, what model, and the digital pot and motor controller please?

Can you please post a link to data/specs of the motor controller?

Tom.... :)
I was able to get the digital pot to work with an LED and an external power source, so I don't think it's the digital pot circuit. Once I connected the digi pot circuit to the motor controller, that's when it got hot and acted erratically. It was connected in the same orientation as an analog potentiometer with respect to wiper and 0V and 5V.

Quote
Why dos it have to be isolated? That's rather unusual.
When I was sending a PWM signal straight from the Adruino, the only way I could get the motor controller to work is if I also connected the 0V signal from the motor controller to Arduino ground. This worked on its own and controlled the speed well. However, after connecting a display to the Arduino, whenever the motor went from off to on, it would reset the display. That is the why I reckoned I needed to isolate the signals coming from the motor controller.

Not sure if this helps clarify or not? I'll see about obtaining a motor controller schematic.


Best,
stueveone




stueveone

@6v6gt

You may find something here. It is about a similar problem of replacing an isolated motor controller potentiometer using a pwm method:
https://forum.arduino.cc/index.php?topic=511067.5

I am trying to digest your recommended post, thanks for sending BTW! Do you have a final schematic that you got to work? I am not sure where the PNP transistor should go. I would also be interested to see how you omitted the power supply circuit, seeing as I have a 5V supply already provided with the speed control circuit?

Best,
stueveone

stueveone

@6v6gt

Sketched over the "hackaday" schematic using the components you called out. Is this close?


Best,
Stueveone

wvmarle

When I was sending a PWM signal straight from the Adruino, the only way I could get the motor controller to work is if I also connected the 0V signal from the motor controller to Arduino ground.
Of course - otherwise you don't have a circuit.

Quote
This worked on its own and controlled the speed well. However, after connecting a display to the Arduino, whenever the motor went from off to on, it would reset the display.
That indicates a power supply issue, or some other form of interference.
Without knowing what motor, what motor controller, what power supply, how everything is actually wired, what display, etc - that's all I can say about this.
Quality of answers is related to the quality of questions. Good questions will get good answers. Useless answers are a sign of a poor question.

6v6gt

#14
Sep 16, 2019, 03:46 pm Last Edit: Oct 14, 2019, 04:00 am by 6v6gt
@6v6gt

I am trying to digest your recommended post, thanks for sending BTW! Do you have a final schematic that you got to work? I am not sure where the PNP transistor should go. I would also be interested to see how you omitted the power supply circuit, seeing as I have a 5V supply already provided with the speed control circuit?

Best,
stueveone
Just to be clear. This design was used for a motor controller which was not isolated from the mains.
It was this controller: link . If however, yours is mains isolated then you could probably use a simpler circuit.


The OP (not me) of the thread where this design was used, found a 5 volt supply on the motor controller which he could use because it shared a common ground with the terminals he was using for the connection.

Anyway, here is the circuit:



And the simulation with a 25% duty cycle (Green trace shows output voltage):




Note: This is from an LTspice simulation in which the MCP6002 (dual rail to rail) Opamp was not available so a substitute is shown. The power sources V1 and V2 are again for the simulation.

Edit: Circuit now modified to remove the need for a PNP transistor, but still keep the requirement that a 0% PWM duty cycle gives minimum voltage at the output and a 100% duty cycle gives the maximum voltage at the output. The original HackaDay circuit gave the inverse of this.




Go Up