Частотомер непрерывного счета на STM32F050 с GPS синхрой
Добавлено: Чт июл 28, 2016 19:55:11
Собран на STM32F050F4 в корпусе TSSOP20.
Измеряет частоту прямым (подсчет количества импульсов за период 100мс/1с) и обратным методом (подсчет импульсов внутреннего генератора за период внешнего сигнала - измерение ШИМа), обороты (RPM), количество импульсов (режим прямого и обратного счетчика).
В режиме прямого счета возможно тактирование внешними 1Гц - импульсами, напр. от сигнала PPS GPS приемника.
Счет происходит непрерывно, возможно длительное накопление измеренных импульсов.
Измеренная частота выводится в USART в формате CSV, на скорости 38400, с периодичностью заданной параметром uart log.
Без внешнего делителя макс.частота достигает 80МГц (с внутренним прескалером), с внешним делителем MC12080 макс.частота 1.1ГГц.
Точность измерения до 0.001Гц.
Схема:


Индикатор - LCD8x2 или 16x2 (для последнего нужно подтянуть вывод D4 индикатора на землю резистором 1..3К).
Управление - кнопками "+","-","Set". Короткое нажатие "+","-" - выбор режима, "Set" - сброс накопительного счетчика.
Длительное нажатие "Set" - вход в редактирование настроек. В верхней строке отображается название параметра, в нижней - номер и значение.
"+","-" - выбор параметра, короткое нажатие "Set" - редактирование ("+","-" - коррекция), длительное нажатие "Set" - выход.
Параметры:
00. mode - текущий режим
01. ext sync - выбор внутренней (0) или внешней (1) синхронизации
02. int div1 - значение битов внутреннего делителя для режима 1 (0=/1, 1=/2, 2=/4, 3=/8)
03. int div2 - значение битов внутреннего делителя для режима 2 (0=/1, 1=/2, 2=/4, 3=/8)
04. int div3 - значение битов внутреннего делителя для режима 3 (0=/1, 1=/2, 2=/4, 3=/8)
05. ext div1 - внешний делитель для режима 1
06. ext div2 - внешний делитель для режима 2
07. ext div3 - внешний делитель для режима 3
08. HSE corr - коррекция частоты опорного генератора 10М
09. clk int - измерение частоты внутреннего генератора (10М)
10. clk corr - автоматическая коррекция внутр.генератора при внешнем опорном сигнале 1Гц
11. err fast - макс.отклонение количества импульсов за период, для сброса счета
12. err PWM - макс.отклонение количества импульсов за период ШИМа, без сброса счета
13. PWM inv - инверсия входного ШИМа
14. cnt pol - полярность вх.импульсов в режиме счетчика
15. dec cnt - заданное количество импульсов в режиме обратного счетчика
16. uart log - период вывода частоты в USART
17. debug - режим вывода отладочной информации
18. reset - сброс настроек по умолчанию
Измеряет частоту прямым (подсчет количества импульсов за период 100мс/1с) и обратным методом (подсчет импульсов внутреннего генератора за период внешнего сигнала - измерение ШИМа), обороты (RPM), количество импульсов (режим прямого и обратного счетчика).
В режиме прямого счета возможно тактирование внешними 1Гц - импульсами, напр. от сигнала PPS GPS приемника.
Счет происходит непрерывно, возможно длительное накопление измеренных импульсов.
Измеренная частота выводится в USART в формате CSV, на скорости 38400, с периодичностью заданной параметром uart log.
Без внешнего делителя макс.частота достигает 80МГц (с внутренним прескалером), с внешним делителем MC12080 макс.частота 1.1ГГц.
Точность измерения до 0.001Гц.
Схема:


Индикатор - LCD8x2 или 16x2 (для последнего нужно подтянуть вывод D4 индикатора на землю резистором 1..3К).
Управление - кнопками "+","-","Set". Короткое нажатие "+","-" - выбор режима, "Set" - сброс накопительного счетчика.
Длительное нажатие "Set" - вход в редактирование настроек. В верхней строке отображается название параметра, в нижней - номер и значение.
"+","-" - выбор параметра, короткое нажатие "Set" - редактирование ("+","-" - коррекция), длительное нажатие "Set" - выход.
Параметры:
00. mode - текущий режим
01. ext sync - выбор внутренней (0) или внешней (1) синхронизации
02. int div1 - значение битов внутреннего делителя для режима 1 (0=/1, 1=/2, 2=/4, 3=/8)
03. int div2 - значение битов внутреннего делителя для режима 2 (0=/1, 1=/2, 2=/4, 3=/8)
04. int div3 - значение битов внутреннего делителя для режима 3 (0=/1, 1=/2, 2=/4, 3=/8)
05. ext div1 - внешний делитель для режима 1
06. ext div2 - внешний делитель для режима 2
07. ext div3 - внешний делитель для режима 3
08. HSE corr - коррекция частоты опорного генератора 10М
09. clk int - измерение частоты внутреннего генератора (10М)
10. clk corr - автоматическая коррекция внутр.генератора при внешнем опорном сигнале 1Гц
11. err fast - макс.отклонение количества импульсов за период, для сброса счета
12. err PWM - макс.отклонение количества импульсов за период ШИМа, без сброса счета
13. PWM inv - инверсия входного ШИМа
14. cnt pol - полярность вх.импульсов в режиме счетчика
15. dec cnt - заданное количество импульсов в режиме обратного счетчика
16. uart log - период вывода частоты в USART
17. debug - режим вывода отладочной информации
18. reset - сброс настроек по умолчанию



