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

Умный валкодер в радиостанции

45570 просмотров, 30 ответов — стр. 2 из 2

ra0ahcra0ahc
Сообщений: 4868
21 сентября 2021 г. в 06:21#16
Только такой есть в нашем сельпо


ra0ahcra0ahc
Сообщений: 4868
21 сентября 2021 г. в 06:51#17
Ну после тестов алгоритм пошёл в помойку.
Игорь 2
Сообщений: 21288
21 сентября 2021 г. в 06:55#18

С трудом понимаю, что там у Вас, но я со второй иттерации принял то, про что выше писал...
ra0ahcra0ahc
Сообщений: 4868
21 сентября 2021 г. в 07:24#19
Пока пальцами крутил вал энкодера было одно , а когда Крутик поставил вообще все плохо стало ))) улетает капец куда и ускорение очень быстрое. Надо дорабатывать алгоритм.


21 сентября 2021 г. в 07:45#20
Это ещё шишечка пустотелая, была бы увесистая…
Игорь 2
Сообщений: 21288
21 сентября 2021 г. в 08:02#21
У меня с маховиком была....
RK4CI
Сообщений: 1938
21 сентября 2021 г. в 11:35#22
У меня с маховиком была.
Современные валкодеры в основном на подшипниках. Даже с обычной ручкой он чуть ли не минуту будет крутиться. У себя наоборот под ручку ваты напихал, что бы чуть притормаживало. И при перестройке внутри диапазона, при шаге 10 Гц, никакого умножения или пропуска шагов не требуется. А перегонять на другой диапазон валкодером, просто нет смысла. У меня 128 импульсов на оборот. Шаг и по фронту, и по тылу импульса. Почти 3 кГц на оборот. Собственно близко к этому у меня и на старом трансивере было. Увеличение шага перестройки при быстром вращении, в настройках предусмотрено. Но пользоваться этим не очень понравилось.
RK4CI
Сообщений: 1938
21 сентября 2021 г. в 11:42#23
была бы увесистая
У меня такая же на дополнительной ручке настройки стоит. Так же пришлось принимать меры для притормаживания. Может у меня сами валкодеры чуть другие. Без подтормаживания, они по моему просто от дуновения воздуха крутиться будут.
ra0ahcra0ahc
Сообщений: 4868
22 сентября 2021 г. в 09:37#24
На самом деле возможно так и есть… эта функция не нужна. К тому же у меня на экране если тыкать пальцем в край то перестройка на 40 кГц идёт и скорость нажатия любая. Если и нужно это делать то в небольших приделах… скажем … шаг максимум 10 гц (по умолчанию 5 для ссб) если у меня 360 импульсов на оборот то это 3600 на оборот … практически перестройка на следующую станцию )))
22 сентября 2021 г. в 09:40#25
У вас валкодер на шариковых подшипниках, ход очень легкий. Я под шишечку тонкий войлок подкладывал чтобы убрать эффект маховика
ra0ahcra0ahc
Сообщений: 4868
22 сентября 2021 г. в 09:53#26
Методы торможения разные )) можно смазку на жесткую в подшипниках поменять и тоже затормозится вал. Эти энкодеры сделаны для длительной работы на производственных линиях и они обязаны легко крутится.
Но тема не про это. На самом деле при 360 импульсах тяжко на 1 импульс повернуть вот поэтому и надо пропуски делать при малых изменениях или рысканиях туда сюда
22 сентября 2021 г. в 10:03#27
Я делитель собирал.
ra0ahcra0ahc
Сообщений: 4868
2 октября 2021 г. в 11:36#28
Вот так получилось нормально. при ssb степ начинает с 5 гц и может достигать 100 гц на один импульс что равно 36кГц за один оборот. Причем, если на мгновение остановится и продолжить вращать, то скорость падает плавно или вообще не падает, зависит от "мгновения". На этом я запоролся в первых вариантах алгоритма и только сейчас исправил. Мягко работает, без скачков. Если меняется направление, то сразу степ скидывается по умолчанию.

при CW степ начинается от 1Гц

Код: [Выделить]static float32_t getStep(int16_t df) {
float32_t def_level;
if (trx.trx[trx.activRX][trx.nowBandNN[trx.activRX]][MODE] == CW) def_level = 1.0f;
else def_level = 5.0f;

if (df == 0) {
// level = def_level;
delay = 30;
return 0;
}

if (direction && df < 0) {
direction = 0;
level = def_level;
}
if (!direction && df > 0) {
direction = 1;
level = def_level;
}

df = abs(df);
if (trx.trx[trx.activRX][trx.nowBandNN[trx.activRX]][MODE] == CW) {
df /= 2;
}
if (df == 0) df = 1;
if (delay)
delay--;
else {
if (df > 1 && df < 5) {
if (level + 0.5f < 100.0f) level += 0.5f;
} else if (df >= 5) {
if (level + 0.7f < 100.0f) level += 0.7f;
}
}
return level;
}
ra0ahcra0ahc
Сообщений: 4868
2 октября 2021 г. в 11:38#29
Пока непонятно как сделать короткий стоп на 000 частоте.
RC3URC3U
Сообщений: 2404
3 ноября 2021 г. в 01:36#30
Цитата: ra0ahc
Вот так получилось нормально.

У Геннадия Завидовского примерно так сделано в его воробье. Просто сказка. На 1000-ке приходится привыкать кнопку FAST нажимать.
Цитата: ra0ahc
Пока непонятно как сделать короткий стоп на 000 частоте.

А оно надо?