Измерение постоянного тока и напряжения на Arduino

Проблема

 

В сети есть много примеров превращения Arduino в Амперметр и Вольтметр с использованием в качестве измерения тока датчика холла ASC712, а для напряжения — простого делителя напряжения на двух резисторах. Но вот незадача, большинство из них предполагает, что напряжение питания строго 5В. Однако, у меня USB порт дает всего 4.6В. По-умолчанию, АЦП Arduino в качестве опорного использует напряжение питания, поэтому большинство примеров в моем случае дают ошибку более 10%. Вроде есть способ использовать внутренний стабилизированный источник напряжения 1.1В, но на поверку оказывается, что и его показания плавают +-10% и к тому же, диапазон уменьшается в 5 раз. Для датчика тока все еще хуже. У моего датчика тока предел +-20А и чувствительность получается 0,1В/А. Т.е. чтобы померить 1А надо измерить напряжение хотябы с точностью 0.05В, что на порядок точнее чем дают примеры.
Читать далее «Измерение постоянного тока и напряжения на Arduino»

Принимаем данные из Arduino в NAS Synology

Привет, друзья.
Продолжаю строить умный дом под свое оборудование. После того, как мне удалось подключить Arduino к NAS Synology, нужно научить их общаться. Для начала попробуем читать из Arduino и записывать в БД. Сделаем это на примере проекта Погодной станции. К Arduino цепляю датчики из тех что сейчас есть. Это гигрометр и термометр DHT-21/AM2301, у него в отличие от DHT-11 хороший рабочий температурный диапазон до -40 градусов. Вторым подключаю датчик давления BMP180 (BMP085), он же второй источник температуры. Таким образом, можно установить барометр дома, а гигрометр DHT-21 установить за окном. Получим температуру снаружи и внутри, влажность и давление. Схем подключения их в интернете миллион, поэтому сразу показываю результат.
Читать далее «Принимаем данные из Arduino в NAS Synology»

Подключение Arduino к NAS Synology

Привет, Друзья.
Недавно подключал arduino к своему файловому хранилищу для того, чтобы в последствии записывать туда данные. Как оказалось, есть проблемы. У меня стоит последняя DSM 5.2. При подключении Leonardo, linux опознает ее и даже монтирует на одну секунду после чего отключает. Что-то не так с драйвером cdc_acm.

su
dsgena> dmesg|grep usb [194308.850000] input: Arduino LLC Arduino Leonardo as /devices/platform/orion-ehci.0/usb1/1-1/1-1.2/1-1.2:1.2/input/input1 [194308.860000] generic-usb 0003:2341:8036.0002: input: USB HID v1.01 Mouse [Arduino LLC Arduino Leonardo] on usb-orion-ehci.0-1.2/input2 [194309.440000] usbcore: deregistering interface driver cdc_acm

Танцы с бубном не помогли. Решение подсмотрел у ребят из проекта OpenRemote. Проще всего установить пакет SunoZwave от компании Z-wave. В его составе идут драйвера, которые подходят и к Leonardo и к брелкам USB-UART типа CP210x. После установки пакет оставить выключенным и желательно перезагрузить NAS.

su
dsgena> dmesg|grep usb [196044.700000] hub 1-1:1.0: port 2, status 0101, change 0001, 12 Mb/s [196044.950000] usb 1-1.2: new full speed USB device using orion-ehci and address 12 [196045.060000] usb 1-1.2: configuration #1 chosen from 1 choice [196045.070000] cp210x 1-1.2:1.0: cp210x converter detected [196045.070000] usb 1-1.2: lock for hub EH [196045.160000] usb 1-1.2: reset full speed USB device using orion-ehci and address 12 [196045.270000] usb 1-1.2: unlock for hub EH [196045.270000] usb 1-1.2: cp210x converter now attached to ttyUSB0

После этого можно получить вывод arduino в консоль, но перед этим нужно настроить скорость передачи порта на ту, что в нем используется.

su
dsgena> stty -F /dev/ttyUSB0 115200
dsgena> cat /dev/ttyUSB0
DATA DHT21_H 29.6
DATA DHT21_T 23.9
DATA BM180_T 22.20
DATA BM180_P 740.38

Ультразвуковой анемометр на двух HC-SR04

Ранее был сделан прототип анемометра из одного ультразвукового дальномера HC-SR04. Он умел рассчитывать проекцию скорости ветра на линию между приемником и передатчиком. Для получения вектора скорости ветра на плоскости (2D) требуется вторая координата, которую мы получим, если добавим второй датчик перпендикулярно первому. В этом случае можно закрепить анемометр стационарно — отпадает необходимость использовать флюгер и как-то организовывать подвижные контакты.

Первая версия

Сказано — сделано, причем основательно.полипропилен

Из обрезков полипропиленовых труб сварил крестовину. Все датчики отпаял и удлинил проводами, которые проложил внутри труб. Расстояние между датчиками получилось 70 см.  Читать далее «Ультразвуковой анемометр на двух HC-SR04»

Ультразвуковой анемометр на одной паре датчиков

Теперь, когда работает ультразвуковой термометр, остался один шаг до простейшего ультразвукового анемометра, который сможет измерить скорость ветра в проекции на ось между передатчиком и приемником.

Читать далее «Ультразвуковой анемометр на одной паре датчиков»

Ультразвуковой дальномер и термометр

В прошлый раз я сделал теоретический экскурс — первый шаг на пути создания ультразвукового анемометра. Сегодня сделаем второй — соберем дальномер и термометр.

Элементная база

элементная база дальномераРаньше радиолюбители использовали ультразвук в рыболовных делах — мастерили эхолокаторы. Сейчас все упростилось. На Arduino собрать дальномер дело двух минут. В качестве датчика чаще всего приобретают дешевый HC-SR04. Диапазон от 2 см до 4 м. Диаграмма направленности у него широкая ±30°, но для наших целей годится. Кроме собственно HC-SR04 нам понадобится практически любой микропроцессор, но проще и дешевле взять готовую платку, например, arduino mini/micro. Еще лучше arduino Leonardo cо встроенным USB. На просторах интернета очень много примеров самодельных ультразвуковых дальномеров на этой элементной базе, поэтому переходим сразу к … Читать далее «Ультразвуковой дальномер и термометр»

Ультразвуковой анемометр. Теория

Самодельный анемометрВывод формул

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

    \[ c=\sqrt{\frac{j*R(t-273,5)}{M}}, M = 28,95 - 10,934 * RH* \frac{Pn}{P}, j = 7/5, R = 8,31447 \]

где t — температура, P — давление, RH — относительная влажность, Pn — давление насыщенного водяного пара ( определяем по табл в зависимости от температуры ). Аппроксимация опытных данных состояний насыщенного пара позволила получить достаточно точную формулу насыщенного пара для всего диапазона инженерных задач.

    \[ Pn = k*4.579*\exp(17.14*T/(235.3+T)) \]

где: Pn — давление насыщенного пара
t — температура насыщенного пара (воздуха), 0С.
k — переводной коэффициент размерности = 133.3 для Паскалей.
Источник: http://www.agroproj.ru/articles/engene.html Читать далее «Ультразвуковой анемометр. Теория»

Новый старый форум режимщиков 2015

Итак, после 2 месяцев простоя всего ресурса Regimov.Net выяснилось, что файлы с умершего жесткого диска ребятам восстановить не удалось. Поэтому пришлось поднять очень старую резервную копию 2011 года. 3 дня конвертировал на движок phpbb. Очень жаль, но это лучше чем ничего. Пользователи, которые зарегистрировались на форуме режимщиков после 2011 года должны зарегистрироваться заново, остальные могут попробовать свои логины/пароли или воспользоваться стандартной функцией восстановления пароля. Если же почтовый ящик изменился — сообщите мне — будем как-то решать.

Доброго времени суток, сюда входящим!

К сожалению, для сайта и форума Regimov.Net, которые я поддерживал на протяжении 10 лет, май 2015 года стал совсем не добрым. За прошедшее время ресурс много раз успешно переезжал с места на место.  Но увы, оборудование, на котором последнее время он работал не выдержало. Потеряно очень много важной информации. Вот уже более 2 недель специалисты пытаются восстановить хотя бы часть . Дальнейшая работа ресурса зависит от них.