Форум самогонщиков Сайт Барахолка Магазин Помощь солдатам

Ардуино mega + Ethernet shield W5100 web интерфейс для автоматики

Форум самогонщиков Автоматика
1 2 3 4 ... 7 1
slony Магистр Сочи 246 63
25 Янв. 15, 20:39
Автоматика все ещё в процессе доводки до ума, первое сообщение обновляется по мере доработки.
Текущя версия не проверялась в реальной работе. Вчера по ошибке закачал нерабочий скетч. Нужно или раскомментарить строку SetupTimers() или скетч перекачать

Собирается из стандартных компонентов с минимумом пайки.
Пока работает подключение датчиков температуры ds18b20, давления mpx5010dp, управление клапанами в ШИМ режиме, старт-стоп (на всякий пожарный), автоматическое уменьшение отбора, окончание работы по температуре в кубе, аварийное отключение по датчику температуры.
Управление нагревом РМЦ-3500. http://samogon-i-vodka.ru/catalog/552/4114/
Просто это был единственный готовый регулятор с внешним управлением, а сам я с паяльником не очень дружу.
Управление насосом  на шаговике как у mak [Перистальтический насос на шаговом двигателе и ардуино в качестве мозгов]
Всё это подключено в wifi роутер и позволяет управлять процессом не вставая с дивана. Можно ещё камеру к роутеру подключить http://bash.im/quote/431670
Сделано на ajax, ответы отдаются в xml ну и конечно их можно какой-нибудь внешней программой парсить например логи вести или интерфейс покрасивее нарисовать.

Немного про реализацию:
Разархивировать index.htm на sd карту, файлом hdweb.ino прошить ардуину.

поменять при желании mac и ip адреса в скетче.
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
IPAddress ip(192, 168, 2, 5);

Датчики температуры подключены к пину 23
#define DS1820_PIN 23

подключение РМЦ-3500
#define RMC_PAUSE_PIN 25 //пауза
#define RMC_PWM_PIN 27  //шим
Распайку разъема РМЦ смотрите в инструкции, кажется было несколько вариантов с разными разъемами.

Подключение насоса на шаговике
PIN управления моторм 31 задан в прерывании таймера ISR(TIMER4_COMPA_vect) PORTC = PORTC | (1 << 6);
остальный сигналы
#define MOTOR_ENABLE_PIN 33
#define MOTOR_DIR_PIN 35
и параметры мотора и драйвера
#define MOTOR_STEP 200 //шагов на полный оборот мотора
#define MOTOR_MICROSTEP 8 //микрошаг
#define MAX_RPM 300 //максимальное число оборотов мотора
Микрошаг сильно большой задавать смысла нет, 8 вполне хватает для насоса. У меня на драйвере можно регулировать ток удержания, ставлю самый минимальный, так работает плавнее.

пин подключения датчика давления
#define MPX_PIN A9

номер аварийного датчика температуры -1
#define ALARM_NUM 2
температура при которой контроллер переводится в режим аварии, РМЦ переводится в режим паузы и закрываются все клапана.
#ALARM_TEMP

В setup() определяются пины к которым подключены клапана и реле и инверсия управления.
22,24,26,28 - клапана
30,32,34,36 - реле

Первый датчик температуры установлен в кубе по нему работает автоуменьшение отбора и окончание работы.
Второй в колонне для стартстопа. Третий - аварийный.

Автоматическое уменьшение отбора
AutoOtborProc = -0.06*AutoOtborTemp+6.04;
ступеньками с шагом в 1 градус, только для первого клапана.

Изменения с прошлой версии:
Период работы клапана задается в секундах (0-1000), время открытия в сотых секунды. Добавил управление ШИМ ардуино на pin 7 и 8.
Снимок.png
Снимок.png Ардуино mega + Ethernet shield W5100 web интерфейс для автоматики. Автоматика.

hdweb.zip 10.3 Кб
kazu Кандидат наук Харьков 375 74
Отв.1  25 Янв. 15, 22:40
Мая имха - собственно автоматика и веб должны крутиться на разных железках.
Как я себе это вижу: автоматика крутится на любом контроллере и в уарт валит логи и/или принимает установки, а вот с той стороны уарта висит что угодно (роутер, шлюз, ПК) и занимается всеми этими сетевыми делами и отрисовкой окошек и рюшечек.
slony Магистр Сочи 246 63
Отв.2  25 Янв. 15, 23:02, через 23 мин
Ну тут все примерно так и происходит. Ардуина занимается управлением, а Ethernet shield подключена по SPI, самостоятельная плата и все сетевые задачи решает независимо от ардуино. А отрисовкой в основном java script на клиенте занимается. Единственный недостаток w5100 она не может одновременно несколько соединений устанавливать, но это и не нужно.
sanjC2H5OH Студент Великий Устюг 40 22
Отв.3  27 Янв. 15, 00:17
Здорово! В этом направлении двигаться нужно! Я тоже бы хотел научиться так проги писать и дотянутся до интернета! Научите? Я осваиваю СИ для atmega, свой аппарат уже автоматизировал и не плохо бы в инете его видеть!
kazu Кандидат наук Харьков 375 74
Отв.4  27 Янв. 15, 02:34
На любой роутер, хоть двадцатибаксовый тплинк, валить в уарт. А там уже навертеть веб-интерфейс с аяксами, нодамижс, ррдтулами и прочими заббиксами.
И на работе получать мыла и/или смски "головы отошли", "тело 2л", "тело 3л", "еще литра", "хвосты", "хвосты вонючие, ужас!", "всё, я устала, я ухожу".
Only Специалист Voronezh 199 32
Отв.5  27 Янв. 15, 04:29
slony, Вот если возможно, для этой [Доступная автоматика на Ардуино Мега 2560.] установки и программы вэбинтерфейс прикрути. Для каждого режима отдельно. Чтоб можно было смотреть данные и регулировать мощность, отбор, скорость подачи браги через насос, и тд. Было бы удобно. У самого знаний не хватает сделать, но сейчас закажу шилд себе, буду прикручивать сервер на него. В инете есть инфа и даже есть контроль по интернету типа такого http://habrahabr.ru/post/219107/  Вот хотелось бы также информативно но с возможностью регулировки и отключения. И для разных режимов - НБК, РК, Дистилляция, и тд. Можно это сделать? Через интернет не обязательно, а в своей сети нужно.
slony Магистр Сочи 246 63
Отв.6  27 Янв. 15, 08:59
На любой роутер, хоть двадцатибаксовый тплинк, валить в уарт.kazu, 27 Янв. 15, 02:34
Конечно была такая мысль. В любом случае через wifi это все удобнее будет, отвязываться от проводов. Но во первых у меня tp-link а нет, есть старая dwl-2100ap. Это надо роутер разбирать чтобы добраться до uart, прошивать openwrt в общем гемор ещё тот, мало кто захочет повторить и на разных роутерах свои ньюансы будут. А тут все из готовое стандартное и дешевле. Хотя сама идея неплохая, а если ещё gpio задействовать то ардуина и нафиг не нужна будет )
slony Магистр Сочи 246 63
Отв.7  27 Янв. 15, 09:08, через 9 мин
Вот если возможно, для этой [Доступная автоматика на Ардуино Мега 2560.] установки и программы вэбинтерфейс прикрути.Only, 27 Янв. 15, 04:29
У меня железо другое уже куплено было, поэтому и не стал эту автоматику повторять. Сейчас не могу сказать получится ли ethernet shield с ней скрестить, там много ресурсов меги задействовано могут быть конфликты. В любом случае если сделать на отдельной плате и их через uart соединить то работать будет. А сам интерфейс нарисовать к чему угодно с помощью ajax не сложно.
slony Магистр Сочи 246 63
Отв.8  27 Янв. 15, 09:23, через 15 мин
Я осваиваю СИ для atmega, свой аппарат уже автоматизировал и не плохо бы в инете его видеть!sanjC2H5OH, 27 Янв. 15, 00:17
Если у тебя не ардуино то вот посмотри http://habrahabr.ru/post/230661/ или как kazu написал попробуй на роутере uart задействовать.
bengoor Доцент Кронштадт 1.8K 1.1K
Отв.9  27 Янв. 15, 14:40
У меня железо другое уже куплено было, поэтому и не стал эту автоматику повторять. Сейчас не могу сказать получится ли ethernet shield с ней скрестить, там много ресурсов меги задействовано могут быть конфликты. В любом случае если сделать на отдельной плате и их через uart соединить то работать будет. А сам интерфейс нарисовать к чему угодно с помощью ajax не сложно.slony, 27 Янв. 15, 09:08
Вот вроди ты специалист в адруино, покумекал бы с Максимом (msg31) на предмет прикрутить к его автоматике ethernet shield, может и сам бы собрал такой же контроллер, тем более функционал у него более чем внушительный, а вдвоем думаю вы быстро прикрутите модуль для управления контроллером через ПК.
С дизайном вэб-интерфейса думаю нашлись бы люди и помогли состряпать и сделать удобным и красивым.
slony Магистр Сочи 246 63
Отв.10  27 Янв. 15, 15:34, через 55 мин
Вот вроди ты специалист в адруино, покумекал бы с Максимом (msg31) на предмет прикрутить к его автоматике ethernet shieldbengoor, 27 Янв. 15, 14:40
Это практически мой первый скетч на ардуино ) А насчет прикрутить к автоматике msg31 не знаю, в принципе решаемо. На первый взгляд конфликты ethernet shield использует pin 10, у Максима на нем управление симистором и 50-53, на них кнопки висят.
bengoor Доцент Кронштадт 1.8K 1.1K
Отв.11  27 Янв. 15, 15:44, через 10 мин
Это практически мой первый скетч на ардуино ) А насчет прикрутить к автоматике msg31 не знаю, в принципе решаемо. На первый взгляд конфликты ethernet shield использует pin 10, у Максима на нем управление симистором и 50-53, на них кнопки висят.slony, 27 Янв. 15, 15:34
Прочитал твои попытки в теме про автоматику в мае затронуть вопрос с прикруткой шильда, но ни к чему не привело, Алексей почистил тему, но видимо ты уже к этому моменту разобрался как прикрутить. На самом деле в последних версиях у Максима действительно на пине 10 висит симистор, 45-53 кнопки, но можно же посадить шильд на другие свободные пины? Правда Максим писал что все прерывания задействовал уже и может не получится скрестить шильд с мегой, но я в этом не силен. В любом случае если получится будет очень большой прорыв.
slony Магистр Сочи 246 63
Отв.12  27 Янв. 15, 16:18, через 35 мин
Правда Максим писал что все прерывания задействовал уже и может не получится скрестить шильд с мегой, но я в этом не силен. В любом случае если получится будет очень большой прорыв.bengoor, 27 Янв. 15, 15:44
Если честно мне всё больше нравится идея прикрутить роутер через uart. Serial точно работает и всего делов 3 провода к роутеру припаять.
kazu Кандидат наук Харьков 375 74
Отв.13  27 Янв. 15, 17:26
Еще довод в пользу уарта. Можно взять HC-04/05/06 и прокинуть уарт по блютусу на любой комп/роутер/вписать_своё.
slony Магистр Сочи 246 63
Отв.14  27 Янв. 15, 17:34, через 8 мин
kazu, мне бы что-нибудь одно до ума довести ) Дописал управление РМЦ-3500, дома проверю что получилось.
olegmak3 Доктор наук СанктПетербург 856 256
Отв.15  28 Янв. 15, 00:42
slony,
на предмет прикрутить к его автоматике ethernet shieldbengoor, 27 Янв. 15, 14:40
Это была бы "Пестня"!
Давнишняя мечта,увы сам не могу этого сделать.
А алгоритмы у Макса заложены на все случаи жизни,и корректируются под себя достаточно просто(его скетчи очень подробно прокомментированы).
В любом случае если получится будет очень большой прорыв.bengoor, 27 Янв. 15, 15:44

Присоединяюсь к этому мнению.
Ждем продолжения.
slony Магистр Сочи 246 63
Отв.16  30 Янв. 15, 22:44
Для автоматики Макса сделал тестовый скетч, выводит содержимое экрана и состояние датчиков температуры и давления. Сам проверить не могу, автоматику ещё не собрал. Есть желающие попробовать ?
slony Магистр Сочи 246 63
Отв.17  30 Янв. 15, 22:47, через 4 мин
Для своей сделал управление РМЦ-3500.  Доделаю управление клапаном отбора через ШИМ и выложу скетч.
olegmak3 Доктор наук СанктПетербург 856 256
Отв.18  30 Янв. 15, 23:30, через 44 мин
Есть желающие попробовать ?slony, 30 Янв. 15, 22:44
Желающие есть,только шилда нет
Ардуино mega + Ethernet shield W5100 web интерфейс для автоматики
Ардуино mega + Ethernet shield W5100 web интерфейс для автоматики. Автоматика.
,прикручен только блютус 06.
В терминале выводит значения датчиков,графики не рисует
Ардуино mega + Ethernet shield W5100 web интерфейс для автоматики
Ардуино mega + Ethernet shield W5100 web интерфейс для автоматики. Автоматика.
kazu Кандидат наук Харьков 375 74
Отв.19  30 Янв. 15, 23:38, через 9 мин
Кста. К той автоматике (от msg31) проще всего прикрутить вывод в консоль (уарт) и на компе смотреть графики в SerialOscilloscope/ Ну а там и до роутера рукой подать.. Подмигивающий
olegmak3,  это ^^^ тебе точно пригодится.