Arduino - опрос датчиков тока.

Форум по покупкам в интернете.

Благодарим разработчиков движка форума!

Форум по покупкам в интернете. »   Success story »   Arduino - опрос датчиков тока.
RSS

Arduino - опрос датчиков тока.

Для опроса различных датчиков (тока, напряжения, температуры...) и передачи собранных данных по сети ethrenet...

<<Назад  Вперед>>AdminПечать
 
aost
Долгожитель форума


Всего сообщений: 221
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
10 окт. 2009
Полный текст статьи.

Различные грабли на пути запуска в эксплуатацию.

1. При совмещении библиотеки, обеспечивающей web-интерфейс для enc28j60 с функцией сбора данных с датчиков, вылезла одна неприятная особенность библиотеки: для отображения данных через web надо сформировать низкоуровневый пакет с пересчетом контрольных сумм tcp и т.д. Функция подразумевает подачу в нее данных типа char (буквы/символы), а у нас - числовые данные типа float (с десятичной точкой). Пришлось изворачиваться: переводить амперы в миллиамперы, и получившееся целое число загонять в массив букв с помощью:
sprintf(char_buf, "%d", float_value). [%u для беззнакового char]
или
dtostrf(float_value, 6, 2, char_buf ) .

Обидно, что на другой стороне web-client преобразует для munin-а эти символы обратно в числа. :)

2. Проработав после первого включения несколько часов - плата перестала откликаться на внешние сигналы. Перезапустили выключением питания. Через 4 часа - сетевой интерфейс опять недоступен. Включил в код программы watchdog-timer с интервалом 8 секунд. Зависать перестало.
[q]
#include <avr/wdt.h>
int n = 0;

void setup()
{
Serial.begin(9600);
// wdt_enable (WDTO_4S);
wdt_enable (WDTO_8S);
Serial.println("WatchDog timer work");
}

void loop()
{
Serial.println(n, DEC);
++n;
delay(1000);
//wdt_reset();
}
[/q]


3. Внутренний источник опорного напряжения 5V - сильно "гуляет" в зависимости от внешнего питания. Питание от USB ноутбука и внешнего источника 6V - не подходит, надо изобретать что-то стабилизированное... Похожие проблемы и методы решения "зависаний" описаны здесь: http://arduino.ru/forum/appara...0arduino-0

---
Best regards!
aost
Долгожитель форума


Всего сообщений: 221
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
10 окт. 2009









В ожидании заказанных стабилизаторов напряжения для питания модулей, система запущена в тестовый прогон с одним датчиком тока на 20 ампер.

Показатель uptime дает возможность убедиться в работоспособности сторожевого таймера.











Выяснил, что водозащищенный датчик с DS18B20 внутри, который продают китайцы, без подтягивающего резистора ведет себя, как мертвый - даже не звонится тестером. После подключения резистора 4.7Ком между VCC (красный) и DATA (желтый) - все сразу заработало. Пришлось дополнительно сделать мини-breadboard из шлейфа флоппи-диска, с помощью которого питание+земля может быть подключена к 5 потребителям. Там же размещаются "подтягивающие" резисторы.







---
Best regards!
aost
Долгожитель форума


Всего сообщений: 221
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
10 окт. 2009
http://radiokot.ru/circuit/digital/measure/59/ - ватт-(и прочее)-метр на ATMega8. Все, что надо, только по эзернету не умеет. Почерпнул мысль о "резервном" конденсаторе на питание, аналоговая "нога" на измерение напряжения - получается информация о пропадании питания для сброса данных в eeprom.
[q]

главным ключевым моментом является то что подсветка должна брать питание до кренки 5-тивольтовой.. почему? а чтоб контроллер увидел сразу что напруга питания 12 вольт пропала.

при этом на питании самого контроллера должен висеть кондер не менее 10000 микрофарад … хотя я добивался уверенного срабатывания сохранения данных и от 1000 микрофарад – но это уже ухищрения с супервизорами – ваша же задача сделать так чтоб при пропадании сети на ноге ИНТ0 напряжение сразуже упало ниже 2-х вольт – тогда МК поймёт что пропало питание. Но при этом питание самого МК ещё хотябы 200 миллисекунд должно продержаться выше 2.7 вольт чтоб он успел сохранить данные в еепром!

сама кренка очень плохой диод….можно на её вход поставить диод а подсветку питать резистором ДО диода….тогда конденсатор с выпрямителя будет мгновенно разряжен «стабилитроном» подсветки до уровня срабатывания прерывания
[/q]



По материалам - собрал делитель для двух входов солнечного контроллера, а заодно и для питания ардуины через преобразователь 12V -> 5V. Пропадание напряжения будет детектироваться по аналоговому входу, который "в мирное время" будет просто мерять напряжение 12V.

---
Best regards!
aost
Долгожитель форума


Всего сообщений: 221
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
10 окт. 2009
Вместо сетевого блока питания запитал контроллер от аккумуляторной батареи через DC-DC преобразователь на LM2576, выставив на нем выходное напряжение 7.5V, которые поступают на собственный 5V стабилизатор ардуино.

Попалась на глаза статья про измерение собственного напряжения питания http://provideyourown.com/2012...-voltage/. Добавил код в свою программу, навскидку - стало чуть лучше: теперь подключение ноутбука для программирования контроллера не вызывает скачка показаний напряжения и тока.

---
Best regards!
aost
Долгожитель форума


Всего сообщений: 221
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
10 окт. 2009
Дошли руки до подключения мосфета в цепь между солнечными панелями и контроллером заряда. Суть в том, что контроллер заряда, следуя своему внутреннему алгоритму, нагружает солнечные панели далеко не на 100 процентов.

Вот и появилась идея: после того, как батарея зарядится до определенного уровня - переключать мосфетом энергию на другую нагрузку.

При реализации наступил на пару граблей:
1. Оставил гейт мосфета висеть в воздухе - в результате полуоткрытый мосфет выгорел под нагрузкой попутно оплавив 50 амперный разъем.
2. Долго не мог понять - почему вдруг перестал работать Ethernet Shield, оказалось, что пин4, на который было повешено управление мосфетом, занимается переключением функционала между слотом SD карты и самим эзернет модулем enc28j60... Я, конечно, человек спокойный, и, в поисках неисправности, всего навсего пару раз дернул питание ардуины, и ближайшего свича... Для памяти дописал в основную статью, что пин D4 - тоже занят эзернет-модулем.

Прикрепленный файл (solar-2013-jun-25.png, 36257 байт, скачан: 1552 раза)
---
Best regards!
<<Назад  Вперед>>AdminПечать
Форум по покупкам в интернете. »   Success story »   Arduino - опрос датчиков тока.
RSS

Последние RSS
MOES MS-101
Топинамбур
cloud4box
Запуск SIM800L в автономном режиме.
РАТЭК

Самые активные 5 тем RSS


Время выполнения скрипта: 0.0526. Количество выполненных запросов: 17, время выполнения запросов 0.0155