Программатор из Arduino Leonardo

Запрограммировать микропроцессор AVR можно кучей разный способов. Самым простым и доступным способом будет использование  USBasp за 2$. Но пока он дойдет, вполне можно воспользоваться имеющейся Arduino. Соответствующий скетч есть в стандартной поставке IDE в меню Файл — Образцы — ArduinoISP. Но для Leonardo и других на чипе MEGA32U4 со встроенным портом COM есть особенности. Подключать внешний контроллер нужно не к выводам 11,12,13, а напрямую к разъему ISP. Ниже показано как прошить микропроцессор ATMEGA328P на плате OpenLRS RX, имеющей питание 3.3 В. Для пятивольтовых процессоров 4ю ногу разъема ISP можно соединять напрямую. Читать далее «Программатор из Arduino Leonardo»

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

Необходимость в нем давно назрела. Показания гигрометра на отметке 20% в начале зимы не внушала оптимизма. Поэтому заказал из китая так называемый mist maker. Самый дешевый на сегодняшний день стоит 260руб с доставкой. К сожалению, ко мне он пришел только через 2.5 месяца. Не повезло с продавцом. Нам понадобится любая подходящая емкость литров на 5. Подойдет от краски, незамерзайки и т.п. У меня это емкость от жидкого мыла.

  1. Срезаем горлышко.
  2. Сверлим отверстие под шнур питания. Расширяем по необходимости ножом.
  3. сверлим второе отверстие под выход влаги. После окончательной сборки мы его расширим.
  4. Берем кусок пенопласта от упаковки и формируем поплавок так, чтобы он помещался в отверстие нашей емкости. Банка из под краски тут подошла бы лучше, но как говорится что было.
  5. В поплавке делаем надрез под провод и фиксируем скотчем максимально близко к корпусу пьезоизлучателя. Рекомендую опробовать систему в ванне и подобрать оптимальную высоту от излучателя до поверхности воды. Я воспользовался еще скрепкой чтобы выровнять излучатель по горизонтали. Опять же, в емкости с большой крышкой можно изначально вырезать большой поплавок чтобы излучатель зафиксировать горизонтально.
  6. Заливаем воду. Рекомендуют дистиллированную, но я использую из фильтра с обратным осмосом. Можно конечно снег растапливать, благо пока его с избытком.
  7. Опускаем конструкцию в емкость.
  8. Осталось приладить вентилятор. Я попробовал маленький. Он вполне годится, но мой экземпляр оказался проблемным и пришлось придумывать как приладить вентилятор от блока питания. Отрезал горлышко от пластиковой бутылки и приклеил термоклеем. Получилась еще и удобная воронка для долива воды.

Теперь что касается питания. Сам излучатель требует 24 В постоянного тока в 1А. Вентиляторы обычно на 12В и потребляют до 0,2А. У меня по дому разведено 24 В от моей резервной системы. От нее запитано светодиодное освещение. Но для удобства лучше сразу купить блок питания (300 руб по текущему курсу). Для других комнат я вчера заказал себе такой и в довесок взял вентилятор на 24 В всего за 70 руб. Но если вентиляторы в хозяйстве есть, то можно купить DC-DC преобразователь за 55 руб. Будет возможность плавно регулировать обороты вентилятора и станет возможным использовать один блок питания на 24 В.

Резервное питание дома или дачи

Сегодня начну потихоньку рассказывать про свой “умный дом”. Конечно в первую очередь, такой дом должен быть энергобезопасен. 99% людей решают вопрос покупкой электрогенератора. Но это не мой выбор и тому много причин. Во-первых, как ни странно — цена. За 10 тыс можно купить лишь очень недолговечный агрегат. Основная характеристика генератора, по моему мнению, не мощность, а кол-во моточасов до капремонта. У большинства дешевых — это всего 500 часов, но часто они и новые без наладки не заводятся. Нормальный генератор можно купить лишь от 20 тыс. Хотите автоматический запуск, готовьте 40 тыс., а просто электрический будет от 30. Более совершенный и надежный дизель идет от 40 тыс. При всем при этом, цена 1 кВтч при хороших условиях будет 1л/кВт, т.е. примерно в 10 раз выше чем вы платите электросбытовой компании. Вот только эксплуатировать, скорее всего вы будите не в оптимальных режимах. В режимах, близких к минимуму, и так убогий КПД бензинового мотора становится удручающим, а при использовании асинхронного генератора общий КПД просто ужасным. Качество такой электроэнергии со скачками +/- 10% довольно посредственное. Последствия от эксплуатации при низкой загрузке — неполное сгорание топлива. Отсюда отложения, повышенный износ и преждевременный выход из строя. Вывод — не берите генератор “с запасом”. Кроме того тут потребуется правильное и своевременное обслуживание. Я уж не говорю про шум, вонь и геморой с заправкой.
Читать далее «Резервное питание дома или дачи»

Измерение внутреннего сопротивления источника питания

Есть упрощенная формула для расчета сопротивления промышленных li-pol АКБ, у которых указана кратность разрядного тока.

    \[Re = \frac{6 * Q * S }{ P (C * Q)^2} \]

где Re — вн.сопротивление Ом, Q — емкость Ач, C — кратность разрядного тока о.е., S — количество последовательных банок, P — количество паралельных батарей.
Но что делать, если АКБ другого типа или уже старый или производитель слукавил на счет кратности? Читать далее «Измерение внутреннего сопротивления источника питания»

Измерение постоянного тока и напряжения на 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.


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.

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 в консоль, но перед этим нужно настроить скорость передачи порта на ту, что в нем используется.

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»

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

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