Термостат на 2313 и DS18b20 (ассемблер)

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Термостат на 2313 и DS18b20 (ассемблер)

Сообщение СКАЗОЧНИК »

Добрый день, вечер, утро.
Есть небольшая проблемка. Сделал термостат. Все работает, даже вполне успешно. Но мне, как стороннику идеализма не нравится как это работает. Хотелось бы доработать.
Выкладываю все как есть, сильно не пинайте. Библиотеку (УРЕЗАННУЮ) для DS18B20 писал сам, хотел понять как работает 1Wire.
Программа реализует:
- Двумя кнопками выбор значения температуры
- Автоматическое сохранение его в ЭСППЗУ Tiny2313
- Включение нагрузки при падении температуры ниже заданной
- Выключение нагрузки при повышении температуры выше заданной
- Измерение с погрешностями (показывает только целые, дробную часть просто отрезает)
- Остальное на схеме видно.

Что мне не нравится:...
- Кнопки работают, но знаю, что я их хреново написал в обработке (короче, говняно работают) :(
- Индикация тоже через раз лажу дает (на модели видно, что промыргивает минус и т.д.) Однако, в реальной жизни так только на одном экземпляре, остальные нормально себя ведут, но уверен, что это кривой код...
- Реализовать бы выбор приделов регулирования (гистерезис)
- Чего еще можно добавить для надежности?
- Дописать бы библиотеку до конца, чтобы можно было пару датчиков прикрутить, или в этом сделать выбор вариантов точности измерений.

Изображение

З.Ы. Уточню. Транзистор для управления стоит BC817 у него до 0,8 А. А Индикатор KEM5461AG (общий катод вроде, не помню).
Если кому надо, могу выложить и плату, но не знаю найдете ли индикатор.
Вложения
Temper.zip
Архив с исходником и Протеусом
(73.53 КБ) 360 скачиваний
Станислав
Аватара пользователя
АлександрЛ
Друг Кота
Сообщения: 43814
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Re: Термостат на 2313 и DS18b20 (ассемблер)

Сообщение АлександрЛ »

СКАЗОЧНИК писал(а): Индикатор KEM5461AG (общий катод вроде, не помню).
Если кому надо, могу выложить и плату, но не знаю найдете ли индикатор.

А что, он какой- то уникальный, что ли? Обычный четырёхразрядный семисегментный индикатор- вот аналоги, которые "попались"-
BL-Q56A42
RL-F5610
CC56-21
да и ещё туева хуча аналогов найдётся, а цвет свечения- не имеет значения.
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: Термостат на 2313 и DS18b20 (ассемблер)

Сообщение СКАЗОЧНИК »

АлександрЛ писал(а):А что, он какой- то уникальный

Х. его З. я не изучал этот вопрос, т.к. у меня есть те, что я указал выше. :)))
Так плату выкладывать на него?

Изображение

Изображение

З.Ы. Прошу прощения, схемка малость не полная... На плате еще установлен резистор в базе транзистора (примерно 1-2 кОм), одни резистор в цепи сброса МК сделан по совдеповскому типу SMD, т.е. берется обычный 0,25 Вт, отрезаются ноги и затачивается с концов напильником, потом спокойно паяется между выводов МК. Еще на ней есть стабилизатор типа 78L05, под него можно просверлить дырочки и поставить также с другой стороны (но я рекомендовал бы поставить помощнее, хотя и этот тянет, но греется), и конденсатор любой, какой понравится. Как видно на фотографии, там вся "перефирия" подключена на штырьки... PLC по моему называются Г-образные.
Вложения
6.lay
Плата, для ЛУТа не забудьте отзеркалить
(29.77 КБ) 601 скачивание
Станислав
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: Термостат на 2313 и DS18b20 (ассемблер)

Сообщение СКАЗОЧНИК »

Понятно, тема не интересная. :)))
Всплыло у меня пока еще пара вопросов.

1. При сработке транзисторного ключа, далее идет реле, оно переключается в этот момент много раз. Как от этого избавляться?
2. Нуждо действительно гистерезис ввести, т.е. либо в ручную задавать придел контроля нагрузки, либо по умолчанию, например 5 градусов. Иначе нагрузка постоянно включается-выключается на приделе контролируемой температуры.
Станислав
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Термостат на 2313 и DS18b20 (ассемблер)

Сообщение akl »

Совершенно верно. Только нужно установить два порога и сравнивать с нижним при падении температуры. После срабатывания по нижнему порогу, сравнивать уже с верхним.
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: Термостат на 2313 и DS18b20 (ассемблер)

Сообщение СКАЗОЧНИК »

Не совсем понятно. как на грани температуры игнорировать переключение ключа?
Станислав
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Термостат на 2313 и DS18b20 (ассемблер)

Сообщение akl »

СКАЗОЧНИК писал(а):- Включение нагрузки при падении температуры ниже заданной
- Выключение нагрузки при повышении температуры выше заданной
Вы уже алгоритм описали. Допустим, есть два порога +4гр. и +3гр. Пока температура +5гр. сравнение идёт с +3гр. Как только температура упала ниже +3гр. включается нагрузка и порог сравнения устанавливается +4гр. Температура превысила +4гр. нагрузка отключается и порог сравнения устанавливается +3гр. и т.д.
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: Термостат на 2313 и DS18b20 (ассемблер)

Сообщение СКАЗОЧНИК »

Точно! ))) Только не с таким маленьким диапазоном, а градусов в 10 разница чтобы была. Нарисовал на листе и понятно стало. :beer:
А если в 1 градус делать, то дребезжать будет реле, т.к. 1 градус быстро меняется там, где стоит этот термостат. :)
Станислав
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: Термостат на 2313 и DS18b20 (ассемблер)

Сообщение СКАЗОЧНИК »

Я тупой. :facepalm: :oops: Спасибо. Сам разобрался.

Но вышеизложенные вопросы по оптимизации кода остаются в силе.

Выставлю крайнюю версию прошивки (может кому надо будет)

Функции:

1. Температуру показывает
2. Запоминает температуру, которую выбрали для контроля
3. Включает нагрузку, как только достигнет выбранного придела (вентилятор)
4. Выключает нагрузку, как только температура упадет на два градуса ниже придела (кому надо, может сам исправить в исходнике)
5. Совсем чуточку загрубил кнопки
6. Диапазон тот же -55... +125 градусов

З.Ы. Реле теперь не щелкает много раз.
Вложения
Temper последняя версия.zip
Вот крайняя версия прошивки
(77.42 КБ) 341 скачивание
Станислав
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: Термостат на 2313 и DS18b20 (ассемблер)

Сообщение СКАЗОЧНИК »

На печатке добавил еще один резистор от базы транзистора подтяжка вниз (на минус), так... для надежности. :)
Станислав
Аватара пользователя
Medvedik
Первый раз сказал Мяу!
Сообщения: 35
Зарегистрирован: Чт окт 19, 2017 20:48:36
Откуда: г. Горький

Re: Термостат на 2313 и DS18b20 (ассемблер)

Сообщение Medvedik »

Что-то eXtreme Burning ругается на файл Temper.hex - грит не правильный
С уважением, Дмитрий Медведев...
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Термостат на 2313 и DS18b20 (ассемблер)

Сообщение akl »

А понипрог, стерх, дракон из студии спокойно загружают и не ругаются.
Feruz
Открыл глаза
Сообщения: 55
Зарегистрирован: Вс май 03, 2015 15:05:58

Re: Термостат на 2313 и DS18b20 (ассемблер)

Сообщение Feruz »

Хорошо бы для контроля целостности данных подсчитывать контрольную сумму, все-таки термостат)
Аватара пользователя
Medvedik
Первый раз сказал Мяу!
Сообщения: 35
Зарегистрирован: Чт окт 19, 2017 20:48:36
Откуда: г. Горький

Re: Термостат на 2313 и DS18b20 (ассемблер)

Сообщение Medvedik »

:solder: Заработала)) Спасибо автору за простоту конструкции :beer:

Транзистор пришлось другой структуры ставить) т.к. авторская схема работает на охлаждение, а мну подогревать нужно)
С уважением, Дмитрий Медведев...
Аватара пользователя
musor
Друг Кота
Сообщения: 39197
Зарегистрирован: Сб сен 13, 2014 16:27:32
Откуда: СпиртоГонск созвездия Омега

Re: Термостат на 2313 и DS18b20 (ассемблер)

Сообщение musor »

хорошобы это в коде учесть... поменяв пороги местами

Добавлено after 4 minutes 29 seconds:
зачем 4 разрядник? та что в 1 разряде выводимтолка минус? или там сделана плавающая точка ? на этом компе нет протеуса...чтоб посмтреь ваши схним в виртуале

Добавлено after 4 minutes 5 seconds:
по схемотехнике не жалко порты без резиков на сегменты грузить?? по сути в рехим огранрчения тока загнали порт
микра силно жарится ? наверно надо врезать 2SMD сборки по 4 резистора 47ом вцепи сегментов
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Ответить

Вернуться в «Периферия»