Обявления

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

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

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

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

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

Сообщение gulliver » 01 дек 2017 23:54

Всем привет, нужна помощь , после прошивки контроллера индикация появляется (хаотическая) при касание 4 ноги МК . Собрал две платки шил Khazama AVR Programmer фьюзы ставил относительно SPIEN
gulliver
Пробегал мимо
 
Сообщения: 1
Зарегистрирован: 01 дек 2017 23:39

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

Сообщение jumbo » 02 дек 2017 02:39

Здравствуйте. Очень нужная и удачная конструкция. Но вся проблема в том, что если этот терморегулятор использовать для обогрева, то выход = 1 получается постоянно включен после старта контроллера, и только если температура перевалила за установленное значение, то тогда выход становится = 0, а вот если к примеру отключить датчик, (или датчик потеряет контакт), то выход установится в 1 и нагрев будет постоянный. Помогите модернизировать пожалуйста код данной конструкции чтобы при обрыве датчика выход нагрева устанавливался в 0. Спасибо.
jumbo
Частенько бываю
 
Сообщения: 36
Зарегистрирован: 15 сен 2009 09:38

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

Сообщение propell_ant » 02 дек 2017 12:36

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

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

Сообщение astron » 02 дек 2017 16:25

IYra писал(а):У этого ЖКИ 4 com и 10 выводов сегмента (для 3 цифр без лишних символов). Надо немного подумать

Может просто подобрать другую модель пропроще, чтобы Вам голову не ломать? После поисков в интернете, становится понятно, что отыскать динамический ЖК индикатор с нормальной разводкой, задача довольно-таки сложная. Давайте возьмем 4 одноразрядных семисегментника, скажем, LCD056-2 и соберем динамическую индикацию на них, объединив выводы? Так будет проще, имхо. И не придется извращаться с подстраиванием показаний под положение точки, ибо получится полный аналог светодиодного семисегментника.
astron
Частенько бываю
 
Сообщения: 26
Зарегистрирован: 10 апр 2017 00:22

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

Сообщение IYra » 02 дек 2017 18:42

astron писал(а):Может просто подобрать другую модель пропроще, чтобы Вам голову не ломать? После поисков в интернете, становится понятно, что отыскать динамический ЖК индикатор с нормальной разводкой, задача довольно-таки сложная. Давайте возьмем 4 одноразрядных семисегментника, скажем, LCD056-2 и соберем динамическую индикацию на них, объединив выводы? Так будет проще, имхо. И не придется извращаться с подстраиванием показаний под положение точки, ибо получится полный аналог светодиодного семисегментника.

В принципе для проверки такого варианта можно использовать уже сделанную. Правда там 3 цифры.
Соединения сегментов с PORTB
Код: Выделить всё
BYTE byCharacter[10] =
                       {0b01011111,     //0
                        0b01010000,     //1
                   0b01101101,     //2
                   0b01111001,   //3
                   0b01110010,     //4
                   0b00111011,     //5
                   0b00111111,     //6
                        0b01010001,     //7
                        0b01111111,     //8
                        0b01111011,     //9


PORTB.0 - сегмент A (7pin)
PORTB.1 - сегмент F (8pin)
PORTB.2 - сегмент E (9pin)
PORTB.3 - сегмент D (2pin)
PORTB.4 - сегмент C (3pin)
PORTB.5 - сегмент G (5pin)
PORTB.6 - сегмент B (6pin)
PORTB.7 - сегмент DOT (4pin)

Соединения COM1 - COM4 -> PORTD.0 - PORTD.3

Для удобства разводки назначения PORTB.0 - PORTB.7 можно поменять
Вложения
termostat_mega8.rar
Кекс
(2.95 КБ) Скачиваний: 45
IYra
Живу тут
 
Сообщения: 674
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

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

Сообщение hardlock » 02 дек 2017 19:37

gulliver, значит что-то с фьюзами начудили. Что значит "фьюзы ставил относительно SPIEN"?
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3680
Зарегистрирован: 21 янв 2009 15:48
Откуда: Minsk - zp.ua

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

Сообщение propell_ant » 02 дек 2017 20:38

Всем привет,
кто-нибудь может нарисовать печатку в SprintLayout по картинке и схеме из Eagle?
Я тут сваял термостат на Mega8 TQFP, по размерам плата как у Хардлока, только у меня всё в игле, а народ в форуме привык к спринту, а времени перенести совсем нету.
Если кто готов помочь - пишите в личку.
propell_ant
Живу тут
 
Сообщения: 367
Зарегистрирован: 03 июн 2014 09:22

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

Сообщение hardlock » 02 дек 2017 20:50

propell_ant, может давай отдельной темой? Я могу попробовать нарисовать.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3680
Зарегистрирован: 21 янв 2009 15:48
Откуда: Minsk - zp.ua

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

Сообщение propell_ant » 02 дек 2017 22:52

hardlock, щас запилю новую тему.
propell_ant
Живу тут
 
Сообщения: 367
Зарегистрирован: 03 июн 2014 09:22

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

Сообщение hardlock » 02 дек 2017 22:57

propell_ant, кидай туда всё как есть, я постараюсь побыстрее дополнить "привычным форматом" )))
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3680
Зарегистрирован: 21 янв 2009 15:48
Откуда: Minsk - zp.ua

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

Сообщение astron » 03 дек 2017 12:21

IYra писал(а):В принципе для проверки такого варианта можно использовать уже сделанную. Правда там 3 цифры.
Соединения сегментов с PORTB

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

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

Сообщение IYra » 03 дек 2017 19:36

astron писал(а):
IYra писал(а):У этого ЖКИ 4 com и 10 выводов сегмента (для 3 цифр без лишних символов). Надо немного подумать

Может просто подобрать другую модель пропроще, чтобы Вам голову не ломать? После поисков в интернете, становится понятно, что отыскать динамический ЖК индикатор с нормальной разводкой, задача довольно-таки сложная.

Поломал все таки голову и вот что получилось. Как будет в реале не знаю, но в модели работает. Модель я взял из Протеуса, подправил, так что она соответствует ITM-1693P (в первом приближении).
Если получится в реале то можно использовать этот вариант для любого ЖКИ.
Вложения
Itm_1693.rar
(33.21 КБ) Скачиваний: 48
IYra
Живу тут
 
Сообщения: 674
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

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

Сообщение astron » 16 дек 2017 16:43

Извиняюсь что пропал. Индикаторы наконец-то у меня, приступаю к изготовлению макета

А как посмотреть посегментную распиновку индикатора в протеусе и ее соответствие реальному ITM? Я протеус только базово знаю просто.
astron
Частенько бываю
 
Сообщения: 26
Зарегистрирован: 10 апр 2017 00:22

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

Сообщение astron » 23 дек 2017 21:58

Итаак. Первый блин оказался слегка комом :dontknow: . Ножки мк дрыгаются примерно как надо, и изображение есть, но не то, что нужно. Распиновку подбирал методом научного тыка: в модели задал температуру 88,8 градусов, чтобы засветить все разряды, а затем, размыкая по очереди каждую линию данных, определял номера ног. Вроде правильно определил? (см. карандашный набросок). И чтобы облегчить работу уважаемому IYra, накидал тут распиновку на применяемые в наших целях пины индикатора, плюс таблицу символов с номерами выводов. Возможно, где-то что-то записано не оптимально, но как уж есть. Старался как можно нагляднее сделать. ЗЫ. Пардон за ссылки на посторонний хостинг, по-другому такие "габаритные" изображения сюда не вставить.
Изображение
Изображение
Изображение
astron
Частенько бываю
 
Сообщения: 26
Зарегистрирован: 10 апр 2017 00:22

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

Сообщение IYra » 24 дек 2017 17:59

astron писал(а):Итаак. Первый блин оказался слегка комом :dontknow: . Ножки мк дрыгаются примерно как надо, и изображение есть, но не то, что нужно.

Было бы удивительно если бы все заработало.
Для начала надо проверить соответствие подключения ножек МК и ЖК.


1 - не используется
2 - PB0 (12) (1A,1J,1M,1D)
3 - PB1 (13) (1K,1B,1L,1C)
4 - PB2 (14) (,2F,2G,2E)
5 - не используется
6 - PB3 (15) (2A,2J,2M,2D)
7 - PB4 (16) (2K,2B,2L,2C)
8 - PB5 (17) (T ,3F,3G,3E)
9 - PC0 (23) (dp,3H,3N,3P)
10 - PB7 (8) (3A,3J,3M,3D)
11 - PB6 (7) (3K,3B,3L,3C)
12,13,14,15 - не используется
16 - PD0 (30) (COM1)
17 - PD1 (31) (COM2)
18 - PD2 (32) (COM3)
19 - PD3 (1) (COM4)
20 - PC1 (24) (,1F,1G,1E)

Первая цифра в ряду это номер ножки дисплея.
Второе это имя порта (в скобках номер ножки для TQFP)
Третье это какие сегменты подключены. Проверить можно касанием включенного паяльника (намотать проволоку) ножки МК ( выключенном !). Должны засветиться соответствующие сегменты (4 штуки)
При касании COM1-COM4 светятся все сегменты в строке таблицы
IYra
Живу тут
 
Сообщения: 674
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

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

Сообщение astron » 24 дек 2017 20:03

Ничего не могу понять, всё равно мусор идёт
Изображение
Подключения ног дисплея к МК проверил, была пара ошибок, которые сразу исправил. Соответствие сегментов ногам и их "паттерны" скажем так, тоже проверил - распиновка полностью совпадает с датшитом. Проверял кстати генератором на 555, ибо паяльник от паяльной станции наводок не даёт. Еще раз протыкал все ноги осциллографом - форма напряжений, на первый взгляд, верная. Во всяком случае, эпюры на пинах COM имеют четкие три состояния и разнесены по времени между собой, частота тоже как положено. Но мусор как шел, так и идёт. Наводки от длинных проводов? Тоже маловероятно - подключил на неиспользуемые пины четвертого разряда длинную "косу", но характер изображения на дисплее не изменился, ничего лишнего не зажглось.

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

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

Сообщение IYra » 24 дек 2017 21:33

astron писал(а):подключил на неиспользуемые пины четвертого разряда длинную "косу", но характер изображения на дисплее не изменился, ничего лишнего не зажглось.

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

Сделал обычный счетчик раз в секунду.
Вложения
test.rar
(3.05 КБ) Скачиваний: 33
IYra
Живу тут
 
Сообщения: 674
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

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

Сообщение astron » 24 дек 2017 21:50

Так, кажись я понял в чём дело! Решил по наитию засветить индикатор сбоку, и заметил едва различимые цифры температуры на фоне мусора. То есть, налицо проблема с таймингами, возможно инерционность дисплея играет тут некую роль, и сегменты засвечиваются не те. Сейчас попробую влить тестовую прошивку и проверить

Да, действительно, вижу счетчик на фоне мусора. Запечатлеть на камеру не получается по понятным причинам. Кстати, если присмотреться на фото крупным планом, выложенное мной выше, можно кое-как разглядеть температуру 28,3 градуса.

Засвеченные сегменты при любых показаниях индикатора всегда остаются одни и те же. Может быть, в исходнике есть какой-то косяк при обработке этих сегментов?

Таак, еще подробность: оказывается, "полуподсвечеными" являются вообще все задействованные для индикации сегменты. То есть те, что не горят (например 1H 1P 1N) просто физически не подключены. Так что это точно проблема с таймингами, что-то не даёт погасить сегменты до конца.

Добавлено спустя 29 минут 59 секунд:
Видимо, в прошивке необходимо увеличить временнЫе промежутки, зажигающие и гасящие сегменты. Дело точно не в частоте обновления, ибо во-первых она соответствует паспортной на данный тип индикатора, а во-вторых я проверял сегменты меандром частотой 400 Гц, и они отлично и "чисто" зажигались и гасли
astron
Частенько бываю
 
Сообщения: 26
Зарегистрирован: 10 апр 2017 00:22

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

Сообщение IYra » 25 дек 2017 10:00

astron писал(а):Таак, еще подробность: оказывается, "полуподсвечеными" являются вообще все задействованные для индикации сегменты. То есть те, что не горят (например 1H 1P 1N) просто физически не подключены. Так что это точно проблема с таймингами, что-то не даёт погасить сегменты до конца.

А если уменьшить питающее напряжение до минимума - порядка 3 в. Как тогда ?
IYra
Живу тут
 
Сообщения: 674
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

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

Сообщение astron » 25 дек 2017 23:26

Сбросил напряжение до трёх вольт, стало получше. Но проблема полностью не ушла
Изображение
По крайней мере, теперь показания читаемы. Думаю, результат приемлемый :-) Значит, причина была в слишком большой чувствительности индикатора. Паразитная засветка почти полностью исчезает при напряжении питания порядка 2,5 вольт, но тут уже сам МК работает на грани и начинает умирать. Попробовал поставить делитель из переменного резистора в разрыв одного из сегментых проводов, и побаловался сопротивлением: результат есть, но менее выраженный, чем при общем снижении напряжения питания. Оно и понятно, ведь там пропорционально смещаются все значения рабочих напряжений, а не только одно. В любом случае, этот вопрос уже решаем.
Любопытства ради, померял потребление схемы. При напряжении 3.3 вольта, оно составляет порядка 6,5 мА. При 5 вольтах - порядка 11 мА.
Думаю, можно смело пилить полнофункциональную рабочую прошивку)
astron
Частенько бываю
 
Сообщения: 26
Зарегистрирован: 10 апр 2017 00:22

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

Сообщение IYra » 26 дек 2017 10:28

IYra писал(а):
astron писал(а):Таак, еще подробность: оказывается, "полуподсвечеными" являются вообще все задействованные для индикации сегменты. То есть те, что не горят (например 1H 1P 1N) просто физически не подключены. Так что это точно проблема с таймингами, что-то не даёт погасить сегменты до конца.

А если уменьшить питающее напряжение до минимума - порядка 3 в. Как тогда ?

Случайно наткнулся http://microsin.net/programming/avr/avr340-direct-driving-lcd-with-gpio.html
Немного по другому организованно. Надо попробовать этот вариант.
IYra
Живу тут
 
Сообщения: 674
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

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

Сообщение astron » 26 дек 2017 16:51

IYra писал(а):Случайно наткнулся http://microsin.net/programming/avr/avr ... -gpio.html

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

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

Сообщение IYra » 28 дек 2017 17:26

IYra писал(а):
astron писал(а):Таак, еще подробность: оказывается, "полуподсвечеными" являются вообще все задействованные для индикации сегменты. То есть те, что не горят (например 1H 1P 1N) просто физически не подключены. Так что это точно проблема с таймингами, что-то не даёт погасить сегменты до конца.

А если уменьшить питающее напряжение до минимума - порядка 3 в. Как тогда ?

Увеличил частоту импульсов. 16 мс на период. 60 Гц. (а было 30). Вариант старый.
Будут ли изменения ?

Добавил еще тестовый вариант по новому (как в апноуте)
Вложения
termostat_mega8.rar
(3.47 КБ) Скачиваний: 30
test_new.rar
(3.53 КБ) Скачиваний: 32
test_new1.rar
Немного подправил
(3.54 КБ) Скачиваний: 29
IYra
Живу тут
 
Сообщения: 674
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

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

Сообщение astron » 29 дек 2017 01:00

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

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

Сообщение IYra » 29 дек 2017 19:33

astron писал(а):Попробовал новые прошивки, принципиальных отличий по-прежнему нет.

А вот эту ? Должно гореть 001
Вложения
test_new2.rar
(2.7 КБ) Скачиваний: 29
IYra
Живу тут
 
Сообщения: 674
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

Пред.След.

Вернуться в ATtiny



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

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

cron