The DC motor is an inductive load, so when the motor stops the field collapse and a big negative voltage spike arrives. That could be dangerous for the analog pins in the arduino, if u try to read the voltage directly (first example in your video)
Great job! Next time you should consider using internal voltage reference of Arduino ADC (1,1V for Atmega 328P) in some scenarios. This can increase measurement accuracy about 4 times without any hardware.
5:05 Usually, the solution is to use an OpAmp to amplify the voltage drop, and thus use the full potential of the ADC you will use. Plus, as the input of the OpAmp is ideally isolated, it won't take any current and will be consequently less invasive.
A motor is not only a resistance load, its also inductive load. And to measure inductive loads is much more tricikier and needs a very high sampling rate. And as earlier comments has shown, its 5V/1024 and not 5V/1023, and using internal reference in the MCU, or even better a LDO external IC (or modules as you show) will give a better result with less noice. Also the layout of GND traces are important, sometimes GND (due to trace length and other power consumers) is not 0.0V, so it can offset the measuring aswell. So it can be tricky to get really good measuring results. Also high bit ADC like 16bits or more sees ALOT of noice on the lower bits, so a good hardware design is very important. And another thing, the millsecond you turn off the power to the motor, it will produce a reversed voltage back along the lines. This needs a diodes or capacitors to protect the MCU or the MCU can be damaged :P
Great tutorial as always. Just note that your ADC conversion formula is incorrect. It should be V = Vref x ADC / 2^N and *not* V = Vref x ADC / (2^N - 1). So it's 1024 for 10 bit ADC instead of 1023. Check the ATmega328 datasheet (see "Conversion results") for more details.
Hi, thanks for the valuable information provided in this video. What you suggest if we need to measure current usage for a Water Pump? It has 1HP to 1.5 HP motors taking 5 to 7 ampares. 1- ACS712ELCTR-20A-T 2- ACS712ELCTR-05B-T 3- (CT) Current transformer
Great summary. I have used a resistor divider to increase the voltage range i can measure. I'm not sure but can't you reference the ADC to a higher voltage by using the analogue ground pin as well? I have always used the hall effect device for DC current and a CT for AC current.
One thing I would add: the INA219 "only" has a 12 bit ADC. If you want more precision use the INA226, it has 16 bit ADC. You can't set different gains on the 226, though. Your choice!
I remove the ina219 resistor and used an external resistor instead and read current of a hundred amps no problem, because of the PGA the values are very accurate even at low current
Thanks for your very great video tuto .. I have a question about ads1115 how you can connect A0 of ads1115 directily to a 12v dc load with a shunt resistor without a resistor divider ? what i am missing
That's easy to explain. We only connect to the ADS1115 the voltage that dorops on the shunt resistor. Almost all the voltage drops on the motor, so the drop on the resistor is very low. Let's say we have 1A of current on a 0.1 ohms resistor. That's only a drop of 0.1V so the ADS11115 could take it. To get to 12V we would need a current of 120A which would butn the entire circuit. And to answer you about the voltage divider, well, yes we do have a divider between the shunt resistor and the resistance of the motor. In the end, the motor has its own resistance of a few ohms per winding.
Gracias hombre for your reply it's more clear last question about this particular example do you share the same ground between 12v circuit and arduino 5 dc ?
I have INA219 to measure current of a device (say it something like a Chemical Capacitor that I made it myself) powered by a 12V 125A PSU. I know it is a too big amount of ampere for this sensor. Therefore I test my device with another psu that is 6v 200 A, which has a built in amp sensor and I see the current not reaching over 2A so I have some confidence to use the INA219 for my system, and the sensor burnt after 2 sec. Did I do sth wrong or I choose a wrong sensor for my usage? I tried the ACS712 5A but the change is not significant enough to put it in good use.
please i'm not very good in english so i can't understand the whole video i would like to know which is the best dc current sensor with an esp32 in your video and especially if the SCT013 can measure a dc current or not.
Hello why is my adafruit_ads1015 library has no such file or directory even I have already installed the library for adafruit_ads1015. please help huhu
*_Beware of the modules with the ACS series hall effect current sensors._* The sensors themselves have been carefully designed so that they are safe to use for AC mains current measurements. Many of the circuit boards sold on the hobby market have been designed by idiots who knew nothing about how to do it properly and in consequence the boards are unsafe, some of them grossly so. On every single such board I've seen the creepage distance has be seriously compromised by bad PCB design, often by somebody using "copper pour" without a clue. The low-current board shown in the video is better than some but still badly done with copper that serves no useful purpose compromising the creepage distance. I couldn't tell how well the 200A module was done. I found a photo of a different 200 board using the same sensor and on it the creepage looked OK but there was grossly unsafe clearance distance between the capacitor and the heavy copper of the sensor. These things are being designed by clueless hacks and they can put lives at risk! === The yellow core shown in the video is powdered iron, not ferrite. The permeability is probably 75 whereas that of typical ferrites used for current sense transformers is 5000 or more.
6:41 - how is the load voltage HIGHER than the bus voltage? The bus should lose voltage over the shunt, otherwise the laws of physics are being broken...
greeting I have a question about the ina3221 can something be done and allow me to connect to an external shunt where my voltage is sometimes 35 volts I need to put a shunt of 50 amps, but as I said, sometimes the voltage is up to 35v Can something be done? some modification greetings from Serbia
A current diverter could be made with this sensoracs770lcb-050b or this acs758ecb-200b , for example for the surplus of solar energy not to inject into the network but to be redirected to a hot water boiler through the solid relay, of course if I could show the arduino code. thank . ruclips.net/video/HwMLaKYgFBU/видео.html
The format of this tutorial with the movable cards was clever and clear. Well done.
The DC motor is an inductive load, so when the motor stops the field collapse and a big negative voltage spike arrives. That could be dangerous for the analog pins in the arduino, if u try to read the voltage directly (first example in your video)
most of the time, yes @pohboonpin123
Very good foundations that are explained. This time subtitles are included, which is particularly good!
Join my Arduino Course (Spanish): bit.ly/2JY8icE
My Tools: bit.ly/3uv8bc3
Help me on Patreon: www.patreon.com/ELECTRONOOBS
Another great video Andrei. Very informative. I'm sure this will be useful in future projects. Thank you for taking the time to create and share it.
Great job! Next time you should consider using internal voltage reference of Arduino ADC (1,1V for Atmega 328P) in some scenarios. This can increase measurement accuracy about 4 times without any hardware.
can you please send me a tutorial of that please
@@osamarabee3927 ruclips.net/video/ettV5zorZfQ/видео.html
Love the list of things you can measure at 6:03. I guess they mean you can measure welding machines ONCE.
I found this video really useful -- very well presented, and just the right level to get me started.
5:05 Usually, the solution is to use an OpAmp to amplify the voltage drop, and thus use the full potential of the ADC you will use. Plus, as the input of the OpAmp is ideally isolated, it won't take any current and will be consequently less invasive.
Good point.
❤
int shuntIN = A5;
void setup() {
pinMode(shuntIN, INPUT);
Serial.begin(9600);
}
void loop() {
int val = 0;
for(int i = 0; i < 100; i++) {
val += analogRead(shuntIN);
delay(10);
}
int A_read = val / 100;
float voltage = A_read * (5.0/1023.0);
float current = (voltage/0.5) * 1000;
Serial.print("Current: ");
Serial.print(current);
Serial.println(" mA");
delay(200);
}
❤
A motor is not only a resistance load, its also inductive load.
And to measure inductive loads is much more tricikier and needs a very high sampling rate.
And as earlier comments has shown, its 5V/1024 and not 5V/1023, and using internal reference in the MCU, or even better a LDO external IC (or modules as you show) will give a better result with less noice. Also the layout of GND traces are important, sometimes GND (due to trace length and other power consumers) is not 0.0V, so it can offset the measuring aswell. So it can be tricky to get really good measuring results.
Also high bit ADC like 16bits or more sees ALOT of noice on the lower bits, so a good hardware design is very important.
And another thing, the millsecond you turn off the power to the motor, it will produce a reversed voltage back along the lines. This needs a diodes or capacitors to protect the MCU or the MCU can be damaged :P
comprehensive range of options and useful presentation.
Great tutorial as always. Just note that your ADC conversion formula is incorrect. It should be V = Vref x ADC / 2^N and *not* V = Vref x ADC / (2^N - 1). So it's 1024 for 10 bit ADC instead of 1023. Check the ATmega328 datasheet (see "Conversion results") for more details.
Hi, thanks for the valuable information provided in this video. What you suggest if we need to measure current usage for a Water Pump? It has 1HP to 1.5 HP motors taking 5 to 7 ampares.
1- ACS712ELCTR-20A-T
2- ACS712ELCTR-05B-T
3- (CT) Current transformer
Thank you. This episode was exactly what I needed for a project coming up. Keep up the awesome passion of yours.
Amazing explanation of them all. Thank you very very much!! :D
Perfect, I've been thinking about getting into these. Thanks!
This video is very use full for me.
Thanks
I didn't know these existed! Nice❤
Such a helpful video! Thanks!
Great summary. I have used a resistor divider to increase the voltage range i can measure. I'm not sure but can't you reference the ADC to a higher voltage by using the analogue ground pin as well? I have always used the hall effect device for DC current and a CT for AC current.
Awesome video man! Thanks for sharing this one with us. :)
which one is a better option to measure AC current?
One thing I would add: the INA219 "only" has a 12 bit ADC. If you want more precision use the INA226, it has 16 bit ADC. You can't set different gains on the 226, though. Your choice!
I remove the ina219 resistor and used an external resistor instead and read current of a hundred amps no problem, because of the PGA the values are very accurate even at low current
Thanks for your very great video tuto .. I have a question about ads1115 how you can connect A0 of ads1115 directily to a 12v dc load with a shunt resistor without a resistor divider ? what i am missing
That's easy to explain. We only connect to the ADS1115 the voltage that dorops on the shunt resistor. Almost all the voltage drops on the motor, so the drop on the resistor is very low. Let's say we have 1A of current on a 0.1 ohms resistor. That's only a drop of 0.1V so the ADS11115 could take it. To get to 12V we would need a current of 120A which would butn the entire circuit. And to answer you about the voltage divider, well, yes we do have a divider between the shunt resistor and the resistance of the motor. In the end, the motor has its own resistance of a few ohms per winding.
Gracias hombre for your reply it's more clear last question about this particular example do you share the same ground between 12v circuit and arduino 5 dc ?
This is just amazing thank you very much
Much appreciation!❤
Thank you, so much good information all in one place!
All in one for beginners ❤
for 230V ac 50Hz . Any CT & PT based energy meter chip is available in low cost?
Супер однозначно 👍
Can you do this, something similar to measure AC volts, AC milliamps?
Very good Job for learning
Thanks
Hi, Could you recommend the above sensor for measuring a current less than 0.9mA from a board? My project is based on Arduino.
Very useful video! Thanks very much!
Type of ADC will also affect the reading, especially when reading non DC
I like ✅
Wich module can I use to measure current with a node mcu and a solar panel 12v 10a ? Thanks
Please make a video on potentiometer method of voltage measurment with respect to meter
Great video, Thanks
amazing video!
The picture of ACS712 should not have the red wire of 12V connected to it, as it is incorrect.
I have INA219 to measure current of a device (say it something like a Chemical Capacitor that I made it myself) powered by a 12V 125A PSU. I know it is a too big amount of ampere for this sensor. Therefore I test my device with another psu that is 6v 200 A, which has a built in amp sensor and I see the current not reaching over 2A so I have some confidence to use the INA219 for my system, and the sensor burnt after 2 sec.
Did I do sth wrong or I choose a wrong sensor for my usage? I tried the ACS712 5A but the change is not significant enough to put it in good use.
Great info, thanks
please i'm not very good in english so i can't understand the whole video i would like to know which is the best dc current sensor with an esp32 in your video and especially if the SCT013 can measure a dc current or not.
its very useful thanks. its great 👍
wholeawesome
Please made a same video for voltage as well
looking for the electronic dc load hope that come soon.
Very interesting.
Hello why is my adafruit_ads1015 library has no such file or directory even I have already installed the library for adafruit_ads1015. please help huhu
The external ADC measurements are off by nearly 5% (320 mA vs 305 mA) how come you call it pretty decent?
what INA19 can messure revers polarity currant?
what INA219 currant side is isolate ?
great !
Thankyou 🙏🙏
Hi, I wonder where are the codes?
what to use if you need to check 3 Phase 400V power?
Use commercial current transformers and fully galvanically isolated voltage sensing.
Don't even consider trying it unless you know what you are doing!
Electric engineers never seem to understand measurements.
Showing the current (first example) as 293.26 mA. The resolution is roughly 10mA.
Engineers usually understand this stuff. Hobbyists, not so much.
👌👌👍👍
*_Beware of the modules with the ACS series hall effect current sensors._*
The sensors themselves have been carefully designed so that they are safe to use for AC mains current measurements. Many of the circuit boards sold on the hobby market have been designed by idiots who knew nothing about how to do it properly and in consequence the boards are unsafe, some of them grossly so.
On every single such board I've seen the creepage distance has be seriously compromised by bad PCB design, often by somebody using "copper pour" without a clue. The low-current board shown in the video is better than some but still badly done with copper that serves no useful purpose compromising the creepage distance. I couldn't tell how well the 200A module was done. I found a photo of a different 200 board using the same sensor and on it the creepage looked OK but there was grossly unsafe clearance distance between the capacitor and the heavy copper of the sensor. These things are being designed by clueless hacks and they can put lives at risk!
===
The yellow core shown in the video is powdered iron, not ferrite. The permeability is probably 75 whereas that of typical ferrites used for current sense transformers is 5000 or more.
💖💖💖💖
I need an ADC with a high sample rate (5000sps) and 16-bit resolution
does anybody know a good adc?
😃
6:41 - how is the load voltage HIGHER than the bus voltage? The bus should lose voltage over the shunt, otherwise the laws of physics are being broken...
Waiting for STM 32 Microcontroller
🌟🌟🌟🌟🌟
🌷🌟🌷
Make a new version mppt Video
200Amps...Run away 😂
greeting
I have a question about the ina3221
can something be done and allow me to connect to an external shunt where my voltage is sometimes 35 volts
I need to put a shunt of 50 amps, but as I said, sometimes the voltage is up to 35v
Can something be done?
some modification
greetings from Serbia
A current diverter could be made with this sensoracs770lcb-050b or this acs758ecb-200b
, for example for the surplus of solar energy not to inject into the network but to be redirected to a hot water boiler through the solid relay, of course if I could show the arduino code. thank .
ruclips.net/video/HwMLaKYgFBU/видео.html
Very good Job for learning
Thanks
Very interesting, thank you ☺