24 февраля 2022 года в 5 утра, без объявления войны, россия напала на Украину.

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

Я не умею много писать, да и без мата тут сложно что-то написать.
Поэтому выражу все мои чувства одним фото.

«Спасибо дедушка путин за счастливое детство и мое освобождение». ©

Дополню словами уважаемого человека, широко известного в узких кругах:
тут путин не виноват, не он нажал на кнопку сброса,
- виноват пилот, который нажал на кнопку сброса, мог промахнуться. виноваты жена/мать/брат/друг пилота, которые не позвонили ему, и не сказали "нет войне",
- виноват тот, кто отдал приказ, и виноваты его жена/мать/брат/друг,
- виноват тот, кто цеплял бомбу, потому что он мог её обезвредить, "ну бывает, не сработала",
- виноват кладовщик, виноват водитель, который перевозил эту бомбу. виноваты жена...и т.д., потому что не позвонили и не сказали "нет войне, не вези бомбы",
- виноваты все журналисты оркостана, потому что они врут,
- виноваты недограждане, потому что не сказали журналистам "не врите",
- виноваты все... все 160 миллионов,
- а те 2, 3, 5 тысяч, которые вышли, и которых запаковали, это даже не десятая процента, это погрешность... случайно оказавшиеся в мордоре люди. ©

PS: За несколько часов до вторжения был атакован и взломан крупный интернет хостинг в Киеве, где и размещался мой сайт. Только 16 марта отважным админам удалось частично восстановить работу хостинга. Далеко не все сайты выжили, т.к. были повреждены даже бэкапы.
Нет, нет, я не жалуюсь, нет. В цифровом мире нет ничего ценного, материального...


Due to periodic DDoS attacks, the forum may not be available.

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

Здесь только проекты на ATtiny
Post Reply
gulliver
Пробегал мимо
Posts: 1
Joined: 01 Dec 2017 22:39

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

Post by gulliver »

Всем привет, нужна помощь , после прошивки контроллера индикация появляется (хаотическая) при касание 4 ноги МК . Собрал две платки шил Khazama AVR Programmer фьюзы ставил относительно SPIEN
jumbo
Частенько бываю
Posts: 36
Joined: 15 Sep 2009 09:38

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

Post by jumbo »

Здравствуйте. Очень нужная и удачная конструкция. Но вся проблема в том, что если этот терморегулятор использовать для обогрева, то выход = 1 получается постоянно включен после старта контроллера, и только если температура перевалила за установленное значение, то тогда выход становится = 0, а вот если к примеру отключить датчик, (или датчик потеряет контакт), то выход установится в 1 и нагрев будет постоянный. Помогите модернизировать пожалуйста код данной конструкции чтобы при обрыве датчика выход нагрева устанавливался в 0. Спасибо.
propell_ant
Живу тут
Posts: 490
Joined: 03 Jun 2014 09:22

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

Post by propell_ant »

jumbo, в ветке Термостат ∆T=0,1°C - работа над ошибками лежит прошивка, в которой всё это исправлено, пробуйте.
astron
Частенько бываю
Posts: 32
Joined: 10 Apr 2017 00:22

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

Post by astron »

IYra wrote:У этого ЖКИ 4 com и 10 выводов сегмента (для 3 цифр без лишних символов). Надо немного подумать
Может просто подобрать другую модель пропроще, чтобы Вам голову не ломать? После поисков в интернете, становится понятно, что отыскать динамический ЖК индикатор с нормальной разводкой, задача довольно-таки сложная. Давайте возьмем 4 одноразрядных семисегментника, скажем, LCD056-2 и соберем динамическую индикацию на них, объединив выводы? Так будет проще, имхо. И не придется извращаться с подстраиванием показаний под положение точки, ибо получится полный аналог светодиодного семисегментника.
trashbox.jpg
IYra
Живу тут
Posts: 712
Joined: 01 Feb 2012 18:36
Location: Санкт-Петербург

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

Post by IYra »

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

Code: Select all

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 можно поменять
Attachments
termostat_mega8.rar
Кекс
(2.95 KiB) Downloaded 227 times
User avatar
hardlock
Администратор
Posts: 4003
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

gulliver, значит что-то с фьюзами начудили. Что значит "фьюзы ставил относительно SPIEN"?
propell_ant
Живу тут
Posts: 490
Joined: 03 Jun 2014 09:22

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

Post by propell_ant »

Всем привет,
кто-нибудь может нарисовать печатку в SprintLayout по картинке и схеме из Eagle?
Я тут сваял термостат на Mega8 TQFP, по размерам плата как у Хардлока, только у меня всё в игле, а народ в форуме привык к спринту, а времени перенести совсем нету.
Если кто готов помочь - пишите в личку.
User avatar
hardlock
Администратор
Posts: 4003
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

propell_ant, может давай отдельной темой? Я могу попробовать нарисовать.
propell_ant
Живу тут
Posts: 490
Joined: 03 Jun 2014 09:22

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

Post by propell_ant »

hardlock, щас запилю новую тему.
User avatar
hardlock
Администратор
Posts: 4003
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

propell_ant, кидай туда всё как есть, я постараюсь побыстрее дополнить "привычным форматом" )))
astron
Частенько бываю
Posts: 32
Joined: 10 Apr 2017 00:22

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

Post by astron »

IYra wrote: В принципе для проверки такого варианта можно использовать уже сделанную. Правда там 3 цифры.
Соединения сегментов с PORTB
Хорошо, постараюсь на днях собрать стенд и испытать прошивку. Я тут просто приболел слегка, грипп, будь он неладен( Поэтому надолго из дома стараюсь не выбираться, а до радиомага ехать прилично.
IYra
Живу тут
Posts: 712
Joined: 01 Feb 2012 18:36
Location: Санкт-Петербург

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

Post by IYra »

astron wrote:
IYra wrote:У этого ЖКИ 4 com и 10 выводов сегмента (для 3 цифр без лишних символов). Надо немного подумать
Может просто подобрать другую модель пропроще, чтобы Вам голову не ломать? После поисков в интернете, становится понятно, что отыскать динамический ЖК индикатор с нормальной разводкой, задача довольно-таки сложная.
Поломал все таки голову и вот что получилось. Как будет в реале не знаю, но в модели работает. Модель я взял из Протеуса, подправил, так что она соответствует ITM-1693P (в первом приближении).
Если получится в реале то можно использовать этот вариант для любого ЖКИ.
Attachments
Itm_1693.rar
(33.21 KiB) Downloaded 209 times
astron
Частенько бываю
Posts: 32
Joined: 10 Apr 2017 00:22

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

Post by astron »

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

А как посмотреть посегментную распиновку индикатора в протеусе и ее соответствие реальному ITM? Я протеус только базово знаю просто.
astron
Частенько бываю
Posts: 32
Joined: 10 Apr 2017 00:22

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

Post by astron »

Итаак. Первый блин оказался слегка комом :dontknow: . Ножки мк дрыгаются примерно как надо, и изображение есть, но не то, что нужно. Распиновку подбирал методом научного тыка: в модели задал температуру 88,8 градусов, чтобы засветить все разряды, а затем, размыкая по очереди каждую линию данных, определял номера ног. Вроде правильно определил? (см. карандашный набросок). И чтобы облегчить работу уважаемому IYra, накидал тут распиновку на применяемые в наших целях пины индикатора, плюс таблицу символов с номерами выводов. Возможно, где-то что-то записано не оптимально, но как уж есть. Старался как можно нагляднее сделать. ЗЫ. Пардон за ссылки на посторонний хостинг, по-другому такие "габаритные" изображения сюда не вставить.
Image
Image
Image
IYra
Живу тут
Posts: 712
Joined: 01 Feb 2012 18:36
Location: Санкт-Петербург

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

Post by IYra »

astron wrote:Итаак. Первый блин оказался слегка комом :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 светятся все сегменты в строке таблицы
astron
Частенько бываю
Posts: 32
Joined: 10 Apr 2017 00:22

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

Post by astron »

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

Может быть, сделать отладочную прошивочку чисто с индикацией? Которая, скажем, будет зажигать цифру 8 на первом разряде, через секунду гасить ее и зажигать восьмерку на втором, затем на третьем и далее по кругу? Может так багу и отловим?
Да, забыл сказать, индикаторов у меня две штуки, изображение одинаковое на обоих. Так что вариант с неисправным дисплеем исключается.
IYra
Живу тут
Posts: 712
Joined: 01 Feb 2012 18:36
Location: Санкт-Петербург

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

Post by IYra »

astron wrote:подключил на неиспользуемые пины четвертого разряда длинную "косу", но характер изображения на дисплее не изменился, ничего лишнего не зажглось.
Может неиспользуемые ноги надо тоже подключать и обрабатывать ? Надо подумать
astron wrote: Может быть, сделать отладочную прошивочку чисто с индикацией?
Сделал обычный счетчик раз в секунду.
Attachments
test.rar
(3.05 KiB) Downloaded 189 times
astron
Частенько бываю
Posts: 32
Joined: 10 Apr 2017 00:22

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

Post by astron »

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

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

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

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

Добавлено спустя 29 минут 59 секунд:
Видимо, в прошивке необходимо увеличить временнЫе промежутки, зажигающие и гасящие сегменты. Дело точно не в частоте обновления, ибо во-первых она соответствует паспортной на данный тип индикатора, а во-вторых я проверял сегменты меандром частотой 400 Гц, и они отлично и "чисто" зажигались и гасли
IYra
Живу тут
Posts: 712
Joined: 01 Feb 2012 18:36
Location: Санкт-Петербург

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

Post by IYra »

astron wrote: Таак, еще подробность: оказывается, "полуподсвечеными" являются вообще все задействованные для индикации сегменты. То есть те, что не горят (например 1H 1P 1N) просто физически не подключены. Так что это точно проблема с таймингами, что-то не даёт погасить сегменты до конца.
А если уменьшить питающее напряжение до минимума - порядка 3 в. Как тогда ?
astron
Частенько бываю
Posts: 32
Joined: 10 Apr 2017 00:22

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

Post by astron »

Сбросил напряжение до трёх вольт, стало получше. Но проблема полностью не ушла
Image
По крайней мере, теперь показания читаемы. Думаю, результат приемлемый :-) Значит, причина была в слишком большой чувствительности индикатора. Паразитная засветка почти полностью исчезает при напряжении питания порядка 2,5 вольт, но тут уже сам МК работает на грани и начинает умирать. Попробовал поставить делитель из переменного резистора в разрыв одного из сегментых проводов, и побаловался сопротивлением: результат есть, но менее выраженный, чем при общем снижении напряжения питания. Оно и понятно, ведь там пропорционально смещаются все значения рабочих напряжений, а не только одно. В любом случае, этот вопрос уже решаем.
Любопытства ради, померял потребление схемы. При напряжении 3.3 вольта, оно составляет порядка 6,5 мА. При 5 вольтах - порядка 11 мА.
Думаю, можно смело пилить полнофункциональную рабочую прошивку)
IYra
Живу тут
Posts: 712
Joined: 01 Feb 2012 18:36
Location: Санкт-Петербург

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

Post by IYra »

IYra wrote:
astron wrote: Таак, еще подробность: оказывается, "полуподсвечеными" являются вообще все задействованные для индикации сегменты. То есть те, что не горят (например 1H 1P 1N) просто физически не подключены. Так что это точно проблема с таймингами, что-то не даёт погасить сегменты до конца.
А если уменьшить питающее напряжение до минимума - порядка 3 в. Как тогда ?
Случайно наткнулся http://microsin.net/programming/avr/avr ... -gpio.html
Немного по другому организованно. Надо попробовать этот вариант.
astron
Частенько бываю
Posts: 32
Joined: 10 Apr 2017 00:22

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

Post by astron »

IYra wrote:Случайно наткнулся http://microsin.net/programming/avr/avr ... -gpio.html
Да, мне тоже попадался этот аппноут, когда я изучал данную тему. Здесь алгоритм немного упрощенный, отсутствует эффект противофазного импульса для ускоренного гашения сегмента после его зажигания. Но попробовать стОит, вдруг как раз ускоренное гашение и даёт эффект мусора. Тогда имеет смысл написать какую-нибудь совсем простую прошивку, реализующую метод из аппноута, скажем, только для зажигания одного единственного сегмента дисплея. И посмотреть, какой будет эффект. Если толку не будет, то и заморачиваться с более сложным вариантом прошивки не будет смысла.
IYra
Живу тут
Posts: 712
Joined: 01 Feb 2012 18:36
Location: Санкт-Петербург

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

Post by IYra »

IYra wrote:
astron wrote: Таак, еще подробность: оказывается, "полуподсвечеными" являются вообще все задействованные для индикации сегменты. То есть те, что не горят (например 1H 1P 1N) просто физически не подключены. Так что это точно проблема с таймингами, что-то не даёт погасить сегменты до конца.
А если уменьшить питающее напряжение до минимума - порядка 3 в. Как тогда ?
Увеличил частоту импульсов. 16 мс на период. 60 Гц. (а было 30). Вариант старый.
Будут ли изменения ?

Добавил еще тестовый вариант по новому (как в апноуте)
Attachments
termostat_mega8.rar
(3.47 KiB) Downloaded 189 times
test_new.rar
(3.53 KiB) Downloaded 190 times
test_new1.rar
Немного подправил
(3.54 KiB) Downloaded 196 times
astron
Частенько бываю
Posts: 32
Joined: 10 Apr 2017 00:22

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

Post by astron »

Попробовал новые прошивки, принципиальных отличий по-прежнему нет.
Вариант с 60 гц:
При напряжении 5 вольт
Image
При снижении напряжения до трех вольт, эффект ровно тот же, что и в старом варианте прошивки
Другой алгоритм индикации:
При напряжении 5 вольт
Image
При снижении напряжения до трех вольт, эффект как будто чуть хуже, чем раньше. Но возможно мне только кажется
Image
Image
Похоже сам по себе индикатор попался "капризный". Полагаю, лучше чем есть, уже никак не улучшить, но повторюсь, результат приемлемый. Всё читается неплохо.
IYra
Живу тут
Posts: 712
Joined: 01 Feb 2012 18:36
Location: Санкт-Петербург

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

Post by IYra »

astron wrote:Попробовал новые прошивки, принципиальных отличий по-прежнему нет.
А вот эту ? Должно гореть 001
Attachments
test_new2.rar
(2.7 KiB) Downloaded 186 times
Post Reply