достал другую монку и проверил
в ней стоит Alps без трещетки на 24 импульса,
так вот, если крутнуть очень быстро на 1 оборот, то монка успевает перестроится только на 15 шагов
значит это таки особенности прошивки
достал другую монку и проверил
в ней стоит Alps без трещетки на 24 импульса,
так вот, если крутнуть очень быстро на 1 оборот, то монка успевает перестроится только на 15 шагов
значит это таки особенности прошивки
Спасибо от user12
Как человк, делавший прошивку для трансивера в котором один процессор и обрабатывает звук и отправляет команды разным устройствам при перестройке, скажу что валкодер надо не опрашивать а обрабатывать в прерывании по изменению состояния вывода, тогда точно нет тормозов. в этом то месте точно нет.
UHSDR-active-devel\mchf-eclipse\drivers\ui
файл ui_driver.c
Со строки 3171 обработка энкодера UiDriver_CheckFreque ncyEncoder()
Я тут не в зуб ногой но товарищ объяснял что в монке опрос по таймеру идёт а вывод с Si570 с обновлением дисплея? По этому нормально не работает. Чем больше они грузят тем хуже работает валкодер.
У немцев на многие вопросы следует ответ что вам надо купить OVI40 типа там такого нет. Я в сказки которые для доверчивых европейцев рассказывают не верю. НВ два раза типа больше производительность а код тот же, с чего бы ему по другому там работать? Скорее всего на OVI40 работает так же как год назад на монке пока не начали заниматься всякими не нужными 99% пользователей прибомбасами. Просто они в эфире на том что понаписывали ни когда работать не будут. По этому не знают про нормальную работу валкодера. Они крутят на макетке ручку и частота на дисплее меняется. Настроится на станцию можно? Значит всё нормально
Геннадий я недавно крутил ручку SW мини. Отлично работает. И у товарища видел как такая же трещётка с дисплеем по spi 320х240 на ардуино нано маленький модуль такой- всё быстро работает. Он рассказал что валкодер обрабатывается по прерыванию а вывод инфо на дисплей идёт в свободное от обработки время. А в монке опрос по таймеру и может его надо уменьшить и выводить в Si570 сразу. Как это сделать я не знаю. А немцам писать бесполезно. Они гораздо проще вопросы не понимают
Написать такой код, а про валкодер не понимают - ну это вряд ли. Они прямо ответили - что в другой разработке. Оно и понятно, после клона в Китае все желание отбило, отлично их понимаю, у меня также желание выкладывить улучшенные прошивки падает в квадратичной зависимости от количества клонов плат. А дело может и не только в прерывании , но и в его приоретете. Да и просто кускок кода не всегда так просто вставить, порой необходимо в голове иметь понятие архитектуры и взаимодействия всего проекта... А сигналы не завалены, там не большие емкости блокирующие установлены?
R3DI, у вас вроде тоже трансивер на STM32, Вы энкодер как обрабатываете аппаратно или программно?
Сделал программную обработку, но на неё приходится постоянно тратить время на сканирование пинов.
Опрос поставил 1000 раз в секунду, работает вроде нормально.
Но хотелось бы вообще не тратить процессорное время на обработку энкодера.
Сижу вот думаю, можно ли настроить таймеры так, чтобы это все аппаратно обрабатывалось?
Чтобы вообще процессор на энкодер не отвлекать...
да, такой вариант тоже работает, но всё-же требует процессорного времени на обработку прерываний и чем быстрей крутится энкодер, тем больше процессорного времени тратится, что тоже нехорошо...
Хотелось бы его вообще полностью аппаратно обрабатывать.
Последний раз редактировалось alex_m; 13.03.2018 в 11:49.
alex_m, да валкодер отдельная песня была, особенно когда СИшку поставил, ни что так не бесит в технике как тормоза отклика на действия пользователя. В итоге валкодер на наивысшем приоретете прерывания , по его пину, даже usb его не прервет, а он его может. Валкодер обновляет переменную частоты. Частота на СИшке обновиться в свободное время. Как это выглядит, спрашивали и М теме - Кто крутил готовый аппарат тот знает, может прокоментируют, по мне - никакой разницы (задержек, перескоков) не земечено, есть видео в папке.. или в ютубе, не помню уже.
Последний раз редактировалось R3DI; 13.03.2018 в 12:09.
С оптикой ёмкости убираются. Они нужны с трещёткой для подавления дребезга. Я как то давно смотрел осциллографом и в принципе там нормально с импульсами даже с трещёткой. Проблема в алгоритме и выводе данных. Сам код обработчика данных с энкодера правильный. Все состояния обрабатывает. Но используется только одно из четырёх состояний. Почему не используют все состояния не понятно. Это позволяет даже с обычного альпса иметь 100 шагов на оборот.
Ещё летом когда исходники собирались в EmBitz я пробовал включить учетверение, но оно включается на все валкодеры сразу. Потом добавил шаги 20-50 герц и изменил время в обработке динамического шага и в принципе довольно не плохо работало. Именно такой прошивкой и пользуюсь сейчас. Потом было не когда и к зиме обнаружил что перестали собираться прошивки в EmBitz. Ругается на процессор F7. Хотя оно видно и так что с валкодером у них нынче полная засада.
Спасибо от ua3ycv
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)