I am trying to control a DC motor via Arduino and nmos, all fine with this.
Moreover I would like to measure the voltage drop between + and - of the DC motor but the classical example of arduino voltmeter fails because the GND of arduino is different from - of DC motor.
Is there anybody who can help me on this. How can achive this?
I attach a drawang of what I want to do.
Thanks a lot in advance.
Is there a reason a multimeter can't be used? Is this for continuous monitoring?
[ Multimeters average over time which may be good if you are using PWM ]
Yes Mark, it is for continuous monitoring.
Then you measure both terminals of the motor (via dividers). If the Motor ground
is below Arduino ground you'll not be able to sense that though. Are you expecting
much voltage difference between the grounds?
Sorry Mark but I didn't understand what do you mean. It is easy for you to explain it to me?
Thanks a lot!!!
Mark's suggestion is good. You can measure both terminals of the motor but you have to convert this down to a voltage which the Arduino can handle on its analog input. This is 0-5v for most Arduinos.
A voltage divider is the correct circuit to use to convert 12v (or whatever) down to 5v. Since you are probably using PWM and you want to measure the average voltage, then a capacitor will also be useful to smooth out the PWM peaks into an analog voltage you can measure.
The A-D converter does have a differential mode which will measure the voltage difference between two analog inputs but that level of sophistication is probably not required here.
So, I will use a voltage divider to measure the voltage drop between (+) and (-) of dc motor but I will not connect one of the resistors to GND of Arduino? Have I understoond this right?
No, each divider is a complete divider from one motor terminal down to Arduino ground.
The middle of each divider should then be a safe voltage for an analog input and you can
read both and calculate the difference.
Thanks a lot.I think I understood. I will try it.