Автор Тема: Опорник от Владимир_К  (Прочитано 73732 раз)

ZTM, Владимир_К и 3 Гостей просматривают эту тему.

Онлайн Владимир_К

  • Hero Member
  • *****
  • Сообщений: 1214
Re: Опорник от Владимир_К
« Ответ #375 : Ноябрь 01, 2024, 06:29:09 pm »
Я примеры взял из первой попавшейся программы, может у Вас другой исходник (уже не помню какой).
Да, все же не тот исходник я открыл. Поэтому у Вас будет файл не Radio_76.c, а main.c и частота кварца прописана в файле Si5351A.h:
#define XTAL_FREQ   32004212         // Crystal frequency
Давно это уже было, понемногу забывается. Да и сейчас в основном использую STM-32, а не Atmega328. Пока они дешевле...
« Последнее редактирование: Ноябрь 01, 2024, 06:32:09 pm от Владимир_К »

Онлайн ZTM

  • Sr. Member
  • ****
  • Сообщений: 346
Re: Опорник от Владимир_К
« Ответ #376 : Ноябрь 01, 2024, 11:35:45 pm »
частота кварца прописана в файле Si5351A.h
Да,нашел.Благодарю! 123123

Онлайн ZTM

  • Sr. Member
  • ****
  • Сообщений: 346
Re: Опорник от Владимир_К
« Ответ #377 : Декабрь 31, 2024, 04:54:43 pm »
Здравствуйте,Владимир.Посмотрите пожалуйста,верно понял распиновку с контроллера на индикатор?Смутила надпись SK на разъеме контроллера.И правильно ли я понимаю,что тестовая прошивка может работать с контроллером и индикатором без клавиатуры и прочего обвеса?
« Последнее редактирование: Декабрь 31, 2024, 05:16:59 pm от ZTM »

Онлайн Владимир_К

  • Hero Member
  • *****
  • Сообщений: 1214
Re: Опорник от Владимир_К
« Ответ #378 : Январь 01, 2025, 04:31:09 pm »
.Посмотрите пожалуйста,верно понял распиновку с контроллера на индикатор?Смутила надпись SK на разъеме контроллера
Добрый день! Схема индикатора от А.Тарасова UT2FW. Такой индикатор был применен в одном из его трансиверов. Поэтому обозначение другое. То есть  SK на моей схеме это Clk у Тарасова. Тестовая прошивка будет работать без всех примочек, только проц. и индикатор. Единственное на что надо обратить внимание, так это на инвертор DD15C. В начале темы я об этом писал, почитайте там. Я с телефона пишу, неудобно, и не помню, вроде инвертор не нужен. Но я уточнить не могу, это надо открыть исходник тестовой программы и там посмотреть полярность сигнала Strobe на выводе порта PB1.
Кроме того, это зависит от того какие матрицы светодиодные применены. На схеме они с общим катодом, можно применить и с общим анодом при соответствующей коммутации питания, также надо проинвертировать все биты знакогенератора.
Если индикаторы у Вас с общим катодом, то надо только определиться с необходимостью инвертора.

Онлайн ZTM

  • Sr. Member
  • ****
  • Сообщений: 346
Re: Опорник от Владимир_К
« Ответ #379 : Январь 02, 2025, 11:41:14 pm »
На схеме они с общим катодом, можно применить и с общим анодом при соответствующей коммутации питания, также надо проинвертировать все биты знакогенератора.
Добрый день,Владиимр!На мою беду китайцы прислали индикаторы с общим анодом  nea33.Долго искал косяки,пока коллега,а потом и даташит,не ткнули носом.Перекинул плюс питания на эмиттер транзистора,соответственно сменив транзистор с npn на pnp.Дисплей ожил,тестовая прошивка замерцала индикаторами.Только цифр нет,почти все разряды залиты сплошняком,включая точки...Можно как-то исправить это дело в прошивке,не меняя разводки платы индикации?

Оффлайн Сергей Александрович

  • Newbie
  • *
  • Сообщений: 12
Re: Опорник от Владимир_К
« Ответ #380 : Январь 03, 2025, 12:24:32 am »
Инвертор выкиньте со схемы. Владимир про это говорил.

Онлайн Владимир_К

  • Hero Member
  • *****
  • Сообщений: 1214
Re: Опорник от Владимир_К
« Ответ #381 : Январь 03, 2025, 12:59:42 am »
Только цифр нет,почти все разряды залиты сплошняком,включая точки...
Сначала попробуйте выбросить инвертор, как выше коллега советовал. Если в плате нет ошибок, то цифры должны высвечиваться, но инверсно. Если же  засвечиваются все сегменты, то тогда где-то косяк.
Тестовая прошивка работает так - на индикаторе все нули, затем все единицы, меняется примерно через полсекунды и т.д. до девяток, затем снова.. У Вас, когда должны высвечиваться единицы, будут светиться все сегменты, кроме сегментов b и с. Если это так, то плата у Вас работает правильно, только надо в знакогенераторе все единицы заменить нулями и наоборот. Это я сделаю завтра.
Также попробуйте подпаять резистор примерно 1 ком между эмиттером и базой транзистора.

Онлайн Владимир_К

  • Hero Member
  • *****
  • Сообщений: 1214
Re: Опорник от Владимир_К
« Ответ #382 : Январь 03, 2025, 01:22:28 am »
Сначала попробуйте выбросить инвертор, как выше коллега советовал.
Нет, в Вашем случае инвертор нужен. В программе для включения индикатора, на выход порта PB1 выдается единица, которая открывает транзистор (в этом случае инвертор не нужен), у Вас для включения индикации на базу надо подавать ноль. Поэтому инвертор оставьте. Если его у Вас изначально нет, тогда и не надо, я просто в программе поменяю сигнал Strobe на инверсный.

Онлайн ZTM

  • Sr. Member
  • ****
  • Сообщений: 346
Re: Опорник от Владимир_К
« Ответ #383 : Январь 03, 2025, 11:05:51 am »
Владимир,еще такой момент.Вы ранее писали,что заливаете прошивку через программу Xloader.В моем случае чистый контроллер atmega328 с кварцем 16МГц, без загрузчика.Заливаю через avrdude.Без инвертора индикаторы не горят.UPD.Залил тестовую прошивку с первой страницы,с ней наоборот,без инвертора светит,с ним нет.
« Последнее редактирование: Январь 03, 2025, 11:38:05 am от ZTM »

Онлайн Владимир_К

  • Hero Member
  • *****
  • Сообщений: 1214
Re: Опорник от Владимир_К
« Ответ #384 : Январь 03, 2025, 03:18:50 pm »
Владимир,еще такой момент.Вы ранее писали,что заливаете прошивку через программу Xloader.
С помощью его я заливаю прошивку в Ардуино. Т.е. если есть файл .hex сгенерированный какой-либо программой (не Arduino IDE) и его надо залить в Ардуино, т.е. плату на Atmega в которой есть загрузчик. Если в "голую" Atmega, то или avrdude или Sinaprog. Обычно ейною, больше к ней привык.
Теперь, что касается тестовой программы.
Внизу исходник тестовой программы. Это та, которую сделал для проверки индикатора для коллеги с ником  Core. У него индикаторы с общим катодом. Инвертор не нужен.
Чтобы адаптировать программу для индикаторов с общим анодом надо сделать следующее. Программой AvrStudio 4.19 (насколько я понял она у Вас установлена) открываете проект, предварительно открыв архив. Открываете файл ldc.h, находите в нем строку
char Numbers[10] = {0x88,0xeb,0xc4,0xc1,0xa3,0x91,0x90,0xcb,0x80,0x81}; 
Это знакогенератор. То что в фигурных скобках это указание, какие сегменты надо включить чтобы зажечь какую либо цифру. Например   на первом месте стоит 0х88, "0х"  указывает, что цифра шестнадцатиричная.   В двоичном коде это 10001000. Вот для Вашего индикатора все нули надо поменять на единицы и наоборот. Т.е. должно быть 01110111 или, в шестнадцатиричном это будет 0х77. Вторая цифра 0хeb. Это 11101011. Меняем цифры. 00010100 Или, в шестнадцатиричном это будет 0х14. И так надо изменить все  цифры. После преобразований строки будет выглядеть так. Т.е. исходную строку "комментируете" двумя косыми, а ниже вставляете исправленную.
//char Numbers[10] = {0x88,0xeb,0xc4,0xc1,0xa3,0x91,0x90,0xcb,0x80,0x81};
char Numbers[10] = {0x77,0x14,0x3b,0x38,0x5c,0x6e,0x6f,0x34,0x7f,0x7e};     
Далее. В этом же файле находите строки:
PORTB &=~(_BV(PB1)); // эта команда выдает на вывод порта PB1 нуль.
PORTB |=_BV(PB1);       // а эта - единицу.
Если у Вас индикатор без инвертора, то строки надо поменять местами. Если инвертор есть, ничего делать не надо.
После всех манипуляций компилируете проект. НЕХ-файл (main.hex) находится в папке default.
Если это сделать сложно, тогда я исправлю проект, скомпилирую и НЕХ-файл сброшу, только уточните, есть ли у Вас инвертор?
             

Онлайн ZTM

  • Sr. Member
  • ****
  • Сообщений: 346
Re: Опорник от Владимир_К
« Ответ #385 : Январь 03, 2025, 04:09:05 pm »
сли это сделать сложно, тогда я исправлю проект, скомпилирую и НЕХ-файл сброшу, только уточните, есть ли у Вас инвертор?
             
Не сложно поправить и скомпилировать,Владимир.Инвертор имеется.Благо,пока все в относительно *черновом* варианте.Да,самое главное забыл - не уточнил у Вас ,какую печатку из архива выше использовать для индикатора 56511 Сейчас ловлю блох в разводке,ищу ошибки на предмет не правильной разводки и т.п.

Онлайн Владимир_К

  • Hero Member
  • *****
  • Сообщений: 1214
Re: Опорник от Владимир_К
« Ответ #386 : Январь 03, 2025, 04:32:27 pm »
какую печатку из архива выше использовать для индикатора
В архиве файл печатки. Посмотрите, может возможно упростить. Делал давно. Металлизации отверстий нет, поэтому при распайке придется некоторые пятачки(у меня это третий2 и восьмой выводы индикатора), которые находятся на разных сторонах платы, соединить отрезками проволоки, примерно 0,25 мм диаметром. Это для распайки индикатора. Так как при установке индикатора на плату, некоторые пятачки находятся под индикатором и к ним доступа нет. Поэтому я делал так - в отверстие пятачка, который окажется под индикатором, вставлял проволочку и припаивал ее к пятачку, но так, чтобы отверстие было открытым. Затем вставляется индикатор и его выводы паяются к пятачкам, вместе с проволочками. Короче, тут творчески подходите. К тому же, возможно и распиновка Ваших индикаторов другая (хотя, скорее она стандартная). Некоторые выводы микросхем также паяются с обоих сторон. Но там доступ есть, поэтому проще. Индикаторы у меня вроде 0,36 дюйма.
Да, еще. Индикаторы и микросхемы распаиваются на пртивоположных сторонах платы.
Видео проверки с тестовой прошивкой здесь:
https://www.youtube.com/watch?v=JqKkpXOt4MY

« Последнее редактирование: Январь 03, 2025, 05:02:00 pm от Владимир_К »

Онлайн Владимир_К

  • Hero Member
  • *****
  • Сообщений: 1214
Re: Опорник от Владимир_К
« Ответ #387 : Январь 03, 2025, 06:05:07 pm »
Как-то сразу не вспомнил.. В общем, ситуация такая - этот индикатор имеет некоторый "косяк". И заключается этот косяк в том, что здесь отсутствуют токоограничительные резисторы. Индикаторы, изготовленные по этой схеме применялись во многих конструкциях Тарасова, я их применял неоднократно и, никаких проблем не видел. Но, везде индикаторы были с общим катодом. Микросхема 4015 для зажигания сегмента выдает на выход ток. И он, в этой микросхеме и подобных, видимо как-то ограничен, скорее всего исходя из способа управления ключом. Тут работает верхний транезистор. Он стоком подключен к источнику питания, напряжение на затворе транзистора, когда он открыт, равно напряжению источника, даже, скорее всего, меньше. Так как светодиод подключен к истоку ключа, напряжение на истоке повышается, соответственно разность напряжения затвор-исток уменьшается.
В Вашем случае, при зажигании сегмента, ток от источника через светодиод будет втекать в микросхему через нижний ключ. И вот тут  может быть неприятность. Поэтому, я бы сначала попробовал с одним светодиодом. Возьмите любую МОП- микросхему и подключите к ней светодиод в двух режимах, когда м/с выдает единицу и светодиод анодом подключен к выходу микросхемы и, когда на выходе ноль, а светодиод анодом к источнику питания, а катодом к выходу. Вроде когда-то такой эксперимент я делал, но уже не помню. Что-то меня ситуация со светодиодными индикаторами с общим анодом, малость напрягает... dontt44
А паять еще и десятки резисторов, как-то не вдохновляет. Хотя место для них вполне можно найти.

Онлайн ZTM

  • Sr. Member
  • ****
  • Сообщений: 346
Re: Опорник от Владимир_К
« Ответ #388 : Январь 03, 2025, 07:13:38 pm »
Владимир,сильно благодарен за информацию! 123123 Буду копать дальше,глядишь дожму проект.

Оффлайн Сергей Александрович

  • Newbie
  • *
  • Сообщений: 12
Re: Опорник от Владимир_К
« Ответ #389 : Январь 05, 2025, 10:42:29 am »
Почему не применить такой дисплей?
Смотри, что есть на AliExpress! 7-сегментный светодиодный индикатор для Arduino DIY за 121 ₽ - уже со скидкой -31%
https://sl.aliexpress.ru/p?key=bIxYGUO

Избавит от возни с кучей регистров.