Часы на светодиодных матрицах с драйверами MAX7219

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Maxtor62
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Чт авг 29, 2013 10:16:34
Откуда: Иркутск

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение Maxtor62 »

[quote="dt_andrew"]обьясните как с помощью дуде прошить БИН в ЕЕПРОМ
по виндой у меня в SinaProg выбор файла для загрузки в ЕЕПРОМ вообще не активно
может как то можно чтоб и файл для ЕЕПРОМ тоже был HEX

Странно, использую SinaProg 1.5.5.10 и успешно ею прошиваю EEPROM BIN файлом. Просто в строку Hex file кидаю файл BIN и жму Program под надписью EEPROM.
Реклама
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение dt_andrew »

всем Спасибо за развернутый ответ - буду разбираться
Реклама
Аватара пользователя
alcxa
Это не хвост, это антенна
Сообщения: 1347
Зарегистрирован: Ср мар 26, 2014 21:50:55
Откуда: RF-73 ULN
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение alcxa »

Прошил последнюю в 3208Pro. вроде работает, только выводится слово "температура" хотя датчик не установлен
Аватара пользователя
shura2000
Вымогатель припоя
Сообщения: 613
Зарегистрирован: Пн фев 23, 2015 21:17:29
Откуда: г. Протвино, МО

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение shura2000 »

У меня перестала работать автоматическая яркость.
Вообще никакая не работает. Цифры меняю, а яркость одна и та же.
Не помешали бы всякие корректировки: температуры, давления.
У меня давление врет на 22 мм !
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

shura2000 писал(а):У меня перестала работать автоматическая яркость.
В основной прошивке? Не должно бы. Или в тестовой, где часть функций тупо "отрублена"? Ну так здесь пока без гарантий, работа идёт.

По поводу корректировок не уверен, что это надо - все мои 5 датчиков давления показывают практически одинаковые данные (температуру и давление):

Код: Выделить всё

30,0  738,6
29,3  739,2
29,2 739,1
30,0 738,8
29,2 738,5
разница - в пределах градуса и в пределах полумиллиметра ртутного столба. Так что я сомневаюсь, что все они врут одинаково, скорее - не врёт ни один. При этом на сайте http://rad.org.by/monitoring/air.html показания давления в пределах 985,4..986,1 гПа, что соответствует 739мм рт. ст. так что всё точно.
Реклама
Аватара пользователя
shura2000
Вымогатель припоя
Сообщения: 613
Зарегистрирован: Пн фев 23, 2015 21:17:29
Откуда: г. Протвино, МО

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение shura2000 »

тестовую залил.
Датчик давления подключали с преобразователем уровней?
Реклама
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

Напрямую подключал.

P.S. Ещё одно небольшое обновление. Ничего нового, только оптимизации кода.

Предыдущая выложенная требовала 7912/802 байтa FLASH/RAM соответственно (для ATmega8), после оптимизаций аппетиты уменьшились до 7298/790. То есть удалось отыграть 614 байтов.

Ещё чуть-чуть (260 байтов) и вариант с BMP180 для ATmega8 станет полностью работоспособным. Пока же отключен только интерфейс настройки будильника (сам будильник будет работать, если был настроен на обычной прошивке или через EEPROM). Для ATmega168/328 должны работать все функции.
Вложения
matrixclock-826ee94.7z
(38.7 КБ) 294 скачивания
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение dt_andrew »

прошивку сам не собирал взял готовую, без BMP180
загружаю готовую прошивку для 328 меги
прошиваю ЕЕПРОМ
датчик 1820 подключен, 3231 модуль тоже
на экране нечто похожее на цифры но ничего не работает , ни кнопки ни бег строка

проверяю стенд на своей библиотеке для 7219 все работает как надо
где еще глянуть
монтаж проверял не раз

собрал прошивку сам - стало лучше, но все равно многое не работает
такое впечатление что это под 4 матрицы

что должно быть подключено к ADC0
Последний раз редактировалось dt_andrew Вс июн 21, 2015 05:52:14, всего редактировалось 1 раз.
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

Даже не знаю, в чём дело.

У меня в железе работают на ATmega8 варианты с HT1632 и MAX7219, в Proteus также вполне работает вариант под ATmega328. Вот проект приложен с последними прошивками (я их выше уже выкладывал).

Прошивка в принципе больше подходит для цепочки из четырёх матриц, но и с тремя она вполне работает. На трёх матрицах не будет видно относительно незначащей информации (секунд). И функция поворота картинки на 180 градусов будет работать немного некорректно.
Вложения
matrixclock-sim.7z
(34.65 КБ) 642 скачивания
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение dt_andrew »

можно прошивку без MOD мега328
у меня счас так, при включении проскакивает часы и ярко начинает светиться звездочки ярко и бегают пикселы в одной строке матрицы
через какое то время начинает показывать часы (только повернуто на 90 град) с нормальной яркостью
потом бегущую строку
кнопки так и на работают, но с ними разберемся видно модуль кнопок дохлый
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

Сейчас с утра заметил небольшой баг - при первом включении нули во времени отображаются пробелами, после любой нажатой кнопки всё ОК. Исправлю.

А прошивку "без MOD" из предыдущего поста возьмите. Они все работают, префикс MOD означает лишь программный разворот модуля на 90 градусов - готовые модули распаяны именно так, что удобнее плату на них делать с программным поворотом картинки на модуле.
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение dt_andrew »

заработало MOD версия но все одно с чудесами
при включении показывает часы 15:47
две точки прыгают в центре между 2 неподвижными
в последней колонке 16-теричные секунды не изменяются горят 6 точек
проходит время - бегущая строка - все нормально - заканчивается она и ОППА!!!
переворот экрана и уже к верхногами показывает минуты и секунды мельким шрифтом
мало того что к верх ногами так мелкие сек в левой матрице
вывод как бы идет справа на лево к верхногами
проходит время - бегущая строка - все нормально - но вверх ногами и движется слева на право - заканчивается
экран снова переворачивается и становится нормально и так по кругу
через некоторое время 3-5 мин вообще все выводится мелким шрифтом

вот еще предложение по уменьшению кода
хоть и не много но все же
уберите вывод секунд в 16теричном формате в последней колонке
мигающие точки вполне достаточно

вообщем странный косяк у меня - часы работают если подключить программатор хотя сам программатор (AVR by Petka V3) отключен и питание на него не подается
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

dt_andrew писал(а):в последней колонке 16-теричные секунды не изменяются горят 6 точек
В последней колонке не секунды, а запрограммированные для будильника дни недели.
Коль скоро они у вас горят, значит, в EEPROM сохранены ненулевые байты для них. А в моих EEPROM там нули. Следовательно - Вы не прошили EEPROM.
dt_andrew писал(а):переворот экрана и уже к верхногами показывает минуты и секунды мельким шрифтом
Опять же, повороту экрана вверх ногами соответствует ненулевой определённый байт в EEPROM (в моих файлах EEPROM он по умолчанию равен 0). Это ещё одно подтверждение не прошитого EEPROM.

Сейчас ради интереса скормил прошивке EEPROM со всеми байтами 0xFF (как у чистого МК). И действительно, после этого в симуляторе Proteus система не работает - т.е. работает практически как Вы описали - со странными глюками, мерцаниями и т.д.

В общем, зашивайте EEPROM в контроллер. Если FUSE-биты не запрограммированы как у меня, он при прошивке FLASH автоматом обнуляется, так что шейте его во вторую очередь, после самой прошивки.
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение dt_andrew »

так и делаю сначала флеш потом ЕЕПРОМ
пробывал прошивать файлом сконвертированным по вашей команде avr-objcopy так и сторонним конвертором
особой разнице не увидел
я понимаю что BIN файл ЕЕПРОМ позволяет впрямую изменять строковые константы и прочее без перекомпеляции проекта
но черт знает как эти конверторы работают
призываю вас ув. автор давать все таки HEX для ЕЕПРОМ

я бы и сам сделал но у меня проект не полностью собирается под WINAVR - ошибка при создании файла .elf
хотя сама прошивка создается без вопросов

вот протокол прошивки ЕЕПРОМ

Код: Выделить всё

avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x1e950f
avrdude: reading input file "F:\matrixclock-32ed8b51ef5c509c6068c8349f00751c55d39da2\eeprom\matrixclock_en.bin"
avrdude: input file F:\matrixclock-32ed8b51ef5c509c6068c8349f00751c55d39da2\eeprom\matrixclock_en.bin auto detected as raw binary
avrdude: writing eeprom (512 bytes):
avrdude: 512 bytes of eeprom written
avrdude: verifying eeprom memory against F:\matrixclock-32ed8b51ef5c509c6068c8349f00751c55d39da2\eeprom\matrixclock_en.bin:
avrdude: load data eeprom data from input file F:\matrixclock-32ed8b51ef5c509c6068c8349f00751c55d39da2\eeprom\matrixclock_en.bin:
avrdude: input file F:\matrixclock-32ed8b51ef5c509c6068c8349f00751c55d39da2\eeprom\matrixclock_en.bin auto detected as raw binary
avrdude: input file F:\matrixclock-32ed8b51ef5c509c6068c8349f00751c55d39da2\eeprom\matrixclock_en.bin contains 512 bytes
avrdude: reading on-chip eeprom data:
avrdude: verifying ...
avrdude: 512 bytes of eeprom verified

avrdude: safemode: Fuses OK

avrdude done.  Thank you.
артефакты с переворотом и прочее остались

через 5 мин сменился шрифт на жирный и точки сек мигают как у OLED часах потом точка снова стала скакать как и проежде - шрифт остался жирный
потом смена на мелкий
в общем чудеса и только в чем косяк не пойму
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

dt_andrew писал(а):призываю вас ув. автор давать все таки HEX для ЕЕПРОМ
Смысла нет. Proteus работает с binary, он удобнее для правки в hex-редакторе, в конце концов, любое преобразование hex<->binary легко сделать с помощью avr-objcopy. Да и avrdude вполне зашивает. Кстати, для проверки можете считать из МК в файл (-U eeprom:r....) и глянуть hex-редактором.

У Вас проект в Proteus работает хотя бы с теми же прошивками (как я понял, Вы пытаетесь компилировать проект сами)?
Попробуйте уменьшить в matrix.h размер буфера в ОЗУ для вывода строки MATRIX_BUFFER_SIZE - может, Ваш компилятор плохо оптимизирует использование ОЗУ и происходит перекрытие кучи со стеком.
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение dt_andrew »

я использую ваши прошивки
аврдуде действительно прекрасно понимает БИН файлы и нормально шьет их
собрать самому не получилось - я писал об этом

протеусом не пользуюсь
предпочитаю проверять в железе
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

А кто-нибудь ещё из форумчан здесь пробовал последние прошивки под ATmega328?

Просто действительно интересно, в чём дело. В железе у меня только ATmega8 есть (варианты под MAX7219 и HT1632, оба работают прекрасно), но для других МК разница ведь мизерная - чуть отличается инициализация таймеров 0 и 2 (matrix.c, mtimer.c).
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение dt_andrew »

присоеденяюсь
кто пользует 328 мегу откликнитесь
Аватара пользователя
alcxa
Это не хвост, это антенна
Сообщения: 1347
Зарегистрирован: Ср мар 26, 2014 21:50:55
Откуда: RF-73 ULN
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение alcxa »

Точно не помню, но у 328 фьюзы чуть отличаются от 8меги, младший байт для 8меги=0xA4, а для 328меги=0x62
Аватара пользователя
dark
Встал на лапы
Сообщения: 127
Зарегистрирован: Ср июн 04, 2008 00:22:30
Откуда: Украина, Ковель
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение dark »

WiseLord писал(а):Вот разводка для схемы со стороны матриц (15888)

Изображение

Очень надеюсь, что я нигде не ошибся. В железе не проверял.

В скобках - номера выводов MAX7219.
Разводил плату для общего катода (нижний рисунок). Заметил одну ошибочку - слиплись два сигнала D13 и S13 оба идут на 7 ножку MAX7219.
Ответить

Вернуться в «Статьи»