Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить

простой термометр на PIC16F676

Пн мар 04, 2013 17:28:49

Всем котам привет! Захотел я на днях собрать какой нибудь простой термометр на DS18B20. Поискал в нете чтонибудь на PIC16F676, т.к. только он у меня имеется, но особо подходящего ничего не нашёл. Схем и прошивок полно на PIC16F628A и ATTINY2313, но их нет возможности приобрести. Наткнулся на прошлогодний форум viewtopic.php?f=20&t=64762 , в нём обсуждали термометр как раз на PIC16F676 , но там применяется ещё регистр сдвига 74HC595. Мне почемуто кажется что можно и без регистра сдвига сделать, ног хватает у мк, и кнопки повесить на теже порты управления сегментами, такое решение не раз видел в часах. А меня бы устроил вариант на 2-х разрядном индикаторе с общим анодом, без десятых градуса, отрицательную температуру можно только до -9. Может ктонибудь поможет со схемой и прошивкой?

Re: простой термометр на PIC16F676

Пн мар 04, 2013 17:39:15

andrey782005 писал(а):Всем котам привет! Захотел я на днях собрать какой нибудь простой термометр на DS18B20. Поискал в нете чтонибудь на PIC16F676, т.к. только он у меня имеется, но особо подходящего ничего не нашёл. Схем и прошивок полно на PIC16F628A и ATTINY2313, но их нет возможности приобрести. Наткнулся на прошлогодний форум viewtopic.php?f=20&t=64762 , в нём обсуждали термометр как раз на PIC16F676 , но там применяется ещё регистр сдвига 74HC595. Мне почемуто кажется что можно и без регистра сдвига сделать, ног хватает у мк, и кнопки повесить на теже порты управления сегментами, такое решение не раз видел в часах. А меня бы устроил вариант на 2-х разрядном индикаторе с общим анодом, без десятых градуса, отрицательную температуру можно только до -9. Может ктонибудь поможет со схемой и прошивкой?

Могу предложить вариант (даже два), но с 3-х разрядным индикатором. Первый с постоянно включенной точкой, так как выводов МК на нее не хватает. Минус этого варианта при температуре выше 100 и ниже -10 точка мешает. Второй без десятых и точки соответственно.
Индикатор с общим анодом.
Если все-таки нужен на 2-х разрядном индикаторе, чуть позже выложу.
P.S.
Пн мар 04, 2013 20:37
Исправил ошибку в сохранении максимальной и минимальной температур во втором варианте.
Вложения
Termometr_16F676_v2.zip
(27.75 KiB) Скачиваний: 924
Последний раз редактировалось Soir Пн мар 04, 2013 21:30:10, всего редактировалось 1 раз.

Re: простой термометр на PIC16F676

Пн мар 04, 2013 17:50:23

Спасибо большое Soir , в будущем мне конечно пригодится, но в данный момент есть только 2-х разрядный с общим анодом, вот такой я нищий :cry: , просто в моём городке не реально купить радиодетали, мне иногда друзья привозят.

Re: простой термометр на PIC16F676

Пн мар 04, 2013 18:37:49

andrey782005, а Вы откуда ?

Re: простой термометр на PIC16F676

Пн мар 04, 2013 18:48:52

с постоянно включенной точкой, так как выводов МК на нее не хватает
Хватает. Делал тоже на 676 - одна нога выполняла 2 функции: точки и катода 3 разряда (в третьем разряде точка не нужна). Выложить не могу - делал под заказ.

Re: простой термометр на PIC16F676

Пн мар 04, 2013 18:54:27

Аlex писал(а):andrey782005, а Вы откуда ?

Я с Башкирии г.Туймазы

Re: простой термометр на PIC16F676

Пн мар 04, 2013 18:56:33

А почта у Вас там есть ? Могу прислать парочку 628А, сделаете себе термометр :)

Re: простой термометр на PIC16F676

Пн мар 04, 2013 19:04:29

Аlex писал(а):А почта у Вас там есть ? Могу прислать парочку 628А, сделаете себе термометр :)

Спасибо за предложение, может обращусь к вам, мне должны через месяц родственники из Екатеринбурга привезти разные детали, в том числе и 628-е, если не привезут, тогда надежда только на вас :)

Re: простой термометр на PIC16F676

Пн мар 04, 2013 19:06:54

Хорошо. Если что - пишите. Пришлю :beer:

Re: простой термометр на PIC16F676

Пн мар 04, 2013 20:58:47

в данный момент есть только 2-х разрядный с общим анодом,

Этого достаточно для схемы Soirа .

Re: простой термометр на PIC16F676

Пн мар 04, 2013 20:59:59

oleg110592 писал(а):Хватает. Делал тоже на 676 - одна нога выполняла 2 функции: точки и катода 3 разряда (в третьем разряде точка не нужна).

Интересная идея, спасибо.
Попытался реализовать, но проверить в железе пока нет возможности, а Proteus не хочет правильно симулировать. Может завтра будет время включить паяльник...
Вложения
Termometr_16F676_v2.zip
(13.53 KiB) Скачиваний: 565

Re: простой термометр на PIC16F676

Пн мар 04, 2013 21:19:57

andrey782005 писал(а):...в данный момент есть только 2-х разрядный с общим анодом...

Вот на два разряда. Диапазон от -9 до 99. Все что за диапазоном - прочерки.
Я описание не выкладывал, но во всех этих вариантах принцип один - термометр с фиксацией минимальной и максимальной температур. Пишутся в EEPROM. Нажатие на кнопки выводит на дисплей соответственно минимальную и максимальную температуры. Одновременное нажатие на кнопки записывает текущую температуру в обе ячейки памяти.
Вложения
Termometr_16F676_2dig.zip
(12.77 KiB) Скачиваний: 512

Re: простой термометр на PIC16F676

Пн мар 04, 2013 21:29:13

А что за установки и сохранения в памяти ? Это же просто термометр :roll:

Re: простой термометр на PIC16F676

Пн мар 04, 2013 21:35:48

Аlex писал(а):А что за установки и сохранения в памяти ? Это же просто термометр :roll:

Так было в базовом варианте, так и осталось. Дополнительная функция за те же деньги... :)

P.S.
Кстати, кто скачал первые варианты (2-ой пост), там была ошибка при сохранении в прошивке для варианта без десятых. Перезалил в то же сообщение.

Re: простой термометр на PIC16F676

Пн мар 04, 2013 21:51:21

Soir писал(а): Proteus не хочет правильно симулировать.

Да протеус светит лишнюю точку - в реальном устройстве не видно.
pic676.png
(51.36 KiB) Скачиваний: 1040

Re: простой термометр на PIC16F676

Пн мар 04, 2013 22:05:51

Что то я никак въехать не могу в принцип. Почему должна гореть только одна точка ? Как по мне, гореть должны все, кроме той, чей катод подключен к выводу DP.

Re: простой термометр на PIC16F676

Пн мар 04, 2013 22:34:07

Когда отображаются единицы, то вывод МК на разряд, к которому подключена точка (могут быть десятки или десятые), переводится на вход, если точка не нужна и на выход, если точка нужна. Также переводится на вход при индикации других "не родных" разрядов.
Вот Proteus этот вход, так как он не подтянут к питанию, воспринимает как 0, достаточный для включения точки в других разрядах. А если подтянуть, то глюки будут обратные, а в железе еще и засветка может появляться.

Re: простой термометр на PIC16F676

Пн мар 04, 2013 22:37:18

переводится на вход
Хм.. а как тогда будет светиться индикатор, анод(или катод, хз... общий короче :) ) которого настроили на вход ? :roll:

Re: простой термометр на PIC16F676

Пн мар 04, 2013 22:37:36

Светим посегментно (горит только 1 сегмент в разряде). Вывод H (он же 3 катод) при зажигании сегментов первого разряда всегда настроен на вход. На 2 разряде в нужный момент вывод H = 1 и 2 катод = 0. На 3 разряде 3 катод = 0 (он же Н), сегменты зажигаем по очереди единицей (H не зажечь). Лучше объяснить не могу.

Re: простой термометр на PIC16F676

Пн мар 04, 2013 22:57:48

А, вкурил... :)
Тогда осмелюсь предположить, что просто нет гашения индикаторов. Т.е. выключение разряда перед переключением. Протеус в этом случае будет засвечивать, т.к. для него даже микросекунды - уже "нужно светить".
Ответить