#1 2024-06-07 23:54:27

Aptyp
Учасник
Зареєстрований: 2024-06-07
Повідомлень: 3

Поскажите новичку

Здравствуйте. Ещё ни разу даже не держал в руках Arduino, но очень давно хотел. И вот назрела идея проекта, но даже не знаю с какого оборудования нужно начать.

Имею дома систему ИБП на 48 вольт, то есть 4 аккумулятора.
Хочу получать вольтаж с каждого аккумулятора отдельно и общий со всех 4-х и отправлять эти данные через Wi-Fi на некий URL по HTTP протоколу. Дабы в дальнейшем я мог удалённо в реальном времени видеть эту информацию.

Со второй частью проблем нет, так как я опытный WEB-разработчик. А вот с аппаратной пока непонятно. В связи с этим хотелось бы получить совет от опытных людей какое именно аппаратное обеспечение мне необходимо приобрести.

Какие комплектующие нужны для такого устройства и что нужно, чтобы его программировать?

Я так понимаю, что мне нужны такие модули: вольтметры на 12V и 48V, Wi-Fi адаптер, некий главный контроллер и программатор.
Пожалуйста поправьте меня, если ошибаюсь и подскажите какие именно модели нужны.

Заранее благодарю за любые советы.

Остання редакція Aptyp (2024-06-08 01:07:19)

Неактивний

#2 2024-06-08 01:04:48

Васятко
Гість

Re: Поскажите новичку

Aptyp пише:

Какие комплектующие нужны для такого устройства

ESP32 и 10 резисторов

Aptyp пише:

и что нудно, чтобы его программировать?

Кому то может и нудно, а кому-то интересно.  big_smile

#3 2024-06-09 05:25:15

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 205

Re: Поскажите новичку

Так, найпростіший, мабуть, варіант - ESP32 і дільники напруги на резисторах.

Як альтернатива - ESP8266 і 4-канальний АЦП (наприклад ADS1115), і ті ж самі дільники.
Можна придумати купу інших альтернатив, наприклад, замість 4-канального АЦП - аналоговий мультиплексор, і вимірювати єдиним каналом АЦП. Але це зайві ускладнення, якщо тільки з якоїсь причини ні варіант з ESP32, ні з окремим АЦП для ESP8266 ну зовсім не підходять.

При послідовно зʼєднаних акумуляторах доведеться вимірювати сумарну напругу на всіх чотирьох, на трьох "нижніх", на двох, і на останньому "нижньому". Напругу на кожному з трьох "верхніх" обчислювати відніманням. (У ADS1115 є можливість вимірювати різницю напруг між парами каналів, але в даному випадку це не дуже допоможе).
Або на кожний акумулятор окремий АЦП з живленням від цього ж акумулятора і опторозвʼязкою. Або схема на високовольтних операційниках. Але це вже все збочення.

Також пристрій потрібно чимость живити. Якщо достатньо живлення тільки з мережі, то не проблема - блок на 5В (або 3.3В для варіанта з ESP8266). Якщо потрібне автономне живлення з цих же акумуляторів, то можна брати тільки 12В з "нижнього". Деякі плати ESP32 можна живити 12 вольтами напряму, якщо там стоїть нормальний регулятор і в програмі грамотно використовується сплячий режим. Але при довготривалому споживанні в активному режимі буде перегрів. Тому краще поставити імпульсний DC-DC з низьким струмом холостого ходу.
Також живлення від одного акумулятора внесе деякий розбаланс у збірку, що може бути небажаним. В ідеалі потрібно живити з усієї збірки через ефективний високовольтний DC-DC, що може працювати при 60 вольтах на вході.

Майте на увазі, що приклади, які йдуть з фреймворками, зазвичай дуже спрощені та не використовують сплячі режими для зменшення споживання. При автономному живленні це може бути критично, тоді прийдеться розбиратись, як їх застосовувати.

Остання редакція dimich (2024-06-09 05:26:28)

Неактивний

#4 2024-06-09 05:42:18

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 205

Re: Поскажите новичку

Як іще один варіант - 4 штуки ESP8266, по одній на кожний акумулятор з живленням від нього ж (з пониженням через DC-DC). Нехай кожна з них вимірює напругу тільки на своєму акумуляторі через дільник своїм єдиним АЦП, зʼєднується з WiFi і рапортує як окремий клієнт. Сумарну напругу обчислювати вже на сервері. Вийде дорожче ніж одна ESP32, зате просто масштабується.

Неактивний

#5 2024-06-09 17:24:40

Aptyp
Учасник
Зареєстрований: 2024-06-07
Повідомлень: 3

Re: Поскажите новичку

Посмотрел. Действительно ESP32, как мне кажется будет лучшим вариантом. Питать его можно отдельно с ИБП. Там есть свободная розетка.
Но вот замерять для точности хотелось бы на каждом аккумуляторе независимо, а не вычислениями. То есть к 4-м последовательным аккумулятором должны идти 5 проводов, и между каждыми парами подряд замерять напряжение и отдельно между первым и последним.

photo_2024-06-09_17-22-12.jpg

Возможно ли организовать такую схему используя лишь один ESP32?

Неактивний

#6 2024-06-09 18:11:58

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 205

Re: Поскажите новичку

АЦП на мікроконтроллерах вимірюють напругу відносно мінуса живлення (землі). У ESP32 ця напруга не повинна перевищувати напругу живлення 3.3 вольта, а більш-менш задовільна точність обмежується 3.1 вольтами. Тому потрібні дільники на резисторах, щоб з одного акумулятора 15 В привести до 3 В, з двох послідовних (30 В) до 3 В відносно землі, і т.д.
На вашій схемі окремі вольтметри (АЦП), які мають бути гальванічно розв'язані з контроллером. Такі бувають, але обійдуться вам набагато дорожче. Тим більше з верхнею межею 60 вольт. Також, якщо вони з I2C, буде непросто підʼєднати пʼять штук до однієї шини.
Або схема на операційниках з лінійними оптопарами, типу IL300.

Яка точність вам потрібна? Від вбудованих в контроллер АЦП великої точності не очікуйте. І для чого велика точність? Якщо акумулятори свинцево-кислотні, то рівень заряду по напрузі можна визначати тільки після кількох годин "відпочинку" у відключеному стані.

Остання редакція dimich (2024-06-09 18:33:01)

Неактивний

#7 2024-06-11 01:32:58

Aptyp
Учасник
Зареєстрований: 2024-06-07
Повідомлень: 3

Re: Поскажите новичку

Большая точность не нужна. Достаточно будет даже до десятых вольта. Если до сотых, то это вообще идеально и более, чем достаточно.
Понимаю, что измерять напряжение нужно относительно чего-то, а точнее в данном случае относительно земли устройства. Появилась следующая идея: нет нужды знать в каждый момент времени напряжение во всех 5 указанных местах одновременно. Можно ведь поочерёдно замерять, скажем раз в 200 мс переключаясь между аккумуляторами и раз в секунду отправлять собранные воедино данные. То есть нужно организовать ключи, которые будут переключать на нужную пару контактов, замерять напряжение с неё и переключаться далее. Что скажете на такой вариант?

Неактивний

#8 2024-06-11 19:07:03

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 205

Re: Поскажите новичку

Так, якщо живлення схеми гальванічно розвʼязане від акумуляторів, то можна комутувати мінус акумулятора до мінуса схеми, а плюс до дільника і на АЦП. Тільки бути особливо уважним з послідовністю комутації, щоб не замкнути в недопустимій комбінації.

Про аналоговий мультиплексор я згадував. Можна і електромеханічними реле. Якщо DPST чи DPDT, то керувати буде простіше. Але дешеві реле мають властивість залипати. Хоч струми мізерні, але все ж. Тому "верхній" резистор дільника бажано окремий для кожного акумулятора, і вже після нього ключ.

Якщо так вже хочеться вимірювати сумарну напругу, то знадобиться додатковий резистор для дільника і окремий канал комутації. Але не розумію, навіщо це потрібно. Не дуже уявляю ситуацію, коли напруга на чотирьох послідовно зʼєднаних акумуляторах суттєво відрізнятиметься від суми їх окремих напруг.

Одна десята вольта - це менше 1% від 12 вольт. Однозначно потрібна буде калібровка під конкретний екземпляр контроллера і резисторів у дільниках.

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму