I need to detect quick (~200ms) voltage drop, so I am thinking of making an oscilloscope with Arduino. Problem is - can I reliably read 600V DC voltage and what resistor values should I choose for voltage divider? Can I apply same rules as for lower voltage (150k and 1k ohm)?
-
1I think this would be better suited for electrical stackexchangechrisl– chrisl2022年11月09日 09:54:10 +00:00Commented Nov 9, 2022 at 9:54
-
I'm probably going to regret asking, but: what is the actual application of this?timemage– timemage2022年11月09日 14:55:11 +00:00Commented Nov 9, 2022 at 14:55
-
Welcome to SE/Arduino! -- Is the ground (reference) of the 600 VDC safe to touch? Like, you are measuring tram (public transport) power?the busybee– the busybee2022年11月10日 07:24:37 +00:00Commented Nov 10, 2022 at 7:24
1 Answer 1
I think first of all you need a circuit to bring down the voltage to about 5volt otherwise 600volts will blow up your Arduino. voltage reader
Here is the code
int vin=A2;
int inputstate;
float inputvalue;
void setup()
{
Serial.begin(9600);
pinMode(vin,INPUT);
}
void loop()
{
inputstate=analogRead(vin);
inputvalue=(inputstate*5.5)/(11.7)/0.8;
Serial.println(inputvalue);
}
It might works but it is hard for me to get the actual calculation but you need to change this for your liking make this calculation,,
inputstate(which is your analogread pin maximum readings (1023)) ×ばつ 5.0(you need to cange this on your calculation) / 11.7( or any number it can divide to give you 600.0) So your calculation will be
1023 ×ばつ 5.0 (or whatever number) / 11.0(or whatever number to get 600.0)
Once you have gotten your right calculation You input the numbers you calculated with in place of 5.0 and 11.0
You can remove 0.8 i added it base on my calculation to get 600.0.
-
I have put 1Mohm and 10Kohm resistors, which seem to work.Ri Di– Ri Di2022年11月09日 11:56:55 +00:00Commented Nov 9, 2022 at 11:56
-
2This should work but, if the 119 kΩ resistor ever fails short, one may end up with deadly voltage reaching the computer (and the user). It would be wise to split the circuit into a possibly-having-unsafe-voltage part, and a safe part, with some galvanic isolation between them. And have the design checked by someone qualified to handle high voltages.Edgar Bonet– Edgar Bonet2022年11月09日 12:47:22 +00:00Commented Nov 9, 2022 at 12:47
-
@EdgarBonet nice idea edgar, 600v dc is deadly and might cause damage to not only the computer but also to the userJoseph Afodu– Joseph Afodu2022年11月09日 14:44:55 +00:00Commented Nov 9, 2022 at 14:44
-
Try to design in an opto-coupler instead of using solutions which results in the Arduino sharing a ground and otherwise directly connected with a 600 Volts DC system. This will, however, detect only 600V or zero. For intermediate voltages it is not appropriate. There are, however, methods of using a PWM signal to represent a voltage which can cross an opto-coupler.6v6gt– 6v6gt2022年11月09日 17:23:19 +00:00Commented Nov 9, 2022 at 17:23
-
If the ground (reference) of the 600 VDC is safe to touch, multiple resistors in series are a good and common solution. Only one of them will break or get short, leaving the others as safety measure.the busybee– the busybee2022年11月10日 10:07:26 +00:00Commented Nov 10, 2022 at 10:07