Кто сможет подправить прошивку ( сегментник с ОА на ОК )

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

Сообщение WiseLord »

Странно. По идее, должно быть видно что-то вроде этого:
Изображение
Сверху числа, которые должны выводиться, ниже - три стадии динамической развёртки, внизу - то, что видит глаз. Левее - при правильном подключении (к выводам МК), правее - при неправильном (транзисторы).
Контактная информация:
Реклама
Электрический кот
Сообщения: 1006
Зарегистрирован: Пн мар 12, 2007 12:18:28
Откуда: Тюмень

Сообщение ewrey »

Вот при разряде акб на дисплее должно гореть diS, а горит - первое знакоместо сегменты A,b и E,D как бы часть цифры 8 по диагонали, ещё горит Dp возле 1-го знакоместа, а остаток - iS горит нормально. Больше вроде косяков не заметил.

П.с. думал что косяк со словом diS вызван транзисторами и подключил катоды напрямую к МК - не изменилось абсолютно ничего....

П.п.с не отображается разделительные точки между разрядами в режиме зарядки.
Последний раз редактировалось ewrey Пт фев 21, 2014 21:09:39, всего редактировалось 1 раз.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

Не могу сдержать слёз. Извините за офф. :))
Docendo discimus
Контактная информация:
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 351
Зарегистрирован: Пн сен 12, 2011 12:13:46

Сообщение Garin »

Напишите, куда выслать, индикатор с общим катодом.
Реклама
Эиком - электронные компоненты и радиодетали
Электрический кот
Сообщения: 1006
Зарегистрирован: Пн мар 12, 2007 12:18:28
Откуда: Тюмень

Сообщение ewrey »

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

Сообщение WiseLord »

Посмотрел на код внимательнее...
Могут быть проблемы с сегментами B и F, так как они на другом порту, а в коде прикручены как-то костыльно.

Таки ради интереса скачал Codevision, установил его в виртуалке под WinXP, попробую перекомпилировать из исходников.

P.S.
Собралось без ошибок, попробуйте прошивку из архива
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 20104
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

pyzhman писал(а):Не могу сдержать слёз. Извините за офф.
Коллега, не томите, расскажите. Можете в личку :))
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Электрический кот
Сообщения: 1006
Зарегистрирован: Пн мар 12, 2007 12:18:28
Откуда: Тюмень

Сообщение ewrey »

WiseLord Прошивка из архива не пошла. На дисплее билеберда. то с ьранзисторами что без. Работает только прошивка mini_ok1.hex но с известными недочётами.
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Дизассемблировал код, потупил немного в него...
В общем, он не соответствует имеющимся исходникам (например, то что в исходниках закомментировано в функции Timer0Ovf(void) файла 7segment.h, на самом деле вызывается, а PORTD.5 = 0 и подобное - нет).
Короче, поменял помимо инверсии сегментов ещё кое-какие биты в исходном hex-файле, отвечающие за динамическую индикацию. Теперь, по идее, должно работать правильно (с транзисторами).

На всякий случай, перекомпилировал и проект ещё раз (раскомментировав назад старый код). Попробуйте, в общем оба варианта - hex ручной правки после изучения дизассемблерованного кода, и то, что из проекта скомпилировать получается...
Контактная информация:
Электрический кот
Сообщения: 1006
Зарегистрирован: Пн мар 12, 2007 12:18:28
Откуда: Тюмень

Сообщение ewrey »

Проверить прошивки смогу только в понедельник т.к. всё осталось на работе.
Электрический кот
Сообщения: 1006
Зарегистрирован: Пн мар 12, 2007 12:18:28
Откуда: Тюмень

Сообщение ewrey »

WiseLord Не пошли обе прошивки.
Первая: На индикаторе зажигаются нули, но потом, какая то путаница с сегментами получается.
Вторая, из архива зажигаютя 9.9.9 и потом перемаргиваются со включенными сегментами Е,В и Dp на всех разрядах.
Первая прошивка чуть лучше выходит. :)
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

А этот попробуйте...
Контактная информация:
Электрический кот
Сообщения: 1006
Зарегистрирован: Пн мар 12, 2007 12:18:28
Откуда: Тюмень

Сообщение ewrey »

На всех разрядах индикатора моргает 4.4.4. или 5.5.5 или наборы сегментов но синхронно.
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

В общем, даже и не знаю, что ещё Вам посоветовать.

Есть следующая идея.

В оригинальной схеме с ОА по выводам PD5-PD7 бегает лог. 0 на фоне лог. 1. Это открывает один из трех транзисторов, пуская на один из ОК питание. При этом загораются те сегменты, у которых с выходов PB0-PB5,PD3,PD4 идёт лог. 0.

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

1. Катоды пустить напрямую на PD5-PD7. Там будет бегать лог. 0, как и надо.

2. Уровни, подаваемые на сегменты дисплея надо проинвертировать. Проще всего это будет сделать, выпаяв 8 резисторов, а вместо них впаять следующую схему (навесным монтажом):
- от вывода МК - резистор на базу n-p-n-транзистора
- эмиттер транзистора - на землю
- коллектор - через резистор тех же 470 Ом на сегмент.

То есть Вам, фактически, надо:
а) выпаять из платы правую по схеме ногу 8-ми резисторов, припаять к ней базу транзистора, к коллектору транзистора - ещё один резистор, второй ногой впаянный в ранее освобождённое отверстие. А эмиттеры транзисторов пустить на землю.
б) выпаять VT2-VT4 и пустить ОК на выводы PD5-PD7.

Получится, конечно, не очень красиво (торчащие из платы транзисторы), но как минимум, работа схемы в таком режиме будет гарантировать, что схема собрана правильно. А то у меня уже сомнения, в чём проблема - в корректности сборки схемы или всё же в прошивках.
Контактная информация:
Электрический кот
Сообщения: 1006
Зарегистрирован: Пн мар 12, 2007 12:18:28
Откуда: Тюмень

Сообщение ewrey »

Но самая первая прошивка работает почти корректно.... Почему так? Там не правильно отобнажается всего пара сегментов...
Не отображается Dp ( точка ) при всех режимах работы устройсва. И не правильно отображается буква d при разрядке АКБ.
Её составляют сегменты A,B,F,D, Dp , а должно наверное быть так B,G,C,D,F

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

Сообщение WiseLord »

А печатную плату показать можете? Может, где-то ошибка?

P.S. Попробуйте этот вариант, собран из исходников
Контактная информация:
Электрический кот
Сообщения: 1006
Зарегистрирован: Пн мар 12, 2007 12:18:28
Откуда: Тюмень

Сообщение ewrey »

Печатка вся авторская, только переделан узел заряда акб.
Вложения
Test_Li_Ion.lay
(213.42 КБ) 269 скачиваний
Электрический кот
Сообщения: 1006
Зарегистрирован: Пн мар 12, 2007 12:18:28
Откуда: Тюмень

Сообщение ewrey »

WiseLord писал(а):
P.S. Попробуйте этот вариант, собран из исходников
Тоже не пошло, мигают Dp и мессиво из сегментов, ничего не угадать.

П.С. На первой прошивке уже проверил пару банок 18560 :)
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Очередная попытка
Контактная информация:
Электрический кот
Сообщения: 1006
Зарегистрирован: Пн мар 12, 2007 12:18:28
Откуда: Тюмень

Сообщение ewrey »

Блин, чёж за невезуха то такая, опять не пошло. На всех знакоместах, синхронно горят группы сегментов и точки - разделители.
Ответить

Вернуться в «AVR»