Что делать, если требуется составить таблицу изменения потребляемого тока, скажем, батарейной магнитолы в зависимости от режима работы, громкости, не записывая показания мультиметра ручкой на бумаге и не набирая их на клавиатуре? Автор Arduino Project Hub под ником Giovanni Carrera придумал для этого амперметр, передающий показания в монитор последовательного порта, откуда их можно перенести через буфер обмена в электронную таблицу. Это уменьшает вероятность ошибки по сравнению с ручным набором. Документация на необычный амперметр выложена под лицензией GPL версии 3 или больше по вашему выбору. Устройство включает в себя шунт, плату со сдвоенным операционным усилителем LM358, а также Arduino Uno. Далее приведена схема платы, а также показан способ соединения её с шунтом и Arduino.
Посмотрим на собранную плату с обеих сторон:
Собирать цепь из источника питания (применение бестрансформаторных БП не допускается), шунта и нагрузки следует проводниками достаточного сечения. Таблицы соответствия сечений максимальным допустимым токам общеизвестны. Плату усилителя подключить прямо к шунту проводниками малого сечения. Располагать шунт в цепи питания нагрузки следует так, чтобы минус источника питания был соединён с общим проводом платы. Резисторы R1 и R3, а также R2 и R4 следует подобрать так, чтобы их сопротивления были максимально близки.
Скетч занимает всего 25 строк:
/* program ArduAmmeter.ino Arduino current meter
Giovanni Carrera, rev. 11/07/2019 */
float NtomV;
const float VREF = 1095;// in mV, this value can be read on VREF pin
const int Nsh = 98;// shift value corresponding to about 100 mV
void setup() {
Serial.begin(9600);
analogReference(INTERNAL); // internal ADC reference input = 1100 mV
NtomV = VREF/1023;// constant of conversion into millivolts
}
void loop() {
int val = analogRead(A0)-Nsh;// read the current sensor and remove the shift
float mvolt = NtomV*val;// convert to millivolt
float mamp = mvolt/2.17;// convert to milliampere
Serial.print("Vo = ");
Serial.print(mvolt,1);
Serial.print(" mV - Current = ");
Serial.print(mamp,0);
Serial.println(" mA");
delay(1000);
}
Наладка амперметра:
1. Выставить на подвижном контакте подстроечного резистора напряжение, максимально близкое к 100 мВ. Указать в скетче точное значение этого напряжения в милливольтах.
2. Измерить точное значение напряжения опорного источника, указать его в скетче в милливольтах.
3. Измерить точное значение сопротивления шунта, указать его в скетче в омах.
Поместить прибор в корпус, залить в Arduino скорректированный скетч, запустить монитор последовательного порта, и можно пользоваться.
Аналогичным способом можно реализовывать и другие устройства, выводящие результаты каких-либо измерений в монитор последовательного порта. Удобно предусмотреть в скетче формирование в текстовом виде такого отчёта об измерениях, чтобы его было достаточно перенести через буфер обмена в текстовый редактор, никак не корректируя.
Источник (Source)
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.