Генератор с регулируемоей частотой на ардуино.

man_200
Offline
Зарегистрирован: 29.04.2016

Dimax, есть одна идейка промодулировать выходной сигнал. Сможешь ли сформировать на любой ноге Ардуинки 1кГц, при входе аппарата в режим Clok Gen? Желательно чтобы он появлялся не ранее частоты 100кГц на выходе Si и именно в этом режиме. 

Идея заключается модулировать питание выходных каскадов Si5351 (нога 1). Будет реализована амплитудная модуляция (ну хоть что-то)

И вторая просьба: это нужно сделать в версиях 3.5 и 3.6

По результатам отпишусь

Спасибо

P.S. Для полной реализации этой идеи предлагается в разрез питания выходных каскадов Сишки (1-я ножка) поставить транзистор на базу которого подавать импульсы с частотой 1кГц при установке частоты Clok Gen выше 100 кГц. Для включения/выключения режима модуляции предусмотреть еще и формирование сигнала высокого/низкого уровня для вывода транзистора модулятора в соответствующий режим ("Модуляция" вкл/выкл).

Это будет 100% модуляция. Для изменения ее глубины достаточно будет сдвигать рабочую точку транзистора, изменяя смещение на его базе.

Повторюсь, что это будет амплитудная модуляция. Подобное решение применили ребята в генераторе SG-4400 на VRTP.RU на чипе ADF4350-51

Radioserge
Offline
Зарегистрирован: 24.03.2021

BAYV

Уважаемый  Radioserge. Вы выбрали дешифратор с инверсными входами/выходами. Если Вы подключите входы (ИД10) пин15 и 14 на порт B3, B4 соответственно, а пин13, 12 на “0”, то активным  выходным уровнем инициализации функции генератора будет “низкий”(Low)....

Огромное Вам Спасибо BAYV и MAG-N. Все понял. Исчерпывающая информация. Сейчас буду пробовать.

Еще раз СПАСИБО за помощь.

dimax
dimax аватар
Онлайн
Зарегистрирован: 25.12.2013

man_200, я ж ещё в том году писал что обновлять больше не планирую, c 2015 года тема развивалась, сколько ж можно то.. надоело до чёртиков(

MAG-N
MAG-N аватар
Offline
Зарегистрирован: 05.06.2017

Сделать ШИМ 50%, правда частота не совсем килогерц получится (976 Гц). На модуляторе регулировать уровень так, чтобы при отсутствии модуляции транзистор был открыт. Автоматики не будет, все вручную :-) , зато просто. Можно и что-нибудь поменьше пристроить, какую-нибудь ТИНИ85.

Все тайминги и частоты приведены для штатной частоты 16Мгц микроконтроллера ATMEGA328


Частота ШИМ'а на ногах 5 и 6:

Константа   Делитель      Частота(Гц)
   0x01        1          62500.0
   0x02        8           7812.5
   0x03       64	    976.5625
   0x04      256            244.140625
   0x05	    1024	     61.03515625


В Setup пишем строчку: TCCR0B = TCCR0B & 0b11111000 | 0x0*;



Частота ШИМ'а на ногах 9 и 10:

Константа   Делитель     Частота(Гц)
   0x01	      1          31250.0
   0x02	      8           3906.25
   0x03	     64	           488.28125
   0x04     256            122.0703125
   0x05	   1024	            30.517578125


В Setup пишем строчку: TCCR1B = TCCR1B & 0b11111000 | 0x0*;



Частота ШИМ'а на ногах 11 и 3:

Константа   Делитель    Частота(Гц)
   0x01	      1         31250.0
   0x02	      8          3906.25
   0x03	     32	          976.5625
   0x04      64           488.28125
   0x05	    128	          244.140625
   0x06     256           122.0703125
   0x07	   1024	           30.517578125


В Setup пишем строчку: TCCR2B = TCCR2B & 0b11111000 | 0x0*;

 

Как вариант - собрать генератор весии 2.* - тогда синус будет.

 

man_200
Offline
Зарегистрирован: 29.04.2016

Что-ж, и на том спасибо. Хотя, это было бы заключительным аккордом в этой песне о генераторе. Причем очень хорошем генераторе!

Можно конечно и ШИМ, но зачем, если на борту уже есть МК?

В таком случае клич к программистам: программа открытая, может кто возмется подрихтовать?

Для начала сформировать на какой нибудь ноге STM сигнал в 800-1200Гц при входе аппарата в режим Cloc Gen, а отдельным переключателем модуляцию будем включать/выключать.

Как-то так

MAG-N
MAG-N аватар
Offline
Зарегистрирован: 05.06.2017

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

man_200
Offline
Зарегистрирован: 29.04.2016

Имеется ввиду на плате STM

bayv
Offline
Зарегистрирован: 23.01.2021

Уважаемый  oleg_kazakof. Правильное решение.

MAG-N
MAG-N аватар
Offline
Зарегистрирован: 05.06.2017

Идея не моя, а man_200, но Ваш вариант реализации очень даже неплох. Если устраивает меандр, то и интеграторов не надо, а то, что еще одна микросхема добавится - так все равно модулятор городить. Запуском управлять со свободной ноги СТМ32, для чего в "Вывод на экран->Вывод второй строчки" вставить команды digitalWrite(Pхх,HIGH); digitalWrite(Pхх,LOW); - там как раз проверка частоты идет, вот и будет со 100 кГц или откуда надо. Ну и в СЕТАПе не забыть этот пин на вывод настроить. В режимах, отличных от Clok Gen на выход ничего не попадет - коммутатор отрежет.

Andry25
Offline
Зарегистрирован: 24.03.2021
Всем, доброго времени суток! 
Собрал данное чудо. И вроде-бы  всё работает. Собирал на китайской STM32. Есть одна проблема! Когда переходишь в другой режим, появляется фон в "пищалке". Происходит это не всегда а через раз. То есть фон, то есть то нет. Ножка платы STM32 PB0 не всегда переходит на "0". У меня данная проблема у одного или кто ещё сталкивался? С STM32 сталкнулся недавно, сидел на Atmel. Сейчас пытаюсь разобраться с таймерами. Вот что на PB0.
dimax
dimax аватар
Онлайн
Зарегистрирован: 25.12.2013

Andry25, нога зуммера  может закончить сигнал как на 1 так и на 0, это состояние не контролируется программой. Видимо когда на "1" у вас становятся слышны помехи по шине питания. Я уже писал, что помехи на шине Vcc c Vp-p > 50mv могут негативно влиять на работу.

Andry25
Offline
Зарегистрирован: 24.03.2021

Использую UPS на аккумуляторе и DC-DC  B628 1.2мгц. А фон около 1кгц. Было бы неплохо ножку PB0 ноль.

завтра соберу фильтр. Посмотрю!

А в остальном просто здорово! Очень много можно подчеркнуть для самообразования. Я недавно начал изучать МК и такие форумы помогают в этом нелёгком пути. Спасибо.

oleg_kazakof
Offline
Зарегистрирован: 24.04.2015

man_200 пишет:

Dimax, есть одна идейка промодулировать выходной сигнал. Сможешь ли сформировать на любой ноге Ардуинки 1кГц, при входе аппарата в режим Clok Gen? Желательно чтобы он появлялся не ранее частоты 100кГц на выходе Si и именно в этом режиме. 

Идея заключается модулировать питание выходных каскадов Si5351 (нога 1). Будет реализована амплитудная модуляция (ну хоть что-то)

man_200 для этой идеи в генераторе в версии 3.6 вроде бы всё есть. После выхода из режима Clok Gen на выходе Si5351 остаётся установленная частота, дальше входишь в режим DDS и вот тебе сигнал модуляции.

 

man_200
Offline
Зарегистрирован: 29.04.2016

oleg_kazakof, нужно все в точности до наоборот. Но идея понятна и она должна сработать - при включении аппарата на выходе PWM программно уже предустановлена частота 1000Гц, ее-то и можно будет использовать для модулятора режима Clok Gen.

Попробую - отпишусь по результатам

bayv
Offline
Зарегистрирован: 23.01.2021

Как то, лет 40 назад, достался мне шаговый движок от цифровой памяти на магнитной ленте(кассете), с очень малым шагом, 4-х фазный. И задумал я сделать кассетник для звука, прямой привод. На логике сделал генератор, реализовал сдвиг фаз в нахлест на 1/4 периода, и подал на 4 операционника, серию не помню, мощные, с лапками по бокам. Правда тон вал пришлось выточить грамм на 500 точно. Вначале, как всегда, все отлично, счастье, но когда слушаешь долго и особенно записанное на этом же аппарате, слышаться дрожания звука. Вот тогда и пришлось применить интеграторы. Стало гораздо лучше.

Установку режима, в вашей конструкции, можно реализовать, подключив потенциометр: крайний вывод на исток, другой крайний на интегратор, а средний(ползунок) на затвор mosfetа.

MAG-N
MAG-N аватар
Offline
Зарегистрирован: 05.06.2017

bayv пишет:

серию не помню, мощные, с лапками по бокам.

157УД1 скорее всего.

bayv пишет:

Установку режима, в вашей конструкции, можно реализовать, подключив потенциометр: крайний вывод на исток, другой крайний на интегратор, а средний(ползунок) на затвор mosfetа.

Если ползунок в крайнем положении с истоком (эмиттером) соединится, то транзистор будет заперт и на выходе СИ-шки ничего не будет. Если этот вывод потенциометра к земле подцепить, то в крайнем положении транзистор полностью открыт, СИ-шка работает без модуляции. Все это для Р-канального или PNP транзистора.

man_200 пишет:

Идея заключается модулировать питание выходных каскадов Si5351 (нога 1). Будет реализована амплитудная модуляция (ну хоть что-то)

По даташиту вроде как нога 7 - VDDO

 

man_200
Offline
Зарегистрирован: 29.04.2016

Да, 7-я ножка - питание выходных усилителей.

Отпишусь по результатам своих изысканий по модуляции.

Оторвал от платы 7-ю ногу СИшки и подключил ее к питанию через высокоиндуктивный дроссель. К точке соединения дросселя и 7-й ноги СИшки через емкость 10мкф подключил выход DDS OUT (один из методов получения АМ). Сигнал не модулировался потому, что уровень сигнала с выхода DDS OUT упал очень сильно, но на контрольном приемнике все-таки кое как проскакивал. Т.е. метод рабочий, но нужно генератор и 7-ю ногу СИшки развязывать через буфер в виде транзистора.

Окончательного результата не получил потому, что оторвал от СИшки ногу, статикой спалил какой-то порт СТМки. Поэтому пока не появятся для замены МК и СИ продолжать изыскания нечем.

Удачи

man_200
Offline
Зарегистрирован: 29.04.2016

Почему-то повтор проходит

bayv
Offline
Зарегистрирован: 23.01.2021

Да, так делали когда то, но на лампах, 2 лампы включали параллельно по анодам. На одной делали генератор, на другой модулятор. Модулятор отбирал часть тока анода генератора на себя и амплитуда прогибалась. Здесь напряжения маленькие, а токи, относительно, большие 100мегаГц все таки. Без ключа не обойтись. И резистор переменный ставить надо(начать с 100кОм для mosfet). У этих транзисторов с обедненным каналом, очень большая крутизна характеристики S(V/A), и достаточно будет маленького изменения напряжения на затворе, что бы загнать его в насыщение(мах амплитуда) и опустить до некоторой величины(мин амплитуда). до нуля питание опускать нельзя, при некотором напряжении появятся искажения на выходе, а значит и дополнительные гармоники, а это плохо очень. Поэтому нужно найти эту точку. При необходимости, включать дополнительно, резистор, с стороны линейки ЦАП. 100к большой резистор, он ни как не повлияет на ЦАП и порт МП. Я бы с удовольствием повозился, но мне этот синтезатор не нужен, да у меня его и нет. Я своял девайс от без делия, для души.

man_200
Offline
Зарегистрирован: 29.04.2016

Мофсет из-за большой крутизны будет выводить на 100% модуляцию АМ. И это практически будет не модуляция, а манипуляция. Поэтому, для изменения глубины модуляции нужно ставить все-таки не мофсет. А с его согласованием что нибудь придумаем.

oleg_kazakof
Offline
Зарегистрирован: 24.04.2015

bayv пишет:

 Здесь напряжения маленькие, а токи, относительно, большие 100мегаГц все таки. Без ключа не обойтись. 

Видимо автор этого поста большой теоретик.

re:

не плохо было-бы почистить ветку от офтопа.

 

oleg_kazakof
Offline
Зарегистрирован: 24.04.2015

dimax если позволяет время и желание,  подскажи можно ли компенсировать  ошибку частотомера.  V3.6

Clok Gen (выход Si5351) подключен на  INPUT freg (напрямую коротким проводом ), при увеличении частоты генератора, показания частотомера занижаются, на SDR приёмнике частота практически совпадает с генератором.

Clok Gen                                                          частотомер                                                SDR приёмник 

25.000                                                             25.000                                                       -----------------

125.000                                                           125.000                                                      -----------------

1.125.000                                                        1.124.984       -16Гц                                   ------------------

11.125.000                                                      11.124.864      -136Гц                                  ------------------

21.125.000                                                       21.124.744     -256Гц                                  -------------------

31.125.000                                                       31.124.624     -376Гц                                  31.125.043      + 43Гц

41.125.000                                                     41.124.496       -504Гц                                   41.125.020      + 20Гц

51.125.000                                                     51.125.384       -616Гц                                    51.125.046      +46Гц

61.125.000                                                     61.124.256       -744Гц                                   61.125.046       +46Гц

71.125.000                                                    71.124.136         -864Гц                                  71.124.981        -19Гц

81.125.000                                                    81.124.008         -984Гц                                 81.125.000           00Гц

91.125.000                                                    91.123.904        -1096Гц                                91.125.00              00Гц

101.125.000                                                 101.123.768       -1232Гц                                 101.124.975        -25Гц

111.125.000                                                   111.123.648       -1352Гц                                 111.125.024        +24Гц

121.125.000                                                   121.123.536       -1464Гц                                121.124.984         -16Гц

131.125.000                                                   131.123.416       -1584Гц                                131.125.000          00Гц

141.125.000                                                   141.123.280        -1720Гц                              141.124.920          -80Гц

151.125.000                                                    151.123.160       -1840Гц                               151.124.9555       -45Гц

161.125.000                                                 тут пошла фигня                                               161.124.870       -130Гц

171.125.000                                                 ---------------------                                             171.124.910       -90Гц

дальше частотомер  показывает фигню                                      SDR приёмник до 221.125.000  разброс + -       70Гц

 

 

 

 

dimax
dimax аватар
Онлайн
Зарегистрирован: 25.12.2013

oleg_kazakof, а я даже не могу достоверно проверить у себя , т.к. у меня нет в.ч. усилителя-формирователя. Если форма сигнала на А15 не похожа на меандр, и уровень "1" менее пары вольт, то частотомер будет конкретно врать, т.к. выход Si-шки не в состоянии выдать нужный сигнал на высоких, -паразитные ёмкости всё испортят. Ну и потом это всё таки игрушка, а не измерительный прибор, с частотометром я сильно не заморачивался, может есть какие-то мелкие ошибки, которые на больших частотах дают ошутимые погрешности.

Тем не менее у вас измеренная частота почти стабильно меньше в 1,0000121 раз поданной,  значит можно тактовую частоту МК в режиме частотометра  в строчке

  void freq_meter(){
/////////////////////счётчик импульсов
si5351.set_freq(2500000000, SI5351_CLK0);//  тактовая частота по умолчанию с выхода 1

 скорректировать в меньшую сторону, если не ошибаюсь что-то вроде  (100 000 000 * 1,0000121) /4  = 24999697_50  И результат будет более похож на правду.

 

bayv
Offline
Зарегистрирован: 23.01.2021

Уважаемый MAN-200. Хочу предложить еще вариант модуляции ВЧ сигнала изменением напряжения питания выходного каскада синтезатора. Общепринято иногда питать силовые устройства от эмиттерного повторителя. Вот этот принцип я и предлагаю в модулятор. Берем NPN, и базу подключаем через токоограничивающий резистор 47-100 Ом к DDS. В цепь эмиттера включаем 1кОм и на землю. При этом на эмиттере будет напряжение базы минус небольшое падение. Положим  максимальное напряжение будет 2В, а ток через R  2/1к = 2мА. Таким образом превратили напряжение в ток, меняющийся пропорционально входному напряжению от “0” до “2”мА. Так как альфа тр-ра близка к 1 (Iкол = Iэм - Iбаз), ток коллектора будет меняться в тех же пределах. Далее в коллектор ставим R = 1,2 кОм. Максимальное напряжение падения на этом R = 2*1,2 =2,4В (от “0” до 2,4В), а относительно общего нуля будет 4,5 – 2,4 = 2В и 4.5 – 0 =4.5В. Ток снова превратили в напряжение но в другом квадранте и инвертированное. Далее берем еще один NPN, включаем коллектор к +5, эмиттер на 7пин питания, базу опять через 47-100 Ом на коллектор пред идущего тр-ра. Все источник выдает изменяющееся напряжение от 2В до 4.5В синхронно с частотой управления. Первый тр-р нужно брать с большим усилением по току, с DDS нужно работать с большим входным сопротивлением, а в этом случае, оно будет равно Rэм*Кус. Второй тр-р должен быть токовым, (я полагаю что кушает синтезатор милиА 25-40), и с малым падением напряжения перехода Коллектор-Эмиттер.(поэтому не 5В, а 4,5В). Я описал принцип, а токи, резисторы, транзисторы Вы выбирайте сами. Да чуть не забыл: напряжение на коллекторе 1-ого тра-ра, не должно быть меньше напряжения базы. Смысл: при увеличении напряжения на базе, увеличивается ток коллектора и падение на резисторе, т.е. напряжение, относительно нуля на коллекторе уменьшается и они движутся на встречу друг другу, они не должны пересечься. Если что спрашивайте, буду рад хоть чем то помочь.

MAG-N
MAG-N аватар
Offline
Зарегистрирован: 05.06.2017

"Уважаемый MAG-200."

Что-то Вы из двух человек одного "мутанта" сделали - MAG-N это я, а man_200 это не я :-)  Ну и напряжений 4.5 или 5 Вольт быть не может, у этого синтезатора 3.6В максимум.

bayv
Offline
Зарегистрирован: 23.01.2021

Mag-N, великодушно извините, старею, даже прочитав Ваше сообщение, долго не мог понять, что от меня хотят?. Если Вы внимательно читали пост, то поняли, я дал принцип, алгоритм построения питающего модулятора. Даташит на синтезатор я не видел и о эл. параметрах понятия не имею. Но поняв принцип можно сделать любое напряжение и диапазон изменения, оперируя Вх. напряжением, резисторами и током. Нужно помнить только одно: нижнее напряжение на коллекторе 1-ого тр-ра должно быть чуть выше мах. напряжения на его входе. Иначе тр-р перейдет в так называемое инверторное включение, т.е. закрытый переход Баз-Коллектор начнет открываться и отсасывать ток коллектора.

man_200
Offline
Зарегистрирован: 29.04.2016

bayv, спасибо. Как вариант буду иметь в виду. 

MAG-N
MAG-N аватар
Offline
Зарегистрирован: 05.06.2017

Всех поздравляю с Днем Победы!

bayv
Offline
Зарегистрирован: 23.01.2021

MAG-N. большое спасибо уважаемый, я также присоединяюсь к поздравлению с Большим светлым праздником Победы.

MAG-N
MAG-N аватар
Offline
Зарегистрирован: 05.06.2017

Вот только ветеранов почти не осталось, но, слава Богу, мой отец жив, всю войну прошел.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

 

Лапко Евграф Александрович - Почётный член клуба RCWC.
Радист из Великой Отечественной войны. Вместе с войной и тяжелой РБМ-кой и ее "старшими сестрами" отшагал, отслужил и отработал на благо Матери Родины 7.5 долгих, а для юности тяжелых, лет. На гражданке окончил школу рабочей молодежи, пединститут и трудился преподавателем физики в родном городе Черкесске, но главным в работе всегда оставалось Радио! Строил и создавал коллективные любительские радиостанции UA6KET, UK6EAC, UK6EAA, UZ6EWA. В конце 80-х по болезни пришлось покинуть родные предгорные края и передраться на днепровские равнины. Там в украинских Черкассах тоже нашлась для него работа и опять начальником коллективной любительской радиостанции ДЮСТШ. В 2005 году перебрался с женой к дочери в Подмосковье город Лыткарино, где вновь обрел гражданство России и проживает в настоящее время. 

Евграф Александрович автор книги Дневник "Антилопы" и рассказов о Великой Отечественной войне. Сегодня мы публикуем его воспоминания о Черкесском Политехникуме, в котором он долгое время проработал преподавателем физики.

Смотреть далее

MAG-N
MAG-N аватар
Offline
Зарегистрирован: 05.06.2017

Что тут скажешь - не стареют душой ветераны. Низкий им поклон.

man_200
Offline
Зарегистрирован: 29.04.2016

На переднем плане фото, если не ошибаюсь, радиостанция "Север" времен войны.

MAG-N
MAG-N аватар
Offline
Зарегистрирован: 05.06.2017

man_200 пишет:

На переднем плане фото, если не ошибаюсь, радиостанция "Север" времен войны.

РБМ - там в тексте подсказка есть :-)

А "Север" вот:

sergiuszf
Offline
Зарегистрирован: 11.05.2021

Пробовал запрограмировать скечем из поста 12,  Ардуино Мини Про, а такде пробовал и Ардуино Нано и ничего не получилось. Во всех случаях выдает ошибки,

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x60
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x60
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x60
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x60
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x60
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x60
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x60
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x60
avrdude: stk500_recv(): programmer is not responding
Problem z wgrywaniem na p?yte. Sprawd? http://www.arduino.cc/en/Guide/Troubleshooting#upload w poszukiwaniu sugestii.
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x60
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x60
WARNING: Spurious .github folder in 'Adafruit BusIO' library
WARNING: Spurious .github folder in 'Adafruit SSD1306' library
WARNING: Spurious .github folder in 'Adafruit GFX Library' library
WARNING: Spurious .github folder in 'elapsedMillis' library
WARNING: Spurious .github folder in 'Adafruit BusIO' library
WARNING: Spurious .github folder in 'Adafruit SSD1306' library
WARNING: Spurious .github folder in 'Adafruit GFX Library' library
WARNING: Spurious .github folder in 'elapsedMillis' library

Что это может быть ???

MAG-N
MAG-N аватар
Offline
Зарегистрирован: 05.06.2017

Попробуйте нажать не "Загрузка", а кнопочку "Проверка". При этом сообщений об ошибках avrdude не будет.

sergiuszf
Offline
Зарегистрирован: 11.05.2021

Да, действительно при нажатии кнопки компиляция и проверка все нормально. Т.е. это говорит о том, что что-то не в порядке с самим Ардуино ???

Кстати попробовал еще раз способом, скомпилировал скетч и записал его на .HEX а потом загрузил полученный файл в Ардуино Мини Про другим загрузчиком. И все получилось. Но...

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

Вот в приложении фотография энкодера.

Какой энкодер нужен ???

Очень прошу совета.

MAG-N
MAG-N аватар
Offline
Зарегистрирован: 05.06.2017

Компиляция проходит, программирование нет - видимо, что-то не то с драйверами USB-COM CH340, CP210x. Смотрите в диспетчере устройств, что там творится. При подключении той же Нано должен появляться СОМ-порт, номер которого потом указываете перед прошивкой.

Если шили через ISP, на что намекает avrdude: stk500_recv(): programmer is not responding, то разбирайтесь с подключением внешнего программатора.

А энкодер нужен самый обычный, типа ЕС11 (на Вашем фото ну очень на него похож). В начале этой ветки об этом писалось. И попадались мне энкодеры, у которых подвижный контакт не средний, а один из крайних.

sergiuszf
Offline
Зарегистрирован: 11.05.2021

Все делаю правильно, согласно диспетчера устройств для ардуино Нано порт 18, а для ардуино Мини Про порт 9.

А энкодер у меня ЕС11,  но не работает. Работает только кнопка энкодера.

MAG-N
MAG-N аватар
Offline
Зарегистрирован: 05.06.2017

А Вы до этого через ISP, случайно, не пытались прошивать? Если да, то в контроллерах загрузчик затерся.

sergiuszf
Offline
Зарегистрирован: 11.05.2021

Да пытался разными способами. А что же теперь делать ?

MAG-N
MAG-N аватар
Offline
Зарегистрирован: 05.06.2017

Подключить внешний программатор и восстановить загрузчик. Инструменты -> Записать загрузчик, или найти загрузчик в папке ***\arduino***\hardware\arduino\avr\bootloaders\optiboot и прошить.

sergiuszf
Offline
Зарегистрирован: 11.05.2021

Очень благодарен. Попробую и отпишусь как получилось.

MAG-N
MAG-N аватар
Offline
Зарегистрирован: 05.06.2017

Для Нано - optiboot_atmega328.hex

Для Мини - optiboot_atmega328-Mini.hex

 

sergiuszf
Offline
Зарегистрирован: 11.05.2021

К сожалению ничего не удалось сделать. Никаким образом. Уже пробовал по всякому, и загрузить файлы  HEX, как вы советовали, имею 2 программатора. И ничего не вышло.

Пробовал также и программой GCUpload и без результата.

Подозреваю что испортились фъюзы, и плата уже совсем мертвая, на мусор.

Очень благодарен за попытку помощи.

И еще если не сильно затруднит, имел бы просьбу, поскольку я совсем зеленый, а вы как я вижу - ГУРУ. Я хотел бы чтобы тексты на дисполее выводились английские, еще лучше польские (латиницей). Что нужно изменить в скетче. Я посмотрел в самом конце скетча есть обращение к русской библиотеке, и вывод на печать латинскими символами, но слова нечитаемое. Я так понял, что латинские символы в библиотеке преобразуются в русские буквы.

Может быть я неправильно понимаю, но можно ли это поправить, если убрать обращение к русской библиотеке, и просто в выводе на печать написать латинскими знаками польский текст ?

MAG-N
MAG-N аватар
Offline
Зарегистрирован: 05.06.2017

А где Вы кириллицу нашли? Вроде все латиницей. Комментарии русские, но к выводу на дисплей они отношения не имеют. А в скетче поменяйте что надо в функции void monitor_out().

sergiuszf
Offline
Зарегистрирован: 11.05.2021

Дело в том, что скетч я взял из другого сайта, и он оказался полностью русифицированным. Например там есть такой фрагмент:

#include <LCD5110_SSVS.h>
extern uint8_t SmallFont[];
extern uint8_t RusFont[];
extern uint8_t MediumNumbers[];
LCD5110 lcd(10,11,12,13);

И далее например:

lcd.setFont(RusFont);
     switch(regim){
      case 0: lcd.print("Cbyec",CENTER, 32); break;
        case 1: lcd.print("Nhteu",CENTER, 32); break;
         case 2: lcd.print("Vtfylh",CENTER, 32); break;
        case 3: lcd.print("Gbkf 1",CENTER, 32); break;
       case 4: lcd.print("Gbkf 2",CENTER, 32); break;
      case 5: lcd.print("IBV",CENTER,32); break;
    case 6: lcd.print("Pfgjkytybt", CENTER, 32);

Т.е. библиотека "LCD5110_SSVS.h" у меня в скетче русифицированная.

Так что при работе генератора у меня все выскакивает по русски.

MAG-N
MAG-N аватар
Offline
Зарегистрирован: 05.06.2017

Возьмите скетч из 12 сообщения, и будет все на английском. А насчет польского, если правильно комп перевел, то Częstotliwość значительно длиннее Frequency, шрифт надо переделывать: ę ś ć скорее всего отсутствуют в шрифтах библиотеки, и на дисплей первая строка не влезет. Да и вообще там переводить нечего, и так все понятно. Так что прошейте оригинал и не мучайтесь.

sergiuszf
Offline
Зарегистрирован: 11.05.2021

Я уже брал этот скетч, но дело в том что у меня нет соответствующей библиотеки, и поэтому видимо выдает ошибку. И не проходит даже компиляция.

У меня библиотека - ARDUINO-LCD-NOKIA5110-SSVS-RUS-master

Она видимо переделана на русский шрифт, и поэтому выдает ошибку.

А родной библиотеки на дисплей НОКИЯ 5110 у меня нет. А где ее можно взять?

Нашел, там куча таких библиотек для Нокии5110. Не знаю будет ли работать.

Ни одна из найденных библиотек не работает. ОНи все разные. LCD5110_Basic - самая большая. и не работает. Не нашел нигде библиотеки под именем - LCD5110_SSVS.h

 

MAG-N
MAG-N аватар
Offline
Зарегистрирован: 05.06.2017

В 12 посте написано - ссылка на пропатченую версию была тут - вот ее и используйте, папку библиотеки переименуйте в LCD5110_SSVS и все должно работать, но и скетч используйте "родной". Я этот генератор когда-то давно собирал, даже дисплей для этого прикупил. Работало на макетке, но потом появилась версия на СТМ32, который и был собран, что и Вам советую. :-)

Библиотека LCD5110_SSVS имеет набор шрифтов, если русифицированный шрифт в скетче не вызывается, так и не будет его. Сейчас проверил - все нормально компилируется именно с этой библиотекой.