Блок управления, температурой электропечи, на датчике max6675 и ESP8266
11.08.2020 от dic1712
Всем здравствуйте. Как говориться, не было бы счастья, да несчастье помогло.
Произошла поломка регулировки температуры, печи для выпекания всяких вкусностей.
Стала задача, чем можно заменить эту часть исправной печи.
А вот что я придумал.
дисплей Nextion 240*400, ESP8266 NodeMcu , датчик температуры (MAX6675) который может выдержать высокие температуры, в моем случае это 250*С., твердотельные реле, мосфеты, плата для пайки, блок питания, пара светодиодов, распределительная коробка.
- В печке 3 ТЭНы, 1 вентилятор, подсветка. Вы сами выбираете режим работы.
- Отключение по таймеру.
- привязка по Wi-Fi, время из сети на дисплее.
- Возможность прошивки по воздуху ОТА, т.е. нет необходимости демонтировать оборудование для его перепрошивки. Дисплей прошивается отдельно через флешку.
- Температура потдерживается PID регулятором.
- Дописать код, и можно прописать логику работы ТЭН, к примеру чтобы корочка зарумянилась в конце приготовления.
Для скачивания:
Файл flprog, nexstion с картинками, 3D модель корпуса для дисплея,
Вложения
- для дисплея nextion
Дата добавления: 11.08.2020 13:19 Размер файла: 335 КБ Кол-во скачиваний: 1176 - фото1
Дата добавления: 11.08.2020 13:10 Размер файла: 665 КБ Кол-во скачиваний: 1135 - фото
Дата добавления: 11.08.2020 13:10 Размер файла: 791 КБ Кол-во скачиваний: 712 - картинки для дисплея2
Дата добавления: 11.08.2020 12:57 Размер файла: 485 КБ Кол-во скачиваний: 746 - картинки для дисплея1
Дата добавления: 11.08.2020 12:56 Размер файла: 649 КБ Кол-во скачиваний: 644 - pechka s taimerom UART
Дата добавления: 09.08.2020 06:22 Размер файла: 859 КБ Кол-во скачиваний: 867 - MAX6675_ESP_pant2_CODE
Дата добавления: 09.08.2020 05:04 Размер файла: 171 КБ Кол-во скачиваний: 1130 - контроллер температуры печки
Дата добавления: 09.08.2020 06:12 Размер файла: 336 КБ Кол-во скачиваний: 1444
Блоки приема и передачи по UART с контрольной суммой
03.02.2018 от Сергей Глушенко
В архиве находится:
4 блока передачи
1. 4byte_to_UART
2. 8byte_to_UART
3. 4int_to_UART
4. 8int_to_UART
4 блока приема
1. UART_to_4byte
2. UART_to_8byte
3. UART_to_4int
4. UART_to_8int
4 блока конвертации битовых переменных
1. 8bit_to_byte — соединяет 8 бит в байт
2. byte_to_8bit — разбивает байт на 8 бит
3. 16bit_to_int — соединяет 16 бит в INT
4. int_to_16bit — разбивает INT на 16 бит
2 блока конвертации
1. 2byte_to_int — соединяет 2 байта в INT
2. int_to_2byte — разбивает INT на 2 байта
Блок пересчета температуры с аналогового датчика MCP9700
Блок триггера аварий со звуковой сигнализацией
ну и небольшой проект.
Отличия данных блоков UART от стандартных «Отправка переменной в UART» и «Прием переменной из UART»:
1. Контрольная сумма пакета. Просто необходима в условиях длинной линии RS485.
2. Минимальная длина пакета засчет передачи в формате BYTE, а не ASCII.
3. Пакет считается принятым, если в течении N миллисекунд нет данных (как в ModBus RTU).
Минусы:
Ограниченное количество отправляемых переменных (можно конечно расширить, но надо ковыряться в СИ).
3 комментария к “Блоки приема и передачи по UART с контрольной суммой”
- Alexander.Lipkovich Мне для проекта понадобилось принимать пакеты байт по UART с переменной длиной и чек суммой в конце, причём за один цикл программы..Штатные блоки не подошли, написал и отладил свой, в этом мне очень помог Anatoliy.
Кидаю блок сюда, в нём выбирается номер UART и массив для принимаемых байт, а также способ задания длины, статичный или динамический.
Вход E разрешает извлечение байт из буфера UART системы если он True,
вход N задаёт длину пакета,
выход Next поднимается в True по принятии пакета,
выход CSum выдаёт контрольную сумму (младший байт суммы всех байт в пакете кроме последнего)
выход L выдаёт длину пакета, и она же номер байта с контрольной суммой в архиве.
Максимальная длина пакета 256 байт.Блок UART-Byte попроще, он принимает только один байт, в отличии от штатного имеет вход разрешения, это важно когда нужно принимать один байт только при определённых условиях а не всегда..UART-Packet_(Code_-_Professional) UART-Byte_(Code_-_Professional) - igrik1972Я также не понял как работает к примеру блок UART_to 8 int….как на примере можно использовать блоки для передачи данных по ESP8266
- avВ блоках 3. UART_to_4int, 4. UART_to_8int вероятно ошибки. Так как передающие блоки 3. 4int_to_UART, 4. 8int_to_UART передают в формате (String) , а принимающие блоки принимают в формате (byte).
PJON protocol двусторонний обмен данными через UART
03.02.2018 от Сергей Глушенко
Блоки приема-передачи четырех байт данных через интерфейс UART с использованием протокола PJON.Блоки использовались совместно с радиомодулями HC-12.
Есть два типа блоков:
1. PJON_ThroughSerial_SIMPLEX_1 — состоящий из трёх блоков (INIT,Transmitter,Receiver).
При использовании более двух устройств для избежания коллизий нужно или периодически опрашивать каждое устройство(по типу Мастер-слэйв) или организовать тайм-фрэймы (один
периодически посылает «синхроимпульс» , другие синхронизируются по нему и отправляют данные каждый в свой промежуток времени).
2. PJON_Server-Client — состоящий из двух блоков (Server,Client).
Эти блоки сделаны по типу блоков NRF24 от Слимпера по просьбе пользователя CraCk .
В архивах блоки , библиотека PJON и примеры.
Программа для управлением меню с ПК
02.02.2018 от Сергей Глушенко
Проба пера в программировании для не программиста с помощью программы Hiasm.
Навигация по меню осуществляется курсором клавиатуры.
Вход в подменю правый CTRL
Выход из подменю правый SHIFT
Есть прямой ввод цифровых значений меню с помощью numpad
Для функционирования программы необходим пользовательский блок Управление меню. Ну и пример его подключения в папке загрузки тоже имеется.
Программу делал для себя, но критика и пожелания приветствуются ))))
3 комментария к “Программа для управлением меню с ПК”
- semnСкриншот бы тоже глянуть )
- ssqlПроект в HIASM бы поглядеть.
- Анатолий https://yadi.sk/d/iy_XVtpEmu086w
Управление контроллером с компьютера v3.3
02.02.2018 от Сергей Глушенко
Изменение в v3.3
Добавил возможность создавать правила при выполнение которых программа будет заносить запись в журнал и выполнять одно из выбранных действий.
Только делать запись в журнале.
Проигрывать звуковой файл (wav) самостоятельно.
Запускать или открывать выбранный файл в соответствующей программе.
Менять громкость ПК.
Перезагружать, выключать или блокировать ПК путём перевода в режим выбора пользователя.
Программа и блоки в первую очередь предназначены для начинающих пользователей которые пока не могут самостоятельно сделать управление и отображение значений контролера.
FLProg:
В проект ставится один главный блок и необходимое количество блоков для обмена значениями и управления.
Блоки вывода:
PC_B: служит для вывода значений типа bool, импульсных кнопок или кнопок с зажатием.
PC_int: служит для вывода значений типа int.
PC_S: служит для вывода значений типа String.
Блоки ввода:
B_PC: служит для ввода значений типа bool.
int_PC: служит для ввода значений типа int.
S_PC: служит для ввода значений типа String.
Блоки ввода имеют вход отправки по переднему фронту и вход разрешения отправки в случае изменения значения.
Блоки вывода имеют импульсный выход получения новых данных.
Возможности программы:
Связь через ком порт или TCP.
При соединение программы с МК будет доступен список всех блоков ввода и вывода.
Программа имеет главное окно управления соединением и отображением значений полученных от МК.
Окно с элементами управления и окно с элементами индикации.
Элементы индикации имеют условие при котором элемент будет менять цвет, отображать значение которое вызвало сработку условия и по желанию издавать звуковой сигнал.
Элементы управления могут быть четырёх типов: импульсные кнопки, переключатели, кнопки с зажатием и установка значения.
В настройках программы можно указать время опроса всех блоком и разрешить переподключение в случае потери соединения.
Более детальная инструкция в архиве.
Писатель инструкций из меня не очень, если что не понятно пишите, предложения и возможные ошибки в работе тоже описывайте.
Программа в пожизненном статусе beta тестирования и доработок, по мере доработок буду выкладывать обновлённые версии.
1 комментарий к “Управление контроллером с компьютера v3.3”
- RUZIKUSER Тестировал весь день. Отдельным проэктом без добавления других библиотек работает исправно. Попробовал добавить в свой проэкт, почему то не реагирует ни один светодиод (они вместо нагрузки на выходах). Разве что RX TX светодиоды на самой плате ардуинки моргают и больше ничего не происходит. Крутил по всякому, почему то если присутствует библиотека например DfplayerMega не работает… А в проекте и dfplayer и sim800l, дисплей, датчик температуры… в чём может быть причина? Может с Softwareserial что? Сразу говорю пины 0,1 не подсоединяю.
Прием/передача четырех байт по UART с использованием библиотеки RadioHead
02.02.2018 от Сергей Глушенко
Блоки приема/передачи четырех байт через интерфейс UART посредством протокола библиотеки RadioHead. Подходит для радиомодулей HC-11,HC-12.Есть проверка CRC и подтверждение доставки.
Блоки приема и передачи по UART с контрольной суммой
03.02.2018 от Сергей Глушенко
В архиве находится:
4 блока передачи
1. 4byte_to_UART
2. 8byte_to_UART
3. 4int_to_UART
4. 8int_to_UART
4 блока приема
1. UART_to_4byte
2. UART_to_8byte
3. UART_to_4int
4. UART_to_8int
4 блока конвертации битовых переменных
1. 8bit_to_byte — соединяет 8 бит в байт
2. byte_to_8bit — разбивает байт на 8 бит
3. 16bit_to_int — соединяет 16 бит в INT
4. int_to_16bit — разбивает INT на 16 бит
2 блока конвертации
1. 2byte_to_int — соединяет 2 байта в INT
2. int_to_2byte — разбивает INT на 2 байта
Блок пересчета температуры с аналогового датчика MCP9700
Блок триггера аварий со звуковой сигнализацией
ну и небольшой проект.
Отличия данных блоков UART от стандартных «Отправка переменной в UART» и «Прием переменной из UART»:
1. Контрольная сумма пакета. Просто необходима в условиях длинной линии RS485.
2. Минимальная длина пакета засчет передачи в формате BYTE, а не ASCII.
3. Пакет считается принятым, если в течении N миллисекунд нет данных (как в ModBus RTU).
Минусы:
Ограниченное количество отправляемых переменных (можно конечно расширить, но надо ковыряться в СИ).
Вложения
- RxTx_UART_8int
Дата добавления: 03.02.2018 09:57 Размер файла: 153 КБ Кол-во скачиваний: 2084
Автор публикации
не в сети 3 дня
Сергей Глушенко
Комментарии: 16Публикации: 377Регистрация: 04-02-2018РубрикиUART, Датчики, ТриггерыНавигация записи
Блок D-триггера и блок делителя частоты с К от 2 до 255
Блок работы со считывателем MFRC522
3 комментария к “Блоки приема и передачи по UART с контрольной суммой”
- Alexander.LipkovichМне для проекта понадобилось принимать пакеты байт по UART с переменной длиной и чек суммой в конце, причём за один цикл программы..Штатные блоки не подошли, написал и отладил свой, в этом мне очень помог Anatoliy.
Кидаю блок сюда, в нём выбирается номер UART и массив для принимаемых байт, а также способ задания длины, статичный или динамический.
Вход E разрешает извлечение байт из буфера UART системы если он True,
вход N задаёт длину пакета,
выход Next поднимается в True по принятии пакета,
выход CSum выдаёт контрольную сумму (младший байт суммы всех байт в пакете кроме последнего)
выход L выдаёт длину пакета, и она же номер байта с контрольной суммой в архиве.
Максимальная длина пакета 256 байт.Блок UART-Byte попроще, он принимает только один байт, в отличии от штатного имеет вход разрешения, это важно когда нужно принимать один байт только при определённых условиях а не всегда..UART-Packet_(Code_-_Professional) UART-Byte_(Code_-_Professional) - igrik1972 Я также не понял как работает к примеру блок UART_to 8 int….как на примере можно использовать блоки для передачи данных по ESP82660
- av В блоках 3. UART_to_4int, 4. UART_to_8int вероятно ошибки. Так как передающие блоки 3. 4int_to_UART, 4. 8int_to_UART передают в формате (String) , а принимающие блоки принимают в формате (byte).