Re: Частотомер
Спасибо за участие. Теперь у меня есть два частотомера на С6 и С8. Буду тестировать на точность и чувствительность.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
forum.rcl-radio.ru → STM32 → Частотомер
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Спасибо за участие. Теперь у меня есть два частотомера на С6 и С8. Буду тестировать на точность и чувствительность.
Узнал такую информацию: На stm32F103 можно измерять частоту до 190 мегагерц. У stm32 есть асинхронный делитель.
The ETR timer input is the only timer input that features a presacler stage before the resynchronization stage. This presacaler stage is fully asynchronous and can be divided down to eight times less the asynchronous input signal frequency. https://istarik.ru/blog/stm32/124.html и General-purpose timer cookbook for STM32 microcontrollers стр.21.
Может сможете переделать прошивку чтобы измерять до 190Мгц. Было бы здорово.
как выполнить калибровку частотомера
Измените время счета
TIMER1_BASE->ARR = 36000; //считать до 36000 (1секунда)
>>>
TIMER1_BASE->ARR = 35999; //считать до 36000 (1секунда)
понято буду дерзать и проясните------в дисплее на MAX 7219 отдельный плюсовой вывод с противоположной стороны для чего?? в схему частотомера он неподключен-----и как то он отдельный для каких целей?
TIMER1_BASE->ARR = 36000; //считать до 36000 (1секунда)
>>>получалось минус 68 Кц как на фото выше-------------------при 35999стало на плюс 50Кц ---можно ли в скетч выставлять шестизначное значение между двумя этими для выравнивания показаний??
freq = TIMER3_BASE->CNT<<16 | TIMER2_BASE->CNT ;
>>
freq = (TIMER3_BASE->CNT<<16 | TIMER2_BASE->CNT) * 1.000002 ;
при изменениях--------время счета оставлять родное------TIMER1_BASE->ARR = 36000; //считать до 36000 (1секунда) ??
Да
нет непомогло беспорядочное переключение цифровых комбинаций
А если так
freq = float(TIMER3_BASE->CNT<<16 | TIMER2_BASE->CNT) * 1.000002 ;
конечно я обязательно попробую попозже а пока вот так и это с поправкой времени счета в 35999----рация здесь понятно для чего------------------проблема однозначнав прошивке------пробовал с другой платой результат тотже----------получится обязательно отпишу-------------
непомагло------на синтезаторе 14,100 на частотомере 14,134---------------
коэффициент не помогает ?
freq = float(TIMER3_BASE->CNT<<16 | TIMER2_BASE->CNT) * 0.997594453 ;
сделал по последнему сообщению--показания приблизились к реальным и заметил странную закономерность---показания зависят от незначительного отклонения питания STM--так при3,3вольта 14,100 на синтезаторе--14,130 на частотомере-----------7,100на синтезаторе-на частотомере 7,114-------при питании3,0 на синтезаторе14,100-на частотомере14,117 на синтезаторе 7,100 на частотомере 7,107 а на восьмидесятки показания ещё точнее-------------------как же ещё немного понизить частоту?? вот эти последние цифры в скетче походу нужно по чуть-чуть уменьшать или увеличивать или както по другому??
Уменьшайте коэффициент
да всё установилось--------------------огромное спасибо за уделенное мне время------и вдогонку осмелюсь спросить можноли в скетче чтото поправить чтобы последние три декады герцовые-----высвечивали принудительно нули или вообще невысвечивались----------------------------------если затруднительно залеплю их непременно синий изоляцией!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Попробуйте так:
freq = long(freq)/1000*1000;
да ---попозже попробую
freq =long(freg)/1000*1000; (TIMER3_BASE->CNT<<16 | TIMER2_BASE->CNT)*0.997594448 ;
} -----------это будет последней строкой в скетче--это правильно??
да
Чтобы отправить ответ, вы должны войти или зарегистрироваться
forum.rcl-radio.ru → STM32 → Частотомер
Форум работает на PunBB, при поддержке Informer Technologies, Inc
|