Форум Радиолюбителей

Опорник от Владимир_К

415285 просмотров, 466 ответов — стр. 27 из 32

UA0OAG
Сообщений: 376
5 января 2025 г. в 12:18#391
Избавит от возни с кучей регистров.
Он с динамической индикацией, много помех вырабатывает.
5 января 2025 г. в 12:25#392
Это все идет из ссср когда индикаторы потребляли большой ток. Эти индикаторы при правильном питании не шумят.
Владимир_К
Сообщений: 1245
5 января 2025 г. в 05:11#393
Если у кого есть желание попробовать, могу в рассматриваемом здесь синтезаторе заменить индикатор на китайский на микросхеме MAX7221 (МАХ7219). Создает ли он помехи, не знаю, не проверял. Индикатор намного проще, меньше, не надо заморачиваться с пайкой нескольких микросхем. С белым свечением особенно нравится..
Скорее всего, проблему помех от индикатора можно решить и, не думаю, что это сложно.
BL68
Сообщений: 455
5 января 2025 г. в 06:13#394
Я извиняюсь, немного со своей "колокольни"....
Может заменить индикатор на что-то типа SSD1309? Задействованы ноги РС0 и РС1 (I2C). Библиотек в инете полно, шума от индикатора нет.
5 января 2025 г. в 08:25#395
Тут «прикол» в индикаторах как у микроволновки..
ZTM
Сообщений: 362
5 января 2025 г. в 09:53#396
Увы мне,увы.Не взлетело.Итак,имеющееся железо:индикаторы с али с общим анодом(как выяснилось позднее) 3912AG,управляемые 561ИР2,контроллер Atmega-328P PU с кварцем 16МГц,программаторы SI-Prog и USB-asp, Avrdude.Печатку проверил несколько раз,выявил небольшие огрехи,исправил,теперь все верно.МК прошивал и тестировал в управлении другим синтезом от Андрея UR3ILF,программа работала.С последней тестовой прошивкой переключение сегментов раз в несколько секунд.Менял местами строки,как советовал Владимир.Пока не могу понять,что делаю не так.Прошивка для теста скомпилилась без ошибок.


Владимир_К
Сообщений: 1245
5 января 2025 г. в 10:12#397
С последней тестовой прошивкой переключение сегментов раз в несколько секунд.
Если у Вас применена микросхема Atmega328, Вы должны помнить, что фьюзы в микросхеме на заводе прошиты таким образом, что тактирование процессора осуществляется от внутреннего RC-генератора работающего на частоте 1 мгц. В моей программе переключение индикатора происходит через 0,5 сек. Это при частоте тактового генератора 8 мгц. Я обычно кварц на ставлю, а тактирую от RC-генератора частотой 8 мгц. То есть, если Вы не переустанавливали фьюзы, то у Вас переключение будет происходить через 4 сек.
Прочитайте программатором какие у Вас установлены фьюзы. Потом надо будет установить нужные.
Это что касается частоты перенключения. А то, что на индикаторе отсутствуют нужные цифры, с этим разберемся потом.
Владимир_К
Сообщений: 1245
5 января 2025 г. в 10:18#398
контроллер Atmega-328P PU с кварцем 16МГц
Чтобы микросхема тактировалась от кварца, для этого надо прописать фьюзы должным образом. Иначе кварц, даже если он запаян, не работает, а может и работает, но тактирование от него не происходит.
ZTM
Сообщений: 362
5 января 2025 г. в 10:19#399
Прочитайте программатором какие у Вас установлены фьюзы.
Вот так сейчас


ZTM
Сообщений: 362
5 января 2025 г. в 10:42#400
Перепрошил Сейчас обновляется как на Вашем видео.Но цифры не отображаются,а лишь сегменты,видимо все же залетел с индикаторами Придется копать даташит и кроить печатку....


Владимир_К
Сообщений: 1245
5 января 2025 г. в 10:45#401
Ну вроде все так, как я выше писал. У Вас такт от RC-генератора и включен делитель на 8. Поэтому такт от 1 мгц. Сначала оставьте все как есть, но CKDIV8 измените на противоположное. У Вас он включен (птичка установлена), эта долбаная PonyProg пытается запутать народ. Вообще правильно считается - фьюз установлен, когда в нем записан ноль. И обычно так все и считают. Но тут Понипрог подсуетилась...
Вот ссылка на калькулятор фьюзов.
https://radioaktiv.ru/avr_fuses_calculator.html?part=ATmega328P
Владимир_К
Сообщений: 1245
5 января 2025 г. в 10:53#402
Сейчас обновляется как на Вашем видео.Но цифры не отображаются,а лишь сегменты,видимо все же залетел с индикаторами
Да ничего страшного. Это все правится в программе. Ничего с печаткой делать не надо. Напишите что у Вас отображается на индикаторе, по порядку, потом будем кумекать и править программу.
Вам надо главное разобраться с индикаторами. То есть к каким выводам подключены сегменты. Сегменты расположены так - верхний -а, справа вверху - в, справа внизу - с, нижний - d, ну и так далее. Сравните со схемой индикатора у Тарасова. Но я не думаю, что там что-то напхимичили китайцы. Обычно, чтобы удобно выводить сегменты на выводы, применяют стандартное расположение. Но, еще раз - ничего с платой делать не надо. Это все просто сделать в программе.
Владимир_К
Сообщений: 1245
5 января 2025 г. в 11:02#403
Кроме того, надо посмотреть на какие ноги 561ИР2 выводятся биты. Например число 10100110. Оно заталкивается начиная справа (а может слева, не помню, это сейчас не важно). То есть, в конце цикла, когда все биты будут записаны в регистр, после сигнала Strobe все эти биты будут выведены на ножки ИР2. То есть, сегиент, подключенный к выводу, на которм будет единица в Вашем индикаторе будет светиться. Таким образом, меняя цифры в знакогенераторе программы мы можем вывести любые цифры, а то и другие знаки, которые можно получить комбинируя зажженные зегменты.
ZTM
Сообщений: 362
5 января 2025 г. в 11:21#404
Ничего с печаткой делать не надо
Нашел даташит.Если паять по схеме на эту же печатку,то получается,что индикаторы должны быть со стороны микросхем.Если ИР держать к себе,то индикаторы с их стороны,над ними и точками вверх


Владимир_К
Сообщений: 1245
5 января 2025 г. в 11:39#405
то получается,что индикаторы должны быть со стороны микросхем
Не надо обращать внимание на схему. Главное правильно подать нитание на микросхемы и нндикаторы. Если цифры выводятся не те, что надо, это правится в программе.
Давайте сделаем следующее:
Откройте проект, зайдите в файл lcd.h. Найдите строку:
char Numbers[10] = {0x88,0xeb,0xc4,0xc1,0xa3,0x91,0x90,0xcb,0x80,0x81};
Измените ее вот так:
char Numbers[10] = {0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x30,0x80,0x80};
С такими знакогенератором на индикатор будет каждый раз выводиться (подсвечиваться) только один сегмент. А в самом начале вообще ни одного не должно светиться. Таким образом, программа выдаст нам какой сегмент соответствует установленному в программе. И тогда абсолютно станет ясно, какое число надо записать в знакогенератор, чтобы высветить например двойку.
Паять микросхемы со стороны индикаторов нехорошо, так как микросхемы будут упираться в переднюю панель, а у меня там, под индикаторами, между платой индикаторов и передней панелью, еще плата со светодиодами, которые показывают уровень сигнала.