1. Контроллер своими руками

<< 1234567 910 >>

Посетитель





78 2
Palestinian Territory Ramallah
5 г. назад
1. Контроллер своими руками
В данной теме я постараюсь изложить материал так, чтобы он был доступен самому неопытному в части электроники и программирования пользователю.
Позже тема будет развиваться. В итоге я расскажу как изготовить устройство, которое по своим характеристикам не уступает тому, что можно преобрести в готовом исполнении. Точнее в готовом ничего даже близко подходящего Вы не найдете.

В качестве платформы будем использовать Arduino. Это устройство может работать как автономно (запитав его любым адаптером 7-12V или батарейкой), так и подключенным к компьютеру. Имеет 20 цифровых вводов/выводов, 6 из которых могут быть использованы как аналого-цифровые преобразователи, еще 6 могут работать в режиме широтно-импульсной модуляции. Встроенные интерфейсы I2C и SPI. И много чего еще. Более подробно: http://arduino.ru/Hardware/ArduinoBoardUno. Такая организация позволяет подключить к Arduino практически любое электронное приспособление. Простой язык программирования и наличие в сети готовых библиотек для популярных устройств позволяет без труда реализовать на базе Arduino любой проект.

Грубо говоря, до знакомства с Arduino мои знания в электроние ограничивались законом Ома. Через пару часов после приобретения я уже реализовывал простые проекты, а еще через пару дней террариум был оборудован контроллером.

Что нам понадобиться:
1. Контроллер Ардуино. Arduino на E-bay
Вариант Nano удобнее всего использовать в итоговом устройстве (стоит около 450р, есть варианты и дешевле, но по USB они напрямую не подключаются, поэтому лучше немного переплатить, и использовать более удобное). Для прототипирования лучше использовать UNO (цена ~600р)
2. Датчик влажности и температуры. Датчики DHT* на E-bay
Цена от 100р в зависимости от точности. Желательно использовать DHT21 или DHT22. У DHT11 погрешность измерения температуры +-2 градуса, что существенно.
3. Релейный модуль. Релейный модуль (цена от 100р)
Такие модули бывают от 1, 2, 4, 8 до 16 (видел и 32 для маньяков) выводов, т.е. чем больше устройств надо заюзають, тем больше модуль.
4. Резистор на 10 kOm 1шт. Купить можно в ближайшем магазине радиодеталей. Цена 3р (не в ближайшем 60коп ).
5. Провода. Удобные шнуры для датчика и соединений.

Не буду рассказывать об Arduino. Вот ссылка, где о нем есть несколько статей Амперка, которые позволят быстро подружить это устройство с компьютером (см. видео Первые шаги). Кстати кто не хочет связываться с E-bay по тем или иным причинам, практически все причендалы можно купить в их интернет магазине (не сочтите за рекламу).
Но поверьте, в покупках на E-bay нет ничего сложного. Правда ждать посылку придется около месяца, но зато бюджет устройства будет в разы меньше.

Так же нам понадобится библиотека для работы с датчиком, взять ее можно здесь: https://github.com/adafruit/DHT-sensor-library. Папку поместить в каталог libraries\ установленной программы Arduino

Вот прототип (его я собрал и запрограммировал за 5 минут из того, что валялось под рукой):


Подключение датчика (Подробно тут):
1-й пин датчика подключаем к 5v от Arduino
2-й пин датчика к 8-му (или любому понравившимуся) пину Arduino. Так же через резистро 10 кOm этот пин надо подтянуть к 5v.
3-й никуда не подключаем.
4-й пин к Земле.

Подлюкчаем Реле (все еще проще чем с датчиком).
1. Соединяем с питанием. На модуле будет указано, какой пин отвечает за 5v (VCC) и Землю (GND)
2. Цифровые пины Arduino подключаем к управляющим пинам модуля (In1, In2 и т.д.). В данном случае к 6 и 7.

Железо готово! Через реле подлючаем необходимые устройства и доставляем радость животному.


Мы использовали всего 3 из 18-ти возможных управляющих пинов. Это значит, что мы уже знаем как к тому же самому контроллеру подлючить еще 5 террариумов с независимым управлением (обладая более углубленными знаниями мы бы знали, как подлючить еще не один десяток...).

Чуть не забыл, вот текст программы, который надо загрузить в устройство, чтобы все заработало (программа максимально упрощена, для удобства восприятия и возможности внесений изменений. Используем простой принцип, если температура опустилась ниже указанной отметки, то включаем обогрев; с влажностью аналогично):

#include <DHT.h> // Подключаем библиотеку для работы с датчиком

#define DHTPIN 8 // Считывающий пин с датчика
#define DHTTYPE DHT11 // Модель датчика
#define tPIN 7 // Пин управления температурой
#define hPIN 6 // Пин управления влажностью

DHT dht(DHTPIN, DHTTYPE); // Создаем объект dht

int tStatus = HIGH; // определяем переменную, отвечающую за состоянеие нагревателя HIGH=выкл, LOW=вкл
int temp = 28; // Желаемая температура в градусах Цельсия (изменить на нужную)
int hStatus = HIGH; // определяем переменную, отвечающую за состоянеие увлажнителя HIGH=выкл, LOW=вкл
int hum = 45; // Желаемая влажность (изменить на нужную)

void setup() // инициализация основных данных
{
Serial.begin(9600); // Инициализируем COM-порт
dht.begin(); // Инициализируем датчик
pinMode(tPIN, OUTPUT); // Определяем пин для управления температурой как Вывод
digitalWrite(tPIN, tStatus); // Притягиваем пин к начальному статусу (Выкл)
}

void loop() // зацикливание (код управляющей программы)
{
int h = dht.readHumidity(); // Считываем влажность
int t = dht.readTemperature(); // Считываем температуру
tStatus = (t < temp) ? LOW:HIGH; // Если температура меньше желаемой, то статус обогревателя=Вкл, в противном случае Выкл
digitalWrite(tPIN, tStatus);
if (h < hum) hStatus = LOW; else hStatus = HIGH; // Если влажность меньше желаемой, то статус увлажнителя=Вкл, в противном случае Выкл
digitalWrite(hPIN, hStatus);
delay(1000); // Задержка в 1 секунду
Serial.print("t="); Serial.print(t); Serial.print(" h="); Serial.println(h); // Отправляем информацю о климате на COM-порт
}


Примечание (бонус ). При подключении к компютеру с COM порта можно будет считать информацию о температуре и влажности в цифрах. В самой программе Arduino можно открыть COM-монитор с помощью меню Tools/Serial Monitor и с периодичность в 1 сек будет обновляться инфа о температуре и влажности

Итого: Мы потратили около 700р. Получив контроллер с возможностью расширения до 6 терров. Устройство работает как подключенное к компьютеру, так и без него при наличии питания.

Если тема будет интересна то:
1. В следующий раз я расскажу, как наше устойство "научить" работать со времененем. И в зависимости от времени суток менять характеристики климата, а так же к реле подключить Освещение, которое будет включаться утром и выключаться вечером (если у Вас останутся свободные каналы...).
2. И по нарастающей... LCD-Дисплей с информацией; эффект рассвета и заката; управление с пульта ДУ, ПК или сенсорной панели; использование транзисторов вместо реле для устройств работающих от малого постоянного тока; и пр.

С вопросами и пожеланиями не стесняемся. Кому интересно, помогу чем смогу.

Изменено 27-4-2012 автор CiberRus
2012-03-26 добавлено 26/03/2012 13:37:26#365640
Нравится DragonNagaina

Новенький





2
Russian Federation Sosnovy Bor
11 г. назад
CiberRus
Доброе время суток! Я извиняюсь так как маленько не по теме у меня контроллер немного в другом направлении ! Но я надеюсь не оставите меня в беде так как я впервые связался с ардуино по мере изучения кое в чем разобрался но до реализации моего конроллера не хватает навыков, уже как месяц мучаюсь и никак не могу продвинуться дальше, так как не знаю как организовать настройку переменных с датчиков, как вывести значения полученных установкой вывести на ЖК, и как разделить loop на две части... Помогите пожалуйста чем сможете!!!?
Вот подробное описание работы конроллера ниже схема и схема меню и собственно сам скетч.

1часть.)Режим "Analog" При включение питания на экране загорается приветствие( Hello ) чере 1 скунду вывод на дисплей ( Analog ), при повороте
потенциометра Y от среднего положения вправо двигатель Y начинает вращаться в право чем больше угол поворота потенциометра
тем быстрее скорость, при повороте в лево от среднего положения двигатель вращается влево, тоже с регулировкой скорости.
Двигатель Х работает аналогично от потенциометра X.

2часть.) Режим "Programm" При нажатии кнопки selekt первый раз,отключается режим Analog, на дисплей выводится (setup),
в этом режиме кнопками + и - выставляется
количество импульсов поступающих с датчика Y с шагом +/-1 отображающих на дисплее в нижней строке, ( setup )
( Y+1 X+3 )
следующее нажатие selekt устанавливается количество импульсов с датчика Х.
( setup )
( Y+5 X+155 )
третье нажатие selekt вывод на дисплей (Programm), при нажатие кнопки Start вывод на дисплей (Program start) идет ожидание сигнала
с кнопки Sunhro при поступлении сигнала, двигателя срабатывают на установленое количество импульсов с датчиков и останавливается, снова идет
ожидание Sunhro и так до нажатия кнопки stop .
Если количество импульсов в setup выставлено ноль для Y или Х то соответствующий двигатель остается на одном месте не зависимо от поступления
сигнала Sunhro.

При нажатии кнопки stop вывод на дисплей Programm stop процесс останавливается , при повторном нажатии переход в режим
аналог вывод на дисплей Analog




Изменено 24-1-2013 автор sanik15

Изменено 29-1-2013 автор sanik15
2013-01-24 добавлено 24/01/2013 19:36:48#395261

Посетитель





78 2
Palestinian Territory Ramallah
5 г. назад
sanik15

1. Желательно указать назначение контроллера, т.к. это даст возможность провести дополнительный анализ.
2. В такой постановке чтобы помочь Вам мне придется повторить схему и написать скетч, что мне явно не интересно. Поэтому Вам необходимо:
2.1. Конкретизировать моменты, которые вызвали затруднения.
2.2. Указать локальные участки кода, которые ведут себя не так как Вы задумали. (Т.е. пишите "Я хочу <описание>, для этого я пишу <код>, а контроллер себя ведет <поведение>.
3. Переменная "value". Много логики направлено на ее изменение, но ее значение не используется, так и не понял ее цель.
4. "не знаю как организовать настройку переменных с датчиков". Это слишком обобщенно, я даже не догадываюсь что вложено в данную фразу.
5. "разделить loop на две части". Опять же возникает неоднозначность того, что подразумевается.

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

За одно на примере Ваших потенциометров (или возможно отдельным параграфом) я остановлюсь на теме ПИД-алгоритма. Это будет интересно для тех, кто хочет "умно" регулировать температуру (что важно для инкубаторов). В Вашем случае это позволит решить проблему резких перепадов скорости вращения двигателя.
2013-01-25 добавлено 25/01/2013 11:51:39#395348

Новенький





5
Russian Federation Chelyabinsk
11 г. назад
CiberRus

Дорогой Сайбер
Отличная тема и ты отличный учитель. У тебя прямо талант все расставлять по полочкам.
Но у меня возникла проблема с подключением кнопочек к контроллеру. Никак не могу отладить программу.
Просьба вот в чем: не мог бы ты выложить свой скетч полностью? А то я уже недели две мучаюсь никак не могу отладить. Я думаю я тут не один такой.
Заранее спасибо.
2013-01-25 добавлено 25/01/2013 19:09:14#395392

Новенький





2
Russian Federation Kirishi
11 г. назад
CiberRus
Хорошо, Когда доедет все таки до меня посылка с ардуино я попробую загрузить программу и посмотрю что она вобще сможет делать... Как только придет посылка я отпишусь...
2013-01-25 добавлено 25/01/2013 21:51:22#395415

Новенький





1
Russian Federation Krasnodar
11 г. назад
Друзья, адаптирую скеч для запуска МК в морском аквариуме. Как реализовать закат рассвет для ламп дневного света?
2013-02-04 добавлено 04/02/2013 15:49:50#396612

Посетитель





65
10 г. назад
Максимка

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

если ничего не напутал и технологии не скакнули далеко в пред без меня, то как то так
2013-02-04 добавлено 04/02/2013 16:00:59#396620

Новенький





46
Russian Federation Kazan
5 г. назад
Максимка


Сейчас полно ЭПРА с диммированием. Насколько я помню диммируются постоянным напряженим в диапазоне от1-10в.
А почему не хочешь полностью на LED светильник сделать?
2013-02-10 добавлено 10/02/2013 19:02:33#397438

Посетитель





65
10 г. назад
многие пишут что светодиоды не очень полезны для животных и растений.
у меня сейчас вот эксперимент с растениями и светодиодами обычными белыми
смотрю будет ли расти что нибудь )
2013-02-11 добавлено 11/02/2013 13:03:24#397525

Новенький





46
Russian Federation Kazan
5 г. назад
aleksjet


Я сейчас тоже делаю светильник себе и товарищу для новых морских аквариумов,это конечно слишком громко сказано,что я делаю.Повторяю уже сделанное,но мне очень серьезно и активно помогают.Один форумчанин из Израиля неделю со мной возился(абсолютно добровольно,удивительно),написал две версии программы для меня+ одну спец прогу для проверки координат у одного из наших экранов.Как оказалась китайцы при монтаже накосячили. Вообщем с программой уже все Ок оба "бутерброда" работают.Сейчас делают корпуса самих светильников.Останется смонтировать и запускать в эксплуатацию.
Свет сделан на специальных диодных сбоках. На ней 12 диодов 3шт RB,1шт B,2шт W,4шт UV(425nm),1шт CY,1шт DR. Всего будет 10 сборок на один аквариум. Управлятся будет Ардуиной Мега 2560+спец аква шилд и тач-скрин панелью 3.2(сенсорный экран)+ две шестидрайверные сборки для диодов. Вся регулировка с экрана(сенсорный). Товарищ уж очень сильно торопит, только этим и занимаюсь. Поэтому здесь пока редко появляюсь. Но как закончу свет снова этим контроллером займусь плотнее.

А ты как с кнопками и энкодером разобрался?

Изменено 11-2-2013 автор Rust

Изменено 12-2-2013 автор Rust
2013-02-11 добавлено 12/02/2013 00:44:22#397624

Посетитель





65
10 г. назад
Rust

к большому сожалению пока отложил эту тему в долгий ящик жду новый датчик температуры и влажности, тот к сожалению врет
постоянно покалывал влажность 99 % хотя на самом деле в терре всего 70 % по аналоговому гигрометру.
А еще затеяли ремонт на кухне, так что возможности пока нет.

P.S. если можно поподробней расскажите про UV светодиоды мне тоже тема интересна как сделать уф излучение для животных и растений
да и вообще тема светодиодного освещения очень интересна не только для морского аквариума но и для терров где растут растения и обитают разные животные требовательные к свету )
2013-02-12 добавлено 12/02/2013 08:35:10#397636

Новенький





46
Russian Federation Kazan
5 г. назад
aleksjet



P.S. если можно поподробней расскажите про UV светодиоды мне тоже тема интересна как сделать уф излучение для животных и растений


Я тему по UV излучению специально обсуждал с поставщиком LED сборок (мне для птиц надо). На сегодняшний день (он так сказал) альтернативы лампам пока нет. На диодах очень и очень дорого будет. Так,что ставь репти-гло,хоть и дороговато,но не так как на диодах. Можно еще спец люминисцентные лампы для медицины посмотреть. Не могу вспомнить куда ссылку на этот сайт дел. Но надо быть внимательным и выбрать нужный диапозон излучения UV.

А с белым проблем нет,мне кажется. Выбирай нужную температуру по Кельвину и вперед,хочешь комбинируй.Можешь добавить красный,зеленый,короче,что тебе больше понравиться или посчитаешь нужным для твоих питомцев. Диодов и драйверов очень много. Если бояться,что ШИМ влияет как-то на животных,есть драйвера,которые диммируют постоянкой.И предполагаемого мерцания,которое влияет на животных там нет.
2013-02-12 добавлено 12/02/2013 13:36:36#397656

Новенький





46
Russian Federation Kazan
5 г. назад
aleksjet


Вот нашел ссылку на лампы

http://sentech-medic...

Изменено 12-2-2013 автор Rust

Изменено 12-2-2013 автор Rust
2013-02-12 добавлено 12/02/2013 13:39:19#397657

Посетитель





65
10 г. назад
Rust

спасибо
за ссылки про светодиоды так и думал что дорого будет а зачем тогда вы их в проекте с аквариумом используете ?
да и про выбор оптимального светодиодного свечения хоть диссертацию пиши )
еще ест вопрос про маркировку диодов которую ты описываешь
CY - что за диоды?

Изменено 12-2-2013 автор aleksjet
2013-02-12 добавлено 12/02/2013 13:47:41#397659

Новенький





46
Russian Federation Kazan
5 г. назад
aleksjet


Кораллы в UV диапазоне начинают флуоресцировать т.е. очень красиво светиться. Только для этого там стоят эти диоды.
Кстати сильное UV излучение вредно для человека.
Это цвет циан.
Неудобно на этом форуме фотки вставлять. Я бы показал сборки.
2013-02-12 добавлено 12/02/2013 14:12:22#397662

Посетитель





65
10 г. назад
Rust

хотелось бы посмотреть ) на сборку )
если можно на почту ))
aleksjet@gmail.com
2013-02-12 добавлено 12/02/2013 14:15:43#397664

Новенький





46
Russian Federation Kazan
5 г. назад
aleksjet


Вот сборки
слева для моря,верхняя уже с оптикой.



Внизу шестидрайверная сборка.

Изменено 12-2-2013 автор Rust
2013-02-12 добавлено 12/02/2013 14:25:03#397666

Посетитель





65
10 г. назад
Rust

спасибо )
драйвера делали сами ?
где заказывали монтаж и разработку печатных плат ?


Изменено 12-2-2013 автор aleksjet
2013-02-12 добавлено 12/02/2013 14:28:08#397667

Новенький





46
Russian Federation Kazan
5 г. назад
aleksjet


А вот фото контроллера для аквариума.Правда плохое. Во время поиска неисправности делал на телефон.
Слева уровни яркости светодиодов по суточному графику. Там еще и и дата не выставлена,короче ничего не было.




Там куча подменю для всевозможных настроек.CD карта для сохранения каких-то понравившися режимов освещения. Спец. шилд
для управления диодами, разьемы под платки atlas (PH, ORP и тд http://atlas-scienti... ),разъемы для луны с изменением фаз, управление вентиляторами в зависимости от температуры,регулировка температуры в аквариуме. Воощем куча всего. Я еще сам всего не знаю.

Изменено 12-2-2013 автор Rust

Изменено 12-2-2013 автор Rust

Изменено 12-2-2013 автор Rust
2013-02-12 добавлено 12/02/2013 14:37:13#397671

Новенький





46
Russian Federation Kazan
5 г. назад
aleksjet


Разработчик один старый знакомый аквариумист совместно с китайцами.
Изготовление в Китае.
2013-02-12 добавлено 12/02/2013 14:41:42#397672

Посетитель





65
10 г. назад
это будет промышленный образец ? или единичное устройство
а тема знакомая давно тоже хотел в аквариум сделать, но руки не дошли, а щас приспичило жена на выставке купило животных требовательных к освещению влажности и пр, а самое главное интересен процесс разведения животных, а это еще и особые параметры что бы стимулировать размножение

Изменено 12-2-2013 автор aleksjet
2013-02-12 добавлено 12/02/2013 14:50:00#397674

Посетитель





65
10 г. назад
Rust

я имею в виду для чего разработка для домашнего пользования или для производства
а про расход энергии это да светодиоды самый правильный вариант у меня тоже много света горит в комнате
2013-02-12 добавлено 12/02/2013 15:05:18#397679

Новенький





46
Russian Federation Kazan
5 г. назад
aleksjet


Да,тебе без контроллера никак. И именно, что разработал CiberRus для тебя и для меня(для птиц) самое оптимальное,по цене и функционалу.
В принципе он уже вполне работоспособен. Только вопрос регулировки отдельных параметров кнопками не решен. Но это может подождать. А есть еще один вариант,изменять настройки дистанционно.
2013-02-12 добавлено 12/02/2013 15:11:50#397681

Новенький





46
Russian Federation Kazan
5 г. назад
aleksjet


Нет,только для себя и товарища. Никакого производства.
1,5 кВт это только на аквариум. Квартиру я не считал.

Изменено 12-2-2013 автор Rust

Изменено 12-2-2013 автор Rust
2013-02-12 добавлено 12/02/2013 15:12:40#397682

Посетитель





65
10 г. назад
Rust

спасибо )
2013-02-12 добавлено 12/02/2013 15:15:21#397683

Посетитель





65
10 г. назад
Rust

сейчас живут саламандры, ахатины, региус и скальные ящерицы, вот еще три аквы пресных )
а в чем проблема то с кормлением ?
сверчки ?
2013-02-12 добавлено 12/02/2013 15:24:53#397686

<< 1234567 910 >> Создать новую темуБыстрый ответ