Сверху числа, которые должны выводиться, ниже - три стадии динамической развёртки, внизу - то, что видит глаз. Левее - при правильном подключении (к выводам МК), правее - при неправильном (транзисторы).
Кто сможет подправить прошивку ( сегментник с ОА на ОК )
- Реклама
Вот при разряде акб на дисплее должно гореть diS, а горит - первое знакоместо сегменты A,b и E,D как бы часть цифры 8 по диагонали, ещё горит Dp возле 1-го знакоместа, а остаток - iS горит нормально. Больше вроде косяков не заметил.
П.с. думал что косяк со словом diS вызван транзисторами и подключил катоды напрямую к МК - не изменилось абсолютно ничего....
П.п.с не отображается разделительные точки между разрядами в режиме зарядки.
П.с. думал что косяк со словом diS вызван транзисторами и подключил катоды напрямую к МК - не изменилось абсолютно ничего....
П.п.с не отображается разделительные точки между разрядами в режиме зарядки.
Последний раз редактировалось ewrey Пт фев 21, 2014 21:09:39, всего редактировалось 1 раз.
Не могу сдержать слёз. Извините за офф. 
Docendo discimus
- Сообщения: 351
- Зарегистрирован: Пн сен 12, 2011 12:13:46
Напишите, куда выслать, индикатор с общим катодом.
С общим анодом. Та я не откажусь, высылайте.
- Реклама
Посмотрел на код внимательнее...
Могут быть проблемы с сегментами B и F, так как они на другом порту, а в коде прикручены как-то костыльно.
Таки ради интереса скачал Codevision, установил его в виртуалке под WinXP, попробую перекомпилировать из исходников.
P.S. Собралось без ошибок, попробуйте прошивку из архива
Могут быть проблемы с сегментами B и F, так как они на другом порту, а в коде прикручены как-то костыльно.
Таки ради интереса скачал Codevision, установил его в виртуалке под WinXP, попробую перекомпилировать из исходников.
P.S. Собралось без ошибок, попробуйте прошивку из архива
Коллега, не томите, расскажите. Можете в личкуpyzhman писал(а):Не могу сдержать слёз. Извините за офф.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
WiseLord Прошивка из архива не пошла. На дисплее билеберда. то с ьранзисторами что без. Работает только прошивка mini_ok1.hex но с известными недочётами.
Дизассемблировал код, потупил немного в него...
В общем, он не соответствует имеющимся исходникам (например, то что в исходниках закомментировано в функции Timer0Ovf(void) файла 7segment.h, на самом деле вызывается, а PORTD.5 = 0 и подобное - нет).
Короче, поменял помимо инверсии сегментов ещё кое-какие биты в исходном hex-файле, отвечающие за динамическую индикацию. Теперь, по идее, должно работать правильно (с транзисторами).
На всякий случай, перекомпилировал и проект ещё раз (раскомментировав назад старый код). Попробуйте, в общем оба варианта - hex ручной правки после изучения дизассемблерованного кода, и то, что из проекта скомпилировать получается...
В общем, он не соответствует имеющимся исходникам (например, то что в исходниках закомментировано в функции Timer0Ovf(void) файла 7segment.h, на самом деле вызывается, а PORTD.5 = 0 и подобное - нет).
Короче, поменял помимо инверсии сегментов ещё кое-какие биты в исходном hex-файле, отвечающие за динамическую индикацию. Теперь, по идее, должно работать правильно (с транзисторами).
На всякий случай, перекомпилировал и проект ещё раз (раскомментировав назад старый код). Попробуйте, в общем оба варианта - hex ручной правки после изучения дизассемблерованного кода, и то, что из проекта скомпилировать получается...
Проверить прошивки смогу только в понедельник т.к. всё осталось на работе.
WiseLord Не пошли обе прошивки.
Первая: На индикаторе зажигаются нули, но потом, какая то путаница с сегментами получается.
Вторая, из архива зажигаютя 9.9.9 и потом перемаргиваются со включенными сегментами Е,В и Dp на всех разрядах.
Первая прошивка чуть лучше выходит.
Первая: На индикаторе зажигаются нули, но потом, какая то путаница с сегментами получается.
Вторая, из архива зажигаютя 9.9.9 и потом перемаргиваются со включенными сегментами Е,В и Dp на всех разрядах.
Первая прошивка чуть лучше выходит.
А этот попробуйте...
На всех разрядах индикатора моргает 4.4.4. или 5.5.5 или наборы сегментов но синхронно.
В общем, даже и не знаю, что ещё Вам посоветовать.
Есть следующая идея.
В оригинальной схеме с ОА по выводам PD5-PD7 бегает лог. 0 на фоне лог. 1. Это открывает один из трех транзисторов, пуская на один из ОК питание. При этом загораются те сегменты, у которых с выходов PB0-PB5,PD3,PD4 идёт лог. 0.
Коль скоро у вас нет индикатора с ОА, а только ОК, можно придумать следующий вариант его подключения без переделки оригинальной прошивки.
1. Катоды пустить напрямую на PD5-PD7. Там будет бегать лог. 0, как и надо.
2. Уровни, подаваемые на сегменты дисплея надо проинвертировать. Проще всего это будет сделать, выпаяв 8 резисторов, а вместо них впаять следующую схему (навесным монтажом):
- от вывода МК - резистор на базу n-p-n-транзистора
- эмиттер транзистора - на землю
- коллектор - через резистор тех же 470 Ом на сегмент.
То есть Вам, фактически, надо:
а) выпаять из платы правую по схеме ногу 8-ми резисторов, припаять к ней базу транзистора, к коллектору транзистора - ещё один резистор, второй ногой впаянный в ранее освобождённое отверстие. А эмиттеры транзисторов пустить на землю.
б) выпаять VT2-VT4 и пустить ОК на выводы PD5-PD7.
Получится, конечно, не очень красиво (торчащие из платы транзисторы), но как минимум, работа схемы в таком режиме будет гарантировать, что схема собрана правильно. А то у меня уже сомнения, в чём проблема - в корректности сборки схемы или всё же в прошивках.
Есть следующая идея.
В оригинальной схеме с ОА по выводам PD5-PD7 бегает лог. 0 на фоне лог. 1. Это открывает один из трех транзисторов, пуская на один из ОК питание. При этом загораются те сегменты, у которых с выходов PB0-PB5,PD3,PD4 идёт лог. 0.
Коль скоро у вас нет индикатора с ОА, а только ОК, можно придумать следующий вариант его подключения без переделки оригинальной прошивки.
1. Катоды пустить напрямую на PD5-PD7. Там будет бегать лог. 0, как и надо.
2. Уровни, подаваемые на сегменты дисплея надо проинвертировать. Проще всего это будет сделать, выпаяв 8 резисторов, а вместо них впаять следующую схему (навесным монтажом):
- от вывода МК - резистор на базу n-p-n-транзистора
- эмиттер транзистора - на землю
- коллектор - через резистор тех же 470 Ом на сегмент.
То есть Вам, фактически, надо:
а) выпаять из платы правую по схеме ногу 8-ми резисторов, припаять к ней базу транзистора, к коллектору транзистора - ещё один резистор, второй ногой впаянный в ранее освобождённое отверстие. А эмиттеры транзисторов пустить на землю.
б) выпаять VT2-VT4 и пустить ОК на выводы PD5-PD7.
Получится, конечно, не очень красиво (торчащие из платы транзисторы), но как минимум, работа схемы в таком режиме будет гарантировать, что схема собрана правильно. А то у меня уже сомнения, в чём проблема - в корректности сборки схемы или всё же в прошивках.
Но самая первая прошивка работает почти корректно.... Почему так? Там не правильно отобнажается всего пара сегментов...
Не отображается Dp ( точка ) при всех режимах работы устройсва. И не правильно отображается буква d при разрядке АКБ.
Её составляют сегменты A,B,F,D, Dp , а должно наверное быть так B,G,C,D,F
Идея с транзисторами конечно тоже ничего, но у меня там всё SMD и плотно плотно...
Не отображается Dp ( точка ) при всех режимах работы устройсва. И не правильно отображается буква d при разрядке АКБ.
Её составляют сегменты A,B,F,D, Dp , а должно наверное быть так B,G,C,D,F
Идея с транзисторами конечно тоже ничего, но у меня там всё SMD и плотно плотно...
А печатную плату показать можете? Может, где-то ошибка?
P.S. Попробуйте этот вариант, собран из исходников
P.S. Попробуйте этот вариант, собран из исходников
Печатка вся авторская, только переделан узел заряда акб.
- Вложения
-
- Test_Li_Ion.lay
- (213.42 КБ) 269 скачиваний
Тоже не пошло, мигают Dp и мессиво из сегментов, ничего не угадать.WiseLord писал(а):
P.S. Попробуйте этот вариант, собран из исходников
П.С. На первой прошивке уже проверил пару банок 18560
Очередная попытка
Блин, чёж за невезуха то такая, опять не пошло. На всех знакоместах, синхронно горят группы сегментов и точки - разделители.


