Трансиверы, передатчики, РПУ > Software Defined Radio (SDR)

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

<< < (2/6) > >>

ra0ahc:
Вот так нормально рыскать. Ручку если умеренно дергать то рысканье происходит в малых диапазонах. Если быстрее, то степ сам набрасывается. Но если остановится то степ постепенно сам вниз улетает до 0.5Гц.
Пока не пробовал ...станций еще нет в эфире.

ra0ahc:

--- Цитата: zenit от Сентябрь 20, 2021, 03:05:34 pm ---Таймер в режиме счёта запускается при любом изменении состояния валкода. Причём начальное число отсчёта до переполнения задаётся в установках и это число присваивается таймеру при каждом изменении состояния валкода.
--- Конец цитаты ---
Это в стм сделано а HAL я просто считываю константу и там уже импульсы посчитаны (формат uint32_t)

ra0ahc:
вот в принципе подпрограмма изменения частоты

void FREQ_encoderMain(void) {
    if (TIM3->CNT == 0x7fff) {
        getStep(0);
        return;
    }

    f.deltafreqAndEnc = TIM3->CNT - 0x7fff;
    TIM3->CNT = 0x7fff;//обнулим чтобы потом только дельту смотреть

    int32_t a = (int32_t)((float32_t)f.deltafreqAndEnc * getStep(f.deltafreqAndEnc));// f.step;
    if (trx.activRX) {
        if (f.rx2 + a < 30000001 && f.rx2 + a > 500000) {
            f.rx2 += a;//2
            trx.trx[RX2][trx.nowBandNN[RX2]][FREQ] = f.rx2;
        }
    } else {
        if (f.rx1 + a < 450000000 && f.rx1 + a > 500000) f.rx1 += a;//1
        trx.trx[RX1][trx.nowBandNN[RX1]][FREQ] = f.rx1;
    }
    f.needToDraw = f.saveFPGA = YES;


}

ra0ahc:

--- Цитата: zenit от Сентябрь 20, 2021, 03:05:34 pm ---Первый заход в обработку байт умножения равен 1. Шаги перестройки не умножаются. Следом множитель шага+1 байт умножения = 2 и запускается таймер например с числа 25 а переполнение по 255. Время счёта  до переполнения условно пусть для примера будет 50мс.
--- Конец цитаты ---
ну что то подобное только без таймеров. Чисто на скорости вращения.

zenit:

--- Цитата: ra0ahc от Сентябрь 20, 2021, 03:53:22 pm --- Чисто на скорости вращения.
--- Конец цитаты ---
Как без точного временного интервала узнать скорость вращения? И зачем шаг 0,5 герца? Перестройка шагом 1 герц тоже не слышна. 5 герц начальный шаг нормально. И даже 10. А чтоб последний ноль не ловить надо младший разряд индикации частоты убрать. 123123
А вообще настраиваться в ноли до седьмого знака это мода нынче такая. Я по привычке на слух настраиваюсь а сколько там на шкале ни на что кроме проблем в башке не влияет.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Перейти к полной версии