Доступная автоматика HelloDistiller на Ардуино Мега 2560
bsgart
Доцент
Тимашевск
1.2K 517

Отв.12100 18 Окт. 19, 22:34
kokych, а что у тебя и вода и отбор голов и хвостов на одном номере сидят (3)?
kokych
Студент
Воронеж
40 5

Отв.12101 18 Окт. 19, 22:52 (через 18 мин)
а что у тебя и вода и отбор голов и хвостов на одном номере сидят (3)?bsgart, 18 Окт. 19, 22:34
Делал как написано, скетч качал по ссылке. Своего ничего не вносил и не исправлял сам, ничего кроме значения клавиатуры.
Изменения в скетче
Я сам работаю со скетчем от Phisik 3.82, от Максима на эту плату скетч не ставил, но народ пишет проблем нет.
Теперь что я делал чтобы все заработало.
Взял исходный скетч [сообщение #13377460]
1. Дисплей
В разделе settings.h у меня сделаны такие настройки
#define USE_LCD_KEYPAD_SHIELD 1
#define USE_I2C_LCD 1
#define LCD_I2C_ADDRESS 0x27
Адрес дисплея может быть как 0x27 так и 0x3F, других не встречал, если не заработал крутите подстроечник на дисплее, если не помогло ставьте сканер i2c и ищите адрес вручную.
2. Клавиатура.
Чтобы не было кучи вариантов, заказывайте комплектующие по моим ссылкам, а то бывает разные распиновки и много чего другого.
Клавиатура с 5 желтыми кнопками и 3 выводами.
Около каждой кнопки распаян резистор, все они разных номиналов, от этого зависит значение, которое будет посылать кнопка на ардуино.
Значения нужно искать самостоятельно [сообщение #13469636]
Обязательно заливайте скетч в ту ардуину, которую будете использовать, иначе значения могут меняться.
Скетч для заливки прикреплен к посту.
Их надо изменить во вкладке keyboard.cpp примерно на 56 строке.
В моем случае выглядит так
if (key >= 0) KeyCode = 2;
if (key >= 59) KeyCode = 5;
if (key >= 159) KeyCode = 4;
if (key >= 283) KeyCode = 3;
if (key >= 521) KeyCode = 1;
if (key >= 1000) KeyCode = 0;
Помните, что значения в скобках нужно располагать по возрастанию, иначе нарушится логика обработки.
KeyCode это то, какую кнопку вы нажали. 1-Select, 2-Right, 3-Left, 4-Up, 5-Down.
3. Детектор напряжения.
С этим модулем бывают проблемы. Лично мне приходили нерабочие, так как установлен не тот ОУ что должен стоять. Тоже самое отмечают и коллеги. Но я нашел продавца, у которого нормальные модули(ссылка в комплектующих). Там должна стоять микросхема с маркировкой 358, если стоит другое, то работать не будет.
Для того, чтобы модуль заработал в скетче 3.82, нужно сделать кое какие изменения.
В разделе settings.h добавляем одну строчку примерно в районе 70 строки
#define ZMPT101B_MODULE_ENABLE 1 // Phisik: поддержка датчика напряжения ZMPT101B
Дальше в разделе loop.cpp ищем эту строчку
resultU=(analogRead(PIN_READU)>>1);
и меняем ее на этот код
#if ZMPT101B_MODULE_ENABLE
// Phisik: по сравнению со старой схемой датчика, ZMPT101B выдет синус с
// амплитудой ~1,25В вокруг U/2. Поэтому, чтобы не менять остальной код,
// мы смещаем середину в ноль и умножаем показания на 1.5
resultU = analogRead(PIN_READU) - 512;
resultU += resultU >> 1; // resultU = resultU + resultU/2
#else
// читаем показания с pin А3 и делим их на два, для увеличения
// измеряемого выходного напряжения.
resultU=(analogRead(PIN_READU)>>1);
#endif
Дальше в моем случае на экране я увидел 125В, хотя в сети было 220. Берем плоскую отвертку и крутим подстроченик на модуле, добиваемся нужного значения.
4. Клапана
На плате для подачи воды выведен 23 пин, по умолчанию в скетче он для подачи общей воды, а при режимах ректификация и дистилляция открывается клапан дефлегматора, который висит на 24 пине.
Во вкладке settings примерно 150 строка
#define KLP_NPG 0 // Номер клапана для управления НПГ при дистилляции
#define KLP_VODA 1 // Номер клапана для управления общей подачей воды в систему
#define KLP_DEFL 2 // Номер клапана для подачи воды в дефлегматор
#define KLP_DEFL_D 2 // Номер клапана для подачи воды в дефлегматор при дистилляции с дефлегматором с паровым отбором
#define KLP_HLD 3 // Номер клапана холодильника для дистилляции
#define KLP_PB 0 // Номер клапана для слива польского буфера
#define KLP_GLV_HVS 3 // Номер клапана отбора головных и хвостовых фракций
#define KLP_SR 4 // Номер клапана отбора ректификата
Правим строку
#define KLP_DEFL 2
на
#define KLP_DEFL 1
5. Wifi
В разделе settings.h делаем такие настройки
#define MQTT_SERIAL Serial3 // Порт, к которому подключена ESP, важно, чтобы не пересекалось с GSM_SERIAL
#define MQTT_SERIAL_BAUDRATE 115200 // Ставим максимальную, при которой еще нет ошибок связи
#define USE_MQTT_BROKER 1 // MQTT protocol by max506 & limon
// В этом режиме для ESP надо использовать прошивку от limon или мою
#define MQTT_SERIAL_PING_CHECK 1 // Phisik: Попытка наладить связь между контроллерами при обрыве.
// Работает, если вообще работает, только с моей прошивкой для ESP
// С другими прошивками будет только мешать!
В веб интерфейсе ставим скорость обмена 115200 и записываем значение в память
Прошивка ESP описана тут [сообщение #13364298]
сообщение удалено
bsgart
Доцент
Тимашевск
1.2K 517

Отв.12102 19 Окт. 19, 18:04
dymchishin, плата 1 серии, клапана прописаны следующим образом:
#define KLP_NPG 0 // Номер клапана для управления НПГ при дистилляции
#define KLP_VODA 2 // Номер клапана для управления общей подачей воды в систему
#define KLP_DEFL 1 // Номер клапана для подачи воды в дефлегматор
#define KLP_DEFL_D 1 // Номер клапана для подачи воды в дефлегматор при дистилляции с дефлегматором с паровым отбором
#define KLP_HLD 1 // Номер клапана холодильника для дистилляции
#define KLP_PB 0 // Номер клапана для слива польского буфера
#define KLP_GLV_HVS 3 // Номер клапана отбора головных и хвостовых фракций
#define KLP_SR 4 // Номер клапана отбора ректификата
при ректификации работают оба клапана, у меня он один с переключателем.
#define KLP_NPG 0 // Номер клапана для управления НПГ при дистилляции
#define KLP_VODA 2 // Номер клапана для управления общей подачей воды в систему
#define KLP_DEFL 1 // Номер клапана для подачи воды в дефлегматор
#define KLP_DEFL_D 1 // Номер клапана для подачи воды в дефлегматор при дистилляции с дефлегматором с паровым отбором
#define KLP_HLD 1 // Номер клапана холодильника для дистилляции
#define KLP_PB 0 // Номер клапана для слива польского буфера
#define KLP_GLV_HVS 3 // Номер клапана отбора головных и хвостовых фракций
#define KLP_SR 4 // Номер клапана отбора ректификата
при ректификации работают оба клапана, у меня он один с переключателем.
сообщение удалено
istochnik
Бакалавр
Макеевка
69 23

Отв.12103 19 Окт. 19, 20:53
разобрался с датчиком ZMPT. в скетче (версия 3.61) нужно поменять значение с 0 на 1. строка 38 "#define USE_ZMPT 1".
и напряжение нормально выставилось.
кстати набросал по быстрому схему модуля. может кому интересно
и напряжение нормально выставилось.
кстати набросал по быстрому схему модуля. может кому интересно
msg31
Научный сотрудник
Барнаул
4.6K 2.5K


Ну да. Это ж очевидно:)
demyan2
Доктор наук
Уфа
701 76
Отв.12105 20 Окт. 19, 09:29 (через 44 мин)
набросал по быстрому схему модуля.istochnik, 19 Окт. 19, 20:53

Mim
Кандидат наук
Ульяновск
438 71


KLP_SR 4,не работаетdymchishin, 19 Окт. 19, 18:16так у тебя 3 клапана?
сообщения удалены (2)
istochnik
Бакалавр
Макеевка
69 23

Отв.12107 20 Окт. 19, 10:07 (через 38 мин)
схема модуля ZMPT101B
limon
Доцент
Липецк
1K 952

Отв.12108 20 Окт. 19, 10:14 (через 7 мин)
istochnik, для феншуя 358 разверни, вход слева, выход вправо.
Парни, вопрос к тем, кто использует китайские модули влажности на LM358. Как они на головах работают? У меня схема с аналоговым датчиком стала самовозбуждаться. Если модули на головах работают чётко, поставлю их, если тоже глючат, буду со своей помехой бороться.
Парни, вопрос к тем, кто использует китайские модули влажности на LM358. Как они на головах работают? У меня схема с аналоговым датчиком стала самовозбуждаться. Если модули на головах работают чётко, поставлю их, если тоже глючат, буду со своей помехой бороться.
istochnik
Бакалавр
Макеевка
69 23

Отв.12109 20 Окт. 19, 11:52
я чтобы всем понятно было выводы по кругу как на реальной микросхеме. если нужно перерисую конечно
muxtair
Бакалавр
Мелеуз
91 16

Отв.12110 20 Окт. 19, 12:06 (через 14 мин)
Пришла клавиатура, скачал скетч, залил в ардуинку. Подключил к А0 и питание.
После включения на экране горит 1.
Нажимаю клавиши это значение меняется на 3, 2, 8, 0, на клавишу влево не
реагирует. Клавиша не замкнута, работает, тестером проверял.
Подскажите, что делаю не так.
После включения на экране горит 1.
Нажимаю клавиши это значение меняется на 3, 2, 8, 0, на клавишу влево не
реагирует. Клавиша не замкнута, работает, тестером проверял.
Подскажите, что делаю не так.
mekrab
Студент
Лесосибирск
10 1

muxtair значение нажатах клавиш менял в скече.
muxtair
Бакалавр
Мелеуз
91 16

Отв.12112 20 Окт. 19, 14:44 (через 7 мин)
В скетче я знаю где поменять.
У меня нет значений. Они должны отображаться на экране.
У меня нет значений. Они должны отображаться на экране.
mekrab
Студент
Лесосибирск
10 1

Я поставил в скече значения которые написал binomus. Select 741, Up 329, Down 144, Left 508, Rigth мне они подошли, клава как и у тебя попробуй может и тебе подойдут.
Добавлено через 2мин.:
Select 741, Up 329, Down 144, Left 508, Rigth 0.
Добавлено через 2мин.:
Select 741, Up 329, Down 144, Left 508, Rigth 0.
сообщение удалено
validyb
Студент
Москва
18 15

Muxtair. Была аналогичная проблема. Решилась заменой библиотеки в скетче. Пиши в ЛС, расскажу как я сделал
Mim
Кандидат наук
Ульяновск
438 71

Отв.12115 20 Окт. 19, 18:05 (через 15 мин)
Скажите можно ли управлять автоматикой удалённо, скетчем от физика иль каким? и как?
dimato
Кандидат наук
Волгоград
417 182

Отв.12116 20 Окт. 19, 18:27 (через 23 мин)
limon, У меня стоят как Максим рекомендовал [сообщение #12022647] . Работают очень точно. Правда на конце стоят джеки. [сообщение #12244914]
mekrab
Студент
Лесосибирск
10 1
Отв.12117 20 Окт. 19, 18:51 (через 25 мин)
Mim. сообщения Phisikа почитай [сообщение #13094797] внизу смотри.
kokych
Студент
Воронеж
40 5

Отв.12118 20 Окт. 19, 21:40
Всё п%*дец, все нервы порвались.
Поставил брагу, думаю: всё вроде в порядке, запущу автоматику для пробы на воде.
Включил, количество датчиков считывает, но температуру они не показывают, самое главное ничего, абсолютно ничего не трогал и не менял.
Были проблемы с клапанами, я их просто отключил и убрал. Потом разберусь. Главное клапан на дефлегматоре работает как надо, а остальные пока не нужны.
Что может быть?
Уже скетч перезалил заново, никаких изменений.
Поставил брагу, думаю: всё вроде в порядке, запущу автоматику для пробы на воде.
Включил, количество датчиков считывает, но температуру они не показывают, самое главное ничего, абсолютно ничего не трогал и не менял.
Были проблемы с клапанами, я их просто отключил и убрал. Потом разберусь. Главное клапан на дефлегматоре работает как надо, а остальные пока не нужны.
Что может быть?
Уже скетч перезалил заново, никаких изменений.
Mim
Кандидат наук
Ульяновск
438 71

Отв.12119 20 Окт. 19, 22:53
внизу смотри.mekrab, 20 Окт. 19, 18:51В зависимости от вашего роутера ESP может быть будет доступна по адресу http://home-distiller.local. Если это не работает, то надо установить Службы печати Bonjour для Windows(не работает у меня) или сходить в ближайший магазин и купить Mac(не выход)