Уважаемые посетители! Форум CQHAM.RU существует исключительно за счет показа рекламы. Мы будем благодарны, если Вы не будете блокировать рекламу на нашем Форуме. Просим внести cqham.ru в список исключений для Вашего блокировщика рекламы.
Страница 150 из 434 ПерваяПервая ... 50100140147148149150151152153160200250 ... ПоследняяПоследняя
Показано с 1,491 по 1,500 из 4331

Тема: Синтезатор на Mega2560 + 3.2 TFT LCD + Si5351 V2.0

  1. #1491
    Небольшой косяк в прошивке.
    1) В режиме функционального генератора - если частоту уменьшать при шаге перестройки 100000 то при достижении минимальной частоты генератор по кольцу врубает максимальную и назад уже не пускает приходится крутить ручку снова. При меньшем шаге перестройки все адекватно.
    2)"Аналоговый" S метр если на него ничего не подавать (ножка через резистор на земле) не показывает стрелку. Чтобы началась индикация достаточно коснуться пальцем входа S метра.
    И еще, почему не сделано ограничение по диапазонам? Частоту можно накрутить какую хочешь не зависимо от диапазона, хотелось бы быть уверенным, что находишься в пределах любительских частот.
    P.S.
    проблему с флешкой решил так-
    Нажмите на изображение для увеличения. 

Название:	1.jpg 
Просмотров:	1342 
Размер:	287.3 Кб 
ID:	260918
    Правда есть нюанс. Паять надо легоплавким припоем типа сплава розе,и феном дуть не очень долго. Ибо можно перегреть дисплей, что у меня и произошло :( теперь по середине есть более темное чем окружающее изображение пятно. Его заметно только на светлом фоне, но осадок остался
    Последний раз редактировалось Falkon; 17.04.2017 в 10:10.


  2. #1492
    Аватар для UN7JID
    Регистрация
    10.07.2007
    Адрес
    Усть-Каменогорск
    Сообщений
    370
    Позывной
    UN7JID
    Цитата Сообщение от Falkon Посмотреть сообщение
    Небольшой косяк в прошивке.
    1) В режиме функционального генератора - если частоту уменьшать при шаге перестройки 100000 то при достижении минимальной частоты генератор по кольцу врубает максимальную и назад уже не пускает приходится крутить ручку снова. При меньшем шаге перестройки все адекватно.

    И еще, почему не сделано ограничение по диапазонам? Частоту можно накрутить какую хочешь не зависимо от диапазона, хотелось бы быть уверенным, что находишься в пределах любительских частот.
    Проверил, действительно так.
    Видимо это как-то связано с тем, что минимальная частота равна шагу перестройки, отсюда и все нюансы.
    Попробовал добавлять условия, при которой частота равна 0 ничего не вышло...
    Единственное, что удалось сделать, это сделать так, что при перестройке вверх при любом шаге, частота будет перескакивать со 160мгц на 100кгц(назад уйти уже невозможно)
    Но зато ниже 100кгц ничего не перескакивает при любом шаге.
    Для этого строку:
    if ( Function_G > 160000000 ){Function_G = 160000000; } } // ограничитель
    Заменяем на строку:
    if ( Function_G > 160000000 ){Function_G = 100000; } } // ограничитель

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

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

  3. #1493
    Цитата Сообщение от UN7JID Посмотреть сообщение
    можно в принципе, засвечивать цифры шкалы не зеленым, а к примеру красным светом, когда частота не соответствует радиолюбительской.
    Думаю так будет лучше

  4. #1494
    Цитата Сообщение от UN7JID Посмотреть сообщение
    Для визуального контроля нахождения в пределах радиолюбительского диапазона, можно в принципе, засвечивать цифры шкалы не зеленым, а к примеру красным светом, когда частота не соответствует радиолюбительской.
    Попробую попозже сделать такую фишку.
    Думаю желтый цвет будет лучше гармонировать чем красный.
    Не главное что имеешь, главное что умеешь...

  5. #1495
    Цитата Сообщение от UN7JID Посмотреть сообщение
    можно в принципе, засвечивать цифры шкалы не зеленым, а к примеру красным светом, когда частота не соответствует радиолюбительской.
    Думаю так будет лучше

    Цитата Сообщение от Сан Саныч Посмотреть сообщение
    Думаю желтый цвет будет лучше гармонировать чем красный.
    Главное написать этот участок кода, а раскрасить каждый сам сможет по своему вкусу...

  6. #1496
    Аватар для UN7JID
    Регистрация
    10.07.2007
    Адрес
    Усть-Каменогорск
    Сообщений
    370
    Позывной
    UN7JID
    Цитата Сообщение от Falkon Посмотреть сообщение
    Думаю так будет лучше

    Главное написать этот участок кода, а раскрасить каждый сам сможет по своему вкусу...
    Ага, пустяк остался. ТЗ главное есть.
    Сейчас пару часов посидел и понял, что ничего не понял....
    1. При написании всех условий(границ диапазонов) работает только один, последний.
    Видимо это надо делать в виде отдельной подпрограммы и считать каждый бенд по отдельности...
    2. При выходе за границы диапазона меняют цвет только те цифры, которые изменяются, например только сотни-десятки килогерц, а мегагерцы остаются в том же цвете.
    Потому что сделано так, чтоб каждый раз не перезаписывать значение само на себя....
    Наверное придется делать так, чтоб переписывало все значения независимо от того изменились они или нет...
    А это может повлиять на частоту обновления данных на экране(хотя может и нет, запаса быстродействия хватит)

    Эх.... говорила мне мама- учись на программиста, а то так и просидишь всю жизнь с паяльником...

    Будем копать дальше...
    Надеюсь может кто из знающих коллег, видя мои кривые попытки поможет и подскажет как сделать)))
    Не стреляйте в пианиста-он играет как умеет!!! Валерий. 73!

  7. #1497
    Интересует, будет ли в прошивке реализован выход опорника для второго смесителя? Вроде раньше в системной менюшке эта функция присутствовала...
    И еще, кто нибудь пробовал тактировать сишку от внешнего генератора? Интересует как она будет себя вести при таком способе тактирования. Какие проблемы могут возникнуть в связи с этим? Просто имеется в наличии ГК193ТС, если к нему соорудить утроитель, думаю от 30 мГц сишка должна работать нормально.
    Последний раз редактировалось Falkon; 18.04.2017 в 07:57.

  8. #1498
    Аватар для UN7JID
    Регистрация
    10.07.2007
    Адрес
    Усть-Каменогорск
    Сообщений
    370
    Позывной
    UN7JID
    Цитата Сообщение от Falkon Посмотреть сообщение
    Интересует, будет ли в прошивке реализован выход опорника для второго смесителя? Вроде раньше в системной менюшке эта функция присутствовала...
    И еще, кто нибудь пробовал тактировать сишку от внешнего генератора? Интересует как она будет себя вести при таком способе тактирования. Какие проблемы могут возникнуть в связи с этим? Просто имеется в наличии ГК193ТС, если к нему соорудить утроитель, думаю от 30 мГц сишка должна работать нормально.
    Там ЕМНИП проблема с делением частоты, для третьего выхода в итоге сигнал с сишки получается отвратительный.
    Тактировать от внешнего генератора можно без проблем, но для 30Мгц нужно или внести коррективы в бибилиотеку сишки или к валкодеру прицепить дрель, чтоб накрутить в настройках тактовую частоту с 27Мгц до 30 мгц.

    Итог моих вчерашних\сегодняшни х трудов такой:
    Удалось окрашивать значение частоты в другой цвет при выходе за пределы радиолюбительских диапазонов.
    Для этого часть кода

    Скрытый текст

    Код:
    //**************** ПРОГРАММА ВЫВОДА НА ДИСПЛЕЙ 
    
    tft.setTextColor(TFT_GREEN); 
    tft.setFreeFont(FF32);


    Меняем на :

    Скрытый текст

    Код:
    //**************** ПРОГРАММА ВЫВОДА НА ДИСПЛЕЙ 
    
    tft.setFreeFont(FF32);
    if ( result0 >  1800000 & result0 <  1930000){tft.setTextColor(TFT_GREEN);} // проверяем границы радиолюбительских диапазонов
    else if ( result0 >  3500000 & result0 <  3800000){tft.setTextColor(TFT_GREEN);}
    else if ( result0 >  7000000 & result0 <  7200000){tft.setTextColor(TFT_GREEN);}
    else if ( result0 >  10100000 & result0 <  10150000){tft.setTextColor(TFT_GREEN);}
    else if ( result0 >  14000000 & result0 <  14350000){tft.setTextColor(TFT_GREEN);} 
    else if ( result0 >  18068000 & result0 <  18168000){tft.setTextColor(TFT_GREEN);} 
    else if ( result0 >  21000000 & result0 <  21450000){tft.setTextColor(TFT_GREEN);} 
    else if ( result0 >  24890000 & result0 <  24990000){tft.setTextColor(TFT_GREEN);} 
    else if ( result0 >  28000000 & result0 <  29700000){tft.setTextColor(TFT_GREEN);} 
       
    else {tft.setTextColor(TFT_RED);//если за диапазоном, включаем красный цвет и запускаем постоянное обновление частоты(мерцание)
    tft.fillRect(150, 35, 32, 35, TFT_BLACK);
    if (millions10>0) {tft.setCursor(150, 68, 2); tft.println(millions10);}   
    prev_millions10 = millions10;
    
    tft.fillRect(185, 35, 32, 35, TFT_BLACK);
    tft.setCursor(185, 68, 2); tft.println(millions1); prev_millions1 = millions1; 
    
    tft.setCursor(215, 68, 2);
    tft.println(".");
    
    tft.fillRect(230, 35, 32, 35, TFT_BLACK); 
    tft.setCursor(230, 68, 2); tft.println(thousands100); prev_thousands100 = thousands100;
    
    tft.fillRect(265, 35, 32, 35, TFT_BLACK); 
    tft.setCursor(265, 68, 2); tft.println(thousands10); prev_thousands10 = thousands10; 
    
    tft.fillRect(300, 35, 32, 35, TFT_BLACK); 
    tft.setCursor(300, 68, 2); tft.println(thousands1); prev_thousands1 = thousands1;
    
    tft.setCursor(330, 68, 2);
    tft.println(".");
    
    tft.fillRect(345, 35, 32, 35, TFT_BLACK); 
    tft.setCursor(345, 68, 2); tft.println(hundreds); prev_hundreds = hundreds;
    
    tft.fillRect(380, 35, 32, 35, TFT_BLACK); 
    tft.setCursor(380, 68, 2); tft.println(tens); prev_tens = tens; } 
    //*********если все в норме, работает старый код


    Один недостаток, если выходишь за границу диапазона, а потом возвращаешься назад, то цифры, которые не менялись(как правило это мегагерцы и иногда сотни килогерц), остаются красными, до тех пор, пока их значение не изменится(переключит ся диапазон или выкл\вкл синтезатор)
    Как это реализовать- пока мыслей нет.

    ЗЫ. Код естественно неидеален, для любителей покритиковать -
    Я вообще ни одного языка программирования не знаю.
    Не стреляйте в пианиста-он играет как умеет!!! Валерий. 73!

  9. #1499

    Регистрация
    12.09.2006
    Адрес
    Болгария, Силистра, KN34PC
    Сообщений
    1,463
    Позывной
    LZ2WSG
    Цитата Сообщение от Falkon Посмотреть сообщение
    ... Просто имеется в наличии ГК193ТС, если к нему соорудить утроитель, думаю от 30 мГц сишка должна работать нормально.
    Falkon, я думаю, что это не нужно. Включите внешней генератор на XA (pin 2) и пробуйте задать ваша частота генератора (10 000 000) через меню.

    (CLKIN Frequency Range: fCLKIN min 10 MHz, fCLKIN max 100 MHz)

    Если не работает, внесите ручная коррекция кода (v2b):

    строка 3081:
    oscillator_freq = 27005000; EEPROM.put(15, oscillator_freq); // 5086 si5351
    новое:
    oscillator_freq = 10000000; EEPROM.put(15, oscillator_freq);

    и на:

    строка 2306:
    si5351.init(SI5351_C RYSTAL_LOAD_10PF, 27000000, 0); // задаём ровно 27 МГц для определения реальной частоты 27005280;
    новое:
    si5351.init(SI5351_C RYSTAL_LOAD_0PF, 10000000, 0); // Initialize the Si5351 to use a 10 MHz clock input on CLKIN

    Если нужна коррекция частоты, добавьте число на место "0" (можно с знака + или -).

  10. Спасибо от Falkon


  11. #1500
    Аватар для Genadi Zawidowski
    Регистрация
    22.07.2004
    Адрес
    Санкт-Петербург
    Сообщений
    11,093
    Записей в дневнике
    20
    Позывной
    UA1ARN
    Цитата Сообщение от UN7JID Посмотреть сообщение
    Эх.... говорила мне мама- учись на программиста,
    Попробую описать как это выглядит у меня.
    Как и во многих программах управления синтезаторами, есть функция обновления состояния аппаратуры - вернее две - изменение частоты и по изменению диапазона/режима работы.
    Хорошо работало в трансиверах где частотная схема не менялась по всему диапазону (up-conversion) и можно было крутить валкодер и ничего кроме переключения диапазонных фильтров делать не требовалось.
    это была нестрашная по вычислительной нагрузке функция, двоичным поиском (а не как у Вас - линейным) за три-четыре операции максимум находился нужный код диапазона. Если он изменился от ранее запомненного - выдавался код на реле/регистры.
    когда возникла нужда обслужить синтезатор с "классической" частотной схемой (с перестановкой первого гетеродина выше/ниже частоты приема) - уже вырисовывалась другая структура.
    на каждое изменение частоты вызывается ряд контролирующих диапазоны/значения функций. Они не выполняют никакой работы с аппаратурой, только сравнения и представления результата сравнения кодом. целым числом. т.н. hint.
    ранее возвращенные значения сравниваются с вычисленным, и как только выясняется, что hint отличается - выполняется процедура полной перенастройки синтезатора - аналогичная той что при переходе на другой режим работы происходит. При это меняются при необходимости отображаемые на дисплее значения (в Вашем случае - цвет), правила образования частот гетеродинов, частоты кварцев первого гетеродина (UW3DI) и так далее.
    При этом оператор просто крутит ручку - в нужный момент без лишних тормозов все переключается.
    При вклбчении в эту структуру и управления PLL в SI5351 - в нужные моменты выполняйся перенастройка выходных делителей, RESET PLL, а при обычной перестройке - только операции не требующие значительного времени на выполнение.
    Последний раз редактировалось Genadi Zawidowski; 18.04.2017 в 11:23.
    ... Я там глубину сам промерял!

  12. Спасибо от UN7JID

Страница 150 из 434 ПерваяПервая ... 50100140147148149150151152153160200250 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Контроллер с LCD дисплеем для транзисторного УМ на MEGA2560
    от D0ITC в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 1233
    Последнее сообщение: 23.03.2024, 17:36
  2. Синтезатор на SI5351 из доступных деталей
    от UV7QAE в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 2003
    Последнее сообщение: 16.11.2023, 20:54
  3. Кварц для si5351
    от Alexej Svirid в разделе Для начинающих
    Ответов: 14
    Последнее сообщение: 11.03.2021, 13:05
  4. Синтезатор частоты на Si5351 help ???
    от ta1ozh в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 0
    Последнее сообщение: 04.10.2018, 19:29

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •