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

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

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

14 мая 2021 г. в 10:32#196
Цитата: Владимир_К
Можно, не вопрос. Но, если делать запоминание при выключении, тогда надо доработать схему.

ЕЕПРОМ не стоит наверное. Пусть стартует с запрограммленых частот. Только когда с диапазона на диапазон переключаешь было бы не плохо чтобы частота запоминалась. Привычка с старого аппарата ешё такая. А интелектуальный валкодер, не очень люблю. Пробовал как то, очень на любителя. Я по старинке шагами.

Кстати вопрос. А сишка сможет точно шагать, там ведь чтобы перестроиться на 10гц вроде надо шаг сишки чуть ли не пол герца...
14 мая 2021 г. в 10:33#197
Цитата: Владимир_К
Индикацию шага, в течение какого времени показывать, на 0,5 сек, или меньше?

0,5 думаю хватит. А то слишком долго будет напрягать.
Владимир_К
Сообщений: 1245
14 мая 2021 г. в 10:44#198
Цитата: Core
А сишка сможет точно шагать, там ведь чтобы перестроиться на 10гц вроде надо шаг сишки чуть ли не пол герца...

Да я как-то этим не особенно заморачивался. Когда подгонял частоту опорника с моим частотомером, вроде все совпадает до нескольких герц, но потом постепенно частоты уходят, или в синтезаторе кварц при нагреве уходит, или в частотомере. Он у меня также самодельный.
Поэтому, получить точную частоту до долей герца я не пытался. Это надо посмотреть математику Сишки, я уже не помню значение делителя в знаменателе. От него зависит минимальный шаг перестройки. Так что тут есть определенные сложности.
14 мая 2021 г. в 11:00#199
Так то у Игорь2 сишкой тактируется да и Сергей делал опорник на дискавери + сишка. Работать должно.
14 мая 2021 г. в 11:59#200
Кстати, на дружеском форуме, как говорит Игорь, где его гоняют lol22, нашёл схему делителя для валкодера на 4.

ra0ahcra0ahc
Сообщений: 4868
14 мая 2021 г. в 12:54#201
Это всё дела программерские не стоит пладить корпуса микрух. Антидребезг, деления, реверс, интеллектуальный шаг - это все делают программисты.
14 мая 2021 г. в 12:55#202
Цитата: ra0ahc
Антидребезг

Кстати антидребезг было бы неплохо внедрить. А то на один щелчёк механического энкодера синтез делает несколько шагов. Я осцилом смотрел там дребезг реально есть.
ra0ahcra0ahc
Сообщений: 4868
14 мая 2021 г. в 12:58#203
Кстати, сам не думал еще, Владимир вы не покажите свой вариант интеллектуального изменения шага перестройки
Я все больше склоняюсь, что это правильно.
Владимир_К
Сообщений: 1245
14 мая 2021 г. в 02:44#204
Цитата: ra0ahc
вы не покажите свой вариант интеллектуального изменения шага перестройки

Да не вопрос. Полный исходник в архиве. Но это синтезатор моего трансивера. Схему я выше выкладывал. Не знаю, кто как делает. У меня это так: таймер настроен на определенное время (уже не помню, несколько миллисекунд). Валкодер считает шаги в течение этого времени и число шагов сохраняется в буфере. Когда происходит прерывание по таймеру, смотрим, если в буфере не ноль (крутили валкодер), переходим к обработке. Частота, новая, равна прежней частоте плюс шаг, умноженный на квадрат содержания буфера валкодера. Таким образом, если за время заданное таймером вы накрутили валкодер на один шаг, частота увеличится также на один шаг, накрутили два шага, частота увеличится, или уменьшится на 4 шага. Таким образом, при шаге 10 герц и числе делений валкодера 60, я могу, крутнув валкодер (а он на подшипниках) перестроиться на несколько кгц.

Цитата: ra0ahc
Антидребезг, деления, реверс, интеллектуальный шаг - это все делают программисты.

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

14 мая 2021 г. в 02:52#205
Игорь2 по сколько сишка должна шагать чтобы обеспечить шаг на выходе вашего синтеза в 10гц?
Игорь 2
Сообщений: 21288
14 мая 2021 г. в 03:01#206
На нижних диапазонах - 10 Гц, на верхних - 5...
14 мая 2021 г. в 03:09#207
Где делитель на 2 там 10Гц шаг сишки = 10гц на выходе гунов, и где 4 делитель там 5гц = 10гц на выходе гун, правильно?
Владимир_К
Сообщений: 1245
14 мая 2021 г. в 03:21#208
Цитата: Core
сколько сишка должна шагать чтобы обеспечить шаг

Да не шагает она никуда. Частота которую выдает сишка определяется так:
Делим число 900000000/частота. Получаем какое-то значение. Дробная часто отбрасывается. Например, частота 20012021 гц. 900000000/20012021=44. Если бы получилось нечетное число, то его уменьшаем на единицу, то есть число всегда четное, целое. Затем умножаем 20012021*44=880528924. Вот на этой частоте будет работать ГУН сишки. Дальше программа вычисляет делитель в цепи PLL, который представляет собой число а+в/с. Где с - знаменатель дроби мы задаем, обычно я беру максимальное значение, оно определяется разрядностью делителя и равно 1048575 (это FFFFF, в шестнадцатеричной системе).
То есть частота кварца, умноженная на (а+в/с), должна составлять 880528924. а - целое число. в - также целое число, максимальное значение его также FFFFF.
Таким образом, в принципе возможно получить точность генерируемой частоты в доли герца. Но для этого, надо бы менять и с, но этого мало никто не делает. Делает программа компьютерная, от производителя сишки, которая может управлять и платой, от их же, которая стоит сотни долларов. Вот та программа может выдать любую частоту с большой точностью.
14 мая 2021 г. в 03:32#209
Цитата: Владимир_К
Частота которую выдает сишка определяется так:

сложно даже представить этот алгоритм в программном коде..как это всё вычислять при повороте ручки валкодера))
Цитата: Владимир_К
никто не делает

А у вас софт вычисляет С ?
Владимир_К
Сообщений: 1245
14 мая 2021 г. в 04:09#210
Цитата: Core
А у вас софт вычисляет С ?

Нет, я выше писал, я беру его максимальным. А вот насколько точно выдает сишка частоту, это может сказать тот у кого есть частотомер, с точностью, скажем 0,1 гц.
Но, погрешность в математике тут конечно присутствует. Наверное, ее можно свести к нулю (точнее к точности частоты опорного кварца), если опорный кварц будет выдавать точно 27000000 гц, без всяких запятых и пр. Но это может сказать тот, кто дружит с математикой и у него есть желание в этом ковыряться.