Давачі електричні та ваги в oCBot
Написано для прошивки 0.2.213 (коміт 35e8a03) · порталу 0.0.267Можливо, застаріло: поточна прошивка 0.2.238, поточний портал 0.0.344
Вимірювання ваги та електричних показників споживання енергії дозволяє зробити автоматизацію ще більш детальною та безпечною. Це допомагає вести точний облік відібраного продукту та контролювати стан силової мережі живлення.
Яка саме клема на вашій платі — KC868-A6, KC868-A16.
Об'єм у кубі чи збірнику можна міряти не одним способом: датчиком рівня, витратоміром, вагою або ємнісним датчиком. Скрипт працює з величиною, а не з конкретним датчиком, тому спосіб обирає господар — десь дешевше, десь точніше.
1. Ваги: тензодатчик через плату NAU7802#
Тензодатчики ставлять під ємність: під приймальну тару, під бак із сировиною, під ферментер. Сам датчик дає мілівольти, тож між ним і контролером потрібен окремий АЦП.
- Що підтримує прошивка (з 0.2.205). oCBot підтримує тензодатчики через плату АЦП NAU7802 по шині I²C: адреса 0x2A, незмінна, тож на шину — лише одна така плата. Тип периферії — «Вага». У 0.2.205 картка показує відфільтровані сирі відліки АЦП. Перерахунок у кілограми й тара — калібруванням периферії, яке вийде в наступному релізі після 0.2.205.
- HX711 не підтримується. Тензодатчики «до HX711», які продають у комплекті, підходять — сам модуль HX711 ні. У нього власний протокол DT/SCK, не I²C, і він займає 2 GPIO, а вільних пінів на KC868-A6 і A16 немає: довелося б віддати шину 1-Wire з термометрами.
- Підключення. NAU7802 стає на той самий роз'єм I²C, де живуть плати розширення (A6: SDA IO4, SCL IO15; A16: SDA IO4, SCL IO5), живлення 3.3 В. Тензодатчик — на вхід CH1: E+ / E− живлення моста, A+ / A− сигнал.
- В інтерфейсі. «Плати розширення» → «Додати» → шина I2C → «Ваги NAU7802 — тензодатчик» (адресу підставлено) → «Периферія» → «Додати» → тип «Вага», джерело — ця плата, канал 0.
- Одна вага — один NAU7802. Кілька тензодатчиків під однією платформою з'єднують в один міст — паралельно на ті самі клеми, покази — сума навантаження. Кілька незалежних ваг на один контролер прошивка поки не вміє: адреса 0x2A фіксована, мультиплексора I²C і другого каналу CH2 у прошивці немає.
Зв'язку з залізом ця частина прошивки ще не проходила: на стенді не було ні модуля, ні датчика. Перш ніж будувати на вазі умови кроків, перевірте, що відліки змінюються під вантажем і повертаються без нього, і запишіть дрейф порожньої платформи за добу — у дешевого датчика це десятки грамів.
Детальніше про збирання ваг і про калібрування — у статті Ваги на тензодатчиках.
2. Лічильники енергії PZEM на RS485#
Лічильник показує, скільки насправді йде в ТЕНи: напругу мережі, струм, потужність і накопичену енергію за прогін.
- PZEM-016 — напряму. Сідає на клеми RS485 плати (A6: A / B; A16: A1 / B1), 9600 8N1, заводська адреса 1. В інтерфейсі: «Плати розширення» → Modbus RTU (мережа RS485) → «Аналоговий датчик», модель «Peacefair PZEM-016 (енергія)» → у «Периферії» типи «Потужність», «Енергія», «Напруга», «Струм» на цю плату. З 0.2.205.
- PZEM-004T V4.0 — лише через перетворювач. Протокол і регістри в нього ті самі, тож пресет той самий, але вихід у нього TTL 5 В, а TTL-Modbus у прошивці немає: єдиний UART контролера віддано RS485. Ставте перетворювач TTL↔RS485 з автонапрямом на ту саму шину і задайте лічильнику адресу 2, поки він один на шині.
- Трансформатор струму охоплює лише провід L до навантаження, не весь кабель. Без напруги від 80 В на L–N лічильник не відповідає взагалі.
- Чого нема. Частоти й cos φ у пресеті немає, скидання лічильника енергії прошивка не шле — енергію прогону рахуйте різницею на початку й наприкінці.
Що дає лічильник автоматиці:
- Облік енергії прогону — скільки кВт·год пішло в куб з урахуванням того, як гуляє напруга в розетці.
- Ліміт вводу (з наступного релізу після 0.2.205) — сценарій керування нагрівом бере фактичну потужність із лічильника і не дає перевищити те, що витримує ваш ввід.
Як адресувати кілька пристроїв на одній шині — у статті Шина RS485 на кілька пристроїв.
Де купити#
Картки всього, що згадано в статті, — у блоці «У каталозі» вище.
Суміжні статті#
- Ваги на тензодатчиках — збирання платформи, перевірка дрейфу і що буде з калібруванням.
- Шина RS485 на кілька пристроїв — адреси, ланцюжок і як задати адресу лічильнику.
- Датчики рівня рідини — інший спосіб знати, скільки в ємності.