Простые часы на светодиодных матрицах.
-
froloff_st
- Родился
- Сообщения: 1
- Зарегистрирован: Вс авг 10, 2014 06:24:53
Re: Простые часы на светодиодных матрицах.
пожалуйста подскажите прошивку для dip atmega 16 и матриц ОК
- vpashko
- Нашел транзистор. Понюхал.
- Сообщения: 153
- Зарегистрирован: Пт июн 20, 2008 18:27:08
- Откуда: Украина,Запорожье
Re: Простые часы на светодиодных матрицах.
Все прошивки есть на 1 странице.
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: Простые часы на светодиодных матрицах.
Наконец-то себе тоже собрал часики на макетке.
Проанализировал код программы. Там есть довольно таки большая дыра вокруг компаратора в плане надёжности выхода из режима сна:
Когда здесь напряжение приходит в норму, имеем IRQ и попадаем в
Где анализируем состояние компаратора.
На это уйдёт десяток-другой тактов с учётом работы со стеком, где-то 2мкс.
Однако в ДШ говорят что надо много больше:
Таким образом надо выжидать в 30-40 раз больше или оставлять ИОН включённый постоянно(ACBG=1). Это будет отъедать лишние 15-20мкА.
Проанализировал код программы. Там есть довольно таки большая дыра вокруг компаратора в плане надёжности выхода из режима сна:
Код: Выделить всё
while (POWER == OFF ) // если работаем от батареи, то сидим здесь и не вылазим - усыпляем контроллер
{
ACSR=0x80; // выключаю компаратор и внутренний ИОН на время сна (для экономии энергии батарейки)
#asm("sleep") // спим......
ACSR=0x4b; // включаю компаратор, внутренний ИОН.
}Когда здесь напряжение приходит в норму, имеем IRQ и попадаем в
Код: Выделить всё
interrupt [ANA_COMP] void ana_comp_isr(void)Где анализируем состояние компаратора.
На это уйдёт десяток-другой тактов с учётом работы со стеком, где-то 2мкс.
Однако в ДШ говорят что надо много больше:
Table 16. Internal Voltage Reference Characteristics
Symbol Parameter Min Typ Max Units
VBG Bandgap reference voltage 1.15 1.23 1.4 V
tBG Bandgap reference start-up time 40 70 μs
Таким образом надо выжидать в 30-40 раз больше или оставлять ИОН включённый постоянно(ACBG=1). Это будет отъедать лишние 15-20мкА.
- Mazzz
- Нашел транзистор. Понюхал.
- Сообщения: 165
- Зарегистрирован: Пт июл 05, 2013 01:31:35
- Откуда: Владивосток
Re: Простые часы на светодиодных матрицах.
Здравствуйте КотЫ!!! А не кто не думал заделать уличный датчик по радиоканалу? (433МГц). Сам бы с большим удовольствием дописал бы прошивку, но мои знания ограничиваются только внесением минимальных изменений.
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: Простые часы на светодиодных матрицах.
Пошёл по пути создания собственной прошивки.
Она полностью совместима со схемой часов O-LED.
И уже не стыдно обнародовать первый результат.
Новые возможности:
*Музыкальный будильник(8 шт). Одноголосный секвенсор, без всяких полифоний. Т.е. музыкант играет только одним пальцем.
*Поздравлялка/напоминалка(10 шт). Встроенный редактор текстов - смена текстов без изменения программы и перепрошивки. Набор текста двумя кнопками - процесс медленный, но наверное более простой для человека не смыслящего ничего в программировании. Встроенный шрифт позволит набирать тексты на английском, русском, белорусском, украинском, казахском и узбекском языках.
*Переназначение номеров строк и столбцов под вашу плату с матрицами без изменения программы.
Отличия. Проект писался с нуля. Что-то подглядел, многое сделал по своему, какие-то функции показались лишними и были выброшены.Главное:
*Меню другое.
*Управление яркостью еще не полностью доделано.
*Сейчас возможно подключить только 1 термометр. Подпрограмма поиска устройств 1Wire не написана.
Развитие. Писалось с некоторым запасом по функционалу для дальнейшего развития и прошивка получается больше. ATmega16 сейчас уже практически вся занята. Поэтому если будет достаточное количество желающих и проект получит развитие, то готовьтесь перейти на ATmega32.
Файлы.
-Описание
-Прошивка OK ATmega16.
Исходные коды выложу позже.
Она полностью совместима со схемой часов O-LED.
И уже не стыдно обнародовать первый результат.
Новые возможности:
*Музыкальный будильник(8 шт). Одноголосный секвенсор, без всяких полифоний. Т.е. музыкант играет только одним пальцем.
*Поздравлялка/напоминалка(10 шт). Встроенный редактор текстов - смена текстов без изменения программы и перепрошивки. Набор текста двумя кнопками - процесс медленный, но наверное более простой для человека не смыслящего ничего в программировании. Встроенный шрифт позволит набирать тексты на английском, русском, белорусском, украинском, казахском и узбекском языках.
*Переназначение номеров строк и столбцов под вашу плату с матрицами без изменения программы.
Отличия. Проект писался с нуля. Что-то подглядел, многое сделал по своему, какие-то функции показались лишними и были выброшены.Главное:
*Меню другое.
*Управление яркостью еще не полностью доделано.
*Сейчас возможно подключить только 1 термометр. Подпрограмма поиска устройств 1Wire не написана.
Развитие. Писалось с некоторым запасом по функционалу для дальнейшего развития и прошивка получается больше. ATmega16 сейчас уже практически вся занята. Поэтому если будет достаточное количество желающих и проект получит развитие, то готовьтесь перейти на ATmega32.
Файлы.
-Описание
-Прошивка OK ATmega16.
Исходные коды выложу позже.
- Вложения
-
- firmware_atmega32_20aug14.zip
- ATmega32
- (16.95 КБ) 424 скачивания
-
- firmware_20aug14.zip
- Прошивки, описание
- (205.56 КБ) 442 скачивания
Последний раз редактировалось uk8amk Ср авг 20, 2014 15:31:05, всего редактировалось 1 раз.
- Xakeppok
- Встал на лапы
- Сообщения: 113
- Зарегистрирован: Пн мар 14, 2011 14:33:44
- Откуда: Мариуполь
- Контактная информация:
Re: Простые часы на светодиодных матрицах.
uk8amk писал(а): Поэтому если будет достаточное количество желающих и проект получит развитие, то готовьтесь перейти на ATmega32.
.
+ 100500
картина маслом...
-
Radan
- Мучитель микросхем
- Сообщения: 465
- Зарегистрирован: Ср июн 21, 2006 08:24:32
- Откуда: Лисичанск
- Контактная информация:
Re: Простые часы на светодиодных матрицах.
uk8amk, можно сразу попросить прошивку под 32 Мегу?
У меня часы на ней собраны...
У меня часы на ней собраны...
- Mazzz
- Нашел транзистор. Понюхал.
- Сообщения: 165
- Зарегистрирован: Пт июл 05, 2013 01:31:35
- Откуда: Владивосток
Re: Простые часы на светодиодных матрицах.
Я тоже за развитие!!!! Прошу тоже прошивку под ОК Mega32
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: Простые часы на светодиодных матрицах.
Добавил в пост выше.
Хотя я и пытался вытащить на ICE эмуляторе все возможные глюки, что-то мог пропустить. Если заметили странное поведение: подробно пишем, что делали и когда проявилось. Как проявляется: постоянно, периодически и пр. информацию, помогающую воспроивести сбой.
Хотя я и пытался вытащить на ICE эмуляторе все возможные глюки, что-то мог пропустить. Если заметили странное поведение: подробно пишем, что делали и когда проявилось. Как проявляется: постоянно, периодически и пр. информацию, помогающую воспроивести сбой.
Re: Простые часы на светодиодных матрицах.
Можно под ОА ATmega16
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: Простые часы на светодиодных матрицах.
Полноценный ОА насколько мне известно с этой схемотехникой не заработает. Если конечно не было специальных версий железа. А вот для варианта ОА с перевёрнутыми матрицами можно сделать следующее:
*Записывается FLASH, но файл EEPROM с настройками не пишем. Т.е. EEPROM пустая.
*При первом включении настраиваем экран: порядок строк и порядок столбцов.
По некоторым причинам у меня нет возможности сидеть, анализировать все созданные варианты плат и готовить под них настройки еепром.
*Записывается FLASH, но файл EEPROM с настройками не пишем. Т.е. EEPROM пустая.
*При первом включении настраиваем экран: порядок строк и порядок столбцов.
По некоторым причинам у меня нет возможности сидеть, анализировать все созданные варианты плат и готовить под них настройки еепром.
- alcxa
- Это не хвост, это антенна
- Сообщения: 1347
- Зарегистрирован: Ср мар 26, 2014 21:50:55
- Откуда: RF-73 ULN
- Контактная информация:
Re: Простые часы на светодиодных матрицах.
Вот это уже прогресс (про апдейт ПО)
как время появится попробую новую прошивочку
По поводу OA или OK - по моему достаточно инвертировать сигналы идущие на индикатор (строки и столбцы).
По поводу текста - хорошо бы было, чтобы можно изменить текст путем перешивки еепрома (на компе быстрее забить текст получится) = нужно огласить адреса для позравлялок
как время появится попробую новую прошивочку
По поводу OA или OK - по моему достаточно инвертировать сигналы идущие на индикатор (строки и столбцы).
По поводу текста - хорошо бы было, чтобы можно изменить текст путем перешивки еепрома (на компе быстрее забить текст получится) = нужно огласить адреса для позравлялок
Все для сборки часов на 60мм светодиодных матрицах (платки, матрицы и др. комплектующие)
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: Простые часы на светодиодных матрицах.
С инверсией не всё так просто.
У меня допустим на макете стоит ULN2803, у неё не пушпульный выход, поэтому она может только сажать на минус.
Если есть версии железа с соответствующей схемотехникой - не вопрос. Просто я сильно не интересовался у кого что там стоит.
По поздравлениям - я позже выложу исходные коды, вы сможете вбить что захотите. Но раньше времени не выкладываю, надо во-первых, убедиться что всё полностью работоспособно, а во-вторых, привести в нормальный вид и откомментировать многие подпрограммы.
ЗЫ. у меня одного сегодня радиокот по полчаса открывается?
У меня допустим на макете стоит ULN2803, у неё не пушпульный выход, поэтому она может только сажать на минус.
Если есть версии железа с соответствующей схемотехникой - не вопрос. Просто я сильно не интересовался у кого что там стоит.
По поздравлениям - я позже выложу исходные коды, вы сможете вбить что захотите. Но раньше времени не выкладываю, надо во-первых, убедиться что всё полностью работоспособно, а во-вторых, привести в нормальный вид и откомментировать многие подпрограммы.
ЗЫ. у меня одного сегодня радиокот по полчаса открывается?
- alcxa
- Это не хвост, это антенна
- Сообщения: 1347
- Зарегистрирован: Ср мар 26, 2014 21:50:55
- Откуда: RF-73 ULN
- Контактная информация:
Re: Простые часы на светодиодных матрицах.
Вроде как всегда открывается.
По поводу OA+OK - надо спросить у мартин76 - он переделывал ПО под универсальные платы
я точно не сравнивал = но универсальная плата отличается перемычками под тип матриц и резистором = который указывает программе какие матрицы впаяны
По поводу OA+OK - надо спросить у мартин76 - он переделывал ПО под универсальные платы
я точно не сравнивал = но универсальная плата отличается перемычками под тип матриц и резистором = который указывает программе какие матрицы впаяны
Все для сборки часов на 60мм светодиодных матрицах (платки, матрицы и др. комплектующие)
Re: Простые часы на светодиодных матрицах.
Поэтому если будет достаточное количество желающих и проект получит развитие
Я только. ЗА !!! тока часы собраны на ОА .
Я только. ЗА !!! тока часы собраны на ОА .
Re: Простые часы на светодиодных матрицах.
Уважаемый uk8amk. Залил я сегодня вашу прошивку. что мне не понравилось, так это отсутствие простого тонкого шрифта и отсутствие возможности отключать показ года в бегущей строке, а также отсутствие незначащего нуля. Хотелось бы поправить. а в остальном я очень доволен вашей работой. Спасибо вам за труд.
PS. В некоторых мелодиях перепутаны ноты.
PS. В некоторых мелодиях перепутаны ноты.
- alcxa
- Это не хвост, это антенна
- Сообщения: 1347
- Зарегистрирован: Ср мар 26, 2014 21:50:55
- Откуда: RF-73 ULN
- Контактная информация:
Re: Простые часы на светодиодных матрицах.
Первые впечатления от новой прошивки (пока была минутка свободная):
1. Шрифт для букв слишком большой - лучше уменьшить на единичку или две (уменьшится объем памяти занимаемой шрифтом)
2. При долгом нажатии на кнопку не происходит автоинкрементирование настроек (проверял на интервал бегущей строки)
3. При настройке времени если удерживать кнопку убрать моргание (кратковременное погасание цифр)
4. Для наглядности изменение в настройках цифр - сделать так же скроллингом сверху
5. Месяца в настройках лучше отцентрировать и сделать бегущей строкой до центра для красоты
6. Вставить по пробелу между иконками и буквой - долго разглядывал что-это за буковка
7. Мелодии фальшивят (неправильные нотки) и возможно ли программно менять громкость
8. когда идет время - и начинается бегущая строка - время не убирать сразу, а убрать скроллингом влево (как одно целое в бегущ. строке) и так же по окончании пусть выползает бег строкой а не просто появляется
9. поставить пробел перед буквой "г" и точку в отображении года (2014Г = 2014 г.) шрифт букв лучше уменьшить
1. Шрифт для букв слишком большой - лучше уменьшить на единичку или две (уменьшится объем памяти занимаемой шрифтом)
2. При долгом нажатии на кнопку не происходит автоинкрементирование настроек (проверял на интервал бегущей строки)
3. При настройке времени если удерживать кнопку убрать моргание (кратковременное погасание цифр)
4. Для наглядности изменение в настройках цифр - сделать так же скроллингом сверху
5. Месяца в настройках лучше отцентрировать и сделать бегущей строкой до центра для красоты
6. Вставить по пробелу между иконками и буквой - долго разглядывал что-это за буковка
7. Мелодии фальшивят (неправильные нотки) и возможно ли программно менять громкость
8. когда идет время - и начинается бегущая строка - время не убирать сразу, а убрать скроллингом влево (как одно целое в бегущ. строке) и так же по окончании пусть выползает бег строкой а не просто появляется
9. поставить пробел перед буквой "г" и точку в отображении года (2014Г = 2014 г.) шрифт букв лучше уменьшить
Все для сборки часов на 60мм светодиодных матрицах (платки, матрицы и др. комплектующие)
Re: Простые часы на светодиодных матрицах.
uk8amk Наверное правильно было бы создать новую тему.
Например " часы на светодиодных матрицах и Atmega32 версия 2".
Иначе будет полная каша в версиях, схемах, платах, прошивках.
Тем более проект еще полностью не сформировался.
Например " часы на светодиодных матрицах и Atmega32 версия 2".
Иначе будет полная каша в версиях, схемах, платах, прошивках.
Тем более проект еще полностью не сформировался.
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: Простые часы на светодиодных матрицах.
ОК, отметил ваши пожелания в TODO.
Но будет развитие уже только под Мега32, поскольку в 16-й мест нет.
Имелось в виду шрифт цифр для времени?
По ширине/высоте? Когда бегущие строки делаю, клиенты обычно наоборот просят шрифты потолще и выше.
Про память - там копейки. Ну байт 100 может освободится, это 50 машинных слов. Что-то стоящее в такой объём не упихнуть.
Вроде должно быть правильно т.к. с миди-трекера срисовывал.
Другое дело, когда аккорды берут, то ноты по разным каналам синтеза разъезжаются. А у меня 1 канал и не всегда ясно какую из них брать.
Иногда слышу, может там что-то не то. Но точно не могу определить где именно. Ни разу не музыкант я короче.
Ещё такой момент. Я использую бипер от комповой материнки, у него сильно неравномерная АЧХ и на некоторых высших частотах бывает резонанс. Отчего звук кажется искаженным. Я заклеил дырку скотчем, звук стал немного тише, но на низких частотах более сочный и правильный. Попробуйте, возможно чем-то поможет. И обязательно поиграйтесь напряжением питания. Реально влияет на высоту тона.
По поводу регулировки громкости - нет, не на этой схеме. Потому что на бипер идёт сразу цифровой сигнал.
По самой схеме: развитие сильно ограничено т.к.:
1)Заняты практически все порты.
2)сам контроллер имеет не так много ресурсов.
Бывает желание добавить голосовые(проговаривание времени) и др. музыкальные функции, а с учётом ограничений это будет уже ATmega64. Но раз так, то лучше сразу на STM32 потому что там часы и качественные ЦАПы уже встроены. Правда это уже совсем другая конструкция получается.
По глюкам.
У себя нашёл недочёт. Я включал АЦП, а т.к. в проекте его не использовал, то про него благополучно забыл. И он за пару часов скушал ионистор. На днях выложу поправленную версию.
Касательно критических мест в режиме сна. Вот ещё одно важное.
Это значит, что девайс без специальных мер может заснуть и уйти в астрал до полного сброса.
Похожую проблему я встречал в этой теме, у кого-то часы не просыпались.
Провёл небольшой эксперимент.
Период TOSC1 генератора 32768 = 30мкс.
Без специальных мер в активном режиме атмега находится около 20мкс.
С добавлением кода обработки этой ситуации - около 60мкс. Энергопотребление выходит больше, зато надёжность выше.
Но будет развитие уже только под Мега32, поскольку в 16-й мест нет.
отсутствие простого тонкого шрифта
Имелось в виду шрифт цифр для времени?
лучше уменьшить на единичку или две (уменьшится объем памяти занимаемой шрифтом)
По ширине/высоте? Когда бегущие строки делаю, клиенты обычно наоборот просят шрифты потолще и выше.
Про память - там копейки. Ну байт 100 может освободится, это 50 машинных слов. Что-то стоящее в такой объём не упихнуть.
Мелодии фальшивят (неправильные нотки) и возможно ли программно менять громкость
Вроде должно быть правильно т.к. с миди-трекера срисовывал.
Другое дело, когда аккорды берут, то ноты по разным каналам синтеза разъезжаются. А у меня 1 канал и не всегда ясно какую из них брать.
Иногда слышу, может там что-то не то. Но точно не могу определить где именно. Ни разу не музыкант я короче.
Ещё такой момент. Я использую бипер от комповой материнки, у него сильно неравномерная АЧХ и на некоторых высших частотах бывает резонанс. Отчего звук кажется искаженным. Я заклеил дырку скотчем, звук стал немного тише, но на низких частотах более сочный и правильный. Попробуйте, возможно чем-то поможет. И обязательно поиграйтесь напряжением питания. Реально влияет на высоту тона.
По поводу регулировки громкости - нет, не на этой схеме. Потому что на бипер идёт сразу цифровой сигнал.
По самой схеме: развитие сильно ограничено т.к.:
1)Заняты практически все порты.
2)сам контроллер имеет не так много ресурсов.
Бывает желание добавить голосовые(проговаривание времени) и др. музыкальные функции, а с учётом ограничений это будет уже ATmega64. Но раз так, то лучше сразу на STM32 потому что там часы и качественные ЦАПы уже встроены. Правда это уже совсем другая конструкция получается.
По глюкам.
У себя нашёл недочёт. Я включал АЦП, а т.к. в проекте его не использовал, то про него благополучно забыл. И он за пару часов скушал ионистор. На днях выложу поправленную версию.
Касательно критических мест в режиме сна. Вот ещё одно важное.
When Timer/Counter2 operates asynchronously, some considerations must be taken.
• If Timer/Counter2 is used to wake the device up from Power-save or Extended Standby
mode, precautions must be taken if the user wants to re-enter one of these modes: The
interrupt logic needs one TOSC1 cycle to be reset. If the time between wake-up and reentering
sleep mode is less than one TOSC1 cycle, the interrupt will not occur, and the
device will fail to wake up.
Это значит, что девайс без специальных мер может заснуть и уйти в астрал до полного сброса.
Похожую проблему я встречал в этой теме, у кого-то часы не просыпались.
Провёл небольшой эксперимент.
Период TOSC1 генератора 32768 = 30мкс.
Без специальных мер в активном режиме атмега находится около 20мкс.
С добавлением кода обработки этой ситуации - около 60мкс. Энергопотребление выходит больше, зато надёжность выше.
- alcxa
- Это не хвост, это антенна
- Сообщения: 1347
- Зарегистрирован: Ср мар 26, 2014 21:50:55
- Откуда: RF-73 ULN
- Контактная информация:
Re: Простые часы на светодиодных матрицах.
Обязательно нужна версия для 16 меги - ибо за 3 года много часиков народу понасобирало и желающие обновить ПО будут
хотя бы с какими то ограничениями (например мелодии убрать, оставить одну текстовую поздравлялку)
у меня к примеру собраны на ОА и ОК с 16мегами - и перепаивать 32мегу было бы лень - только если новые собирать
чем больше народу будет тестировать = тем больше всплывет глюков и багов
хотя бы с какими то ограничениями (например мелодии убрать, оставить одну текстовую поздравлялку)
у меня к примеру собраны на ОА и ОК с 16мегами - и перепаивать 32мегу было бы лень - только если новые собирать
чем больше народу будет тестировать = тем больше всплывет глюков и багов
Все для сборки часов на 60мм светодиодных матрицах (платки, матрицы и др. комплектующие)