Страница на этапе разработки
В данном уроке мы с Вами подключим датчик переменного тока zmct103c п плате Arduino Nano:
Как мы видим у нашего датчика есть аналоговый выход, на котором относительно средней точки питания меняется значения пропорционально входному сигналу, то есть силе тока, хотя мы так же можем мерять и напряжение питания переменного напряжения:
***картинка с осцилографа***
При написании программы мы допустим, что у нас протекает ток синусоидальной формы без искажений, таким образом мы можем определить максимальное и минимальное значение амплитуды и тем самым высчитать значение тока.
Программный код:
#define calibration_const 300
int max_val;
int new_val;
int old_val = 0;
float rms;
float IRMS;
void setup() {
pinMode(A0,INPUT);
Serial.begin(9600);
}
void loop() {
new_val = analogRead(A0);
if(new_val > old_val) {
old_val = new_val;
}
else {
delayMicroseconds(50);
new_val = analogRead(A0);
if(new_val < old_val) {
max_val = old_val;
old_val = 0;
}
rms = max_val * 5.00 * 0.707 / 1024;
IRMS = rms * calibration_const;
Serial.print(" IRMS: ");
Serial.println(IRMS);
delay(1000);
}
}
<<— Предыдущий урок
СОДЕРЖАНИЕ
Следующий урок —>>
<<— Предыдущий урок
СОДЕРЖАНИЕ
Следующий урок —>>