- Необхідні компоненти:
- Схема електричного вольтметра Arduino:
- Робота вольтметра змінного струму на базі Arduino:
- Моделювання:
- Пояснення коду:
У цьому проекті ми збираємося виготовити прилад для вимірювання напруги змінного струму за допомогою Arduino, який вимірюватиме напругу змінного струму в нашому будинку. Ми збираємося надрукувати цю напругу на послідовному моніторі Arduino IDE, а також показати на мультиметрі.
Зробити цифровий вольтметр набагато простіше, ніж зробити аналоговий, оскільки у випадку аналогового вольтметра ви повинні добре знати фізичні параметри, такі як крутний момент, втрати на тертя тощо, тоді як у випадку цифрового вольтметра ви можете просто використовувати РК-або світлодіодну матрицю або навіть ваш ноутбук (як у цьому випадку) для друку значень напруги. Ось декілька проектів цифрових вольтметрів:
- Проста схема цифрового вольтметра з друкованою платою за допомогою ICL7107
- LM3914 Схема вольтметра
- Цифровий вольтметр 0-25 В за допомогою мікроконтролера AVR
Необхідні компоненти:
- Один трансформатор 12-0-12
- Діод 1N4007
- 1uf конденсатор
- Резистори 10к; 4,7 тис.
- Стабілітрон (5v)
- Arduino UNO
- Підключення проводів
Схема електричного вольтметра Arduino:
Принципова схема для цього вольтаметра Arduino показана вище.
З'єднання:
- Підключіть сторону високої напруги (220 В) трансформатора до мережі, а низьку напругу (12 В) до схеми дільника напруги.
- Послідовно підключіть 10k резистор до 4.7k резистора, але переконайтеся, що напруга приймається як вхід на 4.7k резисторі.
- Підключіть діод, як показано.
- Підключіть конденсатор і стабілітрон через 4.7k
- Підключіть провід від n-клеми діода до аналогового виводу A0 Arduino.
** Примітка: Приєднуйте штифт заземлення Arduino до точки, як показано на малюнку, або схема не буде працювати.
Потрібна схема дільника напруги?
Оскільки ми використовуємо трансформатор 220/12 в, ми отримуємо 12 в на стороні рівня. Оскільки ця напруга не підходить як вхід для Arduino, нам потрібна схема дільника напруги, яка може дати відповідне значення напруги як вхід для Arduino
Чому діод і конденсатор підключені?
Оскільки Arduino не приймає негативні значення напруги як вхідні, спочатку нам потрібно видалити негативний цикл зниження змінного струму, щоб Arduino приймав лише позитивне значення напруги. Отже, діод підключений для випрямлення знижувальної напруги. Перевірте наш напівхвильовий випрямляч і повнохвильовий випрямляч, щоб дізнатися більше про випрямлення.
Ця випрямлена напруга не є плавною, оскільки містить великі пульсації, які не можуть дати точного аналогового значення. Отже, конденсатор підключений, щоб згладити сигнал змінного струму.
Призначення стабілітрона?
Arduino може отримати пошкодження, якщо на нього подається напруга більше 5 В. Отже, для забезпечення безпеки Arduino, який виходить з ладу в разі, якщо ця напруга перевищила 5v, підключений діод на 5 В.
Робота вольтметра змінного струму на базі Arduino:
1. Знижуюча напруга отримується на рівні lv трансформатора, який підходить для використання на нормальних номінальних резисторах.
2. Тоді ми отримуємо відповідне значення напруги на резисторі 4.7k
Максимальна напруга, яку можна виміряти, визначається шляхом моделювання цієї схеми на протеї (пояснюється в розділі моделювання).
3. Arduino приймає цю напругу як вхід з виводу A0 у вигляді аналогових значень від 0 до 1023. 0 - 0 вольт і 1023 - 5v.
4. Потім Arduino перетворює це аналогове значення у відповідну змінну напругу мережі за формулою. (Пояснено в розділі коду).
Моделювання:
Точна схема робиться в протеї, а потім моделюється. Для того, щоб знайти максимальну напругу, яку ця схема може виміряти, потрапляє метод випробування.
При встановленні пікової напруги генератора 440 (311 rms) напруга на виводі A0 виявилася 5 вольт, тобто максимальною. Отже, ця схема може вимірювати максимальну напругу 311 rms.
Моделювання виконується для різної напруги між 220 і 440 В.
Пояснення коду:
Повний код ArduinoVoltmeter подано в кінці цього проекту, і він добре пояснюється через коментарі. Тут ми пояснюємо кілька його частин.
m - вхідне аналогове значення, отримане на виводі A0, тобто, m = pinMode (A0, INPUT); // встановити штифт a0 як вхідний штифт
Щоб призначити змінну n цій формулі n = (m * . 304177), спочатку виконуються певні обчислення, використовуючи дані, отримані в розділі моделювання:
Як видно на імітаційній фотографії, аналогове значення 5v або 1023 отримується на виводі A0, коли вхідна змінна напруга становить 311 вольт. Звідси:
Отже, будь-яке випадкове аналогове значення відповідає (311/1023) * m, де m отримується аналоговим значенням.
Звідси ми дійшли до такої формули:
n = (311/1023) * м вольт або n = (m *.304177)
Тепер це значення напруги друкується на послідовному моніторі за допомогою послідовних команд, як пояснено нижче. А також показано на мультиметрі, як показано у відео нижче.
Значення, надруковані на екрані:
Значення аналогового входу, як зазначено в коді:
Serial.print ("аналоговий вхід"); // це дає ім'я, яке є “аналоговим входом” надрукованого аналогового значення Serial.print (m); // це просто друкує вхідне аналогове значення
Необхідна змінна напруга, як зазначено в коді:
Serial.print ("змінна напруга"); // це дає назву “змінна напруга” надрукованому аналоговому значенню Serial.print (n); // це просто друкує значення змінної напруги