Перейти к блогу GetChip.net - блог        JilTE[1] - в разработке     Модификации устройств - модификации

 
Текущее время: 03 май 2025, 19:23

Часовой пояс: UTC + 3 часа [ Летнее время ]



Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Термометр с 7-сегментным индикатором
СообщениеДобавлено: 20 ноя 2011, 15:47 
Не в сети
Аватара пользователя

Зарегистрирован: 29 май 2011, 17:59
Сообщения: 3769
Откуда: Россия
Решил изучить работу МК с 7-сегментном индикатором. Сделал термометр на 7-сегментном индикаторе. Проверил в железе. Но качество динамической индикации не понравилось. Видны подмигивания при измерении температуры. Изменения частоты в небольших пределах, полностью не убрало этот эффект. Думаю, что данный алгоритм необходимо править, но где? Что-то не соображу. Перепробовал все решения, что удалось придумать, но без успешно. Подскажите, что изменить в данном алгоритме для стабильной работы динамической индикации в данном устройстве.
7_seg_term_OA.rar [19.2 КБ]
Скачиваний: 814

Прошу прощения не сразу заметил ошибку в заголовке темы. Хотел написать «Термометр с 7-сегментным индикатором». Прошу администратора поправить заголовок. Спасибо.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Термометр с 7-сегментным индикатором
СообщениеДобавлено: 20 ноя 2011, 18:15 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 15 май 2011, 23:00
Сообщения: 1904
На первый взгляд просто нужно увеличить частоту обновления семисегментного индикатора.
Это делается в прерывании по переполнению Timer0
sshot-1.png
sshot-1.png [ 9.2 КБ | Просмотров: 16998 ]

Просто попробуй поменять пределитель с 64 на 8.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Термометр с 7-сегментным индикатором
СообщениеДобавлено: 20 ноя 2011, 19:23 
Не в сети
Аватара пользователя

Зарегистрирован: 29 май 2011, 17:59
Сообщения: 3769
Откуда: Россия
Как уже писал, пробовал именно эти варианты а также корректировал ТСNT0, как Вы уже заметили, но не помогло. Подмаргивание (изменение яркости сегментов) происходит в тот период когда работает прерывание по таймеру 1 (измерение температуры). До прерывания по таймеру 1 и после, индикация работает стабильно. Вероятно это потому что много времени уходит при обращении к датчику.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Термометр с 7-сегментным индикатором
СообщениеДобавлено: 21 ноя 2011, 01:52 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 15 май 2011, 23:00
Сообщения: 1904
Тут сложно что то подправить. При входе в прерывание по таймеру1 запрещаются все остальные прерывания. Можно, конечно, их разрешить в теле обработчика прерывания от таймера1, но для корректной работы 1Wire необходимы точные отсчеты времени, а это будет невозможно реализовать если будут разрешены прерывания. Единственно что можно посоветовать в этом случае - это разрешить прерывания в обработчике прерывания от таймера1, но запрещать их на участках, где идет обмен данными по интерфейсу.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Термометр с 7-сегментным индикатором
СообщениеДобавлено: 21 ноя 2011, 08:05 
Не в сети
Аватара пользователя

Зарегистрирован: 29 май 2011, 17:59
Сообщения: 3769
Откуда: Россия
Спасибо за помощь. Остановился на таком варианте. Опрос датчика раз в 8 сек и убран один таймер. Если не приглядываться то небольшое изменение в яркости вовремя опроса датчика почти незаметно.


Вложения:
7_seg_term_OA_2313.rar [15.19 КБ]
Скачиваний: 812
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Термометр с 7-сегментным индикатором
СообщениеДобавлено: 21 ноя 2011, 18:30 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 15 май 2011, 23:00
Сообщения: 1904
Тоже хороший вариант - зачем его часто опрашивать.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Термометр с 7-сегментным индикатором
СообщениеДобавлено: 21 ноя 2011, 20:54 
Не в сети

Зарегистрирован: 20 май 2011, 23:58
Сообщения: 545
Алгоритм простой
Зажгли сигмент ждем паузу (расчёт значение паузы такой что-бы частота регенерации всего индикатора была не мение 50герц). По завершении паузы тушим текущий зажигаем следующий и опять пауза. Если тупо зажигать и тушить сегменты без соблюдения временных интервалов. То будем иметь проблемы. В будет менятся яркость и подсвечиваться соседние сегменты. Не забывайте что зрение штука инерционная.

_________________
Чтобы получить правильные ответы, надо задавать правильные вопросы!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Термометр с 7-сегментным индикатором
СообщениеДобавлено: 21 ноя 2011, 21:36 
Не в сети
Аватара пользователя

Зарегистрирован: 29 май 2011, 17:59
Сообщения: 3769
Откуда: Россия
Спасибо Анатолий за совет. На грабли уже наступил, :-) буду дальше экспериментировать.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Термометр с 7-сегментным индикатором
СообщениеДобавлено: 22 ноя 2011, 19:03 
Не в сети
Аватара пользователя

Зарегистрирован: 29 май 2011, 17:59
Сообщения: 3769
Откуда: Россия
Если не обращаться к датчику, то индикация работает идеально. В общем в данном девайсе сделать полностью без подмигивания при опросе датчика не получилось, а жаль. :(


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Термометр с 7-сегментным индикатором
СообщениеДобавлено: 22 ноя 2011, 19:23 
Не в сети

Зарегистрирован: 20 май 2011, 23:58
Сообщения: 545
А в прерывании регенерацию индикатора сделать слабо? :-D

_________________
Чтобы получить правильные ответы, надо задавать правильные вопросы!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


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

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


Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB