Игорь 2

Трансиверы, передатчики, РПУ => Трансиверы самодельные => Тема начата: Core от Май 06, 2021, 11:17:25 am

Название: Опорник от Владимир_К
Отправлено: Core от Май 06, 2021, 11:17:25 am
Собираю опорник для синтеза Игорь2 под руководством Владимир_К.
Начал с платы индикации. Индикаторы типа 5161AS общий катод, красные.
Схема, фото.

Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 06, 2021, 12:09:26 pm
Созрели вопросы. Как после сборки платы индикации её проверить? Может есть какие либо тестовые программы для ардуино ?  123123
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 06, 2021, 12:34:19 pm
Схемы в splan нашёл. Там ардуино нано версии 3. Как ее прошивать, ведь у вас код явно будет не в ардуино иде... 123123
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 06, 2021, 12:35:50 pm
Валкодер у меня на 400 импульсов с али, на шариковых подшипниках. Будет ли схема его видеть?

Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 06, 2021, 12:46:25 pm
Там ардуино нано версии 3. Как ее прошивать, ведь у вас код явно будет не в ардуино иде...
Компилятор у меня в составе программы AVR Studio 4.19. НЕХ-файл создан ейной.  Его можно зашить в Ардуино. Программа для прошивки - XLoader. Найдите ее поиском. В архиве НЕХ-файл прошивки. Подключаете Ваш Ардуино USB шнурком к компьютеру, открываете Нех_файл, предварительно извлеките его из архива.
Но, к сожалению, я уже не помню. Возможно без Si5351A программа не будет работать. Там при инициализации программа запрашивает по шине I2C Si5351A. Если ее нет, никто не ответит и программа будет ждать до второго пришествия.
Если после прошивки возникнет такая ситуация, я уберу из программы обращение к Si5351A. Таким образом, Вы сможете протестировать индикатор.
И еще, вполне возможно, что при разводке плат я мог как мне заблагорассудится, менять выводы Ардуино, для удобства в разводке. Поэтому, желательно сравнить схемы в Сплане с печатками. К сожалению, тут я не очень аккуратен. Программу мог поменять, а схему не откорректировал.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 06, 2021, 12:50:04 pm
Будет ли схема его видеть?
Хоть я и не на сухарях, но такое покупать жаба давит adm.
Валкодер должен выдавать сдвинутые по времени импульсы. Если Ваш валкодер это делает, проблем не будет. Возможны проблемы с количеством импульсов. Я программу проверял с валкодером на 150 импульсов максимум. Но это потом. Если проблема такая возникнет, придется искать где проблема.
Я вот так делаю:
http://www.cqham.ru/forum/showthread.php?1786-%C2%E0%EB%EA%EE%E4%E5%F0-%F1%E2%EE%E8%EC%E8-%F0%F3%EA%E0%EC%E8/page68
677 сообщение. Или так, как на фото.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 06, 2021, 12:54:10 pm
Эти валкодеры как раз выдают два канала со сдвинутыми импульсами. А их ещё покупал когда они стоили по 250 рублей. Сейчас всё подорожало.

Да вы на всякий случай уберите обращение к сишке. Будет тестовый софт для проверки шкалы.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 06, 2021, 01:09:04 pm
Да вы на всякий случай уберите обращение к сишке.
Да там много мест, где придется убирать. Если программа с сишкой у Вас подвиснет, я тогда сделаю тестовую для проверки индикатора, так будет проще.
Возможно она у меня и есть. Тут много чего есть, проблема найти...
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 06, 2021, 01:10:21 pm
Ок. Не будем торопить события. Паяю индикатор 123123
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 06, 2021, 03:53:20 pm
Паяю индикатор
Тестовая прошивка для проверки индикатора.
Подключение:
Dat индикатора, цепляем на вывод процессора - PB2;
Blink - PB1;   
Clk   - PBO;

Все файлы прошивок, которые возможно придется Вам сбрасывать, будут иметь одно имя "main". Так что Вы их там у себя переименовывайте, например:
main_0, main_1 и т.д.                                                           
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 06, 2021, 03:54:22 pm
 123123 1999 что должно отобразиться в результате теста?
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 06, 2021, 04:04:35 pm
На индикаторе нули, а потом начнет значение увеличиваться на единицу, через 100 мсек. И так бесконечно.
Хотя, наверное не правильно сделал.. Долго придется ждать, пока все комбинации на дисплее отразятся. Сделаю лучше так - все нули потом 1111111, 2222222 и т.д.
Но позже, пока паяйте.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 06, 2021, 04:38:54 pm
Индикатор почти готов, осталось впаять блокировочные ёмкости 0,1 по питанию и можно цеплять к ардуине. Перекур.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 06, 2021, 05:42:21 pm
Диагностика. Видео работы программы диагностики и прошивка.
https://www.youtube.com/watch?v=JqKkpXOt4MY
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 06, 2021, 06:17:37 pm
Попробовал залить последнюю тестовую прошивку. Мигает крайний левый индикатор ничего нет больше. Хотя при заливке софта все индикаторы хаотично перебираются случайными знаками.
Кстати видео не работает. Автор ограничил доступ пишет.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 06, 2021, 06:42:06 pm
Ха, нашёл косяк. Оказывается надо CLK подавать непосредственно с ардуино на базу (естественно через 1,2ком). Через инвертор как в схеме не работает.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 06, 2021, 06:45:58 pm
Включил через два инвертора. Все ок. Фото с одной и другой прошивкой
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 06, 2021, 06:48:50 pm
Фото
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 06, 2021, 07:07:01 pm
Через инвертор как в схеме не работает.
Что инвертор не нужен, я об этом писал:
http://analogtrx.com/SMF/index.php?topic=6.585 
599 сообщение.
Ну коль сами разобрались, значит все нормально. Теперь пробуйте подключить Si5351A. И прошивайте всю программу. На выходе сишки получите сигнал на частоте вроде 3600 кгц+пч (толком уже не помню). Без всего остального программа будет работать. То есть, частота отобразится на индикаторе и будет выход на сишке.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 06, 2021, 07:10:09 pm
Кстати видео не работает. Автор ограничил доступ пишет.
Да я толком не знаю, где там ограничить, где разрешить... Сейчас гляну, я мало выкладывал.. потому хрен его знает, что там и как.
Название: Re: Опорник от Владимир_К
Отправлено: ra0ahc от Май 06, 2021, 07:12:55 pm
Олдскульно ) успехов.
Название: Re: Опорник от Владимир_К
Отправлено: veso74 от Май 06, 2021, 07:25:35 pm
Нет.
Цитировать
Частен видеоклип
Влезте в профила си, ако имате достъп до този видеоклип

Това е частен видеоклип. Моля, влезте в профила си, за да удостоверите, че имате право да го гледате.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 06, 2021, 07:33:25 pm
Нет.
Да хрен с ним. Там нечего смотреть, ну меняются цифры, только и всего. Тем более у ТС все работает.
Не нашел я пока, что там поменять. Там куча настроек, больше мне нечем заняться...
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 06, 2021, 09:12:12 pm
Немного подправил схемы. В основном файл "процессор" и "S-meter". Замените прежние на эти.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 06, 2021, 09:42:08 pm
Ок. Надо схемы просмотреть и плату вытравить под сишку. А можно написать для вас тз краткое под мои желания от этого синтеза? Там много не надо, скорее урезать функционал того что есть и добавить кое что. Это реально сделать?
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 06, 2021, 10:09:19 pm
Это реально сделать?
Это просто, если Ваши желания совпадают с тем, что мной уже реализовано в каких-то конструкциях. Короче, давайте тз, буду смотреть..
Но сперва, запустите то, что остается неизменным. Лишнее убрать проще некуда. Добавить - надо смотреть.
Я уже писал, у коллег появляются всякие идеи, я пишу, а они потом пропадают. Работа на корзину.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 06, 2021, 10:10:38 pm
Ок. У меня азарт. Пол пенсии вкинул, назад дороги нет. Тут главное от сухарей ноги не протянуть  56511
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 06, 2021, 10:12:49 pm
Кстати я насколько знаю, есть правильные безспуровые коды для сишки, есть со спурами, у вас с этим все хорошо? Я помню на канадском форуме или даже на этом были споры про это.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 06, 2021, 11:24:28 pm
Кстати я насколько знаю, есть правильные безспуровые коды для сишки, есть со спурами, у вас с этим все хорошо?
Совсем безспуровых нет. Спуры есть всегда. Но можно так накосячить, что спуры будут значительными. Я вроде таких косяков не допускал (т.е. применял рекомендуемый алгоритм программирования сишки). А как оно на самом деле получилось, это можно определить только сравнением. Положить рядом на столе два синтезатора и сравнить. Без этого, разговоры на эту тему бесполезны. Других, кем-то изготовленных синтезаторов у меня нет, так что сравнить не с чем. На сайте CQHam я выкладывал спектры синтезатора на Si5351A. Там можно посмотреть.
Кстати, вот недалеко, были результаты. Тут также спектр микросхемы SI5340A, которая в десятки раз дороже. Она конечно получше, но для реализации ее возможностей, нужен соответствующий опорник.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 07, 2021, 07:08:36 am
Ок. Я это и хотел узнать. 1999
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 07, 2021, 09:51:49 am
На выходе сишки получите сигнал на частоте вроде 3600 кгц+пч (толком уже не помню).
Неправильно. Частота, которую выдаст синтезатор при включении, зависит от положения переключателя диапазонов. Просмотрел сейчас код, для уточнения.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 07, 2021, 10:29:29 am
Тех. задание на доработку.

1. Хотелось бы иметь прошивку под опорник для SI на 25МГц, а лучше на 50МГц. В перспективе хотелось бы затактироваться от гиацинта с умножителем. У вас сейчас 27МГц.
2. Переключение диапазонов кнопками без фиксации типа КМ1-1, кнопка вверх и вниз.
3. Переключение шагов перестройки. Кнопка одна и по кругу значения гонялись.
Шаги 10Гц, 100Гц, 500Гц, 1КГц и 10Кгц. Индикация значения шага либо кратковременно на дисплей выводиась бы или светодиодами.
4. Кол-во диапазонов хотелось бы 16 добавив ещё один регистр на ДПФ (так хотелось бы самому редактировать диапазоны частота в исходнике)
5. Переключение ГУНов и управление делителями в смесителе.
6. Хотелось бы приспособить валкодер на 400 импульсов с АЛИ.
7. Кнопочка LOCK, блокировка валкодера и индикация светодиодом ВКЛ/ВЫКЛ.
8. Естественно все адаптировать под синтез Игоря2.

Вкратце все. Остальные плюшки вашего синтеза можно удалить.

Реально такое сделать?
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 07, 2021, 11:02:38 am
По порядку..
1. По этому вопросу есть несколько решений. Во-первых, Вы можете поставить себе программу (она бесплатная) AVR Studio 4.19. Я Выкладываю исходник и Вы можете делать все что угодно, там просто изменить цифру. Где, место нахождения я укажу. Я так делаю. Второй вариант, могу установку частоты кварца внести в меню синтезатора. То-есть, Вы нажимаете какую-нибудь кнопку до включения синтезатора, не отпуская ее, включаете синтезатор. Попадаете в меню. Устанавливаете частоту кварца, промежуточную частоту и пр. Снова нажимаете кнопку и все будет записано в ЕЕПРОМ. Манипулировать частотой кварца все равно надо, так как кварц 27 мгц, он вовсе не 27. Подстраивать все равно надо.
2. Без проблем.
3. У меня валкодер интеллектуальный. Если вы крутите медленно, перестраивается также через шаг, если крутнуть быстро, за один оборот можно перестроиться на несколько кгц. Поэтому, необходимости в переключении шага я не вижу. Но, если Вам так больше нравится, не вопрос. Сделаю.
4. Хоть 100. У меня число диапазонов ограничено микросхемой в переключателе, она 8-ми разрядная. И мне нравится переключать галетником, а не тыкать в кнопки, которые не сразу и найдешь. Коль Вам так удобнее, "вверх-вниз" не вопрос.
5. Ну это и так есть. ДПФ же переключаются, от этого сигнала можно переключать и ГУНы. Делитель? Честно говоря, я не знаю зачем Игорь его ввел. Он ограничил перестройку опорника, кажется в пределах 10-20 Мгц. А ее можно взять любую. Впрочем, тут надо его консультация.
6. Это пока вопрос. Вполне возможно, что будет работать без проблем. А там видно будет.
7. Не вопрос, главное, чтобы были свободные порты контроллера. А так как Вы кое-что выбрасываете, они будут.
8. То потом, вместе адаптируем.
И еще. Мне некуда было ставить стрелочный прибор, поэтому стоит светодиодная линейка. Оно, конечно, не то. Думаю, это надо выкинуть, а поставить обычный стрелочник. А там, как хотите.
Есть у меня подпрограммы управления индикатором на МАХ7219 (готовая плата от китайцев), есть на жидкокристаллическом 4148 (индикатор такой как в Элекрафте К2, только побольше размером). Подумайте, может их лучше всунуть. На МАХ, конечно надо бы попробовать соорудить макет и поднести поближе к приемнику. Будут помехи, или нет, и принять решение.
И последнее. Мне не хочется сооружать макеты и проверять все эти переделки, поэтому это все будете испытывать сами на своем железе. Я вношу изменения в программу, Вы прошиваете, пробуете.
Поэтому все эти "хотелки" будут добавляться по одной и после каждого изменения, проверка в железе. Могу, конечно поставить Протеус. Но, он иногда глючит. Раньше стоял, потом я от него отказался.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 07, 2021, 11:18:34 am
1. Давайте через исходник ПЧ менять, чем проще тем лучше. Редактор я скачаю это не проблема.
2.  1999
3. Интелект у валкодера я бы хотел убрать. Я пользовался как то самоделкой с интелектом, мне не понравилось. Это конечно дело привычки, но как по мне лучше самому рулить процессом через кнопку шага. Прошу интелект убрать  123123
4. Да лучше КМ1-1 вверх вниз диапазоны гонять.
5. ОК. Игорь поясните про делитель в смесителе.
6. У меня есть синтез на AD9850, ардуино 400шагов отрабатывает. Ок. Время покажет что и как.
7.  1999
8.  1999

Да конечно, на моём железе и протестим. На майских займусь платой SI5351 и макетку сделаю. По портам бы лучше обозначить на схеме по новой прошивке.

S метр смело удаляйте из кода. Нужно лишь только что в пунктах.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 07, 2021, 11:27:12 am
На майских займусь платой SI5351 и макетку сделаю. По портам бы лучше обозначить на схеме по новой прошивке.
Для Si5351A порты менять нельзя. Там жесткая привязка к аппаратной шине I2C(SDA и CKL).
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 07, 2021, 11:29:15 am
Игорь поясните про делитель в смесителе.

Так там всё ясно, как день - делитель смесителя работает в двух режимах - деление на два (на управление - лог. 0), и деление на 4 (на управление - лог. 1 - от 3 до 12 В).
Синтезатор выдаёт частоты от 40 до 80 МГц - частота в 4 раза выше опоры.
Вот садитесь с ручкой, и смотрите, где Вам нужно на 4 делить (естественно, это нижние диапазоны), а где - на два.  44443
Если Вы галетником диапазоны переключаете, то можете это сами организовать, или же, Владимир пусть даёт с проца... dontt44 lol22

Гетеродин всегда ставьте выше частоты приёма - только в игрушечных аппаратах допустимо обратное.  123123 123123 123123

НЕ ЗАБУДЬТЕ про переключение ГУНов - их 4 шт., диапазоны перестройки указаны на схеме. Управление - лог. единицей, от 3 В включительно.
Опять же, если работаете галетником, можете это самостоятельно организовать без напряга программы...
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 07, 2021, 11:34:00 am
S метр смело удаляйте из кода. Нужно лишь только что в пунктах.
Убрал. Лист со схемой можете выкинуть. Освободились три вывода порта.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 07, 2021, 11:36:41 am
Все понятно Игорь2.
ТО Владимир_К, наверное лучше сделать для каждого диапазона которых вы сказали можно сделать сколько угодно, настройку: диапазон частота приёма, номер ГУНа и вариант делителя на 2 или на 4.
При выборе диапазона ардуина засылает нужные лог единицы и нули на синтез Игоря2. И уже под свои хотелки я и другой пользователь в редакторе все настроили руководствуясь инструкцией.
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 07, 2021, 11:36:50 am
Монстр со статичными светодиодными матрицами - это круто, по-моему, такого ещё не было... cr123
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 07, 2021, 11:39:07 am
Монстр со статичными светодиодными матрицами - это круто, по-моему, такого ещё не было... cr123

Да это круто будет  1999
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 07, 2021, 11:39:28 am
настройку: диапазон частота приёма, номер ГУНа и вариант делителя на 2 или на 4.

А ещё про боковую забыли.  123123
Не забудьте, для каждой боковой СВОЯ арифметика принимаемой частоты - ведь скаты фильтра используются разные... dontt44 lol22
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 07, 2021, 11:40:11 am
Да это круто будет

Куплю его у Вас.  1yep cr123 За три тыщи руб... 44443 pl33
Ну Вы, надеюсь, поняли, про что я.  cr123
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 07, 2021, 11:41:54 am
А ещё про боковую забыли.  123123
Не забудьте, для каждой боковой СВОЯ арифметика принимаемой частоты - ведь скаты фильтра используются разные... dontt44 lol22
Кстати да. Можно тогда добавить настройку в каждый диапазон для опорника. А опорник сделать на другой SI5351 со своим контроллером, на него засылать 1 или 0 и он будет генерировать опорные частоты для LSB и USB. С одной сишки пишут вредно брать сразу две частоты. Я надеюсь такое можно будет сделать?

Куплю его у Вас.  1yep cr123 За три тыщи руб... 44443 pl33
Ну Вы, надеюсь, поняли, про что я.  cr123

Сгущёнкой лучше  lol22 обмакну сухарик, будет вкусно. А то с водой уже приелись, смотреть тошно.  dontt44 А если серьёзно за так вышлю комплект как сделаем немалую работу.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 07, 2021, 11:43:21 am
Гетеродин всегда ставьте выше частоты приёма
Как раз это для программирования проще. Лишних пару строк удалить можно. Только прибавляем 123123 123123
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 07, 2021, 11:48:02 am
А опорник сделать на другой SI5351 со своим контроллером, на него засылать 1 или 0 и он будет генерировать опорные частоты для LSB и USB. С одной сишки пишут вредно брать сразу две частоты.

Вот-вот. У меня именно так и сделано, я Вам более того скажу - в монстре вообще три сишки стоят - одна - опора гетеродина, вторая - второй гетеродин, третья - третий.  1999
Чисто по два провода на каждую. Опора сишек общая - 50 МГц.
И под этот вариант мне Андрей тоже программу написал, я с его платы вообще сишку снимаю, они все снаружи.  1999
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 07, 2021, 11:50:25 am
за так вышлю комплект

Не, ну от такого эксклюзива грех отказываться... 1yep 1999

Только прибавляем

Так естественно. Какой смысл убивать аппарат... lol22
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 07, 2021, 11:50:39 am
Всё будет зависеть от Владимир_К.  123123
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 07, 2021, 11:50:49 am
Не забудьте, для каждой боковой СВОЯ арифметика принимаемой частоты
Давайте вопросы будем решать вместе, по мере поступления. А то мозги тормозить будут. Опорника в синтезаторе нет. Если надо опору двигать, в зависимости например от того, какой фильтр включен, SSB или CW, то да, наверное Si, а пока у меня два кварцевых генератора, каждый на свой скат.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 07, 2021, 11:51:40 am
Не, ну от такого эксклюзива грех отказываться... 1yep 1999

Ну пока на макете все сделаю, потом перенесу на печатки и зашлю вам.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 07, 2021, 11:53:31 am
Давайте вопросы будем решать вместе, по мере поступления.

Да точно. А то запутаемся. Всё по порядку.
Пока пилю железки. Как будут готовы, будем кодировать по этапам, сначала одно, потом второе и т.д. по ТЗ. Отчёт через youtube видео тут.
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 07, 2021, 12:03:36 pm
Положим, полоса ПЧ 5000.3...5002.7 кГц.
При частоте второго гетеродина 5000, детектируем по ТРАКТУ ПЧ верхнюю боковую, при частоте 5003 - нижнюю.
Так вот, если интересующая нас станция стоит на 10 МГц, то для приёма её по верхней боковой, мы должны по ПЧ включить НИЖНЮЮ боковую, а частоту гетеродина ставить на 5003 выше, соответственно, при приёме нижней боковой, в тракте ПЧ ставим режим приёма верхней, и частота гетеродина должна быть на 5000 кГц выше.  cr123
Т. е., обратите внимание, что при смене боковой, должна либо опора моего синтеза меняться без изменения показаний индикатора, либо же, наоборот... lol22
Название: Re: Опорник от Владимир_К
Отправлено: rtty от Май 07, 2021, 12:09:46 pm
И под этот вариант мне Андрей тоже программу написал, я с его платы вообще сишку снимаю, они все снаружи.

А как шины и2ц организованы для сишек, у них же вроде адрес у всех одинаковый?
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 07, 2021, 12:16:03 pm
Положим, полоса ПЧ 5000.3...5002.7 кГц.
Тогда надо сделать добавку в ТЗ.

тумблер LSB/USB. При переключении полос меняется в прошивке значение ПЧ и выводятся лог уровни для управления внешними SIшками.
Внешние SIшки я имею в виду отдельный блок опорных гетеродинов который представляет из себя контроллер (ардуино)+ SI5351. При подаче на на порт контроллера 1 работает LSB настройка опорника, при подаче 0 USB.
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 07, 2021, 12:18:03 pm
А как шины и2ц организованы для сишек

К каждой - отдельная. Одна только задублирована с индикатором.  1yep
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 07, 2021, 12:18:40 pm
Тогда надо сделать добавку в ТЗ.

тумблер LSB/USB.

Несомненно.  dontt44 1yep
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 07, 2021, 12:45:37 pm
Владимир_К рекомендует редактор AVR Studio 4.19. Я скачал с оф.сайта: https://www.microchip.com/mplab/avr-support/avr-and-sam-downloads-archive
Как понимаю, ещё нужен тулчейн к редактору. Лежит там же по ссылке.
Я скачал по AVR 8-bit & 32-bit v3.3.1.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 07, 2021, 01:39:14 pm
Как понимаю, ещё нужен тулчейн к редактору. Лежит там же по ссылке.
Я уже не помню.. Давно ставил, поэтому, для уточнения вот тут почитайте:
http://easyelectronics.ru/avr-uchebnyj-kurs-programmirovanie-na-si-chast-1.html
Права у Atmel сейчас вроде выкупила Microsoft, она и гонит свои тулчейны, также компиляторы и среды разработки. AVR Studio есть уже и 5,6 и 7 версии. А теперь уже и название вроде поменяли. 
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 07, 2021, 01:42:57 pm
Его я рекомендовал лишь потому,  что с его помощью мои проекты открываются без проблем (хотя наверное и последними версиями также проблем не будет), кроме того, если возникнет необходимость, могу проконсультировать. Последние версии намного круче и обладают многими полезными функциями, но тратить время на изучение новых версий, мне лень.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 07, 2021, 01:48:47 pm
Потому лучше скачать редактор как вас.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 07, 2021, 02:36:20 pm
Вроде самое последнее вот здесь. Эта среда может работать не только с Атмел, но и с Пиками.
https://www.microchip.com/en-us/development-tools-tools-and-software/microchip-studio-for-avr-and-sam-devices
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 07, 2021, 07:13:41 pm
Владимир. Рисую схему. По какому принципу подключать дешифратор диапазонов ?
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 07, 2021, 07:40:32 pm
По какому принципу подключать дешифратор диапазонов ?
У меня были проблемы с отсутствием свободных выводов портов. Поэтому, все управление у меня представляло три регистра каждый на 8 выводов, итого я мог управлять 24 точками. Один регистр задействован для управления светодиодами подсветки кнопок, они ведь не фиксированы (на фото трансивера видно), второй регистр управляет ДПФ и ФНЧ. 8 диапазонов. И третий регистр переключает все остальное RX/TX, АРУ, УВЧ, аттенюатор и пр. Там еще свободные остались выводы. Управляется вся эта лабуда по трем проводам, Дата, Такт и Строб. Микросхемы соединены в цепочку. Единица или ноль, поступившая на вход первой микросхемы за 24 такта сдвигается на последний вывод, последней микросхемы. Таким образом вся комбинация 24 разрядного числа загоняется в регистры. По команде Строб, выдается на выходы.
 Я Вас не ограничиваю, можете делать как угодно и на чем угодно. Кто-то ставит дешифратор 4 входа 16 выходов. Тогда надо задействовать 4 порта и получим 16 выходов, а мне этого не хватало, надо 24.
Каждый регистр монтируется прямо на плате (например ДПФ).  Для управления реле, применяю ULN2803, 50v, 500 mA, каждый вывод). Таким образом, нет жгута проводов от контроллера к плате, а всего лишь три провода.  Некоторым наличие красивого жгута, нравится. Я его вязать не умею, поэтому стараюсь обойтись без него 123123.
Да забыл. Тут же еще ГУНы появились и делители, так что не забывайте.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 07, 2021, 07:46:31 pm
Придумал как.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 08, 2021, 07:18:49 pm
Как затактировать SI5351 от внешнего опорного генератора? У меня пока на 50мгц квадратный опорник выдратый и компьютерной Платы.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 08, 2021, 08:21:06 pm
Как затактировать SI5351 от внешнего опорного генератора?
На Ха подать сигнал от внешнего генератора, на 2 ногу.
Обратите внимание на схему - питание генератора 3,3 вольта.  Как я понял, это видимо с термостатом... Документ от QRP_Lab. Попробуйте поискать в сети. Называется ocxosynth_assembly.
Вот нашел:
https://www.qrp-labs.com/images/ocxokit/ocxosynth_assembly.pdf
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 08, 2021, 08:24:54 pm
Ок. Делителем сделаю 3.3 в
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 08, 2021, 08:31:19 pm
Кстати. Кнопки можно сделать на аналоговый вход для экономии портов чтобы они заворачивались делитель и контроллер по напряжению делителя понимал какая кнопка зажата ?
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 08, 2021, 08:39:34 pm
Кнопки можно сделать на аналоговый вход для экономии портов чтобы они заворачивались делитель
Ну так же и сделано. Схему гляньте. Кнопки у меня на плате валкодера.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 08, 2021, 09:09:42 pm
Ок.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 09, 2021, 06:57:31 pm
Нарисовал схему опорника под вышеизложенное Т.З.
Я кстати в схему заложил ИД3 дешифратор, всё таки 16 диапазонов должно хватить.
Только дешифратор имеет инверсию выходов. Там постоянно лог 1, т.е. входной код надо инвертировать, программно наверное это просто, вместо единиц нули.  123123

Владимир_К, прошу посмотреть схему на наличие ошибок, если все ок, то начинаю разводить макетную плату.
Название: Re: Опорник от Владимир_К
Отправлено: veso74 от Май 09, 2021, 07:28:08 pm
1. для енкодера лучше использовать выводи для внешнего прерывания: D2, D3;
2. поправьте вывод, к которому подключен pull-up резистор 1 kOhm к A6. Ни в коем случае он не на +Vin(+9..12V)!, а на напр. +5V;
3. перепутали выводи Arduino SDA и SCL. A4(SDA), A5(SCL);
4. обратите внимание, что A6 - только аналоговый вход. Не знаю код какой, но вход включен как цифровой. Т.е. с особенностями, такое включение тоже возможно;
5. если Arduino был в оригинал (с загрузчиком), по пин 13 при включение следуют несколько импульсов, не являющихся частью программы. Для управления я не стал бы использовать, для индикации: можно, по вашему преценку;
6. стабилизатор 78L05, а не 7805L :).
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 09, 2021, 07:36:48 pm
прошу посмотреть схему на наличие ошибок
Если синтезатор будет управлять только ДПФ и опорниками, то можно и так оставить. Только перенесите провод с 12 вольт на 5 вольт, тот который идет к А6 и кнопке через резистор 1 к, иначе порту не поздоровится. А как Вы кнопки будете различать, какая из них нажата? А где прием/передача? Ну прием/передача можно и тумблером, без синтезатора обойтись.  А расстройка? К тому же, при переходе на передачу, расстройку надо убрать, поэтому контроллер, все же, должен знать, какой режим, прием, или передача. Кроме  того, Вы уменьшили число кнопок, которое идет к аналоговому входу контроллера, поэтому пересчитайте резисторы делителя. Сделайте так, чтобы напряжение увеличивалось на какой-то один коэффициент. Например U1=0,5v, U2=U1*1,2, U3=U2*1,2 и  т.д. Точность там особая не нужна, но все же, пульсации питания или еще какая хрень могут вызвать ненужное срабатывание. Максимальное напряжение должно быть около 4,5 вольт, ну и когда все кнопки отпущены - 5 вольт. Короче, равномерно распределите.
Ну и управление делителем в ГУНах, тоже выведите сигнал с какого -либо порта.
В общем, на мой взгляд,  вроде все. 
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 09, 2021, 07:37:15 pm
Веселин спасибо за поиск ошибок.  1999 Поправил.  123123


Владимир_К по порядку:
1. Подтяжку перенёс на 5 вольт.
2. Различие кнопок разве шаг только надо, но его вы сказали что можно кратковременно выводить на матрицы. Диапазон и так понятно, ну а Lock на светодиод, он на пине D13.
3. RX/TX у меня через тумблер, я подумал какая разница через синтез тумблер будет и выдавать команду на передачу, либо на прямую с тумблера...вам проще будет. Так что RX/TX вне синтеза будет.
4. Расстройка мне не нужна. Я ей не пользуюсь.
5. Делители посчитаю.
6. Да точно, про ГУНы и делители я забыл. Сейчас постараюсь нарисовать.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 09, 2021, 07:41:07 pm
для енкодера лучше использовать выводи для внешнего прерывания: D2, D3;
Валкодер у меня работает не по прерываниям, но, все же так будет лучше.
Также подпишите выводы контроллера нормально, например PORTB1. Не понимаю я в этом Ардуино, что такое А6 и пр. Или заглядывать все время надо, что такое А6?
Название: Re: Опорник от Владимир_К
Отправлено: zenit от Май 09, 2021, 07:42:45 pm
Только дешифратор имеет инверсию выходов. Там постоянно лог 1, т.е. входной код надо инвертировать, программно наверное это просто, вместо единиц нули. 
Программно это не возможно. Так устроен этот дешифратор. Логика работы дешифратора заложена в нём и она ни как не может быть изменена.
https://www.microshemca.ru/ID3/
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 09, 2021, 07:45:05 pm
Программно это не возможно.
Ну почему? Допустим надо нам лог. 1 на порт 5, мы заливаем код 0101 вместо 1010
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 09, 2021, 07:46:13 pm
Также подпишите выводы контроллера нормально
Ок.
Название: Re: Опорник от Владимир_К
Отправлено: veso74 от Май 09, 2021, 07:51:15 pm
Выходи К155ИД3 - с инверсии. С Вашего примера: выход 5 = HIGH (при все другие = LOW) нет в таблици состоянии
(и невозможнно сделать, представьте это как: при LLLL...HHHH по входом как "бегущий ноль" к выходам 0..15).
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 09, 2021, 07:56:53 pm
Да точно. Тогда включу через инверторы.  123123
Название: Re: Опорник от Владимир_К
Отправлено: veso74 от Май 09, 2021, 08:04:06 pm
CMOS 4028 у Вас нет?
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 09, 2021, 08:07:25 pm
Есть такая только наша ИД1. Только у CD4028 10 выходов...
Название: Re: Опорник от Владимир_К
Отправлено: veso74 от Май 09, 2021, 08:14:08 pm
Я бы даже что-то подключю к I2C (expander, др.). Так освободим выводы о другом в будущем. Но схема: Ваша :).
---
Сколько выходов необходими? 16?
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 09, 2021, 08:24:48 pm
Да 16.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 09, 2021, 08:40:55 pm
Подкорректировал схему. Не хватило портов. В итоге:
1. LSB/USB будет вне синтеза через тумблерок, синтез будет видеть только состояние тумблера чтобы учитывать частоту опорника в прошивке.
2. Обозначил порты для Владимир_К за исключением А6 и А7. На них я обозначения не нашёл.
3. Добавил управление ГУНами и делителем смесителя.
4. Рассчитал делители кнопок.

На всякий случай распиновка ардуины.
Название: Re: Опорник от Владимир_К
Отправлено: ra0ahc от Май 10, 2021, 12:25:46 am
Один стаб на генератор не нужен, трнанзюки на шине i2c тоже выкиньте и через 10к к 3.3 Вольта . Если конечно у вас ваша ардуинка 3 вольтовые выводы имеет , а если 5 вольтовые то транзюки нужны. В вообще почему не регистры сдвига то? Там вообще нет ограничений на их количество. Просто к шине spi их и все.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 10, 2021, 08:12:03 am
А там 5 вольт i2c. Про стаб понял, уберу. Про регистры почитаю, я в этом не бум бум. Постараюсь разобраться и подкорректировать схему.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 10, 2021, 08:17:53 am
Бегло нагуглил. От МК, как видно, требуется только четыре выхода. Одним (RESET) мы сбрасываем состояние регистра. Из второго (Data) побитно вылазит байтик, а тактовый CLC обеспечивает продвижение битов по регистру. Самих регистров тут три. Они сцеплены паровозом. Когда переполняется первый, то биты из него вылазят во второй, потом в третий. Итого, 24 вывода.
Катоды диодов подключены все вместе через транзистор и как только будет слово мы подаем сигнал Ready и зажигаем всю эту ботву.

Наполнять регистр просто:
1) Поднимаем и держим RESET в 1
2) Выдаем первый (старший) бит на Data.
3) Опускаем в 0 и поднимаем в 1 тактовый выход. На восходящем фронте происходит занос в регистр и сдвиг всей цепочки на один шаг.
4) Повторить со второго пункта пока все биты не выдадим.

А для сброса достаточно уронить Reset в ноль на пару микросекунд.
Все просто :)

Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 10, 2021, 08:20:01 am
Как к этому отнесётся Владимир_К ??
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 10, 2021, 09:27:36 am
Подкорректировал схему под сдвиговый регистр + учёл замечания Сергея RA0AHC  id99
Руководствовался этой статьёй http://robocraft.ru/blog/arduino/519.html cr123
Прошу опытных внимания  123123
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 10, 2021, 10:54:23 am
Как к этому отнесётся
А как я к этому отнесусь, если у меня именно так и сделано.  Вы схемы мои смотрели? 123123
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 10, 2021, 11:00:27 am
 lllol Да я особо не вникал в переключатель т.к. хотел дешифратор в итоге пришёл к сдвиговому регистру.
Прошу проверить схему, если всё ок буду рисовать плату.
Название: Re: Опорник от Владимир_К
Отправлено: rtty от Май 10, 2021, 11:50:08 am
По-моему нет смысла ноги МК занимать коммутацией ГУН, это можно организовать через диодные "или" на выходе дешифратора диапазонов.

Освободившиеся ноги лучше применить скажем на секвенсер, полезная вещь чтобы реле в передатчике не подгорали или всякие переходные щелчки в приемнике подавлять.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 10, 2021, 11:57:47 am
Ненужны мне ни какие RX-TX в синтезе.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 10, 2021, 12:06:18 pm
Прошу проверить схему
Да схема то правильная, только зачем Вы выводы все время меняете. Вы же понимаете, если Вы поменяли вывод процессора, например - у меня data на выводе PD2, Вы ее зачем то переносите на PB3. Чтобы я программу корректировал? У меня так разведено в трансивере, и его я могу использовать как макет для проверки. Если я в программе поменяю вывод, тогда мне придется отсоединять этот вывод, а то и дорожку резать..
Смотрите мою схему и делайте максимум по ней. Можно конечно что-то изменить, но выводы то зачем менять, они ведь все равнозначные.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 10, 2021, 12:17:49 pm
Потому что выше сказали что валкодер лучше вешать на PD2, PD3  dontt44
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 10, 2021, 12:28:50 pm
Потому что выше сказали что валкодер лучше вешать на PD2, PD3
А тогда да 123123. Валкодер у меня на других выводах, но я боюсь, что Ваш валкодер придется юзать на прерываниях. Все же 400 импульсов не 100.
Поэтому, делайте по Вашей схеме. Ошибок я вроде не вижу.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 10, 2021, 12:30:24 pm
Ок. Буду делать макетку и после начнём ее оживлять?  123123
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 10, 2021, 07:59:13 pm
Пошарил у себя в запасах я не нашёл сишки(( в магазинах тоже нет. Придётся заказывать с алиэкспресс. Это время. Владимир_К без сишки можно будет код редактировать?
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 10, 2021, 08:10:43 pm
Заказал такой модуль
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 10, 2021, 08:11:53 pm
Это время. Владимир_К без сишки можно будет код редактировать?
Что спаяете, то и будем проверять. Код управления сишкой пока отключу. На этот модуль вроде подходят разъемы SMA. Я у себя на модулях поставил и заказал там же и кабель с ответным разъемом. Оно неплохо выглядит, легко снять модуль. Правда у меня модули все самодельные.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 10, 2021, 08:16:36 pm
Да это для тестов. Ещё заказал пять штук сишек и пару опорников. Модуль чисто для макетов. Делаю плату.
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 10, 2021, 08:23:49 pm
Заказал такой модуль

А что там за дополнительная схема собрана на каких-то транзисторах?  cr123
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 10, 2021, 08:25:58 pm
Согласование уровней
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 10, 2021, 08:27:21 pm
Согласование уровней

Каких?  cr123
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 10, 2021, 08:28:03 pm
С ардуино выходит лог 1 5 вольт а схема конвертирует в 3.3
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 10, 2021, 08:29:41 pm
А, понял. Там, похоже, ещё и стабилизатор есть на 3.3 В, или мне показалось?  pl33
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 10, 2021, 08:32:07 pm
Да да  lllol
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 10, 2021, 08:36:40 pm
 1yep cr123 lol22
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 10, 2021, 10:34:08 pm
Обожаю это форум за смайлики  lol22 ещё бы те смайлы что в аське были внедрить. lol22
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 10, 2021, 10:59:13 pm
Да ну, их тут и так хватает. Основной есть  lol22.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 10, 2021, 11:02:09 pm
(http://arcanumclub.ru/smiles/gribnik-club-01.gif) (http://gribnik-club.ru/) (http://arcanumclub.ru/smiles/smile9.gif) (http://arcanumclub.ru/smiles/smile80.gif)
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 10, 2021, 11:02:51 pm
(http://arcanumclub.ru/smiles/smile109.gif) (http://arcanumclub.ru/smiles/smile148.gif) (http://arcanumclub.ru/smiles/smile221.gif)
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 10, 2021, 11:16:26 pm
 (https://emojio.ru/images/apple-m/1f92a.png)
Название: Re: Опорник от Владимир_К
Отправлено: zenit от Май 10, 2021, 11:24:30 pm
лог 1 5 вольт а схема конвертирует в 3.3
i2c реализовывается придавливанием к нолю порта. Единица делается путём подтяжки резисторами шины i2c к +3,3вольта. Те два транзистора не нужны. Масло масляное они делают.
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 10, 2021, 11:39:00 pm
Ну да, у меня же в ряде конструкций SI управляется 5-вольтовыми процами, просто выход открытым коллектором программируют, и резисторы подтяжки... 1yep
Название: Re: Опорник от Владимир_К
Отправлено: veso74 от Май 11, 2021, 01:45:54 am
1. Для ATmega328 с питанием от 5V согласно документации читаем: минимальнoe напрежение по TWI для HIGH составляет 0,7 * Vcc или 0,7 * 5,0V = 3,5V.
Принимаете ли это во внимание или игнорируете (при Vdevice = 3,3V, при чтении регистра с устройства), зависит от конструктора. Я предпочитаю следовать документации микроконтроллера (связь 5V -> 3,3V устройство через Bi-Directional Logic Level Converter).
---
2. Ето тестовая конструкция, плата. Преставьте если предыдущая программа, загруженная в Arduino перед нашим тестом, использовала А4 и А5 как выходи, с неблагоприятной для нас статической логический уровень: HIGH (в случая: +5V). Подключаем Si5351 к Arduino I2C, мы забыли, что новую (для Si) программу не загрузили, загружаем. Что происходит с Si5351 (питание 3,3V) с напрежение на два входа 5V в течение напр. нескольких минут? Понятия не имею (толерантны ли входы к 5V или нет?, будет дефект или нет?), но не хочу догадываться и бессмысленно экспериментировать. И опять предпочитаю включить converter с 2 транзистора.

Есть и другие интерфейсы. Да:
5V to 3.3V logic level translation/conversion/shifting: how to interface a 5V output to a 3.3V input:
https://next-hack.com/index.php/2017/09/15/how-to-interface-a-5v-output-to-a-3-3v-input/

Но я предпочитаю этот с 2 транзистора (он Bi-Directional: читаю из Si регистри, не только пишу внутри). Даже до 800 kHz проблем с 30-сантиметровыми кабелями по I2C пока не заметил. Поэтому я предлагаю оставить патент Philips там, где он принадлежит: между 5V-микроконтроллером и 3,3V-устройством.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 11, 2021, 10:21:32 am
Я как то года три назад делал на кухню приёмник на чипе RDA5807. Она тоже управляется по I2C. Я на прямую от А4, А5 подал без преобразователя уровней, всё чётко отрабатывает. С SI5351 лучше все по уму сделать, чтобы потом не нарваться.
Название: Re: Опорник от Владимир_К
Отправлено: veso74 от Май 11, 2021, 10:54:36 am
... на чипе RDA5807. .. на прямую от А4, А5 подал без преобразователя уровней, всё чётко отрабатывает.

Если Вы ничего не меняли в Wire.h (SDA и SCL включени по умолчанию с pull-up к +U(5V)), вероятно, так и работало: +5V, input pull-up 20..50 kOhm) -> вход RDA5807 и ограничение внутр. диодов. А если бы в предыдущем скетче было как пример мой (2), не знаем, что бы произошло :) .  (с RDA и я пытался в такой случай (2) за несколько секунд, чип останавливается -> входные токи вероятно протекали до ограничения тока по выхода MCU (40 mА?)).
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 11, 2021, 11:00:55 am
Третий год работает как есть  44443 пока вроде норм, да и люди не жалуются.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 11, 2021, 11:04:25 am
 123123 не о том тема.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 11, 2021, 03:39:16 pm
Заканчиваю монтаж.  444tom 123123
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 11, 2021, 04:23:35 pm
пока так.  123123
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 11, 2021, 04:24:08 pm
жду указаний от Владимир_К  cr123 id99 123123 rrr7777 1yep
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 11, 2021, 07:38:48 pm
жду указаний
Скачал Вашу схему, правлю порты... Полчаса, где-то с тестированием...
Схемы делайте в Splane, ибо эту нечем и распечатать, уже два раза уменьшал, а она один хрен не помещается...
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 11, 2021, 07:50:07 pm
Ок. Схему завтра скину. Она у меня на работе в ноуте
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 11, 2021, 08:24:49 pm
Не малость я погорячился. Полчаса не получается, а тут еще внук перед сном поиграться хочет 123123.
Надо еще пересчитать напряжения в делителе кнопок, так как там тоже поменялось и всего лишь из-за того, что у меня семь кнопок, а у Вас пять.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 11, 2021, 08:41:31 pm
Так я там напряжения все написал
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 11, 2021, 08:58:38 pm
напряжения все написал
Контроллер не понимает, что такое 2 вольта. Ему нужно перевести из условия, что 5v=1024. И не только перевести, но и записать куда надо cr123
Ну то ладно. Мне нужна таблица. № диапазона - № Гуна - Частота минимальная(то что  отображается на дисплее) - Частота максимальная (то что отображается на дисплее)  - частота на выходе Si максимальная (а лучше формулу соотношения между частотой приема и частотой SI, а то уже мозги не работают dontt44), частота на выходе Si минимальная - делитель включен 1, выключен 0.
Это чтобы я не анализировал схему Игоря и не разбирался, какая частота делится, какая нет, а просто тупо записал в программу.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 11, 2021, 09:01:34 pm
А там сложно потом в исходнике редактировать эти параметры?
А тозабили бы рандомно диапазоны, номера гунов и делитель, а я потом сам бы подредачил.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 11, 2021, 09:05:55 pm
Где то видел Игорь2 выкладывал таблицу для Андрея ILF там как раз номер гунов делителей и частота сишки.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 11, 2021, 09:09:14 pm
Так вот же
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 11, 2021, 09:12:52 pm
 
А там сложно потом
Да не. Оно в одном месте будет, в таблице. Но дело в том, что просто поменять не получится, там надо иногда и в подпрограмме Si  кое-что править. Может быть придется на некоторых диапазонах делитель в сишке задействовать. А это ведет к изменению шага, ну в общем, есть некоторые моменты. Конечно, можно вылизать программу так, что задал ей параметр, а она все сама сделает. Но это время. Надо сейчас оживить, а потом апгрейдить, по мере надобности.
Главное получить чистый сигнал... Остальное все приложится, со временем 123123
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 11, 2021, 09:14:00 pm
Так вот же
Ну вижу 9 диапазонов, а где остальные 7?
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 11, 2021, 09:17:33 pm
пока остальные возьмите с начала. 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 11, 2021, 10:05:54 pm
 
остальные возьмите с начала.
123123
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 11, 2021, 10:36:55 pm
 33wr 1yep
Название: Re: Опорник от Владимир_К
Отправлено: zenit от Май 12, 2021, 12:47:04 am
1. Для ATmega328 с питанием от 5V согласно документации читаем: минимальнoe напрежение по TWI для HIGH составляет 0,7 * Vcc или 0,7 * 5,0V = 3,5V.
Принимаете ли это во внимание или игнорируете (при Vdevice = 3,3V, при чтении регистра с устройства), зависит от конструктора. Я предпочитаю следовать документации микроконтроллера (связь 5V -> 3,3V устройство через Bi-Directional Logic Level Converter).
TWI работает но низкому уровню. И даже при подтяжке к +2,5V и питании меги 5 вольт проблем  не было замечено!  Структуру портов можно рассматривать но где в TWI вы видели чтоб  высокий уровень устанавливался как Portc.4 = 1? Именно установкой в высокий уровень порта настроенного на выход? Тогда бы и резисторы для подтяжки в высокий уровень были бы не нужны! А без них ни как или используют встроенные в чип резисторы но на самой низкой скорости передачи.  Потому что шина двунаправленная и если мега являясь ведущим устройством установит высокий уровень на порту а ведомое устройство при обмене данными  прижмёт шины к земле то получится кто кого пересилит- ведущий или ведомый!
Шина i2c без подтягивающих резисторов всегда будет в не определённом состоянии.
i2c  это не spi. Несколько иначе работает. Всегда смотрю на пропадание и появление низкого уровня на шине. Если нет низкого уровня то это значит что он высокий и ни как иначе. И ни каких пробле.
С SI5351 лучше все по уму сделать, чтобы потом не нарваться.
Да не нарвётесь ни на что. Скорее на чудесатые полевики можно нарваться в согласователе.   Это всё от не знания. Да собственно вам оно по сути и не нужно так глубоко копать. Пока по крайней мере не надо.

PS: много раз доводилось прошивать контроллеры с питанием 3,3 вольта и питанием от программатора UABASP. При прошивке пять вольт вместо 3,3 шло на мегу + si5351 и такое она выдерживает без проблем. Живучая...
Название: Re: Опорник от Владимир_К
Отправлено: veso74 от Май 12, 2021, 12:55:47 am
... но где в TWI вы видели чтоб  высокий уровень устанавливался как Portc.4 = 1? Именно установкой в высокий уровень порта настроенного на выход? Тогда бы и резисторы для подтяжки в высокий уровень были бы не нужны!
в Arduino: здесь:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c
т.е. если twi.c/wire не модифицирована, при инициализация оригинальной Wire.h, внутренные pull-up всегда включаеться к +Vcc.

Для для тест, даже для многих устройства внутреннйе pull-up резисторы часто достаточно (20..50 kOhm).
Цитировать
выдерживает без проблем. Живучая...
Да, нормально, но режим вне документации (при чтение). Как я уже писал, решает конструктор.
(по крайней мере, стараюсь избегать таких режимов, по крайней мере, еще при первоначальном анализе.
Ето интересно, а и 6 деталей не сильно меняют схему. А проще просто снизить напряжение питания до 3,3V).
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 12, 2021, 05:50:57 am
Давайте закроем эту тему. Транзисторы стоят в китайских модулях значит так нужно
Название: Re: Опорник от Владимир_К
Отправлено: zenit от Май 12, 2021, 10:05:43 am
Транзисторы стоят в китайских модулях значит так нужно
Они там стоят потому что китайцы тупо копируют модуль QRP LAB точно так же игнорируя  нормальную подачу питания на сишку!
Давайте закроем эту тему.
Принято. Просто интересно что выйдет в итоге.

PS: на счёт индикации на МАХ7219. Ни каких проблем с ней нет при правильной подаче питания. Страх перед динамической индикацией преувеличен и тянется с тех времён когда светодиоды были тусклые и жрали неменяно токи. Современные матрицы 8 штук при потреблении 50мА МАХ7219 ядовито светят. И помехи она не излучает. Но не все могут сделать разводку питания так чтоб потребляемый индикацией ток не промодулировал весь трансивер. 444tom
Кстати МАХ7219 позволяет обновлять только нужный разряд + прямое управление сегментами и не загонять в регистры целиком все разряды если обновилась всего одна цифра из восьми. Передаётся 16 бит где 8 бит разряд и 8 бит данные для вывода.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 12, 2021, 10:08:13 am
У меня кстати в данном виде с тестовой прошивкой когда гоняет 1111 222 и т. д. при всех восьмёрках потребление около 210ма.  dontt44 Всё же статическая индикация лучше. Зачем лишний гемор с помехами да и UT2FW проверил этот индикатор в мелкой серии своих DN
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 12, 2021, 10:12:03 am
Просто интересно что выйдет в итоге.
Мне самому интересно что получится. Хочется попробовать чудо синтез Игоря2 с параметрами которые не имеют Японцы за 5 тыс евро. Он заявлял вроде что лучше его синтеза нет.   lllol pl33 lol22 Детали заказал, сухарями питаюсь вторую неделю, две трети пенсии вывалил уже  dontt44 а что поделать, кому сейчас легко  adm
Название: Re: Опорник от Владимир_К
Отправлено: ur5vft от Май 12, 2021, 10:16:52 am
потребление около 210ма
- а почему не уменьшите ток, яркости там с запасом..
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 12, 2021, 10:24:20 am
Аппарат настольный будет там +- ничего страшного
Название: Re: Опорник от Владимир_К
Отправлено: ra0ahc от Май 12, 2021, 11:21:33 am
Будем откровенны, японцы дорогие догнали Игоря. Сейчас фазовые шумы в основных параметрах ТОР трансиверов. Ну и внутри нормальные синты, а не микрухи DDS стоят.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 12, 2021, 11:56:19 am
Это же хорошо. За копейки получаем синтез как у аппарата за 5000 зелени  1999
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 12, 2021, 11:57:12 am
Сделаем плату управления синтезом и будет счастье. Хоть спурты без антенны перестанут пиликать.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 12, 2021, 06:54:59 pm
У меня кстати в данном виде с тестовой прошивкой когда гоняет 1111 222 и т. д. при всех восьмёрках потребление около 210 ма.
Это получается, около 4 мА на сегмент.
Тут, конечно индикатор не совсем правильно сделан, для современных индикаторов яркости с избытком. Идеальное решение, конечно, запитать сегменты через резисторы. Если бы это не была конструкция, по словам автора, неоднократно проверенная, я бы на такое решение не пошел. Кстати, в сети несколько раз видел печатки, в которых предусмотрены места для резисторов. Но размер индикаторов там побольше, 0,5 дюйма.
Сегодня времени на программу я уделить не смог.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 12, 2021, 07:07:25 pm
Эх...Понял.   dontt44 33wr 1yep
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 12, 2021, 09:38:06 pm
Дела неотложные.. Могилы родственников, которых к сожалению много...
По схеме вопрос. Контроль LSB/USB. Это что, кнопка или выход порта для управления чем-то?
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 12, 2021, 10:24:29 pm
Дела неотложные..
Да конечно, как время есть и желание. Тут всё на энтузиазме.  123123 1999 1yep 1999
По схеме вопрос. Контроль LSB/USB.
Это аналоговый вход. Когда лог. 1 то одна ПЧ, когда 0 то ПЧ смещается. Типо 500кгц и 503. Я планирую тумблерком переключать опорники в второй пч, и чтобы синтез видел это и корректировал частоту ПЧ.  1yep
Название: Re: Опорник от Владимир_К
Отправлено: zenit от Май 12, 2021, 10:39:10 pm
Всё же статическая индикация лучше. Зачем лишний гемор с помехами да и UT2FW проверил этот индикатор в мелкой серии своих DN
Это было актуально лет 20 лет назад. Другого просто не было. Если бы у пана Тарасова тогда были бы МАХ7219 уверен он бы её использовал без проблем вместо кучи "ирок".
 Тогда было  такое время появились импортные АЛС засветить которые хватало тока с К561ИР2. Но они тут работают в режиме сколько сможет выдавить  в нагрузку. У меня пару раз сдыхали и уж если делаете то берите их с запасом и с  одной партии для замены в случае чего. Микросхемы с другой партии могут другой ток обеспечивать и это сразу же видно на АЛС. Бывает что даже между микросхемами с одной партии разхрос есть. В макеевской шкале как то пришлось все шесть микросхем менять так как одна цифра после замены CD4015 начала отделятся по яркости от других.
Тут, конечно индикатор не совсем правильно сделан, для современных индикаторов яркости с избытком. Идеальное решение, конечно, запитать сегменты через резисторы.
Если использовать АЛС с общим анодом то можно подавать регулируемое напряжение на аноды АЛС и менять яркость. Я такое же делал с 74НС595 и АЛС подавая 1,8 вольта через стабилизатор на общий анод АЛС. 
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 12, 2021, 10:43:36 pm
Что есть то есть. Да нормально. Тут же не то чтобы необходимость спаять с меньшими затратами, а чисто в удовольствие.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 12, 2021, 10:46:25 pm
Это макет на печатке можно и смд резисторы заложить.
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 12, 2021, 11:28:39 pm
Подкорректировал схему

А что за опора на SI стоит на 50 МГц? С фазовыми шумами у неё всё в порядке?  cr123
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 13, 2021, 12:17:16 am
Вот пробуйте, первый блин 123123. Прошивка для синтеза опоры. Тут все согласно Вашему ТЗ, кроме программы управления Si5351A, она отключена.
Пока нет индикации шага валкодера. Пока тестируйте то что есть. На дисплей должна быть выведена минимальная частота первого диапазона 1800000 гц, при вращении валкодера она должна меняться. При достижении максимальной частоты данного диапазона, частота прыгает назад, на минимум. Нажатеи кнопок диапазон вверх вниз, соответственно должна меняться частота на дисплее, на выходах регистров должна появляться единица в соответствующем месте. Кнопки Step должны менять шаг, вверх-вниз. Соответственно и на дисплее частота должна меняться валкодером на значение установленного шага. При нажатии кнопки блокирования валкодера, должен зажечься светодиод на выходе порта D6 и должен блокироваться валкодер. Повторное нажатие кнопки отменяет предыдущее действие. Тумблер переключения боковой пока не задействован.
Пока даже не прогнал программу в пошаговом режиме,так что работоспособность под большим вопросом, но попытка не пытка. Ничего не сгорит lol22.
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 13, 2021, 12:22:09 am
появились импортные АЛС засветить которые хватало тока с К561ИР2.

Я так никогда не делал, ибо это противоречит даташиту, и ставит микросхему раком.
В размерах, как я понимаю, ограничений нет, транзисторы буферами туда поставить, и дело с концом... pl33
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 13, 2021, 09:39:21 am
Кино https://youtu.be/4AQxzrDNu3g

Прокоментирую видео. При включении частота 02,000,00. На энкодер ноль реакции, хотя импульсы есть. Пока впаял механический. Из кнопок работает только ШАГ ВВЕРХ, остальные ноль реакции. Если ШАГ ВВЕРХ гонять быстро, то на дисплее кракобязины вылетают и синтез клинит. На видео видно. Пока так  1yep dontt44
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 13, 2021, 09:58:38 am
Если ШАГ ВВЕРХ гонять быстро, то на дисплее кракобязины вылетают.
Ну вроде один косяк нашел. Я при отладке убрал задержки при выдаче импульса записи в индикаторы, так как при отладке слишком долго отрабатывает. И забыл их вернуть.
Насчет кнопок. Гляньте  схему Ардуино. Какое напряжение там подается на вход AREF, это 17 нога. Или замерьте.
Новая прошивка, вернул задержки.
Если опять будут проблемы, я спаяю у себя макет. Или поставлю "Протеус". Иначе будем переписываться до "второго пришествия".
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 13, 2021, 10:03:25 am
Так кнопки вроде на PC0 висят?!  cr123
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 13, 2021, 10:06:20 am
Так кнопки вроде на PC0
Да, а AREF это опорное напряжение, с которым сравнивается входное на входах АЦП.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 13, 2021, 10:11:00 am
На AREF 5.1 Вольт. Проверил кнопки нажимая по очереди там напряжения все согласно схеме.
Залил новую прошивку. Ни чего не поменялось. Так же клинит и работает одна кнопка Диапазон ВВЕРХ. Остальные кнопки не работают как и валкодер.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 13, 2021, 10:22:54 am
Ладно, пока отложите. У меня индикатор подключен, кнопки на макете есть, только надо резисторы другие припаять, валкодер тоже есть, разъемы надо к нему припаять. Проверю, потом продолжим.
С наскоку не получилось. Но! Каждое уважающее себя устройство, не начинает работать сразу. lol22
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 13, 2021, 10:28:05 am
Проверю, потом продолжим.
Ок. Хорошо. Надеюсь всё получится!  lol22  123123  1999  id99  cr123  lol22

Каждое уважающее себя устройство, не начинает работать сразу.

Опорник должен получиться бомба.  1999
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 13, 2021, 03:05:03 pm

А что за опора на SI стоит на 50 МГц? С фазовыми шумами у неё всё в порядке?  cr123

Обычный прямоугольник, генератор на 50мгц. Типо такого. https://www.chipdip.ru/product/50mhz-hcmos-ttl?utm_source=google&utm_medium=cpc&position_type={position_type}|k50id|pla-293946777986|cid|11948935153|aid|488788063566|gid|114124782205&utm_campaign=G_tovarnieobjavlenija&utm_content=text1_ga&utm_term= Пока ничего там нет, сишка в виде модуля с китая едет и когда приедет пока вопрос. Потом гиацинт поставлю с умножителем по вашей схеме.
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 13, 2021, 03:37:19 pm
Обычный прямоугольник, генератор на 50мгц.

Имейте в виду, что шум хотя бы -130 дБ/Гц от него нужно получать, в противном случае, за общий фазовый шум я не ручаюсь.
Давал ранее схему удвоения кварца на 25 МГц - с ней всё гарантированно получится... 1yep 1999
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 13, 2021, 05:10:08 pm
А как на счёт Гиацинт-М ? Если 10 гармонику взять?
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 13, 2021, 05:32:07 pm
Без проблем. По-моему, тоже выкладывал. Гиацинт не шумит.  123123 cr123 1999
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 13, 2021, 06:16:51 pm
Гиацинт по стабильности хороший?
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 13, 2021, 06:24:40 pm
Лучше не найдёте. Только прогревать его долго.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 13, 2021, 06:35:55 pm
Ок ок. Как вы его калибруете ? Дайте методику.
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 13, 2021, 06:42:08 pm
Как вы его калибруете ?

По РВМ. Калибрую раз в полгода тот, что вставлен в Р-160, добиваясь при частоте приёма 4996 кГц 1 колебание в 40 секунд - разбег 0.025 Гц. Частота гетеродина при этом порядка 44 МГц.
Вот и считайте точность от 44000000 Гц сдвиг 0.025 Гц.
Естественно, это точность кратковременная.
По нему все остальные выставляю... pl33
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 13, 2021, 06:57:49 pm
Нулевые биения ка
К смотрели?
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 13, 2021, 07:04:39 pm
В Р-160 специально индикатор есть.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 13, 2021, 07:12:06 pm
А без р160 как измерить?
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 13, 2021, 07:19:09 pm
А без р160 как измерить?

Да элементарно. Настраиваетесь на РВМ (4996, 9996), когда она несущую даёт, выставляете на выходе тон 1 кГц, и, подкручивая свой Гиацинт, который опора в синтезе, выставляете по любому частотомеру нужные 1 кГц на НЧ выходе. Точности частотомера 6 знаков хватит за глаза.
Для полного счастья, чтобы цифры не особо прыгали, включаете телеграфный фильтр - у меня он во многих слабосигналках есть.
И на его частоте меряете... lllol
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 13, 2021, 07:39:45 pm
Звуковую карту компа можно использовать?
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 13, 2021, 07:49:07 pm
На всякий случай сгенерите ей 1 кГц и частотомером гляньте, насколько она врёт...
Название: Re: Опорник от Владимир_К
Отправлено: rtty от Май 13, 2021, 08:23:05 pm
Звуковую карту тоже желательно откалибровать, если это дешевка бортовая или какая-нибудь с-media.

Обычно это делал по программам sstv и rwm сигналу, потом уточненный семплрейт задаем в настройках и "вуаля".
Иногда попадались кривые карты с ошибкой до 300-600ppm.
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 13, 2021, 08:30:11 pm
Иногда попадались кривые карты с ошибкой до 300-600ppm.

Вот и я про то же... 1yep dontt44 cr123
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 13, 2021, 09:26:44 pm
А можно поделить 1кгц и деление загнать в какой то прибор который стрелкой бы показывал 1кгц
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 13, 2021, 09:39:21 pm
Конечно можно, только вот точность у стрелочных приборов вряд ли выше 1% будет. Что к частоте гетеродина 14 МГц даст точность, 10 Гц, для Гиацинта это сильно грубо...
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 13, 2021, 09:40:27 pm
Откалибровать стрелочный прибор
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 13, 2021, 10:13:15 pm
Возьмите нормальный кварц, поделите его до 1 кГц, полайте на смеситель, на второй вход смесителя - сигнал НЧ с приёмника, с которого с эфира 1 кГц получаете, на выход смесителя - стрелочный прибор, который будет болтаться с разностной частотой.
Если Вам так хочется со стрелкой... 44443
Название: Re: Опорник от Владимир_К
Отправлено: rtty от Май 13, 2021, 10:23:51 pm
Да проще звуковую откалибровать любым приемником (точность частоты не важна) по sstv+rwm потом любым спектролабом смотреть-измерять, введя в него ppm или прямо скорректированное значение sample rate.

Можно еще с 5-долларового GPS-модуля NEO-7( NEO-8 ) взять любую частоту для сравнения, они генерируют на выбор, там внутри синтез синхронизируется по 1pps. Можно и прямо 5МГц задать и потом даже не калиброванной звуковой сравнивать биения с "геоцинта".

Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 13, 2021, 10:40:20 pm
Ок понял. У меня карта ugm96. Третий сорт но что имею то имею
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 13, 2021, 11:16:27 pm
Тогда гиацинт будет поточности как 1 кГц кварц

Тогда у гетеродина, тактируемого сишкой, которая, в свою очередь, тактируется Гиацинтом, на частоте РВМ+ПЧ (это больше 10 МГц) будет АБСОЛЮТНАЯ ошибка та же самая, что у кварца на 1 кГц. АБСОЛЮТНАЯ.
Т. е., если кварц с ошибкой 1 Гц (относительная ошибка 0.1% - такие кварцы сразу в помойку  44443), то с той же ошибкой 1 Гц будет и гетеродин, если его частота 10 МГц, это будет относительная ошибка 0.00001%  lllol
Название: Re: Опорник от Владимир_К
Отправлено: zenit от Май 13, 2021, 11:18:38 pm
Третий сорт но что имею то имею
Третий сорт не брак так как четвёртый ещё не последний. lol22
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 13, 2021, 11:30:13 pm
Надо бы стендик для калибровки придумать
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 14, 2021, 01:23:46 am
Сегодня подключил валкодер. Отладил программу, раньше забыл в одном месте внести изменение, связанное с заменой выводов порта.
Если есть желание, можете проверить. Si5351A пока отключена.
Что-то не везет последнее время, надо на дачу ехать, а в тачке повороты не работают 56511. Так что, у меня сегодня более интеллектуальные задачи были. Какой-то м...к до меня, напутал в схемах проводки, а я теперь долбаюсь (говорили мне, покупай новую dontt44).
Хотел новую, но не хватило денег. Купил старую, остались деньги, можно прикупить еще козу, но коза мне не нужна.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 14, 2021, 07:32:44 am
Залил прошивку. Вроде все работает, но при нажатии на кнопку лок не горит светодиод лок. Ещё не проверял дешифратор и управление гун и делителем. Чуть позже проверю
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 14, 2021, 09:20:05 am
Сдвиговые регистры диапазонов работают, правда задом на перед, ну это все ерунда.
выбор ГУНов и упр. делителя не работают. И нет индикации ШАГа перестройки на табло.
Валкодер на 400 импульсов нормально отрабатывает. Но он очень резкий получился. Надо будет искать с меньшим шагом или как то делитель приспосабливать. Очень резкий валкодер. Острая настройка в паре с подшипником не дают точно настроиться. Как скальпель.
Правда когда быстро крутишь табло немного пульсирует по яркости.
Хотелочка: а ни как нельзя сделать в прошивке чтобы предыдущая частота запоминалась? А то с переходом с диапазона на диапазон синтез стартует с той частоты которая прописана в прошивке.  123123
А так в целом пока всё круто очень получается  1999 1999
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 14, 2021, 10:19:31 am
Вроде все работает, но при нажатии на кнопку лок не горит светодиод лок. Ещё не проверял дешифратор и управление гун и делителем.
У меня на макете кнопка lock работает, светодиод горит и валкодер блокируется. Проверьте монтаж и напряжения на входе АЦП, У меня напряжения такие:
0,93, 1,48, 1,99, 2,5, 2,98. Если не нажата ни одна кнопка, напряжение 5,03. Хотя, причина скорее не здесь, там интервал очень большой.
правда задом на перед
Если это напрягает, могу и переделать.  Но позже, наверное к вечеру.
выбор ГУНов и упр. делителя не работают. И нет индикации ШАГа перестройки на табло.
Я еще не делал это.
Но он очень резкий получился.

Потому я такие и не применяю, 60 импульсов, да еще интеллектуальный, самое то. Три синтезатора в народ пошли, довольны. Один товарищ для Р-143 хотел с переключением шага. Я сделал, потом предложил ему попробовать прошивку с интеллектуальным валкодером, после чего, от переключения шага он отказался. А у него диапазоны сплошные, не только любительские.
а ни как нельзя сделать в прошивке чтобы предыдущая частота запоминалась?
Можно, не вопрос. Но, если делать запоминание при выключении, тогда надо доработать схему. Надо запитать контроллер по двум линиям. На вход АЦП надо подать напряжение питания, а по питанию контроллера надо поставить электролит. То есть, контроллер проверяет напряжение питания схемы, как только оно упадет до некоторого значения, контроллер прерывает работу, запоминает частоту в ЕЕПРОМ. Все это время он получает питание от электролита, развязанного с остальной схемой диодом. Но, насколько хватит ЕЕПРОМ, не знаю. Гарантируют то производители много, кажется 100000 записей, но я один раз посадил память. Не знаю, что произошло.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 14, 2021, 10:26:53 am
У меня на макете кнопка lock работает, светодиод горит и валкодер блокируется.
Всё ок. Светодиод дохлый оказался.
Если это напрягает, могу и переделать.
Можно и так оставить. Просто записал на каком диапазоне какой пин задействован и всё.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 14, 2021, 10:28:35 am
 123123
Индикацию шага, в течение какого времени показывать, на 0,5 сек, или меньше?
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 14, 2021, 10:32:31 am
Можно, не вопрос. Но, если делать запоминание при выключении, тогда надо доработать схему.
ЕЕПРОМ не стоит наверное. Пусть стартует с запрограммленых частот. Только когда с диапазона на диапазон переключаешь было бы не плохо чтобы частота запоминалась. Привычка с старого аппарата ешё такая. А интелектуальный валкодер, не очень люблю. Пробовал как то, очень на любителя. Я по старинке шагами.

Кстати вопрос. А сишка сможет точно шагать, там ведь чтобы перестроиться на 10гц вроде надо шаг сишки чуть ли не пол герца...
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 14, 2021, 10:33:28 am
Индикацию шага, в течение какого времени показывать, на 0,5 сек, или меньше?
0,5 думаю хватит. А то слишком долго будет напрягать.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 14, 2021, 10:44:28 am
А сишка сможет точно шагать, там ведь чтобы перестроиться на 10гц вроде надо шаг сишки чуть ли не пол герца...
Да я как-то этим не особенно заморачивался. Когда подгонял частоту опорника с моим частотомером, вроде все совпадает до нескольких герц, но потом постепенно частоты уходят, или в синтезаторе кварц при  нагреве уходит, или в частотомере. Он у меня также самодельный.
Поэтому, получить точную частоту до долей герца я не пытался. Это надо посмотреть математику Сишки, я уже не помню значение делителя в знаменателе. От него зависит минимальный шаг перестройки. Так что тут есть определенные сложности.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 14, 2021, 11:00:04 am
Так то у Игорь2 сишкой тактируется да и Сергей делал опорник на дискавери + сишка. Работать должно.  lol22 123123
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 14, 2021, 11:59:37 am
Кстати, на дружеском форуме, как говорит Игорь, где его гоняют  lol22, нашёл схему делителя для валкодера на 4.
Название: Re: Опорник от Владимир_К
Отправлено: ra0ahc от Май 14, 2021, 12:54:47 pm
Это всё дела программерские  123123 не стоит пладить корпуса микрух. Антидребезг, деления, реверс, интеллектуальный шаг - это все делают программисты. 
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 14, 2021, 12:55:57 pm
Антидребезг
Кстати антидребезг было бы неплохо внедрить. А то на один щелчёк механического энкодера синтез делает несколько шагов. Я осцилом смотрел там дребезг реально есть.   123123
Название: Re: Опорник от Владимир_К
Отправлено: ra0ahc от Май 14, 2021, 12:58:57 pm
Кстати, сам не думал еще, Владимир вы не покажите свой вариант интеллектуального изменения шага перестройки  rrr7777
Я все больше склоняюсь, что это правильно. 
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 14, 2021, 02:44:26 pm
вы не покажите свой вариант интеллектуального изменения шага перестройки
Да не вопрос. Полный исходник в архиве. Но это синтезатор моего трансивера. Схему я выше выкладывал. Не знаю, кто как делает. У меня это так: таймер настроен на определенное время (уже не помню, несколько миллисекунд). Валкодер считает шаги в течение этого времени и число шагов сохраняется в буфере. Когда происходит прерывание по таймеру, смотрим, если в буфере не ноль (крутили валкодер), переходим к обработке. Частота, новая, равна прежней частоте плюс шаг, умноженный на квадрат содержания буфера валкодера. Таким образом,  если за время заданное таймером вы накрутили валкодер на один шаг, частота увеличится также на один шаг, накрутили два шага, частота увеличится, или уменьшится на 4 шага. Таким образом, при шаге 10 герц и числе делений валкодера 60, я могу, крутнув валкодер (а он на подшипниках) перестроиться на несколько кгц.

Антидребезг, деления, реверс, интеллектуальный шаг - это все делают программисты. 
Да, это так. Тем более, память контроллера заполнена меньше чем на четверть. Ну, еще добавится чуть чуть. Все равно места пустого много. Пока не знаю, как поделить импульсы валкодера. Скорее всего, опять же, будет какой-то буфер. В нем накапливается число, когда оно достигнет, скажем 4-х, в основной буфер добавляем единицу. По срабатыванию таймера, частота изменится на эту единицу, таким образом, число импульсов будет поделено на 4. Вроде все логично, но надо пробовать, может что неожиданное вылезет.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 14, 2021, 02:52:29 pm
Игорь2 по сколько сишка должна шагать чтобы обеспечить шаг на выходе вашего синтеза в 10гц?
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 14, 2021, 03:01:50 pm
На нижних диапазонах - 10 Гц, на верхних - 5...
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 14, 2021, 03:09:47 pm
Где делитель на 2 там 10Гц шаг сишки = 10гц на выходе гунов, и где 4 делитель там 5гц = 10гц на выходе гун, правильно?  123123
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 14, 2021, 03:21:57 pm
сколько сишка должна шагать чтобы обеспечить шаг
Да не шагает она никуда. Частота которую выдает сишка определяется так:
Делим число 900000000/частота. Получаем какое-то значение. Дробная часто отбрасывается. Например, частота 20012021 гц. 900000000/20012021=44. Если бы получилось нечетное число, то его уменьшаем на единицу, то есть число всегда четное, целое. Затем умножаем 20012021*44=880528924. Вот на этой частоте будет работать ГУН сишки. Дальше программа вычисляет делитель в цепи PLL, который представляет собой число а+в/с. Где с - знаменатель дроби мы задаем, обычно я беру максимальное значение, оно определяется разрядностью делителя и равно 1048575 (это FFFFF, в шестнадцатеричной системе).
То есть частота кварца, умноженная на (а+в/с), должна составлять 880528924. а - целое число. в - также целое число, максимальное значение его также FFFFF.
Таким образом, в принципе возможно получить точность генерируемой частоты в доли герца. Но для этого, надо бы менять и с, но этого мало никто не делает. Делает программа компьютерная, от производителя сишки, которая может управлять и  платой, от их же, которая стоит сотни долларов. Вот та программа может выдать любую частоту с большой точностью.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 14, 2021, 03:32:54 pm
Частота которую выдает сишка определяется так:
(http://arcanumclub.ru/smiles/smile42.gif) сложно даже представить этот алгоритм в программном коде..как это всё вычислять при повороте ручки валкодера))
никто не делает
А у вас софт вычисляет С ?
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 14, 2021, 04:09:00 pm
А у вас софт вычисляет С ?
Нет, я выше писал, я беру его максимальным. А вот насколько точно выдает сишка частоту, это может сказать тот у кого есть частотомер, с точностью, скажем 0,1 гц.
Но, погрешность в математике тут конечно присутствует. Наверное, ее можно свести к нулю (точнее к точности частоты опорного кварца), если опорный кварц будет выдавать точно 27000000 гц, без всяких запятых и пр. Но это может сказать тот, кто дружит с математикой и у него есть желание в этом ковыряться.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 14, 2021, 04:38:52 pm
Ошибку можно будет опорником подстроить как я понимаю?
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 14, 2021, 05:00:06 pm
правильно? 

Да...
Название: Re: Опорник от Владимир_К
Отправлено: ra0ahc от Май 14, 2021, 05:18:08 pm
Нет
На разных диапазонах разная ошибка будет. Поэтому надо в расчетах подстраивать частоту кварца до 1 гц , тогда математика будет работать везде.
Веселин определил , что максимально возможная частота кварца (опоры) не должника превышать 66 мгц. И с этим согласен!
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 14, 2021, 05:45:47 pm
максимально возможная частота кварца (опоры) не должника превышать 66 мгц.

Странно. У меня до 95 МГц, насколько помню, одна из сишек ещё работала.  cr123
И на 75 МГц я даже ориентировался поначалу... cr123
Название: Re: Опорник от Владимир_К
Отправлено: veso74 от Май 14, 2021, 06:16:05 pm
... Веселин определил , что максимально возможная частота кварца (опоры) не должника превышать 66 мгц. И с этим согласен!
Ето не так, а такой был мой макс. доступной кв. генератор, с которой Si работала.
---
3 лет назад перед написанием кода я сначала попробовал много вариантов вычисл. с помощью Excel.
В расчете в MCU погрешность выше (есть float в вычисл., а в avr-gcc float: 6-7 ч. после запетаи), но с uint64_t (и без float, в Arduino нет double), при необходимости можно братить внимание и на погрешность. А и так она достаточно мала.
 
Ниже: в случае алгоритм вычисл.: при с' = 0xFFFFF и частота: 23,201500 MHz.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 14, 2021, 07:39:26 pm
А то на 80м даже 10гц на слух чуят  lllol
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 14, 2021, 07:44:16 pm
Сишка это один сплошной нюанс. Конечно лучше было бы поставить ad9850, но там опора 125мгц которая плывет и гиацинт уже не поставить.... И нет готовых решений по кодам
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 14, 2021, 07:50:52 pm
У меня кстати ад9850 есть)) в виде модуля с али.
Вопрос для Владимир_К. Возможно ли ад9850 к этому синтезу присобачить чтобы не париться с коэф-ми для сишки? Вроде Игорь2 говорил что спуры его синтез схавает...
Вопрос для Игорь2 реально ли гиацинт умножить до 125мгц чтобы затактировать ад9850?
Название: Re: Опорник от Владимир_К
Отправлено: veso74 от Май 14, 2021, 07:52:39 pm
Цитировать
... И нет готовых решений по кодам.
1. Ничего сложного, 40 бит (с 8 "нулями" в конце) из одного расчета и все.
---
2. Все ето на мой взгляд это не нужно (+ AD9850), сделайте какая-то частота (обязательно OCXO?) в нужном диапазоне и все заработает. Даже с 5 MHz можно попробовать, я попробовал с 10,000 000 MHz TCXO (вне диапазона по документации). А и с возможными внутренними коэффициентами все можно рассчитать "на бумаге" до того, как попробовать "в железе".
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 14, 2021, 08:00:52 pm
Это вы про ад9850?
Название: Re: Опорник от Владимир_К
Отправлено: veso74 от Май 14, 2021, 08:02:33 pm
певрое: о AD9850/51
второе: о вн. генератор к Si5351
---
A, я понял! (РУ->БГ). Вы хотите заменить Si5351 на AD9851. Код управления оч. прост. И ток над 100 mA/5V только для AD9851 чипа :/.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 14, 2021, 08:03:11 pm
Понял. Главное чтобы погрешности не было.
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 14, 2021, 08:37:08 pm
Вопрос для Игорь2 реально ли гиацинт умножить до 125мгц чтобы затактировать ад9850?

Ставите куча катушек, чтобы мусор подавить, и нет проблем.
Название: Re: Опорник от Владимир_К
Отправлено: ra0ahc от Май 14, 2021, 08:44:36 pm
Не выдумайте и не усложняйте . 5351 у меня работает в монстре. При хорошей экранировки ничего не свистит. В пч сишку я точно ставить не буду, потом блох гонять. У меня горячий опыт в трансивере Ильи с этими сишками . Их реально в кожух запаивать надо.
Я уже 3 синта Игоря собрал на сишках!!! Все работает как Часы.
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 14, 2021, 08:47:05 pm
Тоже везде в опорах синтеза 5351. Никаких проблем - именно с ними и давал все параметры... dontt44 cr123

Хотя, вопросом насколько точно там синтезируется частота при идеально точном опорнике не занимался. dontt44
Вроде бы, производитель пишет про нулевую погрешность в этом случае, вот только будет ли она такой, при заливке, отличной от того, что производитель рекомендует... lol22
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 14, 2021, 08:53:39 pm
Шота я вижу, ребенок еще не родился, а его уже не любят dontt44.
Название: Re: Опорник от Владимир_К
Отправлено: ra0ahc от Май 14, 2021, 08:55:32 pm
Опытом давим  lllol фактами lllol
Без обид
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 14, 2021, 10:58:37 pm
Да все нормально. Следуем планам
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 15, 2021, 10:59:03 am
Владимир_К реально прикрутить ад9850 к вашему синтезу?
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 15, 2021, 11:10:12 am
Вчера ввел индикацию шага перестройки. В общем, вывод такой - функция совершенно бесполезная. Во-первых индикация, даже если ее сделать 1 сек. мало информативная, через какое-то время, уже и забыл, какой шаг.
Ну, в общем смотрите, как оно будет выглядеть. Пауза сейчас 1 сек. Ввел также переключение делителя. Осталось ввести управление номерами ГУНов и запоминание частоты при смене диапазона, вроде так... Управление ГУНами я бы сделал на регистрах. Сейчас у нас задействовано 16 выводов на 16 диапазонов. И на хрена они, 16? Выкинуть 4 диапазона, 12 оставить (с головой хватит) и на освободившиеся поцепить ГУНы. Освободятся 4 вывода портов.
Решайте...
реально прикрутить ад9850
Да реально, только надо код новый написать для нее, или в интернете можно найти. Но у меня микросхемы нет и проверить мне будет не на чем.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 15, 2021, 11:25:25 am
Да можно и 12. Я тоже думал что переборщил с диапазонами. Разумное решение. А кстати код для 9850 есть у Веселина veso_74. Там правда в редакторе ардуино иде написано, но думаю для инфо глянуть можно. А модуль у меня есть, могу запаять и проверим. Прошивку сейчас опробую отпишу.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 15, 2021, 11:26:15 am
Ввел запоминание частоты.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 15, 2021, 11:31:02 am
Прошивку сейчас опробую отпишу.
Сейчас я выкину 4 диапазона и на регистры посажу переключение ГУНов. Исправьте схему регистров, там где выход регистра Band_13, будет ГУН1,  Band_14, будет ГУН2, Band_15, будет ГУН3, Band_16, будет ГУН4,
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 15, 2021, 11:33:20 am
 123123 залил программный HEX код. Всё работат. Даа, шаг виден, шаг работает. Частоту запоминает.  1999 но действительно не очень удобно. Лучше конечно светодиодами. Может повесить ещё один регистр последовательно? И туда выводить на светодиоды шаг?  dontt44
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 15, 2021, 11:38:00 am
А вот у Веселина нашёл код под AD9850 на два диапазона в редакторе АРДУИНО ИДЕ.

Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 15, 2021, 11:57:27 am
Выкинул 4 диапазона, на оставшиеся повесил управление ГУНами. Проверьте пока это, потом будем думать насчет светодиодов и еще одного регистра.
Индикацию шага можно сделать на дешифраторе, каком-нибудь. У нас есть выходы регистра, задействованные 10,11,12 диапазонами. Эти выводы можно кинуть на дешифратор и из трех получить 8 выходов. Один хрен корпус надо добавлять, или регистр или дешифратор.
 
в редакторе АРДУИНО ИДЕ
Достает меня этот редактор. Ни отладчика, ни хрена. И памяти занимает в три раза больше.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 15, 2021, 12:07:04 pm
Ок. Проверяю. А код чисто для ознакомления
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 15, 2021, 04:50:27 pm
 123123 вроде работает всё. Спасибо за работу. Очень крутая штукенция получается.  1999 1999 1999
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 15, 2021, 05:01:08 pm
Ну а ад9850 попробуете прикрутить к этому синтезу?  pl33 123123 lol22
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 15, 2021, 05:40:18 pm
ад9850 попробуете прикрутить
Попробую, но чуть попозже, может и завтра. Но тут проблема нарисовалась, пока ее не решу, с временем напряг. Вечером изучаю проблему, днем пытаюсь решить, но пока без результата.
Программирование AD9850, как я мельком глянул, намного проще Si5351A. Но для SI все готово, а с AD надо еще смотреть, хоть оно и просто...
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 15, 2021, 07:41:20 pm
Ок. Я пока ее впаяю. Вы только скажите какие порты задействуем под ее управление.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 16, 2021, 10:50:40 am
Вы только скажите какие порты задействуем
Написал тестовый код управления AD9850.
Подключение:
PC1 - подключаем к 25 выводу микросхемы (Data);
PC2 - подключаем к 7 ноге микросхемы (WCLK);
PB4 - подключаем к 8 выводу микросхемы (FQ_UD;
С опорником 125 мгц, микросхема должна выдать сигнал частотой 10 мгц.
Это тестовая прошивка, никакие функции синтезатора работать не будут, только ДДС и должен моргать светодиод, подключенный на вывод PD4 (Lock).
Файл назван AD9832, не обращайте внимание, он для AD9850.
Если будет работать, прицеплю ее к синтезатору.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 16, 2021, 11:01:03 am
Паяю ддс.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 16, 2021, 11:18:18 am
1. Ничего сложного, 40 бит (с 8 "нулями" в конце) из одного расчета и все.
Добрый день!
У меня к Вам пара вопросов. В Вашей прошивке, последнее слово, которое Вы загружаете в AD9850 "0b00000000".

 shiftOut(DATA, W_CLK, LSBFIRST, 0b00000000);

 В даташите "0b001xxxxx" где d6 это  Power-Down. Уточните пож. что туда ставить?
И еще, например частота 500 гц, в двоичном коде это 111110100. Как надо загружать в микросхему, в каком порядке?
Я понял что - сначала младший бит, т.е. 0, потом 0, 1,0 и так далее, или наоборот? LSBFIRST- это значит с младшего бита?
Название: Re: Опорник от Владимир_К
Отправлено: veso74 от Май 16, 2021, 11:58:30 am
Все из pdf-а (9850.jpg). LSB first = "младший значащий бит первым". LSBFIRST, MSBFIRST находятся во встроенной функции shiftOut(dataPin, clockPin, bitOrder, value) в Arduino IDE.
Просто нужно вызвать функцию, она готова.

shiftOut():
https://www.arduino.cc/reference/en/language/functions/advanced-io/shiftout\ (https://www.arduino.cc/reference/en/language/functions/advanced-io/shiftout\)
и
http://arduino.ru/Reference/ShiftOut

a если нужно ее сам сделать:
(C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\wiring_shift.c)
void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val) {
  uint8_t i;

  for (i = 0; i < 8; i++)  {
    if (bitOrder == LSBFIRST) {
      digitalWrite(dataPin, val & 1);
      val >>= 1;
    }
    else {
      digitalWrite(dataPin, (val & 128) != 0);
      val <<= 1;
    }
    digitalWrite(clockPin, HIGH);
    digitalWrite(clockPin, LOW);
  }
---
A ето "младший бит" :).
(lsb.jpg)
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 16, 2021, 12:05:25 pm
val >>= 1;
Спасибо. Вот это мне и нужно было, куда двигать?
Так val >>= 1, или наоборот val <<= 1.
если нужно ее сам сделать:
Да я так обычно и делаю, только было сомнение, куда двигать.
Название: Re: Опорник от Владимир_К
Отправлено: veso74 от Май 16, 2021, 12:26:16 pm
Если используемом IDE или у Вас нет своего, я бы экспортировал множество макросов/функции, уже встроенных в Arduino IDE, в вн. файл, библиотека. Они экономят время для писания кода и строки давно проверены (bitRead, bitSet, lowByte(w) ... max(a, b) ... abs(x), map(...), constrain(amt, low, high)). Часто обращаюсь к Arduino сроки, которые даже за CCS для PIC я недавно переписал, уже строко на полстраницы :). Кто как привык.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 16, 2021, 01:33:44 pm
я бы экспортировал множество макросов/функции, уже встроенных в Arduino IDE,
Я иногда это делаю, но, потом забываю, что у меня есть, а чего нет. Программированием я не часто занимаюсь, больше времени уделяю слесарным работам, да паяю..
Название: Re: Опорник от Владимир_К
Отправлено: zenit от Май 16, 2021, 01:54:30 pm
У меня к Вам пара вопросов. В Вашей прошивке, последнее слово, которое Вы загружаете в AD9850 "0b00000000".
Это регистр фазы который по сути не используем и там же младший бит включение внутреннего умножителя такта.  Если ноль то не умножать, если единица включено умножение на шесть для 9851. Зависит какой опорник на плате ддс 30 или 180МГц. Кстати АД9850 с алиэкспресса все работают с умножением на четыре если этот бит установить. А так же без проблем с внешним тактом до 200МГц. Естественно при питании 5 вольт. На 40МГц тактовый генератор умножается на четыре. Расчёт такта ведётся всегда с учётом множителя если он включен. Если генератор 30 то такт 180 и т.д.  9851 и 9850 самые простые в управлении ддс.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 16, 2021, 02:06:12 pm
Это регистр фазы который по сути не используем и там же младший бит включение внутреннего умножителя такта. 
Не, меня немного смутил 5 бит последнего байта. Пример на Ардуино, там ноли, а в даташите - 1. Обозначен этот бит как Power Down. И как это понимать, выключение это когда, если 1 или наоборот?. И вообще, что это за отключение. Спящий режим?
Название: Re: Опорник от Владимир_К
Отправлено: veso74 от Май 16, 2021, 02:09:44 pm
Цитировать
а в даташите - 1.
Дайте точного цитата из pdf (скрийн екрана), пожалуйста.
---
нашел Figure 13:
W32 = 0, W33 = 0, W34 = 1, W35..39 = x ето режим Serial Load Power-Down Sequence / Последовательность отключения. Точно, "спящий режим".

Нам нужна непрерывная работа AD (без программно выключения), фаза 0, без уножитель, поэтому все биты равны нулю.
Даже пробовал там телеграфная манипуляция (директно на основняя частота), рядом в приемника звучит неплохо.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 16, 2021, 02:45:49 pm
Припаял DDS, залил программный код. Мигает светодио, на выходе DDS ничего нет.  dontt44
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 16, 2021, 02:49:35 pm
на выходе DDS ничего нет.
Ну вот, чего я и боялся. Если бы у меня была микросхема, мог бы попытать у себя. Если бы у меня не работала, тогда 100% надо ковыряться в программе. А что сейчас думать, не знаю. Хотя, остается небольшая надежда, прогоню в пошаговом режиме, может где "косяк" допустил..
Покажите схему подключения. Обратите внимание, для переключения в последовательный режим записи, надо ногу 2 на землю, ноги 3 и 4 на + питания. Проверьте генерацию опорника.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 16, 2021, 02:57:05 pm
 123123 123123 123123
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 16, 2021, 02:59:47 pm
Опорник генерит 125мгц.  123123
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 16, 2021, 03:01:13 pm
Модуль у меня вот такой.  123123
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 16, 2021, 03:03:58 pm
Модуль у меня вот такой.
А кто подскажет.. RESET - надо туда что-то подавать?
Схему, что Вы выложили, там же ни хрена не видно.. Вот сравните с этой схемой.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 16, 2021, 03:07:47 pm
У Веселина он ресет на массе сидит.  123123

Там кстати D7  ещё на ардуину идёт.  123123 123123
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 16, 2021, 03:11:23 pm
Тоесть включать как на вашей схеме ддс?
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 16, 2021, 03:12:06 pm
Ок. Сейчас заземлю что не заземлил как у вас в схеме
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 16, 2021, 03:17:02 pm
Там кстати D7  ещё на ардуину идёт.

Я не знаю, что такое D7. Я выше писал:
PC1 - подключаем к 25 выводу микросхемы (Data);
PC2 - подключаем к 7 ноге микросхемы (WCLK);
PB4 - подключаем к 8 выводу микросхемы (FQ_UD;
Но это выводы не модуля, а микросхемы. Так что сравнивайте со своим модулем. Ну или по схеме, что я выше выложил.
А понял, D7 это седьмой бит, при параллельной загрузке и он же используется как вывод ДАТА, при последовательной загрузке, как у нас. На микросхеме это 25 нога. На модуле, это вроде четвертый вывод?
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 16, 2021, 03:23:24 pm
как на вашей схеме ддс
Это не моя схема. Когда-то паял ее, там программа была не моя.
Еще раз, по порядку.
1 вывод модуля - питание:
2 вывод модуля - WCLK:
3 вывод модуля - FQ_UD:
4 вывод модуля - Data:
5 вывод модуля - Земля:
6 вывод модуля - Земля:
10- вывод модуля - Выход сигнала:




Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 16, 2021, 03:28:00 pm
Ну в схеме что вы выложили как раз и есть модуль  444tom
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 16, 2021, 03:36:38 pm
Подключил согласно этой схеме. Нет выхода  56511 dontt44 123123
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 16, 2021, 03:55:09 pm
Нет выхода
Не мучайте. Есть косяк в программе.
Пробуйте с этой прошивкой.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 16, 2021, 04:09:10 pm
 dontt44 залил. Нет выхода..и светодиод лок горит постоянно.  123123
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 16, 2021, 04:20:47 pm
Нет выхода..и светодиод лок горит постоянно.
Блин.. Забыл вернуть задержки. В пошаговом режиме я их убираю, иначе "шагать" будет до второго пришествия... А вернуть взад забыл.
Но это, могло повлиять на светодиод, он теперь горит, на самом деле не постоянно, но с большой частотой, так что создается впечатление, что горит он постоянно. А вот ДДС-ка вроде работать должна бы.
Я сейчас сделал чтобы ДДС-ка загружалась постоянно. Попробуйте увидеть импульсы на выходах управления. Дата - там сигнал не периодический. Clk - периодический с большой частотой. И сигнал FQ_UD - периодический, но с большой скважностью, вряд ли Вы его увидите.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 16, 2021, 04:34:28 pm
Данные идут, вижу пачки на двух выходах и длинный сигнал на РB4
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 16, 2021, 04:41:12 pm
Наверное лучше подождём сишку. А то вы своё время тратить будете попусту. Без макетки сложно, будет до второго пришествия тут пробовать.
Название: Re: Опорник от Владимир_К
Отправлено: zenit от Май 16, 2021, 04:57:06 pm
Пример на Ардуино, там ноли, а в даташите - 1. Обозначен этот бит как Power Down
Если единица то выход выключен. С генератором 125 ноли отправить.
Есть там всего два нюанса.
Раз - после включения сперва нужно перевести ддс в режим последовательной загрузки
Clk = 0                                                     ;clk
Fq = 0                                                      ;Fq
RCALL us_1                                             ;пауза 1us
Clk = 1                                                     ;clk
RCALL us_1
Clk = 0                                                     ;clk
RCALL us_1
Fq = 1                                                      ;Fq
RCALL us_1
Fq = 0                                                      ;Fq

Два
Расчёт константы требуется один раз
Fdd_sclk =  CLKIN * 2^32                         ;Const  4 байта с плавающей точкой для расчёта где CLKIN тактовая частота генератора умножить на 2 в 32 степени

Расчёт регистров 4 байта
Reg_dds = Chastota  * Fdd_sclk                 ;Reg_dds  4 байта без плавающей точки

Загрузка в регистры 5 байт 4+1
Fq = 0                                                      ;порт в ноль- разрешить загрузку в буфер ддс
передать 4 байта  рассчитанного значения Reg_dds где младший бит идет первым а Clk  активный уровень высокий.
передать пятый байт ноль если умножение такта не используется или 1 если нужно опору умножать на 6
Fq = 1                                                      ;порт в единицу - защёлкнуть данные.

Проще не бывает и не надо ни каких либ и прочего ардуиновского замороченного кода с кучей строк.





Название: Re: Опорник от Владимир_К
Отправлено: zenit от Май 16, 2021, 05:07:26 pm
Подключил согласно этой схеме. Нет выхода
12 пин случайно не заземлили? В модуле он дублируется с 4 выводом. И ножка ресет 5 вывод должна быть на земле.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 16, 2021, 05:37:26 pm
Раз - после включения сперва нужно перевести ддс в режим последовательной загрузки
Во, вот так постепенно узнаем все тонкости (читать даташит на англицком лень). Спасибо!
Fq, это что такое? То, что в даташите обозвали как FQ_UD?
Название: Re: Опорник от Владимир_К
Отправлено: veso74 от Май 16, 2021, 05:55:11 pm
Core, попробуйте. AD9850, 10 000 000 Hz чтобы узнать, работает ли хардуерная часть.
Не пробовал код, такой тип модуля AD9850 у меня нет.
Не гарантирую, что загрузчика не будете удалить :).
880/9 байта
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 16, 2021, 07:13:38 pm
и длинный сигнал на РB4
Откуда он там? В программе он не задействован!
Ну да, в программе он, действительно не задействован, а в  260 сообщении, я написал, что на него цепляется;
PB4 - подключаем к 8 выводу микросхемы (FQ_UD); Но, сигнала там не должно быть! Должен быть сигнал на PB2.

А надо на PB2. Могли бы и сами догадаться lol22 lol22.
Так что переставьте.. Но программу по последней рекомендации от zenit я пока не успел доработать..
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 16, 2021, 07:36:16 pm
Прошивка с учетом последних рекомендаций.
Пробуйте, если еще не надоело 123123.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 16, 2021, 08:58:24 pm
Пробуйте, если еще не надоело .
 AD9832.zip (5.42 КБ - загружено 0 раз.)
Да как бы Вам, Владимир не надоело всё это.  lllol  Все мои хотелки в жизнь воплощать  lol22 Я уже наверное Вас достал. Это всё голодуха, сухари с в водой.  lllol lol22 dontt44 nea33 56511 lol22 lllol 444tom 123123
Перекинул я с PB4 на РВ2, загрузил крайнюю версию кода и модуль ДДС начал генерить 10мгц  id99 1999 Значит всё работает. Но PB2 занят в схеме. а нём табло висит вроде.  123123 123123 123123
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 16, 2021, 09:40:58 pm
Но PB2 занят в схеме. а нём табло висит вроде.
Это все невнимательность. Видать склероз уже начинается cry333. Смотрел на схему, какие порты свободны, решил использовать PB4 и даже написал, что на него цеплять надо. А запрограммировал на PB2.  Исправленную тестовую прошивку я Вам сбрасываю. Проверьте, а то чем черт не шутит, может и при замене 4-х цифр ошибусь. Итак, PB2 меняем на PB4.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 16, 2021, 09:46:01 pm
 123123 123123 Поменял на РВ4. Работает  lol22 1999 10мгц.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 16, 2021, 10:20:40 pm
Ок! Завтра состыкую.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 16, 2021, 10:22:16 pm
Ок. Вот и родится синтез крутой.  123123 кстати 26.000 вы специально размножили в предыдущих кодах? Или это глюки кода?
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 16, 2021, 10:24:10 pm
кстати 26.000 вы специально размножили
А что такое 26.000?
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 16, 2021, 10:27:17 pm
Начало диапазона.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 16, 2021, 10:39:38 pm
Из-за этой хреновины (16 диапазонов) я полдня потратил на поиски ошибки, которой в общем и не было. Тут такая ситуация возникла:
- в определенном месте программа проверяет номер диапазона и, если он больше 4-х, то программа выдает сигнал на включение делителя (согласно таблице от Игоря). Начинаю тестировать. Светодиод, который я повесил на выход для наглядности, включается, при включении диапазона 20 метров, так как этот диапазон  5-й, в списке. Потом дохожу до диапазона 26.000, светодиод горит, потом на табло появляется 1,8, 3,5 и т.д., а светодиод не гаснет. дохожу до 26.000, появляется 1,8 светодиод гаснет cr123. И вот тут переклинило. Какого хрена? Лишь потом вспомнил, что у нас то 16 диапазонов, 9 нормальных, а дальше опять появляется 1,8 мгц. Но он не 1-й, а 10-й, соответственно диод продолжает гореть как и положено. Поэтому я и внес в программу 9 нормальных диапазонов, а остальные, вплоть до 16-го, повторил 26.000. Потом часть убрал, чтобы освободить выводы регистра. Но все равно, в конце несколько осталось повторяющихся. Так что, то никакой не глюк. И лечится он просто.
В качестве условия, можно было бы поставить частоту. Но она занимает 4 байта, а номер диапазона - всего байт. Так что с ним, оперировать проще. Хотя, разницы особой нет.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 16, 2021, 10:51:20 pm
Понял. Ну а в конце концов дадите исходник и инструкцию где пч поменять и подкорректировать частоты ?
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 16, 2021, 11:02:42 pm
Я бы ещё вас хотел очень попросить сделать версию синтеза с ад9850 как основной первый гетеродин. Можно было бы применять его в простых конструкциях. Только опять же показали где в исходнике меня пч и границы диапазонов.

Это вообще шедевр а не синтез получится!
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 17, 2021, 09:38:09 am
версию синтеза с ад9850 как основной первый гетеродин.
AD9850, более менее сносный сигнал выдает до частоты 30 мгц. Для трансивера с гетеродином "всегда сверху", да еще если гетеродин должен выдавать удвоенную частоту, она никак не проходит. Поэтому, надо Si5351A.
Ну и таких синтезаторов, с прямым синтезом, у меня, а тем более в интернете, десятки вариантов. И именно такой я и выложил здесь:
http://analogtrx.com/SMF/index.php?topic=6.585
Начиная с 591 сообщения.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 17, 2021, 09:49:58 am
Вот как раз на семисегментниках + статическая индикация + 9850 и нет  1999
У меня на 9850 уже второй год аппарат с пч 10,7мгц на 80 и 40 работает. Сигнал нормальный, есть конечного пиликалки (спуры) если антенну вытащить, но в условиях городского шума эфира на полноразмерную антенну их не слышно. У меня в планах сделать на нч бенды с ПЧ 500кгц (монстрик с эмф) аппаратик с вашим синтезом. Так что вот. Было бы неплохо иметь у себя такой синтез. Так что прошу  123123 123123 123123
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 17, 2021, 10:00:16 am
Да, снизу гетеродин ставить не стоит - выигрыш по фазовым шумам, понятное дело, будет, но кучу появившихся прямо в ближней зоне ложных каналов, подавить будет проблематично. dontt44
К примеру, на скрине слева ложные каналы при приёме на 14 МГц, ПЧ=9 МГц и гетеродине сверху, справа - снизу.
Ложный канал приёма на 16 МГц справа подавлен смесителем лишь на 14 дБ.
Стрелкой показан основной канал приёма... no88 lol22
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 17, 2021, 10:02:36 am
Да да  123123 Я тоже сторонник гетеродина сверху. Но допустим при пч 500кгц лучше сделать его снизу, там полосовик будет эффективнее давить зеркалку, ну и на 40м где зеркалка нет вещательных станций. Так что для простого аппарата самое то.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 17, 2021, 10:07:27 am
 
У меня в планах сделать с ПЧ 500кгц аппаратик с вашим синтезом.
Делайте, как только появится что-то в железе, через пару дней будет и прошивка. 123123 123123
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 17, 2021, 10:09:00 am
Так железка есть в виде макетки. И АД9850 впаяна и вы запустили кодом на 10мгц.   123123
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 17, 2021, 10:13:03 am
Так я Вам более того скажу - при такой низкой ПЧ, радикального выигрыша гетеродина сверху нет, скорее даже, наоборот - зеркалку легче удавить при гетеродине снизу.
См. ниже картинки - слева - гетеродин выше, справа - ниже.
Два диапазона - 3.5 и 7 МГц. Основной канал приёма обозначен стрелками... 123123 1999
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 17, 2021, 11:38:51 am
И АД9850 впаяна и вы запустили кодом на 10мгц.
Проверяйте. Прошивка к Вашему макету. Cинтезатор прямого синтеза на Ad9850 cо стандартным расположением гетеродина. ПЧ - 9000000.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 17, 2021, 11:45:58 am
 lol22 ок. Ближе к вечеру проверю. Синтез не брал с собой  123123
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 17, 2021, 12:12:37 pm
если можно сразу пропишите пч 10,7 чтобы гетеродин был сверху. Я могу и макет к самодельному аппарату подключить, послушать эфир  1999
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 17, 2021, 01:29:28 pm
если можно сразу пропишите пч 10,7 чтобы гетеродин был сверху.
Если предыдущая будет нормально работать, тогда пропишу. Если в предыдущей есть ошибки, зачем плодить прошивки с ошибками?
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 17, 2021, 03:30:52 pm
Нет конечно. После 18:00 проверю.
Название: Re: Опорник от Владимир_К
Отправлено: RK4CI от Май 17, 2021, 06:37:59 pm
есть конечного пиликалки (спуры) если антенну вытащить,
Это только те спуры, которые пролезли в тракт ПЧ напрямую. А есть ещё спуры, на которых будет идти преобразование. И наличие которых вы заметите только подав достаточно мощный сигнал на вход трансивера. То есть, если с нормальным ГПД подав на вход какой то сигнал, то вы его услышите только на одной частоте. При наличии спур, кроме основного сигнала, при перестройке вы найдёте с десяток сигналов, у уровнями на 50-60-80 дБ ниже основного тона. И использование ключевых смесителей, усугубляет проблему спуров в разы. Ведь преобразование идёт не только на основной частоте ГПД, но и на 3-5-7 гармониках, и даже на чётных, только там подавление побочных каналов будет повыше. Так что проверка поражёнок при отключенной антенне, это способ обмана. В данном случае, похоже что самого себя.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 17, 2021, 06:38:20 pm
Залил код. Генерит на нч гетеродин вверх, на вч вниз, все как полагается. Но не работает валкодер.  123123
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 17, 2021, 06:59:14 pm
Так что проверка поражёнок при отключенной антенне, это способ обмана.

Да, это т. н. свистелки, а название "ложные каналы приёма" говорит само за себя - помимо основного канала, приёмник принимает и кучу других.
У меня под смесители на FST аналогичные по параметрам Скидану, написана матмодель (вон, чуть выше скрины как для гетеродина сверху, так и снизу), которая с довольно высокой точностью ни только частоты вычисляет, но и уровни подавления этих каналов смесителем.  1999
Написано, повторю, под Скидана, но и с двумя трансами вполне себе всё повторяется.  lllol
Название: Re: Опорник от Владимир_К
Отправлено: RK4CI от Май 17, 2021, 07:08:39 pm
которая с довольно высокой точностью ни только частоты вычисляет, но и уровни подавления этих каналов смесителем. 
Это только для основного тона. Ещё бы найти программку которая и наличие спур учитывало, и их уровень. А это похоже, только на реальном железе возможно измерить.
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 17, 2021, 07:21:30 pm
Ещё бы найти программку которая и наличие спур учитывало, и их уровень.

Так у меня же и считает уровень ложных каналов приёма прямо со входа смесителя. Модель под Скидана, но и под два транса, практически, то же самое и видел. Если откинуть искажения входного транса, о которых написал выше.
А свистульки я не считаю - при нормальном монтаже их просто не будет.  dontt44

Под иные смесители написаны другие пресеты, к примеру, есть под ADE-1H, там всё по-другому, есть под один ключ, там тоже своё, так что, универсальную программу Вам никто не напишет... lol22
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 17, 2021, 07:22:40 pm
Тема не о том  123123
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 17, 2021, 07:53:05 pm
 1yep dontt44 rrr7777
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 17, 2021, 09:09:34 pm
Но не работает валкодер.
Какие же Вы капризные, все что-то не работает 123123
А ежели так:
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 17, 2021, 09:15:00 pm
Работает валкодер, но валкодер не реагирует на кнопку лок. И ПЧ 10,7 пропишите.  123123
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 17, 2021, 09:24:45 pm
Работает валкодер, но валкодер не реагирует на кнопку лок.
Конечно не реагирует, ибо я эту функцию убрал.. Просматривал программу, смотрю строка какая-то. Думаю, на хрена она? Убрал. Оказывается это была блокировка валкодера. Я не могу в голове держать кучу программ, к сожалению  старый я уже 123123.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 17, 2021, 09:26:40 pm
Работает.  123123 Только ПЧ 9мгц.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 17, 2021, 09:32:38 pm
Только ПЧ 9мгц.
Держите 10700. Гетеродин всегда сверху.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 17, 2021, 09:35:34 pm
Она прежне 9мгц  dontt44
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 17, 2021, 09:37:42 pm
Не понял... Еще раз сбрасываю. Такая ситуация была как-то на сайте CQHam. У sgk был какой-то глюк с XLoader. Попробуйте перезапустить его, потом снова укажите на нужный файл.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 17, 2021, 09:39:31 pm
 1999 работает.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 17, 2021, 09:42:44 pm
Держите исходник. Можете править его по-своему усмотрению. Я к нему больше не возвращаюсь. Разве что, по большой нужде 123123 123123
Только сохраните мой вариант, для потомков 123123 123123, или если надо будет откатиться назад.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 17, 2021, 10:50:16 pm
Спасибо огромное!  123123
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 17, 2021, 11:09:50 pm
В папке проекта, что я Вам сбросил, есть Ваша схема. Но она не исправлена.
Надо особенно с регистрами уточнить, выбор ГУНов и пр. Внесите пожалуйста исправления, чтобы схема соответствовала функциям заложенным в программе. Надо привести в порядок материалы... Время пройдет, забудется, что к чему. Придется потом искать, почему не работает.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 18, 2021, 08:57:59 am
Вот тут, как понимаю, можно задавать состояния регистров?  123123
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 18, 2021, 10:44:15 am
 
можно задавать состояния регистров?
Да. Только делать это надо открыв проект. Запустите AVR Studio 4.19. В меню нажмите Progekt - Open Progekt. Укажите путь к папке. Жмите на файл с расширением .aps. Он со значком божьей коровки lol22. Откроется проект. Слева в окошке увидите перечень файлов проекта - Source Files, Header Files и пр. Нажмите на крестик, откроются файлы соответствующие. Нажмите на имя файла, он откроется в главном окне.
После внесения изменений надо проект компилировать. В меню Build - Clean - Rebuild All. После компилирования внизу появится сообщение, если с красной точкой Error, значит что-то сделали не так. Также могут появиться предупреждения, это не ошибка, но желательно без них.
После компилирования в папке проекта Default найдете обновленный НЕХ-файл. Главный файл проекта main.c. В нем находится главная функция int main (void).
Таблица, которую Вы показали, содержит содержание регистров. При работе программы в регистры выводится строка соответствующая диапазону (во, пока писал, нашел ошибку) в таблице. Попробуйте сами ее увидеть lol22. Подскажу немного. Внизу, последние 4 строчки - там кроме включения соответствующего ДПФ, также включаются ГУНы. А в предыдущих строчках их нет. Цифра, стоящая справа (то есть младший бит байта) идет первой, то есть она загоняется в конец регистра.
После компиляции нажмите Save Progect. При запуске Studio в следующий раз проект откроется. Но для этого надо зайти в настройки и указать там, чтобы при запуске студии открывался последний проект. В общем, думаю, разберетесь.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 18, 2021, 10:54:21 am
Спасибо за раскрытый до мелочей ответ.  1999 123123 id99

Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 18, 2021, 10:58:55 am
 
раскрытый до мелочей
Это можно подробно тут прочитать: http://easyelectronics.ru/avr-uchebnyj-kurs-programmirovanie-na-si-chast-1.html
Судя по картинке, что Вы выложили (подсвеченный шрифт) Вы проект уже и сами открыли и мои пространные опусы, лишние 123123.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 18, 2021, 11:00:13 am
Судя по картинке, что Вы выложили (подсвеченный шрифт) Вы проект уже и сами открыли.

Да, это через редактор. Попробовал скомпилировать, всё получилось.

Ещё такой вопрос, если у меня будет задача уменьшать кол-во диапазонов, то что редактировать? Я как понимаю там удаление лишних столбцов в начале, где прописываются границы и стартовые частоты и удаление строг регистров не обойтись.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 18, 2021, 11:19:55 am
/************  Частотный план трансивера  *******************/

unsigned long    freq_max[13]={2000000, 3800000, 7200000, 10150000, 14350000, 18168000, 21450000, 24990000, 30000000, 30000000, 30000000, 30000000};
unsigned long    freq_min[13]={1810000, 3500000, 7000000, 10100000, 14000000, 18068000, 21000000, 24890000, 26000000, 26000000, 26000000, 26000000};
unsigned long frequency_1[13]={1810000, 3500000, 7000000, 10100000, 14000000, 18068000, 21000000, 24890000, 26000000, 26000000, 26000000, 26000000};

Найдите эту таблицу. Вот я подсветил числа, относящиеся в диапазону 0. Удалив эти цифры, Вы исключите этот диапазон. Но, теперь нулевой диапазон уже будет не 160 метров, а 80 метров.
 Число в квадратных скобках должно быть на 1 больше, чем диапазонов в таблице.
 В программе надо найти еще места, где надо внести изменения. Во-первых убрать строки из таблицы, которую Вы выложили.
Во-вторых, вот здесь:
   if (l==7)
   {
      _band=_band+1;
      if  (_band>11)   
         _band=0;
   }
 
   if (l==6)
   {
      _band=_band-1;
      if  (_band==0xFFFF)   
         _band=11;
При каждом нажатии кнопки переключения диапазона, номер диапазона увеличивается на 1. Тут есть условие if (_band>11) _band=0. То есть, при достижении максимального номера, идет перескок в начало.
А ниже строки, если достигли нулевого диапазона, переходим на последний.
Дальше, вот тут:
//if (_band<4) y_1=y_1+pch;
 // else y_1 = y_1-pch;
 y_1 = y_1+pch;
В зависимости от номера диапазона, ПЧ прибавляется или наоборот вычитается. Здесь условие закомментировано двумя //, то есть эти строки компилятор игнорирует (чаще делайте так, не убирайте строку, а просто закомментируйте ее, потом легче вернуть), и здесь ПЧ всегда прибавляется (последняя строка).
Обращайте внимание на всякие скобки, запятые и пр. Тут их никак нельзя игнорировать. Каждая запятая или скобка несет определенный смысл.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 18, 2021, 11:24:12 am
Ок. Понял. Буду вникать.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 18, 2021, 09:24:04 pm
Подцепил макет синтеза с прошивкой от Владимир_К адаптированную под AD9850 к приемнику.
https://youtu.be/3Yz4_tmKHJA
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 18, 2021, 09:37:07 pm
Чистый эфир... cr123
Название: Re: Опорник от Владимир_К
Отправлено: ra0ahc от Май 18, 2021, 11:08:41 pm
Прикольно. А без антенны как? Свистулек много ?
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 19, 2021, 07:36:06 am
Свистулек много да.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 19, 2021, 10:51:43 am
Свистулек много
Собирайте ГУНы. Программу доработаю. Также в планах под индикатор на МАХ7221. И варианты на AD9850 и Si5351A.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 19, 2021, 10:52:52 am
Комплектующие едут  123123
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 19, 2021, 12:41:39 pm
На диапазонах, где частота меньше 10 мгц, слева нуль незначащий. Его можно убрать.
В программе найдите строки:
send_l(led);
led=(Numbers[(int)N1]);

Замените так:

send_l(led);
if (N1!=0)
led=(Numbers[(int)N1]);
else
 led=0b00000000;
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 19, 2021, 12:45:06 pm
 123123 ок
Название: Re: Опорник от Владимир_К
Отправлено: Alex42 от Май 19, 2021, 12:56:46 pm
к приемнику.
А какой у Вас приемник, эфир 80ка очень чистый 1999 и какие условия приема? dontt44
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 19, 2021, 02:09:17 pm
Четверть монстр с ленинградским фильтром.
Название: Re: Опорник от Владимир_К
Отправлено: ur5vft от Май 19, 2021, 03:13:32 pm
Четверть монстр
-  схема на полевых или биполярных?
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 19, 2021, 03:26:14 pm
На кт610
Название: Re: Опорник от Владимир_К
Отправлено: ra0ahc от Май 19, 2021, 04:24:23 pm
Я в Сочи вообще эфир потерял , все станции ка dx звучат.
3000 м горы Кавказа закрыли Россию
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 19, 2021, 04:39:26 pm
горы Кавказа закрыли Россию
У меня бывает соседская зарядка закрывает эфир))
Название: Re: Опорник от Владимир_К
Отправлено: rtty от Май 19, 2021, 06:48:00 pm
Посмотрел кино от Коре, а почему афтор не гасит нули МГц?
Обычно это считалось должным сервисом синтезаторов, после всяких старых ЦШ без гашения...
Название: Re: Опорник от Владимир_К
Отправлено: Core от Май 19, 2021, 07:18:08 pm
А мне так нравится когда все индикаторы горят.
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Май 19, 2021, 07:35:22 pm
Я в Сочи вообще эфир потерял , все станции ка dx звучат.

Летом семёрка рулит по ночам на Москву  cr123.
Я-то знаю...  1yep
Название: Re: Опорник от Владимир_К
Отправлено: Ut1lw от Май 19, 2021, 08:59:18 pm
А мне так нравится когда все индикаторы горят.
Аналогично! 123123
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Май 19, 2021, 09:24:36 pm
а почему афтор не гасит нули МГц?

Афтор вот так пишет:
На диапазонах, где частота меньше 10 мгц, слева нуль незначащий. Его можно убрать.
В программе найдите строки:
send_l(led);
if (N1!=0)
led=(Numbers[(int)N1]);
else
 led=0b00000000;
Припозднились Вы что-то, читайте 328 сообщение.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Июнь 08, 2021, 04:30:58 pm
Пришёл модуль на SI5351 и квадратный опорный генератор на 50МГц  123123 lol22 1999
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Июнь 08, 2021, 04:38:55 pm
и квадратный опорный генератор на 50МГц

И какие у него фазовые шумы?  cr123
Название: Re: Опорник от Владимир_К
Отправлено: Core от Июнь 08, 2021, 04:40:39 pm
Этот опорник чисто чтобы отладить опорник. Вместо него будет гиацинт с умножителем по вашим схемам.
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Июнь 08, 2021, 04:53:13 pm
 1yep
Название: Re: Опорник от Владимир_К
Отправлено: Core от Июнь 18, 2021, 02:25:50 pm
Владимир_К на форум не заходил уже почти месяц dontt44
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Июнь 18, 2021, 03:04:44 pm
Да был меньше часа назад... cr123
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Июнь 18, 2021, 06:54:28 pm
был меньше часа назад...
Вы же так зашифровались, что с другого компа так и не смог зайти, а был я не дома 123123. Набираю логин, пароль, хренушки.. Выдает - нет такого члена cr123. 16 вернулся. Да и сейчас, с телефона не могу. Ну телефон, то хрен с ним..
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Июнь 18, 2021, 07:37:48 pm
Не знаю, что там за шифровка, у меня десяток компов с любого вхожу без проблем, как и с любого провайдера... dontt44
Название: Re: Опорник от Владимир_К
Отправлено: Core от Июнь 18, 2021, 07:56:16 pm
Буквально пару часов назад форум упал. У меня тоже не заходило.
Владимир_К я почитал письмо. К понедельнику подготовлю все и начнём.
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Июнь 18, 2021, 08:09:07 pm
Буквально пару часов назад форум упал.

Он раньше упал. Исправлено... pl33
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Июнь 18, 2021, 08:19:49 pm
у меня десяток компов с любого вхожу без проблем
На одну буковку ошибся (причем маленькую), при вводе пароля, и уже не пускаете. Капризные шото стали cry333
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Июнь 18, 2021, 08:41:17 pm
Капризные шото стали

 dontt44 cr123
Название: Re: Опорник от Владимир_К
Отправлено: Valery Gusarov от Июнь 18, 2021, 09:03:08 pm
при вводе пароля
Ну вот... А я свой не помню уже.
Слетит (как личные кабинеты регулярно в налоговой и прочих госуслугах) и усё.
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Июнь 18, 2021, 10:58:19 pm
Слетит (как личные кабинеты регулярно в налоговой и прочих госуслугах) и усё.

Нельзя так к паролям относиться.  cr123
К примеру, у меня есть ZIP архив, куда все они собраны, который, в свою очередь, заперт на длиннющий пароль, который не забудется. И ничего никогда не теряется.
Файл хранится на рабочей машине, не связанной с Интернетом.  lol22
Все документы задублированы не менее чем трёхкратно.
Так что я с форума не потеряюсь.  1999 123123
Название: Re: Опорник от Владимир_К
Отправлено: Ut1lw от Июнь 19, 2021, 05:50:07 pm
 
длиннющий пароль, который не забудется.
В сантиметрах? lllol
Название: Re: Опорник от Владимир_К
Отправлено: Core от Июнь 19, 2021, 06:03:33 pm
48 сантиметров высота пароля
Название: Re: Опорник от Владимир_К
Отправлено: Игорь 2 от Июнь 19, 2021, 06:15:30 pm
В сантиметрах?

Берите больше... cr123
Название: Re: Опорник от Владимир_К
Отправлено: ur5vft от Июнь 19, 2021, 07:14:14 pm
А я свой не помню уже
-пишите везде в пароле  имя и день рождения тещи 33wr lllol lllol lllol,гарантирую , будите помнить всегда..  1yep 44443
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Июнь 29, 2021, 12:36:38 pm
Шо та заглохла тема. Чтобы расшевелить, прошивка для синтезатора Core на Si5351a. Это пока прямой синтез. Не проверено, ибо не на чем проверить.
На выходах регистров:
- первые 12 выходов - управление переключением ДПФ и ФНЧ;
- последние 4 выхода - управление ГУНами. Эта функция уже работает, но это на потом, когда эти самые ГУНы будут присутствовать. Такая же ситуация и с управлением делителем.
Все остальное, вроде соответствует пожеланиям, высказанным в этой теме. Если что-то не упустил. Частоты выдаваемые на выходе Si5351A соответствуют прямому синтезу.
Название: Re: Опорник от Владимир_К
Отправлено: Core от Июнь 29, 2021, 12:39:37 pm
Владимир, разгребу текущие задачи, вернусь к этому проекту обязательно.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Сентябрь 14, 2024, 11:30:34 am
Появился некоторый интерес к синтезатору, поэтому выкладываю исходник программы и схему. Схему надо рассматривать творчески. Она делалась для себя и очень давно, поэтому неточностей там может быть достаточно. Схема самого трансивера вообще полностью переделана и на нее не надо обращать внимания. Все в одной папке и мне не хотелось что-то из нее выбрасывать и плодить еще папки. Тем более, что все это на CD.
Кратко об особенностях синтезатора:
- синтезатор прямого синтеза на Si5351A;
- индикатор частоты светодиодный со статической индикацией, схема индикатора от Тарасова UT2FW;
- SW-метр в виде линейки светодиодов (8 шт);
- Переключатель диапазонов галетный, принцип примерно такой-же как у Тарасова, но выполнен на регистре.
- Кнопки нефиксируемые, поэтому для индикации, какая кнопка была нажата, возле каждой кнопки расположен светодиод, индицирующий что функция включена. повторное нажатие выключает функцию;
Файл main.zip - НЕХ-файл прошивки. Проект на Си, среда AVR Studio 4.19.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Сентябрь 14, 2024, 12:57:47 pm
Небольшое дополнение. Программа не будет работать без подключения Si5351A, так как по шине I2C направляется запрос к Сишке. Если ее нет, нет и ответа от микросхемы. Для тестирования без Si5351A в программе в функции управления сишкой, надо вставить возврат из функции (return:), тогда после перехода в функцию, будет осуществлен возврат в основное тело программы.
В файле Si5351A.c изменить строки, вот так:

void si5351aSetFrequency(unsigned long z) // Функция управления частотой frequensy -параметр переданный в вызове функции из main
{
return;
   uint32_t pllFreq;                 // Определение переменных: pllFreq, XTALFreq, l, f, mult, num, denom, divider
   uint32_t xtalFreq = XTAL_FREQ;
   uint32_t l;
   float f;
   uint8_t mult;
   uint32_t num;
   uint32_t denom;
   uint32_t divider;
   if (z<11000000)
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Сентябрь 14, 2024, 02:08:48 pm
 
Появился некоторый интерес к синтезатору
Спасибо,что оживили тему!  123123
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Сентябрь 16, 2024, 07:59:02 am
Дальше, вот тут:
//if (_band<4) y_1=y_1+pch;
 // else y_1 = y_1-pch;
 y_1 = y_1+pch;
В зависимости от номера диапазона, ПЧ прибавляется или наоборот вычитается.
Владимир,в выложенном Вами исходнике не нашел этих строк,но там есть следующее:

/******************** Вычисление частоты  **************/

void sub_freg()                   

 
{
frequency =frequency_t;
 if (rit_1==0)                 

{
   //frequency =frequency_t;
   frequency=frequency+chagi*bufEnc*abs(bufEnc);
   
   if (frequency > (freq_max[(int)_band]))    frequency=(freq_min[(int)_band]);
   if (frequency < (freq_min[(int)_band]))    frequency=(freq_max[(int)_band]);
      frequency_t=frequency;
      }
 else 
 {
          rit=rit+chagi*bufEnc;
              frequency=frequency+rit;
      }         
      }
Я правильно понимаю,что править нужно здесь,чтоб частота на выходе SI5351 была Fприема+Fпч?
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Сентябрь 16, 2024, 11:41:59 am
Я правильно понимаю,что править нужно здесь,чтоб частота на выходе SI5351 была Fприема+Fпч?
Нет, не здесь. Что-то я не нахожу строк, которые Вы здесь выложили. У Вас, подозреваю, не тот исходник. Вот те строки, которые в Вашем сообщении выделены как цитата, откуда они? Их нет в исходнике, который я выложил в 361 сообщении. Разархивируйте исходник, откройте AVR Studio 4.19. Зайдите в меню, закройте проект, который сейчас открыт - Project - Close Progect. Затем откройте тот, что сбросил в 361. В проекте откройте файл si5351a.c.
В функции
void si5351aSetFrequency(unsigned long z)
найдите строки:
if (z<11000000)
   z=z+pch;
else z=z-pch;
   z=z;

Вот здесь условие, если z<11000000 (if (z<11000000)), то есть переданный в функцию аргумент (frequency), в самой функции ему присвоено обозначение z, проверяется его значение и если оно меньше 11000000, то частота ПЧ прибавляется, иначе (else) вычитается. Для того, чтобы частота всегда прибавлялась, сделайте вот так в этих строках:
//if (z<11000000)
    z=z+pch;
//else z=z-pch;
   z=z;
То есть, перед строками, которые надо убрать, ставится двойное //. Это называется "закомментировать" строку. Компилятор эти строки проигнорирует. Таким образом останется строка
z=z+pch; то есть, всегда ПЧ будет прибавлятся к z, а z, как я выше писал, есть не что иное как frequency, аргумент, переданный в функцию при ее вызове.
Ну и я бы не рекомендовал сейчас что-то править. Соберите схему, хотя бы макет, запустите в таком виде. Затем можно вносить правку и сразу проверять в "железе". Вообще желательно, делать правку хотя бы одной строки, компилировать (при компиляции, если будут ошибки в синтаксисе, компилятор об этом сообщит). Затем прошиваете и проверяете работу. Если что-то пойдет не так, сразу можно вернуться. Если сделать сразу много правок, потом трудно разобраться, где допущена ошибка. Синтаксис компилятор проверит, но он не проверит, если ошибка будет в алгоритме программы.
Кроме того, этот синтезатор выдает частоты, соответствующие частотам гетеродина, а у Вас по схеме Игоря, там есть и деление и пр. Поэтому пока ничего не правьте, запускайте пока так, все равно потом много чего надо изменять.
И еще, в 361 сообщении также выложен НЕХ-файл (main.zip) прошивки. Его Вы сразу можете программатором зашить в контроллер и проверить работоспособнось. Предварительно извлеките из архива.
Если Вы делаете правку, потом компилируете, компилятор создает новый НЕХ-файл. Он находится в папке default проекта - main.hex.
Еще заметил - строка z=z: совершенно лишняя. Просто удалите ее. Не понял зачем я ее воткнул..
 
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Сентябрь 16, 2024, 02:03:50 pm
Понял,благодарю!Если что-то меняю,делаю для себя пометки о том,когда и что поменял и сохраняю в разные папки,чтоб не запутаться.Сделаю как Вы сказали  123123 1yep
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Сентябрь 16, 2024, 02:23:14 pm
Если что-то меняю,делаю для себя пометки о том,когда и что поменял
Эти пометки Вы можете делать в тексте программы, для этого, в строке программного кода, ставите две косые черты // и дальше пишете свой комментарий, компилятор на него внимание не обращает. Но, комментарий должен быть в одной строке, если он переносится на другую строку, он также должен начинаться с двух косых черт.
Также все что находится между  /* какой-то текст */ косая черта и знак умножения (звездочка) и заканчивается */ будет проигнорировано. Кроме того, редактор текста, все что игнорируется компилятором, выделяет зеленым цветом.
Строки текста программы желательно не удалять, а выделять знаком комментарий, т.е. двумя чертами, тогда легко будет восстановить, убрав комментарий.
Смотрите на мой текст программы, как оно все выглядит. Если что не понятно, спрашивайте. По образцу легче понять логику...
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Сентябрь 16, 2024, 02:25:38 pm
Эти пометки Вы можете делать в тексте программы, для этого, в строке программного кода, ставите две косые черты // и дальше пишете свой комментарий, компилятор на него внимание не обращает. Но, комментарий должен быть в одной строке, если он переносится на другую строку, он также должен начинаться с двух косых черт.
Также все что находится между  /* какой-то текст */ косая черта и знак умножения (звездочка) и заканчивается */ будет проигнорировано. Кроме того, редактор текста, все что игнорируется компилятором, выделяет зеленым цветом.
Строки текста программы желательно не удалять, а выделять знаком комментарий, т.е. двумя чертами, тогда легко будет восстановить, убрав комментарий.
Да-да,все так и делаю! 123123 1yep
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Сентябрь 16, 2024, 02:30:11 pm
Владимир,а такой вариант управления индикаторами не рассматривали?
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Сентябрь 16, 2024, 03:22:26 pm
Нет. Но это не сложно, практически то же самое. Если спаяете такой индикатор, программу подкорректирую. Просто у меня была пара готовых от Тарасова, их и применял. Надо бы попробовать индикатор на базе MAX7921, но никак руки не доходят. Его надо проверить на наличие помех. Он поменьше раэмером, и плата  проще. То есть, я бы с ним пробовал.
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Ноябрь 01, 2024, 03:27:32 pm
Владимир,добрый день!Собрал индикатор и почти собрал макетку управления.Появились вопросы по кнопкам.Нашел RIT дважды.Могли бы Вы написать инструкцию по назначению кнопок?Может быть какие-то из них имеют двойной функционал или функции,не подписанные на схеме? 123123
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Ноябрь 01, 2024, 03:50:28 pm
И еще вопрос.Нужно ли где-то в исходниках прописывать частоту опоры SI5351? 123123
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Ноябрь 01, 2024, 06:14:28 pm
Появились вопросы по кнопкам.Нашел RIT дважды.Могли бы Вы написать инструкцию по назначению кнопок?
Добрый день! Там все просто. Каждая кнопка выполняет только одну функцию. Кнопки подключены к делителю, таким образом, нажатие кнопки выдает определенное напряжение, которое подается на вход аналого-цифрового преобразователя процессора. Через определенные промежутки времени (уже не помню, через сколько точно, примерно 4-5 миллисекунд) процессор проверяет, нажата ли какая-нибудь кнопка. Если ни одна кнопка не нажата, напряжение на входе ADC процессора равно напряжению питания, т.е. около 5 вольт. Тут одно надо понимать, ADC преобразовывает напряжение на входе в цифру. Напряжению 5 вольт соответствует 1024.
Проверка нажатия вот строки (файл Radio_76.c)
 if (AdcBuf>950)                                               // Кнопка не нажата - выходим
 {
    n=1;
 
    }
 
    }
т.е. если после преобразования переменная AdcBuf меньше 950 (950 взято для запаса, вдруг напряжение по какой-то причине просядет и будет не 1024, а меньше), то программа начнет отрабатывать алгоритм нажатия кнопки и, какая именно нажата. Если не нажата, программа возвращается в основной цикл.
Вот строки, где определяется какая кнопка нажата:
  if      (Adc_1 < 250)  l=0;          //AGC, т.е. если Adc меньше 250, то l=0 и т.д.
  else if (Adc_1 < 500)   l=1;         //RIT
  else if (Adc_1 < 800)    l=2;        //Att
 
 else l=3;   

Таким образом, в программе, фактически задействованы только три кнопки - AGC (кнопка переключения АРУ - ручная регулировка или авт.), RIT- кнопка включения расстройки. При этом частота приема будет указана на экране, частота передачи будет той, которая была до нажатия кнопки RIT. И последняя кнопка - кнопка включения аттенюатора.
Все эти кнопки без фиксации. При нажатии кнопки функция включается, при повторном - отключается.
Напряжения, при котором включается та или иная фуннкция (но переведенные в цифру) должны соответствовать напряжениям, которые выдает Ваш делитель. То есть, тут надо учитывать точность резисторов. Ну например, при нажатии какой либо кнопки у Вас напряжение на входе ADC равно 2,5 вольта, это 1024*2,5/5,0, т.е. 512. Условие пишем так:
if      (Adc_1 < 530)  l=0;          //AGC
почему именно 530, а не 512. Это вроде запаса, о котором я выше упомянул. Количество кнопок можно добавить, наример в одном варианте их было 12 штук. Но там надо тщательнее измерять. Обычно напряжение выбираются из ряда U1=0,5 вольта, U2=0,5*1,5, U3=0,5*1,5^2 и т.д. Т.е геометрическая прогрессия, где 1,5 коэффициент, который надо выбрать таким образом, чтобы напряжение от первой кнопки было 0,5 вольта, от последней - 4,0 примерно. Т.е. в зависимости от количества, больше кнопок - меньше коэффициент. Можно и проще, каждая кнопка дает напряжение, например на 0,5 вольта больше предыдущей.
На схеме нарисованы 7 кнопок, в программе задействовано кажется 6 (это я имею ввиду собранный и работающий вариант трансивера. Программу мог перепутать. Пока не будем искать соответствие, оно не важно, уточним потом.
Нужно ли где-то в исходниках прописывать частоту опоры SI5351?
Да, конечно. Она прописана в файле Radio_76.c, вот строка:
#define xtal   26691697         // Частота кварца платы приемника
При вызове функции, которая управляет сишкой, этот параметр передается, вот так:
 si5351aSetFrequency(frequency+pch_1, xtal);
где указана рабочая частота - frequency, к ней прибавляется частота ПЧ - pch_1 и передается частота кварца - xtal. Частоту кварца, в принципе, можно указать где угодно. Компилятор найдет.. Но все же, надо придерживаться какого -то порядка. Если, генерируемая частота будет отличаться от нужной, значит кварц генерит другую частоту и цифру в программе надо скорректировать. После прогрева, измеряете. Например если частота, которую выдает сишка, больше на 10 процентов, чем нужно, значит кварц выдает другую частоту, чем прописано в программе и, вот эту частоту теперь и надо записать в программе, т.е. увеличить именно на 10 процентов.
Я примеры взял из первой попавшейся программы, может у Вас другой исходник (уже не помню какой). Короче поищите в своем исходнике, потом, ежели что, уточним.

Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Ноябрь 01, 2024, 06:21:49 pm
Да, еще. Выше в этой теме, есть диагностическая программа для проверки индикатора. Коль Вы его собрали, можете проверить работу..
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Ноябрь 01, 2024, 06:29:09 pm
Я примеры взял из первой попавшейся программы, может у Вас другой исходник (уже не помню какой).
Да, все же не тот исходник я открыл. Поэтому у Вас будет файл не Radio_76.c, а main.c и частота кварца прописана в файле Si5351A.h:
#define XTAL_FREQ   32004212         // Crystal frequency
Давно это уже было, понемногу забывается. Да и сейчас в основном использую STM-32, а не Atmega328. Пока они дешевле...
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Ноябрь 01, 2024, 11:35:45 pm
частота кварца прописана в файле Si5351A.h
Да,нашел.Благодарю! 123123
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Декабрь 31, 2024, 04:54:43 pm
Здравствуйте,Владимир.Посмотрите пожалуйста,верно понял распиновку с контроллера на индикатор?Смутила надпись SK на разъеме контроллера.И правильно ли я понимаю,что тестовая прошивка может работать с контроллером и индикатором без клавиатуры и прочего обвеса?
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 01, 2025, 04:31:09 pm
.Посмотрите пожалуйста,верно понял распиновку с контроллера на индикатор?Смутила надпись SK на разъеме контроллера
Добрый день! Схема индикатора от А.Тарасова UT2FW. Такой индикатор был применен в одном из его трансиверов. Поэтому обозначение другое. То есть  SK на моей схеме это Clk у Тарасова. Тестовая прошивка будет работать без всех примочек, только проц. и индикатор. Единственное на что надо обратить внимание, так это на инвертор DD15C. В начале темы я об этом писал, почитайте там. Я с телефона пишу, неудобно, и не помню, вроде инвертор не нужен. Но я уточнить не могу, это надо открыть исходник тестовой программы и там посмотреть полярность сигнала Strobe на выводе порта PB1.
Кроме того, это зависит от того какие матрицы светодиодные применены. На схеме они с общим катодом, можно применить и с общим анодом при соответствующей коммутации питания, также надо проинвертировать все биты знакогенератора.
Если индикаторы у Вас с общим катодом, то надо только определиться с необходимостью инвертора.
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 02, 2025, 11:41:14 pm
На схеме они с общим катодом, можно применить и с общим анодом при соответствующей коммутации питания, также надо проинвертировать все биты знакогенератора.
Добрый день,Владиимр!На мою беду китайцы прислали индикаторы с общим анодом  nea33.Долго искал косяки,пока коллега,а потом и даташит,не ткнули носом.Перекинул плюс питания на эмиттер транзистора,соответственно сменив транзистор с npn на pnp.Дисплей ожил,тестовая прошивка замерцала индикаторами.Только цифр нет,почти все разряды залиты сплошняком,включая точки...Можно как-то исправить это дело в прошивке,не меняя разводки платы индикации?
Название: Re: Опорник от Владимир_К
Отправлено: Сергей Александрович от Январь 03, 2025, 12:24:32 am
Инвертор выкиньте со схемы. Владимир про это говорил.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 03, 2025, 12:59:42 am
Только цифр нет,почти все разряды залиты сплошняком,включая точки...
Сначала попробуйте выбросить инвертор, как выше коллега советовал. Если в плате нет ошибок, то цифры должны высвечиваться, но инверсно. Если же  засвечиваются все сегменты, то тогда где-то косяк.
Тестовая прошивка работает так - на индикаторе все нули, затем все единицы, меняется примерно через полсекунды и т.д. до девяток, затем снова.. У Вас, когда должны высвечиваться единицы, будут светиться все сегменты, кроме сегментов b и с. Если это так, то плата у Вас работает правильно, только надо в знакогенераторе все единицы заменить нулями и наоборот. Это я сделаю завтра.
Также попробуйте подпаять резистор примерно 1 ком между эмиттером и базой транзистора.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 03, 2025, 01:22:28 am
Сначала попробуйте выбросить инвертор, как выше коллега советовал.
Нет, в Вашем случае инвертор нужен. В программе для включения индикатора, на выход порта PB1 выдается единица, которая открывает транзистор (в этом случае инвертор не нужен), у Вас для включения индикации на базу надо подавать ноль. Поэтому инвертор оставьте. Если его у Вас изначально нет, тогда и не надо, я просто в программе поменяю сигнал Strobe на инверсный.
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 03, 2025, 11:05:51 am
Владимир,еще такой момент.Вы ранее писали,что заливаете прошивку через программу Xloader.В моем случае чистый контроллер atmega328 с кварцем 16МГц, без загрузчика.Заливаю через avrdude.Без инвертора индикаторы не горят.UPD.Залил тестовую прошивку с первой страницы,с ней наоборот,без инвертора светит,с ним нет.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 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.
Если это сделать сложно, тогда я исправлю проект, скомпилирую и НЕХ-файл сброшу, только уточните, есть ли у Вас инвертор?
             
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 03, 2025, 04:09:05 pm
сли это сделать сложно, тогда я исправлю проект, скомпилирую и НЕХ-файл сброшу, только уточните, есть ли у Вас инвертор?
             
Не сложно поправить и скомпилировать,Владимир.Инвертор имеется.Благо,пока все в относительно *черновом* варианте.Да,самое главное забыл - не уточнил у Вас ,какую печатку из архива выше использовать для индикатора 56511 Сейчас ловлю блох в разводке,ищу ошибки на предмет не правильной разводки и т.п.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 03, 2025, 04:32:27 pm
какую печатку из архива выше использовать для индикатора
В архиве файл печатки. Посмотрите, может возможно упростить. Делал давно. Металлизации отверстий нет, поэтому при распайке придется некоторые пятачки(у меня это третий2 и восьмой выводы индикатора), которые находятся на разных сторонах платы, соединить отрезками проволоки, примерно 0,25 мм диаметром. Это для распайки индикатора. Так как при установке индикатора на плату, некоторые пятачки находятся под индикатором и к ним доступа нет. Поэтому я делал так - в отверстие пятачка, который окажется под индикатором, вставлял проволочку и припаивал ее к пятачку, но так, чтобы отверстие было открытым. Затем вставляется индикатор и его выводы паяются к пятачкам, вместе с проволочками. Короче, тут творчески подходите. К тому же, возможно и распиновка Ваших индикаторов другая (хотя, скорее она стандартная). Некоторые выводы микросхем также паяются с обоих сторон. Но там доступ есть, поэтому проще. Индикаторы у меня вроде 0,36 дюйма.
Да, еще. Индикаторы и микросхемы распаиваются на пртивоположных сторонах платы.
Видео проверки с тестовой прошивкой здесь:
https://www.youtube.com/watch?v=JqKkpXOt4MY

Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 03, 2025, 06:05:07 pm
Как-то сразу не вспомнил.. В общем, ситуация такая - этот индикатор имеет некоторый "косяк". И заключается этот косяк в том, что здесь отсутствуют токоограничительные резисторы. Индикаторы, изготовленные по этой схеме применялись во многих конструкциях Тарасова, я их применял неоднократно и, никаких проблем не видел. Но, везде индикаторы были с общим катодом. Микросхема 4015 для зажигания сегмента выдает на выход ток. И он, в этой микросхеме и подобных, видимо как-то ограничен, скорее всего исходя из способа управления ключом. Тут работает верхний транезистор. Он стоком подключен к источнику питания, напряжение на затворе транзистора, когда он открыт, равно напряжению источника, даже, скорее всего, меньше. Так как светодиод подключен к истоку ключа, напряжение на истоке повышается, соответственно разность напряжения затвор-исток уменьшается.
В Вашем случае, при зажигании сегмента, ток от источника через светодиод будет втекать в микросхему через нижний ключ. И вот тут  может быть неприятность. Поэтому, я бы сначала попробовал с одним светодиодом. Возьмите любую МОП- микросхему и подключите к ней светодиод в двух режимах, когда м/с выдает единицу и светодиод анодом подключен к выходу микросхемы и, когда на выходе ноль, а светодиод анодом к источнику питания, а катодом к выходу. Вроде когда-то такой эксперимент я делал, но уже не помню. Что-то меня ситуация со светодиодными индикаторами с общим анодом, малость напрягает... dontt44
А паять еще и десятки резисторов, как-то не вдохновляет. Хотя место для них вполне можно найти.
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 03, 2025, 07:13:38 pm
Владимир,сильно благодарен за информацию! 123123 Буду копать дальше,глядишь дожму проект.
Название: Re: Опорник от Владимир_К
Отправлено: Сергей Александрович от Январь 05, 2025, 10:42:29 am
Почему не применить такой дисплей?
Смотри, что есть на AliExpress! 7-сегментный светодиодный индикатор для Arduino DIY за 121 ₽ - уже со скидкой -31%
https://sl.aliexpress.ru/p?key=bIxYGUO

Избавит от возни с кучей регистров.
Название: Re: Опорник от Владимир_К
Отправлено: UA0OAG от Январь 05, 2025, 12:18:05 pm
Избавит от возни с кучей регистров.
Он с динамической индикацией, много помех вырабатывает.
Название: Re: Опорник от Владимир_К
Отправлено: Сергей Александрович от Январь 05, 2025, 12:25:30 pm
Это все идет из ссср когда индикаторы потребляли большой ток. Эти индикаторы при правильном питании не шумят.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 05, 2025, 05:11:25 pm
Если у кого есть желание попробовать, могу в рассматриваемом здесь синтезаторе заменить индикатор на китайский на микросхеме MAX7221 (МАХ7219). Создает ли он помехи, не знаю, не проверял. Индикатор намного проще, меньше, не надо заморачиваться с пайкой нескольких микросхем. С белым свечением особенно нравится..
Скорее всего, проблему помех от индикатора можно решить и, не думаю, что это сложно.
Название: Re: Опорник от Владимир_К
Отправлено: BL68 от Январь 05, 2025, 06:13:41 pm
Я извиняюсь, немного со своей "колокольни"....
Может заменить индикатор на что-то типа SSD1309? Задействованы ноги РС0 и РС1 (I2C). Библиотек в инете полно, шума от индикатора нет.
Название: Re: Опорник от Владимир_К
Отправлено: Сергей Александрович от Январь 05, 2025, 08:25:58 pm
Тут «прикол» в индикаторах как у микроволновки.. 44443
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 05, 2025, 09:53:39 pm
Увы мне,увы.Не взлетело.Итак,имеющееся железо:индикаторы с али с общим анодом(как выяснилось позднее) 3912AG,управляемые 561ИР2,контроллер Atmega-328P PU с кварцем 16МГц,программаторы SI-Prog и USB-asp, Avrdude.Печатку проверил несколько раз,выявил небольшие огрехи,исправил,теперь все верно.МК прошивал и тестировал в управлении другим синтезом от Андрея UR3ILF,программа работала.С последней тестовой прошивкой переключение сегментов раз в несколько секунд.Менял местами строки,как советовал Владимир.Пока не могу понять,что делаю не так.Прошивка для теста скомпилилась без ошибок.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 05, 2025, 10:12:29 pm
С последней тестовой прошивкой переключение сегментов раз в несколько секунд.
Если у Вас применена микросхема Atmega328, Вы должны помнить, что фьюзы в микросхеме на заводе прошиты таким образом, что тактирование процессора осуществляется от внутреннего RC-генератора работающего на частоте 1 мгц. В моей программе переключение индикатора происходит через 0,5 сек. Это при частоте тактового генератора 8 мгц. Я обычно кварц на ставлю, а тактирую от RC-генератора частотой 8 мгц. То есть, если Вы не переустанавливали фьюзы, то у Вас переключение будет происходить через 4 сек.
Прочитайте программатором какие у Вас установлены фьюзы. Потом надо будет установить нужные.
Это что касается частоты перенключения. А то, что на индикаторе отсутствуют нужные цифры, с этим разберемся потом.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 05, 2025, 10:18:05 pm
контроллер Atmega-328P PU с кварцем 16МГц
Чтобы микросхема тактировалась от кварца, для этого надо прописать фьюзы должным образом. Иначе кварц, даже если он запаян, не работает, а может и работает, но тактирование от него не происходит.
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 05, 2025, 10:19:52 pm
Прочитайте программатором какие у Вас установлены фьюзы.
Вот так сейчас
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 05, 2025, 10:42:39 pm
Перепрошил 123123 Сейчас обновляется как на Вашем видео.Но цифры не отображаются,а лишь сегменты,видимо все же залетел с индикаторами nea33 Придется копать даташит и кроить печатку....
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 05, 2025, 10:45:17 pm
Ну вроде все так, как я выше писал. У Вас такт от RC-генератора и включен делитель на 8. Поэтому такт от 1 мгц. Сначала оставьте все как есть, но CKDIV8 измените на противоположное.  У Вас он включен (птичка установлена), эта долбаная PonyProg пытается запутать народ. Вообще правильно считается - фьюз установлен, когда в нем записан ноль. И обычно так все и считают. Но тут Понипрог подсуетилась...
Вот ссылка на калькулятор фьюзов.
https://radioaktiv.ru/avr_fuses_calculator.html?part=ATmega328P 
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 05, 2025, 10:53:52 pm
Сейчас обновляется как на Вашем видео.Но цифры не отображаются,а лишь сегменты,видимо все же залетел с индикаторами
Да ничего страшного. Это все правится в программе. Ничего с печаткой делать не надо.  Напишите что у Вас отображается на индикаторе, по порядку, потом будем кумекать и править программу.
Вам надо главное разобраться с индикаторами. То есть к каким выводам подключены сегменты. Сегменты расположены так - верхний -а, справа вверху - в, справа внизу - с, нижний - d, ну и так далее. Сравните со схемой индикатора у Тарасова. Но я не думаю, что там что-то напхимичили китайцы. Обычно, чтобы удобно выводить сегменты на выводы, применяют стандартное расположение. Но, еще раз - ничего с платой делать не надо. Это все просто сделать в программе.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 05, 2025, 11:02:26 pm
Кроме того, надо посмотреть на какие ноги 561ИР2 выводятся биты. Например число 10100110. Оно заталкивается начиная справа (а может слева, не помню, это сейчас не важно). То есть, в конце цикла, когда все биты будут записаны в регистр, после сигнала Strobe все эти биты будут выведены на ножки ИР2. То есть, сегиент, подключенный к выводу, на которм будет единица в Вашем индикаторе будет светиться. Таким образом, меняя цифры в знакогенераторе программы мы можем вывести любые цифры, а то и другие знаки, которые можно получить комбинируя зажженные зегменты.
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 05, 2025, 11:21:06 pm
Ничего с печаткой делать не надо
Нашел даташит.Если паять по схеме на эту же печатку,то получается,что индикаторы должны быть со стороны микросхем.Если  ИР держать к себе,то индикаторы с их стороны,над ними и точками вверх  56511
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 05, 2025, 11:39:35 pm
то получается,что индикаторы должны быть со стороны микросхем
Не надо обращать внимание на схему. Главное правильно подать нитание на микросхемы и нндикаторы. Если цифры выводятся не те, что надо, это правится в программе.
Давайте сделаем следующее:
Откройте проект, зайдите в файл 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};     
С такими знакогенератором на индикатор будет каждый раз выводиться (подсвечиваться) только один сегмент. А в самом начале вообще ни одного не должно светиться. Таким образом, программа выдаст нам какой сегмент соответствует установленному в программе. И тогда абсолютно станет ясно, какое число надо записать в знакогенератор, чтобы высветить например двойку.
Паять микросхемы со стороны индикаторов нехорошо, так как микросхемы будут упираться в переднюю панель, а у меня там, под индикаторами, между платой индикаторов и передней панелью, еще плата со светодиодами, которые показывают уровень сигнала.


Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 05, 2025, 11:57:29 pm
Не надо обращать внимание на схему.
Эх,поторопился....Перенес индикаторы на сторону микрух....И да,безрезультатно.Но начали моргать точки,до этого они просто светились  cr123 Сейчас все починю обратно,ибо точки наверху не комильфо.
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 06, 2025, 12:40:37 am
Вот так оно выглядит с измененной строкой   https://cloud.mail.ru/public/Dhzg/gmSsfuhst
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 06, 2025, 01:12:55 am
Вот так оно выглядит с измененной строкой
Ну так все хорошо. Я просто сгоряча, написал так, как должно быть в моем индикаторе. У Вас же наоборот, там где единица в знакогенераторе, там сегмент не горит. Вот еще раз взгляните на знакогенератор. Первое число сейчас 0х00. То есть, на выходе микросхемы все нули. Так как у Вас к выходам микросхемы подключены катоды индикаторов, то светятся все сегменты. Второе число в строке 0х01, или в двомчном коде - 00000001. То есть на одном выводе микросхемы будет единица и семент не светится.
Поменяйте в строке нули на единицы, т.е. там где 0х00, у Вас будет 0хff, где 0х01, надо записать 0хfe (это будет 11111110). В общем, думаю понятно.. Тогда при включении, сначала не будет ни одного сегмента, потом светится один, у Вас это сегмент a ну и так далее. Короче все работает, надо только поправить числа.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 06, 2025, 01:43:53 am
Все же есть неверное отображение у Вас. Первые семь комбинаций верно. Где-то косяк? Гляньте в программе в строке. Скорее там ошиблись? Вполне мог я ошибиться, проверьте следующее: например число 0x20. x - должна быть английская буква, я же набирал не помню как, возможно втулил русские буквы. И  если Вы скопировали строку из моего сообщения, то будет явная ошибка. Хотя, тогда бы вообще не понятно что отображалось бы...
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 06, 2025, 02:30:35 pm
Владимир,разобрался!Спасибо огромное за подсказки 123123  Строка должна выглядеть вот так :  char Numbers[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; Фух....Выдохнул.Все работает и отображается корректно.То есть получается,можно использовать индикаторы с общим анодом.Нужно лишь поменять транзистор на pnp ,завести + в эмиттер и прописать вышеупомянутую строку в файл дисплея. 1999 123123
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 06, 2025, 02:39:15 pm
Владимир,еще вопрос.Где и что поправить,чтоб завести S-метр на вход ADC5? В Вашем варианте задействован ADC7.И,как я понял,Si у Вас выдает два сигнала.Где и как поправить,чтоб она давала только один сигнал на CLK0?
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 06, 2025, 03:18:56 pm
Строка должна выглядеть вот так :  char Numbers[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
Ну нормально.. Хотя, есть и более изящный вариант. Чтобы не править всю строку знакогенератора, можно было бы поменять местами две строчки, вот здесь:
     tmp=led;
      
       for (t=0; t<8; t++)
      
        { if (tmp & 0x80)
      
               PORTB |=_BV(PB2);
      
         else PORTB &=~(_BV(PB2));      

        tmp <<= 1;       
      
        _delay_us(2);                                           
       
        PORTB &=~(_BV(PB0));
      _delay_us(2);
                             
        PORTB |=_BV(PB0);   

Это фрагмент кода из файла lcd.h. Что здесь происходит? Мы берем очередное двоичное число частоты (после преобразования частоты из десятичного значения в двоичный код), этому числу присвоено имя (переменная) led. Мы его значение присваиваем переменной tmp(над tmp мы будем кое-что делать, а led не должно изменяться). И выполняем цикл, восемь раз. Умножаем число на 10000000 (0x80), то есть выполняется логическое "и". Если левая цифра 1, то при умножении получаем единицу, то есть это будет "истина" и, если мы получили истину, то 
 PORTB |=_BV(PB2);, то есть на выход порта PB2 выводится единица. Если левая цифра была ноль, то при умножении получим ноль, т.е. "ложь" и, тогда:
 else PORTB &=~(_BV(PB2));
т.е. на выходе порта будет выдан ноль.
Затем число сдвигается влево на один шаг:
tmp <<= 1; 
Умножаем на 10000000 и т.д. все повторяем, 8 раз.
Это для моего индикатора. В Вашем случае, надо бы эти строки поменять местами, т.е. если левая цифра ноль, то на выход порта надо выдать единицу и наоборот.
Но это так, мысля вчера пришла перед сном. А коль все работает, то пусть так и остается. Теперь Вы должны в файле lcd.h полной программы синтезатора заменить строки так, как это сделано в тестовой программе.   
                 
Где и что поправить,чтоб завести S-метр на вход ADC5?
Сбросьте сюда архив исходника, который Вы используете, чтобы не было путаницы.. Потом я подскажу, где исправить..
Или укажите, из какого сообщения Вы используете исходник?
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 06, 2025, 03:28:10 pm
Сбросьте сюда архив исходника, который Вы используете, чтобы не было путаницы.. Потом я подскажу, где исправить..
Вот 1yep
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 06, 2025, 03:47:05 pm
Где и что поправить,чтоб завести S-метр на вход ADC5?
Это сделать нельзя. PC4 и PC5 эти выводы задействованы как выходы аппаратного модуля I2C, им управляется Si5351A. Если бы шина I2C не использовалась, тогда эти выводы можно было бы использовать как входы ADC. Кроме того, вход ADC7 у меня используется для измерения уровня сигнала, вырабатываемого схемой АРУ. И потом выводится на линейку из 8 светодиодов. Это было сделано из-за отсутствия места на передней панели для ствелочного индикатора. Надо ли Вам это? Оно не очень красиво.. Хотя кому как.
Что касается выходов Si.
В файле main.c уберите или заккоментируйте строку:
 si5351aSetFreq_op(0);                         //устанавливаем опорную частоту
Вот так:
// si5351aSetFreq_op(0);                         //устанавливаем опорную частоту
Также в файле si5351a.c уберите (закоментируйте) строку:
i2cSendRegister(SI_CLK1_CONTROL, 0x4F | SI_CLK_SRC_PLL_B);
вот так:
//i2cSendRegister(SI_CLK1_CONTROL, 0x4F | SI_CLK_SRC_PLL_B);
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 06, 2025, 03:51:59 pm
Это сделать нельзя. PC4 и PC5 эти выводы задействованы как выходы аппаратного модуля I2C, им управляется Si5351A.
Точно,посмотрел назначение выводов....Не беда,внешний S-метр сделаю
Название: Re: Опорник от Владимир_К
Отправлено: Сергей Александрович от Январь 06, 2025, 04:01:53 pm
Кстати если в ардуину заливать прошивку через программатор, то можно задействовать порты D0 и D1.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 06, 2025, 04:07:28 pm
Не беда,внешний S-метр сделаю
Именно это я и имел ввиду (стрелочный индикатор). Но если надо, почему именно ADC5. Есть же еще свободный вывод ADC6.. В одном трансивере я столкнулся с такой проблемой - АРУ выдает крайне нелинейный сигнал и поэтому отметка на шкале S9 находится далеко от центра справа, почти в конце шкалы и там они все слились почти. S9+10 ... S9+60. А если программно, то можно преобразовать точнее.
И кстати, я вижу, что в этом варианте программы светодиодный S-метра как раз и нет. Скорее всего, я его выбросил, когда адаптировал программу для Core. Хотя, уже не помню... Бардак с программами dontt44, точне с их хранением и обозначением. В файле main.c в самом начале иногда пишу, что это за программа, какие ее отличия, когда изменена и т.д. Но часто забываю поправить.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 06, 2025, 04:27:18 pm
можно задействовать порты D0 и D1.
Этого я стараюсь избегать. Это порты RXD и TXD. То есть приемник и передатчик аппаратного модуля USART. В некоторых синтезаторах я применял САТ.
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 06, 2025, 09:42:06 pm
Чтобы не править всю строку знакогенератора, можно было бы поменять местами две строчки
А я так и сделал,кстати.Причем менять их пришлось именно  в секции кода ниже комментария *вывод частоты на индикатор*,иначе дисплей кратковременно моргал после включения и больше не подавал признаков жизни.Строку знакогенератора также пришлось менять,потому что точки были на местах,а символы с вариантом  строки оригинала отображались не корректно. К слову,без fusebit doctor-a в моем случае было бы совсем тоскливо.После прошивки фьюзов атмега перестала определяться,пришлось обнулять полностью.Не силен в программировании,увы dontt44 .В прикреплении архив с полной программой для ПЧ 45МГц(в теме обсуждался способ изменения ПЧ) и исправленным конфигом для индикаторов с общим анодом(3912AG в моем случае).Такие индикаторы найти проще,чем индикаторы с общим катодом,как оказалось.
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 06, 2025, 09:57:38 pm
Тут «прикол» в индикаторах как у микроволновки..
Именно!Олдскульно и *лампово* cr123 Не то что эти ваши 1602,SSD1306 и TFT бездушные pl33 444tom Плюс самый важный для меня фактор - морозоустойчивость индикатора.
Название: Re: Опорник от Владимир_К
Отправлено: BL68 от Январь 06, 2025, 10:48:19 pm
Мы берем очередное двоичное число частоты (после преобразования частоты из десятичного значения в двоичный код), этому числу присвоено имя (переменная) led. Мы его значение присваиваем переменной tmp(над tmp мы будем кое-что делать, а led не должно изменяться). И выполняем цикл, восемь раз.
А не проще объявить массив из 10 констант и брать константу согласно числа. "0" с нулевым адресом, "1"  с первым адресом и т.д. Это будет гораздо быстрее чем перемножение в цикле 8 раз.
const __code char digit[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 07, 2025, 01:15:03 am
const __code char digit[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}
Чем Ваш массив  отличается от фрагмента  исходника. выложенного коллегой выше, вот оно:
char Numbers[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
Название: Re: Опорник от Владимир_К
Отправлено: BL68 от Январь 07, 2025, 02:06:22 am
Да, можно и так, но тогда мы занимает оперативную память переменной, а то что я написал - статический массив во флешь, оперативка не используется. Разницы нет, просто у меня привычка еще с 80-го семейчтва экономить оперативку lllol
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 07, 2025, 11:58:29 am
Это будет гораздо быстрее чем перемножение в цикле 8 раз.
Экономить здесь особенно не надо. Весь синтезатор занимает меньше 8 кб. Можно применить даже Atmega8. Меня больше заинтересовало Ваше сообщение насчет перемножения. Как без него, вот это интересно..
Название: Re: Опорник от Владимир_К
Отправлено: BL68 от Январь 07, 2025, 03:43:58 pm
Мы друг друга не совсем поняли :) Просто ваша запись предполагает расположение переменной типа char в оперативной памяти и, похоже, переменная объявлена глобально , а моя как раз во флешь, которой в избытке, там-же где и код самой программы.
Я обычно последовательный вывод чисел на индикаторы делаю через sprint. Для примера вашего случая (7 знакомест) sprintf(c, "%7d", indikator); Переменная с объявляется прямо в процедуре вывода (char c[7]; ) и по выходу из процедуры оперативка освобождается. А потом в цикле j=0; j<7; j++)  берется значение для индикатора из массива по значению в с[j] (digit[с[j]]) и выводится побитно (сдвигом) в порт. Просто в этом случае не нужно трогать саму программу при смене типа индикатора, а править только массив значений индикатора const __code char digit[].
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 07, 2025, 06:31:39 pm
Просто ваша запись предполагает расположение переменной типа char в оперативной памяти и, похоже, переменная объявлена глобально , а моя как раз во флешь, которой в избытке, там-же где и код самой программы.
Если честно, то я толком и не разбирался, где и какая lol22.  EEPROM знаю, а остальное как-то не отложилось.. К тому же, программирование для меня это не самоцель и тонкости этого процесса я постигаю, если есть необходимость.
В свое время были проблемы только с индикаторами 1602 из-за их медлительности. Тогда пришлось изощряться, так как не корректно отрабатывал валкодер. Можно было бы еще позаниматься библиотекой Si5351A. Когда-то анализировал, сколько времени уходит на подсчет и загрузку регистров микросхемы. Вышло где-то около 3 миллисек, хотя некоторые товарищи затрачивают на это дело около 0,5 миллисек. Правда пишут на ассемблере. Но, сейчас вроде особой необходимости не вижу..
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 07, 2025, 06:51:57 pm
Владимир ,подскажите пожалуйста,какую функцию выполняет кнопка *Menu*? не нашел входа/кнопки PTT...Или menu и есть сигнал управления PTT,судя по одноименному выходу с ULN2003 на управление RX\TX?
Название: Re: Опорник от Владимир_К
Отправлено: BL68 от Январь 07, 2025, 07:00:45 pm
Если честно, то я толком и не разбирался, где и какая lol22.  EEPROM знаю, а остальное как-то не отложилось.. К тому же, программирование для меня это не самоцель и тонкости этого процесса я постигаю, если есть необходимость.
1999 Ну работает программа и ладно rrr7777 Просто когда начинаются блуждающие глюки типа переполнения стека, вот тогда и начинаешь разбираться и экономить оперативку. Просто для информации... Flash память - это куда записывается код программы. И туда-же желательно писать константы типа знакогенератора. Завтра захочется выводить еще десяток символов и оп-па вылезают непонятные глюки с зависанием.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 07, 2025, 09:24:41 pm
Владимир ,подскажите пожалуйста,какую функцию выполняет кнопка *Menu*?
Это резервная кнопка, на случай, если что-то еще понадобиться на нее повесить. Но, применение я ей так и не нашел.
Или menu и есть сигнал управления PTT,судя по одноименному выходу с ULN2003 на управление RX\TX?
Что-то не помню уже.. Трансивера того давно нет, а судя по программе, управление RX/TX производится кнопкой подключенной к порту PD6.
Вот строка:
if (bit_is_clear(PIND, 6))    tx();
Но, этот порт подключен к разънму, который идет на плату переключения диапазонов.. В общем, я затрудняюсь что-то внятно объяснить. Поэтому, лучше повесить эту кнопку на свободные выводы порта PC1, PC2 или PC3(если индикатор стрелочный). Соответственно перепишите строку, которую я выше указал:
if (bit_is_clear(PINС, 1))    tx(); То есть в данном случае используется порт PC1.
Правда надо будет еще сконфигурировать этот порт на вход. Сейчас они все сконфигурированы как выход. Потом сделаю, когда определитесь к какому выводу будет подключена  кнопка. Кнопка подключается между выходом порта и землей. Но, пока не подключайте, вывод порта сконфигурирован на выход и замкнув его на землю, можно сжечь.
Название: Re: Опорник от Владимир_К
Отправлено: BL68 от Январь 08, 2025, 12:13:39 am
Можно было бы еще позаниматься библиотекой Si5351A. Когда-то анализировал, сколько времени уходит на подсчет и загрузку регистров микросхемы. Вышло где-то около 3 миллисек, хотя некоторые товарищи затрачивают на это дело около 0,5 миллисек. Правда пишут на ассемблере. Но, сейчас вроде особой необходимости не вижу..
Чего-то долго. И почему вы не используете аппаратный I2C Atmega32? Если интересно, сброшу кусок кода для работы с встроенным I2C (ноги PC0 PC1).
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 08, 2025, 01:41:25 pm
Это резервная кнопка, на случай, если что-то еще понадобиться на нее повесить. Но, применение я ей так и не нашел.
Так может ее и задействовать под PTT?А выход PTT вывести на PC1 ,например
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 08, 2025, 06:40:18 pm
Так может ее и задействовать под PTT
Кнопки здесь работают от делителя напряжения. В зависимости от того, какая кнопка нажата, напряжение поступающее на вход аналого-цифрового преобразователя разное, таким образом контроллер определяет какая кнопка нажата. Кнопку отпускаем, но режим остается. Для отключения этого режима, кнопку надо нажать повторно. То есть, если использовать кнопку menu для включения передачи, то для перехода на прием ее надо отпустить и нажать еще раз. Я думаю, это неудобно. Поэтому переключение RX/TX надо делать другой кнопкой, которая работает без ADC.
Также ее (кнопку) можно подключить к выводу ADC. Он же у Вас также свободен. Просто его надо сконфигурировать как порт, на вход..
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 08, 2025, 08:53:37 pm
Просто его надо сконфигурировать как порт, на вход..
Давайте попробуем  1yep
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 08, 2025, 11:17:55 pm
попробуем
Открыл исходник и обнаружил там ошибки и, откуда они взялись, ума не приложу. Вот что имеем:
 // ++++ функция инициализации МК ++++
void initialization(void)

{
PORTB=0xE7;
DDRB=0x00;
PORTC=0x3E;
DDRC=0x00;
PORTD=0x7C;
DDRD=0x80;
Ну это чепуха... Теперь по порядку. DDRB=0x00; //или в двоичном виде 00000000, что означает, что все порты настроены как вход. Если на каком-то месте записана 1, значит это выход. У нас все линии порта В должны работать как выходы, кроме 3 и 4 пина, к которым подключен валкодер. Поэтому должно быть 11100111.Окончательно строка будет выглядеть так (превращаем число в шестнадцатиричное):
DDRB=0xe7;
Строка:
PORTB=0xE7; // определяет на какие пины порта подается напряжение от плюча питания через внутренний резистор, так называемая подтяжка.
Для пинов порта В она не нужна, так как только 3 и 4 пины являются входами, а они подключены к схеме валкодера на выходе которого триггеры.
Поэтому, тут должно быть:
PORTB=0x00;
Глядя на строки настройки порта В, видим, что они перепутаны местами.
Аналогично, проверьте все остальные порт D и порт C. Загляните в исходник тестовой программы, у Вас же индикатор работает, следовательно  там по порту В вопросов быть не должно.
Попробуйте откорректировать все сами, потом я проверю, сейчас есть некоторые проблемы, которые надо решить..

Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 10, 2025, 07:47:09 am
Попробуйте откорректировать все сами, потом я проверю
Такое я не осилю,по всей вероятности.Не знаком с программированием. dontt44
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 10, 2025, 12:12:25 pm
Сегодня откорректирую, сейчас не дома..
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 10, 2025, 01:14:33 pm
Итак, файл main.c
Найдите строки:
 // ++++ функция инициализации МК ++++
void initialization(void)

{
PORTB=0xE7;
DDRB=0x00;
PORTC=0x3E;
DDRC=0x00;
PORTD=0x7C;
DDRD=0x80;

Исправьте следующим образом:
PORTB=0x00;
DDRB=0xE7;
PORTC=0x80;
DDRC=0x0E;
PORTD=0x00;
DDRD=0x7C;
Как видно из текста строки DDR и PORT перепутаны местами. Кто это так пошутил, не знаю... dontt44
Сейчас вывод порта PORTC7 включен на вход. То есть к нему подключаете кнопку, второй ее конец на землю. И на этот же вывод подаете плюс питания через резистор 10 ком. Этот порт подтянут к питанию внутренним резистором процессора, для этого PORTC=0x80, то есть седьмой бит установлен в единицу. Но внутренней подтяжки иногда не хватает (а может китайцы там начудили, если процессор от них). Все кнопки без фиксации.
Для переключения RX/TX кнопку надо нажать и удерживать, после отпускания, включается прием.
В этом же файле найдите строку (почти в самом низу):
if (bit_is_clear(PIND, 6))    tx(); //Измените ее вот так:
if (bit_is_clear(PINC, 7))    tx();

Не забудьте перенести в этот исходник откорректированную строку знакогенератора из файла ldc.c исходника тестовой программы. Откомпилируйте. Ну как обычно...
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 10, 2025, 03:35:12 pm
Сейчас вывод порта PORTC7 включен на вход. То есть к нему подключаете кнопку, второй ее конец на землю.
Это который PC6 или PC0? И,соответственно,при включенном RIT при замыкании ноги на землю,RIT должен отключиться?
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 10, 2025, 04:09:52 pm
А где ADC7?. Подозреваю, что у Вас процессор не с 32 выводами, т.е. в другом корпусе.
Надо уточнить, атмега бывает в трёх разл. корпусах. Например в ДИП корпусе 28 выводов, и портов PORTC6 и 7 у нее нет.
Если на приеме включен режим RIT, то частоту можно установить любую, даже за пределами диапазона. При переходе на передачу, установится частота, которая была до включения режима RIT.
 Так пожелал товарищ, которому отдал трансивер. Порядок управления в этих режимах, можно сделать любым. За
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 10, 2025, 04:26:41 pm
А где ADC7?. Подозреваю, что у Вас процессор не с 32 выводами, т.е. в другом корпусе.
Все верно,у меня атмега 328 в DIP28.Вы говорили,что S-метр выкинули из программы.То есть освобождаются выводы  PC1 PC2 PC3.Может быть на какой-то из них повесить PTT?
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 10, 2025, 04:28:15 pm
 
Если на приеме включен режим RIT, то частоту можно установить любую, даже за пределами диапазона. При переходе на передачу, установится частота, которая была до включения режима RIT.
Отлично 123123
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 10, 2025, 04:54:32 pm
Для переключения RX/TX кнопку надо нажать и удерживать, после отпускания, включается прием.
В этом же файле найдите строку (почти в самом низу):
if (bit_is_clear(PIND, 6))    tx(); //Измените ее вот так:
if (bit_is_clear(PINC, 7))    tx();
Это нужно сделать  в ******  Основная программа ********* или в  ********* Передача  ********* ?
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 10, 2025, 05:47:58 pm
Все верно,у меня атмега 328 в DIP28
Понятно.
То есть освобождаются выводы  PC1 PC2 PC3.
Можете использовать любой на свой выбор.
Вот эта строка, которая управляет кнопкой:
if (bit_is_clear(PINC, 7))    tx();

Здесь кнопка на выводе порта С, седьмой вывод. Смотря как удобнее на плате, можете вместо семерки написать 1,2 или 3. Кстати, тут я ошибся, судя по даташиту вывод ADC7 не является портом. Зная, что ADC1 и прочие до ADC5 могут быть как входами преобразователя, так и портами, я это применил и к ADC6, 7, а это не так.

Это нужно сделать  в ******  Основная программа ********* или в  ********* Передача  ********* ?
Это нужно сделать везде. И в основной программе и в функции передача.
if (bit_is_clear(PINС, 7))    tx();  Это строка в основном модуле программы. Переписываете ее так:
if (bit_is_clear(PINС, 1))    tx(); //Как выше написал, вместо единицы можно также 2 или 3.

Строку из функции передача,  надо откорректировать вот так:
while (bit_is_clear(PINС, 1)); // Кнопка нажата - продолжаем передачу
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 10, 2025, 06:21:41 pm
Это нужно сделать везде. И в основной программе и в функции передача.
if (bit_is_clear(PINС, 7))    tx();  Это строка в основном модуле программы. Переписываете ее так:
if (bit_is_clear(PINС, 1))    tx(); //Как выше написал, вместо единицы можно также 2 или 3.

Строку из функции передача,  надо откорректировать вот так:
while (bit_is_clear(PINС, 1)); // Кнопка нажата - продолжаем передачу
Понял.Благодарю Вас,Владимир! 123123 Отпишусь позднее о результатах,как впаяю кнопку и скомпилирую hex 1yep
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 10, 2025, 06:56:45 pm
Отладку я делаю последовательно. Сначала я бы подключил индикатор, затем валкодер. При этом, валкодером должна изменяться частота. Потом переключатель диапазонов. И так далее. Правда есть одна проблема, без Si5351A программа, скорее всего, работать не будет. При обращении к Si5351A, процессор ждет ответа от чипа и, если ответа нет, программа "виснет". Если такое происходит (если у Вас пока не подключена Si), то надо блокировать обращение к чипу.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 14, 2025, 11:58:40 pm
if (bit_is_clear(PINС, 1))    tx(); //Как выше написал, вместо единицы можно также 2 или 3.
Строку из функции передача,  надо откорректировать вот так:
while (bit_is_clear(PINС, 1)); // Кнопка нажата - продолжаем передачу
После внесения предложенных мной изменений, проект не компилируется. Причина - в этих строках буква C - русская (написана в русской раскладке клавиатуры). Исправьте, переключив клавиатуру на английский.
Сегодня писал для одного проекта, взял этот фрагмент и обнаружил ошибку..
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 15, 2025, 05:47:01 pm
После внесения предложенных мной изменений, проект не компилируется. Причина - в этих строках буква C - русская
А я сразу все проверил  1yep .У меня все нормально собралось 123123 .В выходной плотно посижу с этим проектом.
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 21, 2025, 11:17:15 pm
После внесения правок имеется следующая картина включения контроллера с валкодером и SI.Нет разделительных точек на индикаторе(в тестовой программе индикатора они есть и на своих местах),нет реакции на валкод(на другом синтезаторе откликается).Проект собрался без ошибок.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 22, 2025, 04:41:58 pm
Нет разделительных точек на индикаторе(в тестовой программе индикатора они есть и на своих местах)
Сбросьте исходник тестовой программы, сравню где расхождение.. Сначала разберемся с точками, потом с валкодером. Файл схемы я открыть не могу, он у Вас как видно по расширению, -Сплан-8. У меня седьмая версия и новую не хотелось бы ставить, я ими (в т.ч. Layout) давно не пользуюсь. В основном Диптрейс. Или сбросьте схему в седьмом или экспортируйте в другой формат.
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 22, 2025, 07:41:40 pm
Сбросьте исходник тестовой программы, сравню где расхождение..
Вот  123123  Схема тут же,в архиве  1yep
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 22, 2025, 08:17:23 pm
Откройте файл ldc.c исходника синтезатора и файл ldc.h тестовой программы. Функция "Вывод частоты на индикатор".
Строки в файле ldc.c:
led=(Numbers[(int)N5]);
led=led|0B10000000;
send_l(led);

Перепишите так как в тестовой программе (файл ldc.h), т.е.
led=(Numbers[(int)N5]);
led=led & 0x7f;
send_l(led);

Также строки -
led=(Numbers[(int)N2]);
led=led|0B10000000;
send_l(led);

Скорректируйте таким образом:
led=(Numbers[(int)N2]);
led=led & 0x7f;
send_l(led);

Далее... Откройте файл encoder2.c из исходника синтезатора.
Строку:
New  =((EncoderPinPort>>6) & 0b11);
Измените следующим образом:
New  =((EncoderPinPort>>3) & 0b11);
То есть, сдвигаете прочитанное число из порта В вправо не 6 раз, а три.
Не знаю, откуда все это появляется. Я ведь в самом начале нашей с Вами совместной работы, взял исходник, который выложил в этой ветке для Core и, вроде все было корректно. Хотя, видимо некоторая моя безалаберность присутствует. В компе уже столько мусора, почистить бы. Но я уже точно знаю, что-то лежит годами и не нужно. Стоит выбросить, как через день оно понадобится.
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 22, 2025, 08:44:19 pm
Сделал,прошил,точки на месте 123123
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 22, 2025, 09:07:01 pm
точки на месте
А валкодер?
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 22, 2025, 09:18:29 pm
А валкодер?
Молчит dontt44
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 22, 2025, 09:25:31 pm
Может отрубить пока SI и проверить без нее?
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 22, 2025, 09:34:44 pm
Может отрубить пока SI
Если у Вас после включения высвечивается частота и только и не на какие действия (нажатие кнопок, переключение диапазонов и т.д.) программа не реагирует, тогда да, надо попробовать отключить (точнее заблокировать) Si5351A. Делаем это так:
Откройте файл Si5351a.c
Строки:
void si5351aSetFrequency(unsigned long z) // Функция управления частотой frequensy -параметр переданный в вызове функции из main.
{
   uint32_t pllFreq;                 //Определение переменных: pllFreq, XTALFreq, l, f, mult, num, denom, divider
   uint32_t xtalFreq = XTAL_FREQ;

Перепишите вот так:
void si5351aSetFrequency(unsigned long z) // Функция управления частотой frequensy -параметр переданный в вызове функции из main.
{
return;
   uint32_t pllFreq;                              //Определение переменных: pllFreq, XTALFreq, l, f, mult, num, denom, divider
   uint32_t xtalFreq = XTAL_FREQ;

Т.е. в функцию дописываем оператор return:
При этом, при обращении к этой функции, сразу будет возврат в исходную точку, из которой происходил вызов этой функции.


Что касается гашения незначащего нуля на индикаторе для частот меньше 10 мгц. Вот из 328 сообщения:
На диапазонах, где частота меньше 10 мгц, слева нуль незначащий. Его можно убрать.
В программе найдите строки:
send_l(led);
led=(Numbers[(int)N1]);

Замените так:

send_l(led);
if (N1!=0)
led=(Numbers[(int)N1]);
else
 led=0b00000000;

Теперь, перед выводом левого знака, программа проверяет, равен ли он нулю. Если нет, то знак выводится. Если равен нулю, то все сегменты гасятся.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 22, 2025, 10:32:20 pm
Замените так:

send_l(led);
if (N1!=0)
led=(Numbers[(int)N1]);
else
 led=0b00000000;
Кажется ошибся..  У Вас же индикатор другой..
Вот так правильно:
send_l(led);
if (N1!=0)
led=(Numbers[(int)N1]);
else
 led=0b11111111;
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 23, 2025, 01:13:09 pm
if (N1!=0)
led=(Numbers[(int)N1]);
else
 led=0b11111111;
Попробую 1yep Последней строкой  нужно вписать send_l(led); ?
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 23, 2025, 03:17:34 pm
Последней строкой  нужно вписать send_l(led); ?
Вот так в исходнике, в котором нуль высвечивается:
led=(Numbers[(int)N2]);
led=led & 0x7f;
send_l(led);

led=(Numbers[(int)N1]);
 
send_l(led);

PORTB &=~(_BV(PB1)); //PORTB |=_BV(PB1); 
}


Вот так надо изменить, чтобы первая слева цифра не высвечивалась.

led=(Numbers[(int)N2]);
led=led & 0x7f;
send_l(led);

led=(Numbers[(int)N1]);
send_l(led);
if (N1!=0)
led=(Numbers[(int)N1]);
else
 led=0b11111111;

PORTB &=~(_BV(PB1)); //PORTB |=_BV(PB1); - было для индикатора с общим катодом
 
}
То есть, строка
send_l(led);
Заменена на несколько строк...

send_l(led);
if (N1!=0)
led=(Numbers[(int)N1]);
else
 led=0b11111111;
То есть, если число N1 не равно нулю, то оно отображается на индикаторе, если ноль, то все сегменты гасятся.
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 23, 2025, 03:35:53 pm
Переписал.Ноль впереди все равно светит,точки на месте ,реакции на валкод нет dontt44. Валкод сделал оптический,с формирователем на логике.Проверил в конструкции,в которой по умолчанию предусмотрен механический.Работает  123123 .То,что контроллер битый исключено.Жонглирую тремя штуками,перепрошивая.Два с алика и один оригинальный.В компиляторе пробовал ставить атмегу 328 и 328P,не дало результата.
Название: Re: Опорник от Владимир_К
Отправлено: Владимир_К от Январь 23, 2025, 04:48:39 pm
Переписал.Ноль впереди все равно светит,точки на месте ,реакции на валкод нет
Давайте сделаем паузу. В одном недостроенном аппарате есть такой индикатор, соберу на макете синтезатор, проверю. Это пару дней.
Все же, непонятно с гашением первого знака. Вы пробовали оба варианта, т.е. когда led=0b11111111; и если led=0b00000000;?
Название: Re: Опорник от Владимир_К
Отправлено: ZTM от Январь 23, 2025, 05:08:26 pm
Вы пробовали оба варианта, т.е. когда led=0b11111111; и если led=0b00000000;?
Да,оба варианта.Перекинул все на ардуинку,то же самое.Ноль все еще горит,энкодер без реакции.