Обявления

Для полноценной работы рекомендуется пройти регистрацию.

Рекламные сообщения будут удаляться вместе с пользователем. Что есть реклама - буду решать я.

Термостат ∆T=0,1°C

Здесь только проекты на ATtiny

Re: Термостат ∆T=0,1°C

Сообщение astron » 29 дек 2017 22:09

А вот эту ?

Опять же, существенных отличий нет. Напряжение 5 вольт:
Изображение
И напряжение 3 вольта:
Изображение
Разве что теперь появилось отчётливо заметное глазу мерцание, а в остальном те же яйца.
Откопал у себя в закромах одноразрядный семисегментный жк-индикатор неизвестного происхождения. Распиновка у него стандартная для статического вывода информации: выводы 1 и 10 общие, остальные идут по отдельности на каждый сегмент. Воткнул его в колодку любопытства ради, посмотреть, как та же прошивка будет работать с другим индикатором. Как раз 10й вывод попал на СОМ1, а остальные как попало на сегменты, да это и не важно, лишь бы хоть что-то показывало. И вот результат:
Пардон за качество, данный индикатор не работает на просвет, поэтому пришлось ловить угол, при котором изображение нормально фотографируется.
Напряжение 5 вольт:
Изображение
И напряжение 3 вольта:
Изображение
Мусор! И тут всё равно мусор. Залил прошивку со счетчиком первой версии, посмотрел картину в динамике, так сказать. Да, действительно, этот индикатор ведет себя ровно также, как и четырехразрядный, т. е. задействованные сегменты либо "полупогашены", либо засвечены. Такие дела.

Может есть какие-нибудь мысли по использованию одноразрядного индикатора в качестве тестового стенда? На нем всяко проще отрабатывать алгоритм: взял два провода, один на общий, второй на любой сегмент, и пробуй форму сигнала, пока что-нибудь подходящее не получится.
Да, при проверке распиновки, я точно также проверял его с помощью генератора, и точно также разряды зажигались и гасли чисто, без мусора и остаточного свечения.
astron
Частенько бываю
 
Сообщения: 26
Зарегистрирован: 10 апр 2017 00:22

Re: Термостат ∆T=0,1°C

Сообщение IYra » 30 дек 2017 20:31

Вот еще вариант. На экране - 212
Вложения
test_new3.rar
(2.76 КБ) Скачиваний: 42
IYra
Живу тут
 
Сообщения: 672
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

Re: Термостат ∆T=0,1°C

Сообщение astron » 30 дек 2017 23:15

IYra писал(а):Вот еще вариант

Увы, этот вариант еще хуже. Помимо мерцания, засветка стала еще более выраженной, и ее не удалось устранить даже при снижении напряжения на МК до минимально возможных 2,5В

Добавлено спустя 42 минуты 46 секунд:
Понимая, что очень тяжело "лечить простуду по телефону", решил снять некоторые данные с осциллографа. Прошивка последняя, т. е. test_new3.hex, напряжение питания 3.3 вольта. Желтый канал отображает сигнал с СОМ, красный - с линии сегмента. То и другое выбрано от фонаря, просто где удобнее было прицепиться щупом. Зеленый график это математика А+В. Синхронизация по желтому каналу. Сразу бросился в глаза некий джиттер, ширина цикла СОМ плавает на 1/8 этого самого цикла. В динамике очень хорошо заметно, на фото я постарался тоже запечатлеть. Сравните эти два:
Изображение Изображение
Специально отключил математику, чтобы было видно получше.
Да и итоговый сигнал получается грязноватым:
Изображение
Изображение
Видны иголки и ступеньки там, где их по идее быть не должно. Может быть, тут причина засветки? Прерывание какое конфликтует, или еще что?
Такое впечатление, что из-за джиттера, сигнал групп и сигнал сегментов периодически неправильно накладываются друг на друга, что и приводит к искажениям. Скажем, на предпоследнем фото в правой части экрана сигнал зажигания сегмента просто "смяло" до иголок.
astron
Частенько бываю
 
Сообщения: 26
Зарегистрирован: 10 апр 2017 00:22

Re: Термостат ∆T=0,1°C

Сообщение IYra » 01 янв 2018 11:08

astron писал(а):
IYra писал(а):Вот еще вариант

Увы, этот вариант еще хуже. Помимо мерцания, засветка стала еще более выраженной, и ее не удалось устранить даже при снижении напряжения на МК до минимально возможных 2,5В

Вернулся к старой частоте. Период увеличился в 2 раза. И еще кое-что подправил.
Выкладываю два хекса с разными типами переключения COM1-COM4.
Вложения
111.rar
(2.55 КБ) Скачиваний: 33
222.rar
(2.58 КБ) Скачиваний: 31
IYra
Живу тут
 
Сообщения: 672
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

Re: Термостат ∆T=0,1°C

Сообщение astron » 01 янв 2018 23:44

Очередная порция изображений от меня :)
Прошивка 111.hex, алгоритм вывода изображения упрощенный. В плане индикации всё тот же мусор, хоть на 5 вольтах, хоть на 3.3, даже фотографировать не стал. В плане сигналов на ножках, тут уже интереснее.
Изображение

На сигнале СОМ явно видны иголки. Крупнее:
Изображение

И еще крупнее:
Изображение
Изображение

Явно заметно, что из-за невысокого быстродействия, сигнал успевает дойти до своего максимума (или минимума), прежде чем вывод будет отключён. Сигналы снимались при напряжении 3.3 вольта. Скорее всего, мусор из-за них.

Прошивка 222.hex, тут уже всё получше, как в плане индикации так и в плане "красоты" сигналов на экране осцика)
Сделал фотографии индикатора при питании 5 вольт и 3.3 вольта, хотя уже и так понятно, что при 5 вольтах он всегда будет выдавать полную засветку, не рассчитан он на такое напряжение по паспорту.
Изображение
Изображение

ИМХО, результат отличный. Удалось добиться более чем приемлемого уровня читаемости. Что же до остатков засветки, они сейчас заметны примерно также, как на старых электронных часах, т. е. почти не мешают глазу.
И фотографии с осциллографа:
Изображение
Изображение
Изображение
Сигнал чистый и ровный. Иголок на линии СОМ практически нет, только едва заметные "пупырки". Развернул одну такую и запечатлел. Амплитуда сигнала где-то порядка 0,25-0,3 вольта, почти на уровне шумов по питанию. Смею предположить, что именно эти иголки-пупырки и портили нам жизнь всё это время. Видимо, когда программный счетчик переполняется, вывод автоматически встаёт в высокое (или низкое) положение, и за тот короткий момент, пока идет сравнение по условию, убирающее его обратно в состояние Hi-Z, он успевает создать помеху. Если и оптимизировать код дальше, то только либо как-то программным способом убрать этот пик, либо увеличить быстродействие, поставив кварц. И то и другое в рамках отладки вполне приемлемо. Хотя я считаю, мы уже добились хорошего результата, всё остальное будет уже доводкой.
astron
Частенько бываю
 
Сообщения: 26
Зарегистрирован: 10 апр 2017 00:22

Re: Термостат ∆T=0,1°C

Сообщение ak74xxx » 02 янв 2018 02:08

Всех с НОВЫМ ГОДОМ!!!, а можно ли к этому термостату прицепить дисплей на контроллере SSD1306 диагональю 0,96?
ak74xxx
Пробегал мимо
 
Сообщения: 3
Зарегистрирован: 29 дек 2017 12:29

Re: Термостат ∆T=0,1°C

Сообщение IYra » 02 янв 2018 21:38

astron писал(а):Сигнал чистый и ровный. Иголок на линии СОМ практически нет, только едва заметные "пупырки". Развернул одну такую и запечатлел. Амплитуда сигнала где-то порядка 0,25-0,3 вольта, почти на уровне шумов по питанию. Смею предположить, что именно эти иголки-пупырки и портили нам жизнь всё это время. Видимо, когда программный счетчик переполняется, вывод автоматически встаёт в высокое (или низкое) положение, и за тот короткий момент, пока идет сравнение по условию, убирающее его обратно в состояние Hi-Z, он успевает создать помеху. Если и оптимизировать код дальше, то только либо как-то программным способом убрать этот пик, либо увеличить быстродействие, поставив кварц. И то и другое в рамках отладки вполне приемлемо. Хотя я считаю, мы уже добились хорошего результата, всё остальное будет уже доводкой.

Попробовал убрать "пупырки". Останавливаемся на варианте "222". Мне кажется пупырки не должны оказывать сильного влияния на засветку. Где-то читал что сигнал должен быть более сложный - не 3(0,1/2,1) а 5 уровней напряжения (0,1/4,1/2,3/4,1). А что если переключать сегменты так же как COM1-COM4 (3 состояния) но для этого правда нужно 20 резисторов дополнительно.

Добавлено спустя 24 минуты 29 секунд:
ak74xxx писал(а): а можно ли к этому термостату прицепить дисплей на контроллере SSD1306 диагональю 0,96?

В принципе идея интересная. Вот здесь http://mega-avr.com.ua/biblioteka-dlya-raboty-s-oled-displeem-ssd1306-dlya-codevisionavr/ есть библиотека.
Вложения
2222.rar
(2.65 КБ) Скачиваний: 34
IYra
Живу тут
 
Сообщения: 672
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

Re: Термостат ∆T=0,1°C

Сообщение astron » 03 янв 2018 02:17

IYra писал(а):Попробовал убрать "пупырки". Останавливаемся на варианте "222"

Прошил эту версию, разницы с предыдущей (222.hex) не заметил, как в плане качества изображения, так и в плане наличия "пупырок" - они остались на прежнем месте)
IYra писал(а): А что если переключать сегменты так же как COM1-COM4 (3 состояния) но для этого правда нужно 20 резисторов дополнительно.

Можно попробовать. Железо не проблема) Тогда сделаю еще один делитель на 10 сегментов.
astron
Частенько бываю
 
Сообщения: 26
Зарегистрирован: 10 апр 2017 00:22

Re: Термостат ∆T=0,1°C

Сообщение ak74xxx » 03 янв 2018 12:22

Вот здесь http://mega-avr.com.ua/biblioteka-dlya-raboty-s-oled-displeem-ssd1306-dlya-codevisionavr/ есть библиотека.[/quote]

Да вот только как бы эту библиотеку прикрутить сюда
ak74xxx
Пробегал мимо
 
Сообщения: 3
Зарегистрирован: 29 дек 2017 12:29

Re: Термостат ∆T=0,1°C

Сообщение hardlock » 03 янв 2018 21:51

ak74xxx писал(а):Всех с НОВЫМ ГОДОМ!!!, а можно ли к этому термостату прицепить дисплей на контроллере SSD1306 диагональю 0,96?

боюсь что это задача не для тиньки. Тут нужно хотя бы мегу8. На OLED дисплее нужно рисовать, а это свой шрифт, а это дополнительные расходы памяти...
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3675
Зарегистрирован: 21 янв 2009 15:48
Откуда: Minsk - zp.ua

Re: Термостат ∆T=0,1°C

Сообщение ak74xxx » 04 янв 2018 00:57

Уважаемый автор, а вы не пробовали на меге8 вариант с таким дисплеем?
ak74xxx
Пробегал мимо
 
Сообщения: 3
Зарегистрирован: 29 дек 2017 12:29

Re: Термостат ∆T=0,1°C

Сообщение IYra » 04 янв 2018 19:38

astron писал(а):
IYra писал(а): А что если переключать сегменты так же как COM1-COM4 (3 состояния) но для этого правда нужно 20 резисторов дополнительно.

Можно попробовать. Железо не проблема) Тогда сделаю еще один делитель на 10 сегментов.

Сделал. Но в Протеусе видны выбросы при переходе из Z-состояния. Пока ничего не придумать.
Попробуй этот вариант.
Вложения
2222Z.rar
(34.2 КБ) Скачиваний: 27
IYra
Живу тут
 
Сообщения: 672
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

Re: Термостат ∆T=0,1°C

Сообщение IYra » 08 янв 2018 10:50

IYra писал(а):Сделал. Но в Протеусе видны выбросы при переходе из Z-состояния. Пока ничего не придумать.

Вроде убрал выбросы до минимума. Во всяком случае в Протеусе. И еще в сети пишут, что питание индикатора - 3 в, а частота обновления - 63 Гц (2 + 2 мс на COM )
В этом хексе - 2 мс на каждый импульс. И счетчик начинает с -9.0
Вложения
333Z_2ms.rar
(2.91 КБ) Скачиваний: 27
IYra
Живу тут
 
Сообщения: 672
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

Re: Термостат ∆T=0,1°C

Сообщение astron » 09 янв 2018 00:08

Пока готовил матчасть к проверке новой прошивки, оказывается еще одна версия появилась)
Итак, залил прошивку 2222Z, результат изюмительный:
Изображение
Изображение
Практически нет мусора ни при фронтальном расположении источника, ни при "бэклайте". Сейчас и 333Z прошью и отпишусь

Залил, проверил. Эта прошивка хуже. Во-первых, мусор опять стал более явно выраженным, а во-вторых, визуально заметна разница в насыщенности засвеченных сегментов ЖКИ. Надеюсь, на фото видно:
Изображение
Изображение
Более блёклый "минус", верхние сегменты у двойки и девятки. Думаю, лучше остановиться на вырианте 2222Z
astron
Частенько бываю
 
Сообщения: 26
Зарегистрирован: 10 апр 2017 00:22

Re: Термостат ∆T=0,1°C

Сообщение IYra » 09 янв 2018 18:58

astron писал(а): Думаю, лучше остановиться на вырианте 2222Z

Ну тогда еще два варианта. Разные типы формирования COM. Частота - 4мс. На ней и остановимся.
Счетчик с -9.0

И вопрос по функционалу. Обычный термостат ?
Вложения
111Z_4ms.rar
(2.86 КБ) Скачиваний: 29
222Z_4ms.rar
(2.84 КБ) Скачиваний: 28
IYra
Живу тут
 
Сообщения: 672
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

Re: Термостат ∆T=0,1°C

Сообщение Aleksey6886 » 09 янв 2018 19:36

Всем доброго времени суток! Я в программировании новичок, поэтому прошу сильно не пинать. Разбираюсь в проекте "Термометр на 4 датчика", как я понял на основе Термостата. Возник вопрос: почему при симуляции в протеусе с датчиками DS1812 (без "В") и выставленной температуре -0.5 градусов, на индикаторе сразу -1 и т.д, тоесть показывает температуру на 0.5 градуса ниже? Или все же это изъян протеуса?
Aleksey6886
Пробегал мимо
 
Сообщения: 2
Зарегистрирован: 09 янв 2018 19:23
Откуда: Кемеровская обл, Мариинск

Re: Термостат ∆T=0,1°C

Сообщение astron » 10 янв 2018 00:59

111Z_4ms - на секунду загорается -9.0 на дисплее, после чего всё гаснет. Наверное ошибка в коде. Однако за эту секунду все-таки заметен мусор. 111Z_4ms - работает нормально, мусора нет, однако имеется тот же самый досадный эффект разной контрастности засвеченных сегментов, как моим постом выше. Полагаю, стоит остановиться на варианте индикации из 2222Z без доработок.
IYra писал(а):И вопрос по функционалу. Обычный термостат ?

Я бы даже сказал, обычный термометр) Лично мне сейчас в данном устройстве кроме функции индикации температуры ничего иного и не нужно.
Сейчас у нас есть 6 свободных выводов МК, которые можно использовать (7, если задействовать reset). Из них три вывода мы "забираем" для подключения 4го разряда индикатора (на нем останутся незадействованными только три ноги: 1, 5, 13) и остаются еще три. Теоретически, этого хватит, чтобы подцепить пару кнопок и выход на исполнительное устройство. Однако, мне хватит простого термометра. Есть парочка пожеланий, но о них ниже.
Итак, задействуем все 4 разряда и десятичную точку посередине. Индикация температуры с десятыми долями получится от -9.9х до 99.9х, остальные значения температуры округленные. Пока писал, задумался о целесообразности использования четвертого разряда как такового, но и пустое место будет выглядеть некрасиво. Думаю, стОит туда просто намертво вшить знак градуса - верхний квадрат. А если будут другие версии прошивок, с тем же термостатом или с использованием двух термодатчиков, можно будет на нем сделать индикацию переключения, порогов и пр. При обрыве связи с датчиком, на индикаторе выводить Err. Вот в общем-то и всё
Из необязательных хотелок, можно было бы выводить через UART раз в n секунд (скажем, при каждом опросе термодатчика), текущее значение температуры со знаком. Может пригодиться при логгировании. Ну и с энергопотреблением поиграться, если будет такая возможность. Все же скорость обновления дисплея у нас невысокая, можно попробовать усыплять МК до следующего цикла обновления. Понимаю, что полноценно перевести схему на батарейное питание скорее всего не получится, для этого ее нужно слишком долго отлаживать, причем на столе и в железе, а не за пару тысяч километров) Но желание поставить буферный аккумулятор на случай отключения сети, с запасом хода на сутки-двое, у меня есть)

Добавлено спустя 5 минут 40 секунд:
Aleksey6886 писал(а):почему при симуляции в протеусе с датчиками DS1812 (без "В") и выставленной температуре -0.5 градусов, на индикаторе сразу -1 и т.д

Емнип, у DS1820/DS18S20 и DS18B20 разная адресация, поэтому они напрямую не взаимозаменяемы. Если в коде программы не предусмотрен универсальный алгоритм с распознаванием типа датчика, то вместо верной температуры будет выдаваться чушь. Протеус тут не виноват, в железе будет ровно то же самое. Либо используйте конкретно указанный тип датчика, либо заливайте в девайс версию прошивки под другой датчик, если таковая имеется конечно.
astron
Частенько бываю
 
Сообщения: 26
Зарегистрирован: 10 апр 2017 00:22

Re: Термостат ∆T=0,1°C

Сообщение IYra » 10 янв 2018 21:01

astron писал(а):111Z_4ms - на секунду загорается -9.0 на дисплее, после чего всё гаснет. Наверное ошибка в коде. Однако за эту секунду все-таки заметен мусор. 111Z_4ms - работает нормально, мусора нет, однако имеется тот же самый досадный эффект разной контрастности засвеченных сегментов, как моим постом выше. Полагаю, стоит остановиться на варианте индикации из 2222Z без доработок.

Вернулся опять к варианту из апноута.(то есть сегменты работают на выход и делители не нужны) Только еще подправил прерывание и счетчик. В Протеусе все красиво. Импульсы стоят мертво. Выбросов нет. Попробуй.
Вложения
555.rar
(2.8 КБ) Скачиваний: 30
IYra
Живу тут
 
Сообщения: 672
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

Re: Термостат ∆T=0,1°C

Сообщение alex06541 » 10 янв 2018 23:12

здравствуйте!!!! около года назад я себе сделал данный термостат для инкубатора,был очень доволен данным девайсом из-за простоты и точности его,недавно решил испытать данный термостат на машине для включения електровентилятора системы охлаждения двигателя и отображения температуры охлаждающей жидкости,залита прошивка на пргогрев. перемычка стоит на PD3. после установки термостата вылезло одно большое неудобство,при включении мк. приблизительно на 2 секунды включается электровентилятор ,нельзя ли програмно (путем изменения прошивки) выключить данную функцию,а если есть уже такая версия прошивки то скиньте ссылку где можна ее скачать,потому как очень неудобно когда включаешь просто зажигание или с пепрвого раза не завелся двигатель включается вентилятор системы охлаждения , и еще начали слетать установки температуры и гистерезиса ,самовольно то поднимаясь то опускаясь,
alex06541
Пробегал мимо
 
Сообщения: 2
Зарегистрирован: 10 янв 2018 22:38
Откуда: из сквыры

Re: Термостат ∆T=0,1°C

Сообщение astron » 11 янв 2018 00:00

Вариант 555.hex - всё опять стало похуже, хоть читаемость и приемлемая
Изображение
Изображение
Опять виден небольшой мусор, засвеченные сегменты все стали немного бледноватыми, и вновь вернулось явно заметное взгляду мерцание, причем мерцает как мусор, так и полезные сегменты
astron
Частенько бываю
 
Сообщения: 26
Зарегистрирован: 10 апр 2017 00:22

Re: Термостат ∆T=0,1°C

Сообщение propell_ant » 11 янв 2018 14:32

alex06541 писал(а):здравствуйте!!!! около года назад я себе сделал данный термостат для инкубатора,был очень доволен данным девайсом из-за простоты и точности его,недавно решил испытать данный термостат на машине для включения електровентилятора системы охлаждения двигателя и отображения температуры охлаждающей жидкости,залита прошивка на пргогрев. перемычка стоит на PD3. после установки термостата вылезло одно большое неудобство,при включении мк. приблизительно на 2 секунды включается электровентилятор ,нельзя ли програмно (путем изменения прошивки) выключить данную функцию,а если есть уже такая версия прошивки то скиньте ссылку где можна ее скачать,потому как очень неудобно когда включаешь просто зажигание или с пепрвого раза не завелся двигатель включается вентилятор системы охлаждения , и еще начали слетать установки температуры и гистерезиса ,самовольно то поднимаясь то опускаясь,

включение нагрузки при старте исправлено, смотрите ветку Термостат ∆T=0,1°C - работа над ошибками
чтобы настройки не слетали нужно ставить супервизор питания, придется доработать печатную плату, смотрите тут: Супервизор питания
propell_ant
Живу тут
 
Сообщения: 367
Зарегистрирован: 03 июн 2014 09:22

Re: Термостат ∆T=0,1°C

Сообщение alex06541 » 11 янв 2018 23:43

propell_ant спасибо буду переделывать плату с супервизором,прошивки скачал,буду пробовать. и еще вопрос - эти прошивки на прогрев или на охлаждение? фьюзы остаются те же что и были?
alex06541
Пробегал мимо
 
Сообщения: 2
Зарегистрирован: 10 янв 2018 22:38
Откуда: из сквыры

Re: Термостат ∆T=0,1°C

Сообщение propell_ant » 12 янв 2018 11:59

alex06541, там в архиве лежат все версии прошивок, и охлаждение и нагрев, и ОА и ОК. Фьюзы прежние.
propell_ant
Живу тут
 
Сообщения: 367
Зарегистрирован: 03 июн 2014 09:22

Re: Термостат ∆T=0,1°C

Сообщение IYra » 12 янв 2018 19:59

astron писал(а):Опять виден небольшой мусор, засвеченные сегменты все стали немного бледноватыми, и вновь вернулось явно заметное взгляду мерцание, причем мерцает как мусор, так и полезные сегменты

Мерцание из-за низкой частоты (30Гц) а надо 60. Прикрепил два варианта на 60Гц.
111 - формирование COM как в апноуте
222 - по другому
И надо наверно уменьшать напряжение на индикаторе. Что если в делителе использовать 3 резистора.
+3V - R1=2кОм - МК(0,Z,3V) - R2=400 Ом - COM(индикатор 0, 1.2V , 2.4V) - R3=1.6кОм - земля
Вложения
111_2ms.rar
(2.8 КБ) Скачиваний: 28
222_2ms.rar
(2.81 КБ) Скачиваний: 30
IYra
Живу тут
 
Сообщения: 672
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

Re: Термостат ∆T=0,1°C

Сообщение astron » 13 янв 2018 10:33

111
Изображение
Изображение
222
Изображение
Изображение
Оба варианта дают хорошее качество изображения, но первый, имхо, получше. У второго мусор чуть более явно выражен и как бы пятнами что ли... Часть сегментов ярче, часть бледнее.
IYra писал(а):И надо наверно уменьшать напряжение на индикаторе

Я пробовал на ранних версиях прошивки ставить переменник и со средней точки подавать напряжение на индикатор, тогда это особого результата не дало. Можно попробовать еще раз в принципе
astron
Частенько бываю
 
Сообщения: 26
Зарегистрирован: 10 апр 2017 00:22

Пред.След.

Вернуться в ATtiny



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6