Часы зуммер для кухни
- просто КОТ
- Друг Кота
- Сообщения: 12364
- Зарегистрирован: Пт дек 17, 2010 15:07:50
- Откуда: Крымский Федеральный Округ
- Контактная информация:
Re: Часы зуммер для кухни
У мну слегка другой таймер. Мне надо подсветку цветов включать/выключать. В среднем 10 часов работа. И настройка почасовая.
Re: Часы зуммер для кухни
Знакомая проблема. Я неск. лет назад соорудил подобную устновку в подвале по просьбе жены. Каюсь, таймеры покупные за 5$ штука. Как их увидел - охота собирать что-то свое резко отпала. Они и по сей день исправно работают. Вот скоро она опять ростки выращивать начнет.
Re: Часы зуммер для кухни
так для продуктовых коробочек вроде какие-то из максим-даллас mLAN таблеточек ... склреоз... ищите на сайте http://www.maxim-ic.com/products/ibutton/
http://www.maxim-ic.com/products/ibutton/data-logging/
http://www.maxim-ic.com/products/ibutton/data-logging/

Re: Часы зуммер для кухни
Спасибо за инфу. DS1904 - интересная штучка. Но она без дисплея. К ней надо еще считывающее/обнуляющее устройство думать. Мне кажется это гораздо менее удобно, чем просто посмотреть на ЖКИ. Да и стоит она 9.5$. Кроме того, неясно на сколько хватит ее (неменяемой) баратейки в холодильнике по-сравнению с заявленными в ДШ 10 годами при 25Ц. Короче, не подходит.
Re: Часы зуммер для кухни
В приведенном ниже архиве принятый за основу модуль обработчика дисплея и тестовый фрагмент для проверки монтажа и оценки восприятия регулятора яркости.
В основе контроллера дисплея гибрид ШИМ и BAM, ячейки DPTR не применяются в целях резервирования для основных программных модулей и скоростных преобразователей данных. Тестирование модуля клавиатуры пока не проводилось.
Базовые файлы проекта :
Cl52_1.asm – основной (шапка – заголовок + все заранее объявленные имена регистров/данных, битов констант и РСФ) ;
Kadrs_1.inc – подуль контроллера дисплея/клавиатуры ;
Znak.inc – знакогенератор минимального набора стандартных символов ;
Test1.inc – собственно тест дисплея (и «пищалки»);
Cl52_1.hex – собственно файл прошивки.
INC/89s52.inc - небольшая «отсебятинка» для удобства пользователя (обычно применяется в наборах AVR-STUDIO4.19 & MPLAB8.80)
Для «прошивки» МК использована программная оболочка ispprog ( http://pic-avr.narod.ru/avr/ispprog.zip ) с железом stk200m ( http://www.lancos.com/e2p/betterSTK200.gif ) (на китайском pci-LPT (Netmos/MosChip Nm9805 1P) адаптере) под WIN_XP.
Применяемый компилятор c51asm.exe от ATMEL может применяться для любого МК семейства mcs51 (кроме того полностью FREE) можно скачать на странице
http://www.atmel.com/dyn/products/tools ... ily_id=770
или под WIN_XP
http://www.atmel.com/dyn/resources/prod ... in_1-2.zip .
Файл INC/at89s52.inc , включенный в проект, также взят из этого комплекта, как обязательная компонента проэкта.
В качестве текстового редактора используется DPAD версии 4.7.0.4 от15.05.2011 (также FREE версия).
Более поздние версии вышеуказанного редактора мне не слишком понравились из-за требований обязательного подключения интернет и ресурсопотреблению.
Дальнейшее развитие программы будет определяться готовностью тестового клавиатурного поля и свободного времени.
Приношу искренние извинения любителям С и других языков высокого уровня.
Однако если кто из таких специалистов выложит свое видение программного обеспечения данной схемы – возражений не будет – наоборот значительно интереснее создание совместного программного обеспечения (при взаимовыгодном обмене опытом, возможно в режиме «для чайников»).

В основе контроллера дисплея гибрид ШИМ и BAM, ячейки DPTR не применяются в целях резервирования для основных программных модулей и скоростных преобразователей данных. Тестирование модуля клавиатуры пока не проводилось.
Базовые файлы проекта :
Cl52_1.asm – основной (шапка – заголовок + все заранее объявленные имена регистров/данных, битов констант и РСФ) ;
Kadrs_1.inc – подуль контроллера дисплея/клавиатуры ;
Znak.inc – знакогенератор минимального набора стандартных символов ;
Test1.inc – собственно тест дисплея (и «пищалки»);
Cl52_1.hex – собственно файл прошивки.
INC/89s52.inc - небольшая «отсебятинка» для удобства пользователя (обычно применяется в наборах AVR-STUDIO4.19 & MPLAB8.80)
Для «прошивки» МК использована программная оболочка ispprog ( http://pic-avr.narod.ru/avr/ispprog.zip ) с железом stk200m ( http://www.lancos.com/e2p/betterSTK200.gif ) (на китайском pci-LPT (Netmos/MosChip Nm9805 1P) адаптере) под WIN_XP.
Применяемый компилятор c51asm.exe от ATMEL может применяться для любого МК семейства mcs51 (кроме того полностью FREE) можно скачать на странице
http://www.atmel.com/dyn/products/tools ... ily_id=770
или под WIN_XP
http://www.atmel.com/dyn/resources/prod ... in_1-2.zip .
Файл INC/at89s52.inc , включенный в проект, также взят из этого комплекта, как обязательная компонента проэкта.
В качестве текстового редактора используется DPAD версии 4.7.0.4 от15.05.2011 (также FREE версия).
Более поздние версии вышеуказанного редактора мне не слишком понравились из-за требований обязательного подключения интернет и ресурсопотреблению.
Дальнейшее развитие программы будет определяться готовностью тестового клавиатурного поля и свободного времени.
Приношу искренние извинения любителям С и других языков высокого уровня.
Однако если кто из таких специалистов выложит свое видение программного обеспечения данной схемы – возражений не будет – наоборот значительно интереснее создание совместного программного обеспечения (при взаимовыгодном обмене опытом, возможно в режиме «для чайников»).

- Вложения
-
- progs.rar
- (8.98 КБ) 228 скачиваний
Re: Часы зуммер для кухни
наконец доделал кнопушки...
ну и дерьмо последнее время попалось
4 из 16 пришлось на старые (из коробочек запаса) поменять - рассыпались после пары десятков нажатий
сразу же повылазило несколько замечаний по программке...
на выходных доделаю - выложу результат
в выложенном ранее ошибка - кнопки активируются 0 а не 1 (т.е. на выводах Р0 и Р3 при сканировании "бегущая 1" , а не 0)
пивасика бы...
ну и дерьмо последнее время попалось
сразу же повылазило несколько замечаний по программке...
на выходных доделаю - выложу результат
в выложенном ранее ошибка - кнопки активируются 0 а не 1 (т.е. на выводах Р0 и Р3 при сканировании "бегущая 1" , а не 0)
пивасика бы...

Re: Часы зуммер для кухни
Вниманию кошачьего сообщества предоставляется практически готовый участок исходника для обеспечения регенерации дисплея и обслуживания захвата кода кнопок.
В виде простейшего (и весьма сыроватого) тестового фрагмента…
Кхи..! Чжихи!!! (ОРЗ трох-тибидох!...)
Может со временем еще чего подредактирую, но базовая концепция похоже останется неизменной.
Итак, последняя «бредятина» представлена в нижеприведенном архиве следующим содержимым:
1. cl52_2.asm файл заголовка-инициализации и всяких объявлений (немного подпорчен, как всегда, тестовыми фрагментами);
2. sled.inc собственно сам обработчик обслуживания дисплея/клавиатуры (в дальнейшем будет в «библиотеке»);
3. znak.inc – это «стандартное» приложение знакогенератора (в дальнейшем будет в «библиотеке»);
4. monitu.inc прототип диспетчера задач;
5. dispmod.inc тестовый модификатор информации дисплея;
6. dirsn0.inc тестовый прототип обработчика директив клавиатуры;
7. sektor0.inc текущий тест кнопушек;
8. папка с обязательным сопровождением INC
9. cl52_2.hex версия прошивки всего этого…
Попозже пошкарябаю распечатки мож чего еще в тест впихну при отладке кнопушек… мне пока достаточно и этого было.
Дальше следует дочистка по кнопкам и работа над таймерами…
Возможно и будильники с тремодатчиком - но библиотечки старые переделывать надо - в этом макете стоит «связной» кварц, а в старых обычно был «чистый» 12МГц – интервалы для mLan переправлять придется…
Да и распределение задач пока неопределенно – сколько чего и куда ресурсов уйдет…
Тем более, что базовую платформу можно довольно быстро приспособить под любую целевую задачу.
С наступающим «СТАРЫМ НОВЫМ ГОДОМ»!!!

В виде простейшего (и весьма сыроватого) тестового фрагмента…
Кхи..! Чжихи!!! (ОРЗ трох-тибидох!...)
Может со временем еще чего подредактирую, но базовая концепция похоже останется неизменной.
Итак, последняя «бредятина» представлена в нижеприведенном архиве следующим содержимым:
1. cl52_2.asm файл заголовка-инициализации и всяких объявлений (немного подпорчен, как всегда, тестовыми фрагментами);
2. sled.inc собственно сам обработчик обслуживания дисплея/клавиатуры (в дальнейшем будет в «библиотеке»);
3. znak.inc – это «стандартное» приложение знакогенератора (в дальнейшем будет в «библиотеке»);
4. monitu.inc прототип диспетчера задач;
5. dispmod.inc тестовый модификатор информации дисплея;
6. dirsn0.inc тестовый прототип обработчика директив клавиатуры;
7. sektor0.inc текущий тест кнопушек;
8. папка с обязательным сопровождением INC
9. cl52_2.hex версия прошивки всего этого…
Попозже пошкарябаю распечатки мож чего еще в тест впихну при отладке кнопушек… мне пока достаточно и этого было.
Дальше следует дочистка по кнопкам и работа над таймерами…
Возможно и будильники с тремодатчиком - но библиотечки старые переделывать надо - в этом макете стоит «связной» кварц, а в старых обычно был «чистый» 12МГц – интервалы для mLan переправлять придется…
Да и распределение задач пока неопределенно – сколько чего и куда ресурсов уйдет…
Тем более, что базовую платформу можно довольно быстро приспособить под любую целевую задачу.
С наступающим «СТАРЫМ НОВЫМ ГОДОМ»!!!

- Вложения
-
- исходники cl52nm3.rar
- (12.38 КБ) 220 скачиваний
Re: Часы зуммер для кухни
Только что увидел в аптеке подобный таймер, о кот. я писал выше. Только он не для продуктов, а напоминает писком когда наступает время принимать лекарство. И всего за 5$:
http://img.walgreens.com/dbimagecache/31191711315_450x450_a.jpg
Для продуктов он не подойдет, т.к. установка времени работает всего в пределах 24 часов, но дизайн, корпус, кнопка, ЖКИ и пр. как я и хотел.
http://img.walgreens.com/dbimagecache/31191711315_450x450_a.jpg
Для продуктов он не подойдет, т.к. установка времени работает всего в пределах 24 часов, но дизайн, корпус, кнопка, ЖКИ и пр. как я и хотел.
Re: Часы зуммер для кухни
"суточные" реле времени на 1 канал - скоко хош готовых (вариация для шита ~ от 160 гривничек)
то, чего хочется получить от железяки - 8-10 одновременно /раздельно работающих коротких (0-99минут) таймеров с возможностью установки/сброса каждого из них в произвольный момент времени и мож еще чего туда впихнуть (тем более, что такая конструкция уже была в древние времена)
жаль пока грипус простудус за....
то, чего хочется получить от железяки - 8-10 одновременно /раздельно работающих коротких (0-99минут) таймеров с возможностью установки/сброса каждого из них в произвольный момент времени и мож еще чего туда впихнуть (тем более, что такая конструкция уже была в древние времена)
жаль пока грипус простудус за....
- просто КОТ
- Друг Кота
- Сообщения: 12364
- Зарегистрирован: Пт дек 17, 2010 15:07:50
- Откуда: Крымский Федеральный Округ
- Контактная информация:
Re: Часы зуммер для кухни
Кто делал таймер с термометром скажите -- как данные с термодатчика (DS******, т.е. любого цифрового) считываются?!
Re: Часы зуммер для кухни
dsxxxxx и "любой другой" - разные протоколы обмена.
у mLAN - пакет из 9 байт, назначение которых согласно документации на конкретную ИС (и то не без исключений).
за остальных - так же отсылаю к datasheet у производителя - причем желательно перечитать все, что касается данного типа устройств (обычно производиел делит описание на кусочки, лежащие в разных разделах - часть в datasheet, часть в appnote, часть в описании семейства или еще где...
если чего конкретно, так надо под конкретную ИС спрашивать и под конкретный датчик
у mLAN - пакет из 9 байт, назначение которых согласно документации на конкретную ИС (и то не без исключений).
за остальных - так же отсылаю к datasheet у производителя - причем желательно перечитать все, что касается данного типа устройств (обычно производиел делит описание на кусочки, лежащие в разных разделах - часть в datasheet, часть в appnote, часть в описании семейства или еще где...
если чего конкретно, так надо под конкретную ИС спрашивать и под конкретный датчик

Re: Часы зуммер для кухни
мррмрымм...
подпортил-таки мне настроение микроLAN...
минимальная длительность пакета (это того, что данные в мк читать должен - сброс+два байта команд+9байт данных)~6,25mS...
такая "пауза" все ж таки "блымает", как ни маскируй, при развертке х4...
переделываю дисплей под меняюшуюся развертку : х4 - индикация по 8 знакоместам (это для таймеров) и х2 - обработка пакетов микроLAN индикация по 4 знакоместам (термометр/часы/будильники).
при работе с микроLAN регулировка яркости выполняться не будет
как будет готовенько - выложу
подпортил-таки мне настроение микроLAN...
минимальная длительность пакета (это того, что данные в мк читать должен - сброс+два байта команд+9байт данных)~6,25mS...
такая "пауза" все ж таки "блымает", как ни маскируй, при развертке х4...
переделываю дисплей под меняюшуюся развертку : х4 - индикация по 8 знакоместам (это для таймеров) и х2 - обработка пакетов микроLAN индикация по 4 знакоместам (термометр/часы/будильники).
при работе с микроLAN регулировка яркости выполняться не будет
как будет готовенько - выложу

Последний раз редактировалось BOB51 Чт янв 19, 2012 07:26:59, всего редактировалось 1 раз.
Re: Часы зуммер для кухни
А если вывод на разряды при динамической индикации засунуть "прослойкой" в пакет микроLANа..BOB51 писал(а):сброс+два байта команд+9байт данных)~6,25mS...
Например: передал/считал бит - выставил очередную цифру на индикатор, передал/считал бит - выставил очередную цифру на индикатор..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Re: Часы зуммер для кухни
пробовалось - сам квант вывода в этом случае должен быть длиннее самого длинного пакета + некоторый запас...(иль слишком стар стал...?)
дело в том, что обмен по микроLAN прерывать нельзя (даже "побитовый" разрыв не допускается)
вот и мурочусь
как раз при х2 (50Гц=0,02S, -0,001 на "хвост" с кнопками и перезагрузкой =0,019 и результат на кадр 0,019/2 = 0,0095 с вычетом паузы на закрытие оптрона и исполняемые команды где-то 0,008S всегда будет обеспечиваться, если не использовать модулятор яркости)
для х4 - 0,02-0,001/4=0,00475 - явно не влезет (можно конечно с нарушением протокола впихнуть укороченное чтение блокнота - только команды и байты температуры, но проверку достоверности данных там не выполнить)
на х4/х8 сам обмен по микроLAN запрятать где-то в пределах 1 секунды можно, но все равно, если приглядется, "мерцание" выплывет
так что микроLAN и качественная индикация только при статике или малокадровой развертке (возможно еще х3 при 45-50Гц пройдет "на пределе")
пока идет процесс "поиска блох" и выбора наиболее приятонго алгоритма с учетом еще пересекающихся дополнительных задач - внешняя тайм-сетка для часов/будильников/таймеров + возможный поток по УСАПП ну и про основной монитор управления тихонечко помышляю
дело в том, что обмен по микроLAN прерывать нельзя (даже "побитовый" разрыв не допускается)
вот и мурочусь
как раз при х2 (50Гц=0,02S, -0,001 на "хвост" с кнопками и перезагрузкой =0,019 и результат на кадр 0,019/2 = 0,0095 с вычетом паузы на закрытие оптрона и исполняемые команды где-то 0,008S всегда будет обеспечиваться, если не использовать модулятор яркости)
для х4 - 0,02-0,001/4=0,00475 - явно не влезет (можно конечно с нарушением протокола впихнуть укороченное чтение блокнота - только команды и байты температуры, но проверку достоверности данных там не выполнить)
на х4/х8 сам обмен по микроLAN запрятать где-то в пределах 1 секунды можно, но все равно, если приглядется, "мерцание" выплывет
так что микроLAN и качественная индикация только при статике или малокадровой развертке (возможно еще х3 при 45-50Гц пройдет "на пределе")
пока идет процесс "поиска блох" и выбора наиболее приятонго алгоритма с учетом еще пересекающихся дополнительных задач - внешняя тайм-сетка для часов/будильников/таймеров + возможный поток по УСАПП ну и про основной монитор управления тихонечко помышляю
Re: Часы зуммер для кухни
почти окончательная вариация на тему обработчика дисплея/клавиатуры
пойдет как библиотечка для светодиодной динамики после испытаний с ds18b20...
далее подготавливаю следующий тест - работа индикативным термометром
забыл прицепиь наскоро нашкрябаную схему алгоритма сканера дисплея... склероз...
пойдет как библиотечка для светодиодной динамики после испытаний с ds18b20...
далее подготавливаю следующий тест - работа индикативным термометром

забыл прицепиь наскоро нашкрябаную схему алгоритма сканера дисплея... склероз...
- Вложения
-
- algoritm_skan.pdf
- схема алгоритма
- (353.44 КБ) 959 скачиваний
-
- cl52_4.rar
- архивчик тестовой версии дисплея/клавиатуры
- (11.25 КБ) 222 скачивания
- IM1
- Грызет канифоль
- Сообщения: 268
- Зарегистрирован: Вт фев 16, 2010 12:10:38
- Откуда: Воронеж, Россия
Re: Часы зуммер для кухни
Не надо уныния, да и зачем считывать все сразу и подряд.BOB51 писал(а):подпортил-таки мне настроение микроLAN...
минимальная длительность пакета (это того, что данные в мк читать должен - сброс+два байта команд+9байт данных)~6,25mS...
Обмен, конечно, синхронный, но в предела одного тайм-слота. А в остальном, вполне себе асинхронный. Посмотрите даташит повнимательнее: главный король здесь безусловно (тайм-слот) = 60мкс, это святое. Остальное +/- до бесконечности. Я прошел через это: динамическая индикация+1WIRE. Разбивал обращение к DS на кусочки, втискивал их в промежутки между сменой индикации, одним словом изгалялся как мог, но мигание устранил как класс. А совсем недавно сделал вот так: (запрет прерывания)->(тайм-слот)->(разрешение прерывания). В таком режиме максимальный разброс времени сканирования индикаторов макс. те же 60мкс. На глаз все идеально, т.е. ни миганий, ни мерцаний не наблюдается. Плюс небольшой бонус выпал - порядка 100 байт освободилось.BOB51 писал(а):дело в том, что обмен по микроLAN прерывать нельзя (даже "побитовый" разрыв не допускается)
вот и мурочусь![]()
PS
Тему "Часы зуммер для кухни" заметил только сегодня, считал, что в разделе "Цифровая техника" речь идет только о жесткой логике. А тема классная, буду подключаться.
Re: Часы зуммер для кухни
Может и "растаскивать" слоты можно... (1мкс<Trec<∞)... но осторожно... (<∞ не =∞ !) сначала "стандартный" вариант запущу, а там видно будет, да и обработка байта легче одной подпрограммой делается...
Да и основная задача - таймер, термодатчик, это вроде как "предупредительная подготовка" к дополнительным трудностям с дисплеем (можно ведь и внешним кристаллом по любому другому протоколу данные перегнать, тем более, что rx/tx зарезервированы заранее)
Пока есть возможность растащить по пакетам - лучше это делать, тем более, что используется стандартный вывод МК - это где-то до 5 метров телефонного кабеля (у меня со старых макеток универсальный "хвост" с датчиком - под него и сделаю)
Кстати исходник для того же c51asm написан, но "коряво" - пока сам его(c51asm) изучаю еще макросы и условное ассемблирование не пробовал, да и размещение данных там заложено ...
На выходных надеюсь доконаю индикативный термометр да погляжу, чего выйдет
а тема здесь просто как продолжение к топик-стартеру - свою создавать не стал (вроде как то же самое)
Да и основная задача - таймер, термодатчик, это вроде как "предупредительная подготовка" к дополнительным трудностям с дисплеем (можно ведь и внешним кристаллом по любому другому протоколу данные перегнать, тем более, что rx/tx зарезервированы заранее)
Пока есть возможность растащить по пакетам - лучше это делать, тем более, что используется стандартный вывод МК - это где-то до 5 метров телефонного кабеля (у меня со старых макеток универсальный "хвост" с датчиком - под него и сделаю)
Кстати исходник для того же c51asm написан, но "коряво" - пока сам его(c51asm) изучаю еще макросы и условное ассемблирование не пробовал, да и размещение данных там заложено ...
На выходных надеюсь доконаю индикативный термометр да погляжу, чего выйдет

а тема здесь просто как продолжение к топик-стартеру - свою создавать не стал (вроде как то же самое)

- IM1
- Грызет канифоль
- Сообщения: 268
- Зарегистрирован: Вт фев 16, 2010 12:10:38
- Откуда: Воронеж, Россия
Re: Часы зуммер для кухни
Производитель разрешает, значит можно и не осторожно.BOB51 писал(а):Может и "растаскивать" слоты можно... (1мкс<Trec<∞)... но осторожно... (<∞ не =∞ !) сначала "стандартный" вариант запущу, а там видно будет, да и обработка байта легче одной подпрограммой делается...
И байт будет так же обрабатываться без всяких проблем, да и проблема с индикаций исчезнет как таковая, т.к. думать о ней не надо будет вообще. Одним словом все зайцы будут биты (не биты тайм-слота) одним ма-а-а-леньким таким приемом.
Но это опять же мое ИМХО, хозяин-барин, всегда можно решить задачу и другими способами, тем в общем-то и хорошо программирование.
Re: Часы зуммер для кухни
тайм-слот в каждом кадре - дополнительный расход ресурсов (RB по крайней мере или стека) т.к. передается пакет из нескольких бвйт на фоне уже работающей по ранее вызванному прерыванию программы, а сколько их там еще должно быть в работе (приостановлено или активно) пока еще не определено
лучше для начала излишне не "перемудрить"
если гнать пакет в конце кадра (желательно последний кадр строки) - возможно совместить использование по крайней мере того же RB с минимальным использованием объема стека (минимум подпрограмм при том же расходе пзу)
для использования минимума времени на заведомо проверенной линии можно применить и "сокращенный" запрос данных термометра - там всего-то 4 байта надо перегнать, но уже без защиты достоверности CRC
а у индикации и так проблем достаточно будет - там ведь не только микроLAN втиснуть предполагается и все в реальном времени
это уже кргда "скелет" готов полностью будет (хош и корявый) можно и "вычесыванием" заняться
лучше для начала излишне не "перемудрить"
если гнать пакет в конце кадра (желательно последний кадр строки) - возможно совместить использование по крайней мере того же RB с минимальным использованием объема стека (минимум подпрограмм при том же расходе пзу)
для использования минимума времени на заведомо проверенной линии можно применить и "сокращенный" запрос данных термометра - там всего-то 4 байта надо перегнать, но уже без защиты достоверности CRC
а у индикации и так проблем достаточно будет - там ведь не только микроLAN втиснуть предполагается и все в реальном времени
это уже кргда "скелет" готов полностью будет (хош и корявый) можно и "вычесыванием" заняться

Re: Часы зуммер для кухни
Вероятно уже поздно вносить измнения в проект, но все-же может проще использовать МК с аппаратными модулями I2C или SPI?

