Перейти к содержанию

Не Работает Жки На Atmega 8


zergling

Рекомендуемые сообщения

Собрал на отмега 8 аналог индикатора ko-4b, но когда подключил, вместо индикации все сегменты показывали тусклое свечение:

post-35466-0-59929300-1338961171_thumb.jpg

Если пощупать пинцетом на ножках кварца, то появляются непонятные значения:

post-35466-0-75206600-1338961194_thumb.jpg

или:

post-35466-0-20985800-1338961230_thumb.jpg

На подачу сигнала индикатор не реагирует. Выпаял кварц, сегменты потухли - поставил назад. Фузы выставлял в AvrReal: BODLEVEL=0,BODEN=0,SUT=1,CKSEL=F,CKOPT=0. Прошивал через lpt "пять проводков", программа отписалась passed

Теперь ломаю голову, почему ЖКИ не работает как нужно...

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Вот все так взяли и поняли, что там вы насобирали. Ну а как же по другому, все же каждый день по 500 штук таких делают.

Где схему брали, ваша? Тогда схему и исходники в студию, кварц какой :angry: ?! :wall:

И это не ЖКИ это светодиодные семисегментные индикаторы которые никакого отношения к жки не имеют и работают по другому принципу!!!!

Изменено пользователем Rhime

- А совесть в курсе? - А совесть в доле! :-D

Эксперт — это человек, который совершил все возможные ошибки в некотором узком поле.

Все грамматические ошибки являются авторским стилем изложения материала.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Судя по количеству проводов к индикатору, индикация динамическая. А её надо специальным образом программировать в прошивке.

Про прошивку автор не сказал ни звука :( .

И с кварцем непонятно - если кварц 8MHz и меньше, то CKOPT надо в 1 ставить. Если больше 8, то в 0.

Бардак короче, данных мало ...

Если надо, выложу полное описание, схему и прошивку часов собственной разработки с 4 и 13-разрядным светодиодным дисплеем. 2 варианта.

Там у меня правда внутренний генератор без кварца используется, он зато динамическая индикация есть :D .

И совет - сперва добейтесь нормальной работы дисплея как такового, а потом уже ваяйте команды и пр. функционал этого HT1611.

Rhime, ЖКИ - автор наверное имел в виду, что он хочет сымитировать ЖКИ HT1611, а он функциональный аналог 10-значного 7-сегментного дисплея.

Хотя очень часто под ЖКИ имеют в виду алфавитно-цифровые дисплеи с контроллером HD44780.

Изменено пользователем hd44780
Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Прошу прощение, спешил, когда начинал тему :unsure:

Схема индикатора не моя:

post-35466-0-94616800-1338967589_thumb.jpg

Описание в DJVU (на украинском) по этой ссылке

Прошивка: HOLTEK_data.hex

Кварц стоит на 16 мгц как по схеме

Изменено пользователем zergling
Ссылка на комментарий
Поделиться на другие сайты

Прикольная статейка ...

Эмулируемый дисплей 10 значный, в статье об этом правильно сказано. А на схеме - 9 индикаторов. 10-й типа не показан. Да и на печатке у них я вижу только 9 индикаторов.

Исходников прошивки нету, может там вообще глюки, как с 10-м индикатором - то ли есть он, то ли нет его....

Схема в целом нормальная, хотя лично я не сторонник подключать разряды дисплея в лоб к процу ... Ну да Бог с ним. Это на совести автора схемы.

Хотя нет, наверное всё же выскажусь.

Посчитайте сами. резюки на дисплее стоят 1.5к. Ток сегмента в итоге 3.3-3.4 мА (при 5в питании). Но оно и правильно - если включить все 8 сегментов, то через порт C пойдёт ток 3*8=24-27мА. Это уже строго говоря опасно (порт до 20мА, предел 40мА, но это уже форс-мажор, а не нормальное функционирование).

Если дать больше - погорит порт С контроллера.

А 3 мА - это мало, поэтому и тускло. Тем более для динамической индикации. Для таких индикаторов номинальный ток минимум 10мА (ещё и от размера индикатора зависит). А Вы ему 3 с копейками суёте...

Туда надо резюки где-то 560 ом ставить, а на порт С ключи на транзисторах. Иначе сгорит он ...

А вы проверяли - интерфейс работает у него? Мож и он такой же кривой, как и схема.

Китайский стиль короче - на 10 транзисторах-резисторах экономим, получаем хрен знает что..

Мой совет - переделайте схему по-человечески.

PS.

В кварц руки не суйте, при этой идиотской схеме и порт может сгореть. Если вдруг через порт больше 20 мА длительное время пойдёт ...

Изменено пользователем hd44780
Ссылка на комментарий
Поделиться на другие сайты

На схеме есть общий вывод для 10 разряда, автор пишет - кому пригодится - может поставить. Хотя, не спорю, индикаторы великоваты (какие нашел) и МК их не раскачивает. Уже была мысля сделать новую плату для сегментов с транзисторами, поскольку у текущей платы после травления дорожки проводками восстанавливал.

А вы проверяли - интерфейс работает у него? Мож и он такой же кривой, как и схема.

Прошивку на компьютере пока не умею проверять.

И все же почему все сегменты светятся при включении и десятичные точки?

Ссылка на комментарий
Поделиться на другие сайты

Прошивку на компьютере пока не умею проверять.

Да её там так просто не проверишь. Даже если Вы подключите его к COM-порту, то всё равно прогу специальную придётся ваять ..

Будем надеяться, что оно рабочее.

И все же почему все сегменты светятся при включении и десятичные точки?

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

Если есть осциллограф, гляньте им любую ногу порта C, идущую к дисплею, там должны быть импульсы. Без этого тяжело что-то понять.

А с чем Вы хотите использовать этот модуль? Может сразу подключить его к другому контроллеру и проверять?

Изменено пользователем hd44780
Ссылка на комментарий
Поделиться на другие сайты

Планирую использовать в качестве индикатора частотомера и LC-измерителя. Подключение частотомера не влияет на индикацию, а LC пока лежит в стадии протравленной платы :) Судя по всему импульсы есть - без осцилографа, касаюсь пальцем между входом усилителя НЧ и рабочими ножками МК - динамик жужжит. Иногда едва разглядывается мерцание сегментов.

Для этой же схемы есть прошивка управления по RS-232 через max232, хотя мне эта прошивка не нужна, могу проверить на днях.

Ссылка на комментарий
Поделиться на другие сайты

А у меня вот че в протеусе показывает (индикатор с общим анодом) и на терминал реагирует. Посмотрел осцилки, все правильно работает, все индикаторы должны отображать цифры от 1 до 9, десятый пустой.

ЗЫ. А почему вы в своей схеме не подключили 10 индикатор?

post-139865-0-93580800-1339045187_thumb.jpg

Изменено пользователем korsaj
Ссылка на комментарий
Поделиться на другие сайты

korsaj, жму руку за эмуляцию!

Выходит когда тусклое свечение - схема не запускается, поскольку напряжение с МК едва прощупывается. На фото, где непонятные знаки, похоже на порядок 1-9: цифры 1, 3 и 7 на своих местах, 4 перевернута, а остальные превратились в кашу :unsure:

Такое может быть из-за ошибки при записи прошивки через простой программатор? Я до этого собирал программатор на max232 через com, но он не видит МК.

post-35466-0-47888300-1339064117_thumb.jpg

ЗЫ. А почему вы в своей схеме не подключили 10 индикатор?

Такая особенность индикатора - первая цифра помещана в право и показания смещаются в лево по мере поступления разрядов. В собираемых приборах используется только 8 разрядов.

Ссылка на комментарий
Поделиться на другие сайты

Это вы по спаю чтоль конектитесь к ПК?

Советую сделать эхо МК в асинхроне.

Вы контакты, которые на схеме обозначены как "Общие", соединили с GND остальных элементов?

В поисках работы..

Looking for job

Ссылка на комментарий
Поделиться на другие сайты

Такое может быть из-за ошибки при записи прошивки через простой программатор? Я до этого собирал программатор на max232 через com, но он не видит МК.

Я такого программатора не видел ....

Возьмите лучше PonyProg - http://www.lancos.com/prog.html . Он и через COM умеет и через LPT. Единственное - не работает через всякие USB-COM переходники.

Я им через LPT уже лет 10 шьюсь.

Изменено пользователем hd44780
Ссылка на комментарий
Поделиться на другие сайты

Может программатор, но можно же верификацию сделать. А может вы чет не так сделали? Перепроверьте схему.

Вот осцилки кому интересно

post-139865-0-38460900-1339070564_thumb.jpg

Изменено пользователем korsaj
Ссылка на комментарий
Поделиться на другие сайты

Это вы по спаю чтоль конектитесь к ПК?

Советую сделать эхо МК в асинхроне.

Прошивал с помощью AVRReal и программатором 5-резисторов через lpt.

Напишите, если не затруднит, как сделать эхо МК.

Возьмите лучше PonyProg

Спасибо, если индикатор не заработает, загляну в магазин, соберу этот программатор и попробую еще раз прошить. На материнке встроенные COM и LPT (компьютер старый :) )

Может программатор, но можно же верификацию сделать. А может вы чет не так сделали? Перепроверьте схему.

Программа сообщает, что прошло все нормально. Не знаю почему avrreal все время цифры в логах одинаковые пишет для стертого и записанного МК. Верификация тоже проходит, но перезаписывает файл исходной прошивки на жестком до 23кб

Оказывается два проводками между сегментами E и F были перепутаны, теперь "4" показывает как нужно. На остальных 5-и не хватает некоторых сегментов или не на своих местах. Я все проверил, и тестером прозвонил - ошибок больше нет.

Ссылка на комментарий
Поделиться на другие сайты

Верификацию можно в ручном режиме провести. С запрограммированного мк считайте прошивку и сравните ее с исходной по содержимому.

Еще раз фотку выложите.

Изменено пользователем korsaj
Ссылка на комментарий
Поделиться на другие сайты

Снял прошивку, потом записал еще раз и снял еще одну копию. Снятые прошивки идентичны, а с оригиналом отличаются немного по размеру и содержанию.

первая снятая прошивка

вторая снятая прошивка

сам индиктор показывает прежнее:

post-35466-0-67127900-1339174818_thumb.jpg

но интересная штука, если понизить напряжение около 4,5 вольт и потрогать ножку кварца, появляется больше нормальных разрядов:

post-35466-0-46644100-1339174832_thumb.jpg

Чуть ниже по напряжению и схема уже не работает.

Может попробывать завтра выставить фузы от внутреннего генератора?

Ссылка на комментарий
Поделиться на другие сайты

Проверил в симуляторе считанную прошивку - работает также, так что с программатором все ок. При снижении тактовой частоты цифры видно лучше, но тянется (подсвечивается) разряд G (средняя палочка) - это глюк прошивки (видно перекрытие на осцылках), а точнее автора. Вообщем прошивка сырая, так что не удивительно. Можно дизасемблировать и подправить, но это муторная затея, легче автора найти и выпросить исходник или чтоб подправил.

post-139865-0-88025100-1339180087_thumb.jpg

Изменено пользователем korsaj
Ссылка на комментарий
Поделиться на другие сайты

Программатор тут абсолютно не причем. Кривая прошивка, хреновые библиотеки + лукавство автора (спецом изменен код символа 2, стоит в отдельном массиве). Попробуй эту, вывод символов подчистил и "оживил" десятый разряд:

holtek1.rar

Изменено пользователем Геннадий
Ссылка на комментарий
Поделиться на другие сайты

Спасибо вам Генадий! Теперь все ок. У zergling теперь все заработает. Насчет испорченной двойки - я так и подозревал, единственное что не понятно, как непроверенную статью выложили в журнале...

post-139865-0-89175000-1339219660_thumb.jpg

Изменено пользователем korsaj
Ссылка на комментарий
Поделиться на другие сайты

Попробуй эту, вывод символов подчистил и "оживил" десятый разряд:

Залил вашу модификацию, действительно цифры более-менее пришли в порядок. Единственно схема не стартует самостоятельно, нужно трогать пинцетом возле кварца. Пробовал менять фузы, но от внутреннего RC не хочет запускаться.

Теперь все ок. У zergling теперь все заработает.

Как уже выше писал есть проблема с запуском, плюс от частотомера сигнал некорректно отображается. Подключая с генератора на ЛА3 12 мгц, какие-то реакции есть но индикация как у новогодней елки и нестабильная (всевозможные символы, прочерки, цифры бегают туда-сюда) <_<

korsaj, Вы не смотрели в эмуляторе, реагирует мк на управляющий сигнал? На всякий случай сейчас выдеру из даташита код программы вывода данных для pic16f84

post-35466-0-77941800-1339254492_thumb.gif

post-35466-0-92506500-1339254498_thumb.gif

Изменено пользователем zergling
Ссылка на комментарий
Поделиться на другие сайты

Код выписал, только не уверен что "inef fsr" из нижней строки верно определено.

; Пример программы вывода данных в ЖКИ модуль из РIС-контроллера.
; используются стандартные имена регистров спецназначения.
; тактовая частота PIC 5МГц, гоэтому время выполнения команды 0.8мкс
	processor 16f84
	#define idat	porta,0		; управление сигналом DI
	#define iclk	porta,1		; управление сигналом SK
	screen		equ 0x26		; экранная	память	(10	регистров)
; п/п обновления данных на индикаторе
fresh screen
movlw screen	;	загрузим его адресом экрана
movwf fsr		;	 
itD3 bsf iclk	;	
bsf	idat		;	подг. idat & iclk
btfss	indf,3	;	проверим 1-й выводимый бит
bсf	idat		;	если это 0 - очистим
goto	$+1		;
bсf	iclk		;	стробируем вывод бита
goto	$+1		;
goto			;
bsf	iclk		;
bsf	idat		;	подг. idat & iclk
btfss	indf,2	;	проверим 2-й выводимый бит
bсf	idat		;	если это 0 - очистим
goto	$+1		;
bсf	icix		;	стробируем вывод бита
goto	$+1		;
goto	$+1		;
bsf	iclk		;
bsf	idat		;	подг. idat & iclk 
btfss indf,1	;	проверим 3-й выводимый бит
bcf	idat		;	если это 0 - ОЧИСТИМ
goto	$+1		;
bсf	iclk		;	стробируем вывод бита
goto	$+l		;
goto	$+1		;
bsf	iclk		;
bsf	idat		;	подг. idat & iclk
btfss	indf,0	;	проверим 4-й выводимый бит
bсf	idat		;	если это 0 - очистим
goto	$+1		;	
bcf	iclk		;	стробируем вывод бита
goto	$+1		;
goto	$+1		;
inef	fsr		;
btfss	fsr,4	;	все?
goto	it03	;	пока нет
bef		idat	;
return			;
;	Особенность индикатора состоит в том, что если в промежутках между обновлениями
;	экрана оставлять высокии уровень на входе iclk, то при отсутствии регенерации 
;	в течение нескольких секунд индикатор автоматически переключается на вывод 
;	данных таймера, поэтому рекомендуется оставлять iclk в состоянии «0».

Изменено пользователем zergling
Ссылка на комментарий
Поделиться на другие сайты

Сначала надо запустить устройство, а потом с кодом колдовать! Разберитесь, почему не стартует. Шьется же, значит либо от внутреннего генератора, либо от кварца работает. Проверьте работоспособность кварца, номиналы конденсаторов вокруг него (точно ли 22р, может 22n). И дайте (может быть еще раз) вариант установки фьюзов (которые реально прошиты).

Блин. Еще бяку нашел. Делается проверка состояния линии порта B (PB2) и если на ней 1, то на дисплее херня творится. Делается такая фигня один раз при вкл., потом вывод перестраивается как выход.

holtek1.rar

Нет времени разбираться досконально. Попробуй. Скажешь, что не так.

Изменено пользователем Геннадий
Ссылка на комментарий
Поделиться на другие сайты

korsaj, Вы не смотрели в эмуляторе, реагирует мк на управляющий сигнал? На всякий случай сейчас выдеру из даташита код программы вывода данных для pic16f84

Сегодня не успею, завтра утром гляну. Но с генератором надо разобратся, должен сам запускатся и работать на нужной частоте.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Да ну нафиг! Это как "раз поехали на рыбалку, а водку забыли...."
    • Похоже вас угораздило на латералы попасть. Они сами себя стабилизируют и никакой дополнительной стабилизации им не нужно. У меня двухкиловаттные Крафты так на металлических Эксиконах работают даже без "эмиттерных" резисторов. Тупо впараллель.
    • @korsaj Попробовал записать код в разных вариантах предложенных тобой. Первый вариант вообще отказался работать. Заработал второй вариант на приём. Теперь уже хотя бы есть полноценный приём. char i = 0; if (rx_buf[i] == 'M'){ i++; if (rx_buf[i] == '1') { //unsigned int n = getDecFromHexStr(rx_buf, i+2); //Выводим на экран номер текущего трека LED_1_ON(); LED_2_OFF(); send_UART('M'); send_UART('1'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); flags = 0; } else if (rx_buf[i] == '2') { //unsigned int n = getDecFromHexStr(rx_buf, i+2); //Выводим на экран количество треков LED_1_OFF(); LED_2_ON(); send_UART('M'); send_UART('2'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); flags = 0; } else if (rx_buf[i] == 'T') { //unsigned int n = getDecFromHexStr(rx_buf, i+2); //Выводим на экран общее время трека LED_1_ON(); LED_2_ON(); send_UART('M'); send_UART('T'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); flags = 0; } else if (rx_buf[i] == 'K') { //unsigned int n = getDecFromHexStr(rx_buf, i+2); //Выводим на экран текущее время трека LED_1_OFF(); LED_2_OFF(); send_UART('M'); send_UART('K'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); flags = 0; } } Но однако есть ещё некоторые вещи которые нужно подкорректировать. Пока я просто разбираю UART поэтому на терминал вывожу так сказать ответ ну и просто видеть потому как индикатора к микре не подключено пока что. Однако такой вариант с ответкой нужен будет мне и для другого проекта где UART лучше всего подойдёт. Это я уже смотрю на будущее. Но тут тоже когда приходит комманда по  UART микроконтроллер отправляет ответ, но он начинает постоянно спамится. Нужно как то сделать чтоб этого не происходило. Я же в свою очередь пробовать сбросить flags = 0;, но это никак не помогло. Может чего подскажешь тут понятно что нужно как то будет обнулить данные чтобы выйти из этого условия программы. Есть вот такая проблемка. И ещё есть одна проблема с строкой  unsigned int n = getDecFromHexStr(rx_buf, i+2); Не спроста я её отключил в коде с помощью комментария. А тут проблема в том что студия не может опзнать этот код. Возможно нужно что подключить из встроенных библиотек самой студии.
    • Зачем закладываться на максимальный ток стабилитрона? Поставьте по два двухкилоомных последовательно или возможно 3-5 килоома что то есть.
    • Здравствуйте. В эту магнитолу захотелось установить модуль блютуз. Вроде бы проблем нет, да? Привод CD выкинут как рудимент,- на нём драйвер сгорел (не хорошие инженеры, на огромной линейке моделей подложили бяку-серво двигатель и на нём платка переходник для распайки на плату обработки, только вот двигатель болтается в пластике посадочном убивая пайку делая плохое самочувствие драйверу-привода-лазера))). Вот. Проблемы начинаются следующие. Тюнер имеет мозги аудиопроцессору по цифре,-отпадает. Разъёма чейнджера нет но есть вся разводка без обвязки,-восстановление мелочи (стаб-рез) и эмуляция подключенного чейнджера не помогает, странно Kasuga Radio Co. Ltd. (это ирония про 1946 год) сэкономила на программном обеспечении . Ага. Подключится на вход УМЗЧ-пошло и глупо. Вопрос. Есть варианты подключить? kenwood_kdc-4590.pdf
    • А здесь всё о том как и чем делать ...
    • "Приходит мужик в магазин одежды, чтоб подобрать себе шляпу. Надевает первую попавшуюся, а она ему - как раз." А вообще не понятно. Он ему дает говорить, даже матюкаться, а анекдот не дает рассказать. Почему? (сори, если вопрос тупой, я просто не в теме радиосвязи и радиохулиганства)
  • Похожий контент

×
×
  • Создать...