Например TDA7294

Форум РадиоКот • Просмотр темы - Частотомер на STM32F401
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вс апр 28, 2024 04:11:43

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 105 ]  1, , , , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Частотомер на STM32F401
СообщениеДобавлено: Сб ноя 11, 2023 00:42:22 
Опытный кот

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 818
Рейтинг сообщения: 0
https://drive.google.com/file/d/1KyRss0 ... sp=sharing // архив проекта в CubeIDE.
https://drive.google.com/file/d/12iExBB ... sp=sharing //видео работы частотомера.


Последний раз редактировалось linkov1959 Сб ноя 11, 2023 09:27:48, всего редактировалось 2 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Частотомер на STM32F401
СообщениеДобавлено: Сб ноя 11, 2023 02:29:56 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Частотомер на STM32F401
СообщениеДобавлено: Сб ноя 11, 2023 08:49:59 
Опытный кот

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 818
Рейтинг сообщения: 0
Аlex, файлы грузятся? Описание сегодня будет.
https://drive.google.com/file/d/12iExBB ... drive_link
Вложение:
401f.jpg [68.46 KiB]
Скачиваний: 111

B10 - RES, B1 - DC для дисплея.
Для отладки использую выход MCO(А8) , его нужно соединить с А0, А1. Время измерения 0.5 сек, 6-7 знаков стабильны. Тим5 в режиме захвата считает тактовые тики 125Мгц, Тим2 считает импульсы измеряемой частоты со входа ETR , Тим4 каждые 0.5 сек в прерывании по переполнению включает прерывание по захвату Тим5, в котором это прерывание запрещается и по разности показаний счетчиков за измеряемый интервал рассчитывается частота. Настройки в Кубе.
Диапазон частот 0.1 Гц - 50Мгц.
Стартуем.
HAL_TIM_Base_Start(&htim2); // В кубе выставить тактирование ETR2, остальное по умолчанию.
HAL_TIM_Base_Start_IT(&htim4); // В кубе настроить прерывание через 0.5с или другое.
HAL_TIM_IC_Start_IT(&htim5, TIM_CHANNEL_2); // В кубе выставить канал 2 Input Capture, включить прерывание , остальное по умолчанию.

Прерывание Тим4, время измерения.
void TIM4_IRQHandler(void)
{
/* USER CODE BEGIN TIM4_IRQn 0 */
NVIC_EnableIRQ(50);
snprintf(str1, 96,"%.6f", f1); // В настройках куба разрешить printf_Float.
ST7735_WriteString(0, 0,str1 , Font_11x18, ST7735_GREEN, ST7735_BLACK);
...

Прерывание захвата.
void TIM5_IRQHandler(void)
{
/* USER CODE BEGIN TIM5_IRQn 0 */
NVIC_DisableIRQ(50);
n2=TIM5->CCR2;
ni2= TIM2->CNT;
n=n2-n1;
n1=n2;
ni=ni2-ni1;
ni1=ni2;
f1=125000000.0/n;
f1=f1*ni;
...

Переменные.
/* USER CODE BEGIN EV */
uint32_t n1=0;
uint32_t n2=0;
uint32_t ni1=0;
uint32_t ni2=0;
uint32_t ni=0;
uint32_t n=0;
char str1[96]={0,};
float f1=0.0;
...

Таймеры работают без остановок.
Библиотеку для дисплея SPI ST7735 брал отсюда.
https://www.youtube.com/watch?v=scd0yFtdpJs


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Частотомер на STM32F401
СообщениеДобавлено: Сб ноя 11, 2023 11:38:41 
Мучитель микросхем

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Вт фев 09, 2010 17:52:26
Сообщений: 417
Рейтинг сообщения: 0
//видео работы частотомера.

Оно, 1000000 G(h)z мерит.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Частотомер на STM32F401
СообщениеДобавлено: Сб ноя 11, 2023 13:15:12 
Опытный кот
Аватар пользователя

Карма: 14
Рейтинг сообщений: 307
Зарегистрирован: Пт апр 09, 2010 16:06:38
Сообщений: 869
Откуда: Тула
Рейтинг сообщения: 0
Для отладки использую выход MCO(А8)

C синхронным сигналом HSE не считается. :-) Включите асинхронный HSI.

Тим4 каждые 0.5 сек в прерывании по переполнению включает прерывание по захвату Тим5, в котором это прерывание запрещается

Во первых, запрет прерываний не запрещает захват, по приходу события регистр всё равно обновится. Во вторых, фронт входного сигнала может прийти между событием, вызывающем прерыванием и командой чтения регистра. Это будет вызывать периодические ошибки.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Частотомер на STM32F401
СообщениеДобавлено: Сб ноя 11, 2023 13:38:29 
Опытный кот

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 818
Рейтинг сообщения: 2
Andrey_B, я тестировал с LSE/4. Нужно прежде посмотреть осциллом на сигнал, бывает фигня. Захват не мешает. Ошибок не замечал. По идее должны быть ошибки, если предыдущее показание счетчика больше и разность отрицательна, но это не наблюдается. Сначала делал условие перед расчетом, но потом отказался. Чем проще, тем понятней.
codenamehawk, этот частотомер измеряет Герцы, а не Херцы!:)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Частотомер на STM32F401
СообщениеДобавлено: Пн ноя 13, 2023 13:03:24 
Мучитель микросхем

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Вт фев 09, 2010 17:52:26
Сообщений: 417
Рейтинг сообщения: 0
linkov1959 писал(а):
этот частотомер измеряет Герцы, а не Херцы!:

И я об этом, если хотите чтобы было как у всех, то герцы, английскими символами обозначают Hz, а Gz ближе всего к GHz.
Впрочем каждый сам себе художник, делайте как получается.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Частотомер на STM32F401
СообщениеДобавлено: Пн ноя 13, 2023 16:38:18 
Опытный кот

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 818
Рейтинг сообщения: 0
codenamehawk, На видео нельзя исправить, но в программе можно.
snprintf(str1, 96,"%.6f", f1);// выводится то, что в кавычках. Вам должно понравиться :
snprintf(str1, 96,"%.6f Hz ", f1);


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Частотомер на STM32F401
СообщениеДобавлено: Пн ноя 13, 2023 18:35:07 
Электрический кот
Аватар пользователя

Карма: 4
Рейтинг сообщений: 135
Зарегистрирован: Сб мар 09, 2013 11:29:22
Сообщений: 1020
Откуда: 40RUS, Жуков
Рейтинг сообщения: 0
linkov1959, Нужно писать Гц . :)

_________________
IVL ex UA6PJ OSC_F303


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Частотомер на STM32F401
СообщениеДобавлено: Пн ноя 13, 2023 19:25:49 
Опытный кот

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 818
Рейтинг сообщения: 0
240265, Я и написал Гц, а получились бяки, это автор библиотеки виноват :)

Добавлено after 38 minutes 46 seconds:
Библиотечку для дисплея SPI ST7735 хорошую с кириллицей где взять? Даже поворота экрана в моей нет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Частотомер на STM32F401
СообщениеДобавлено: Сб ноя 25, 2023 20:13:57 
Опытный кот

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 818
Рейтинг сообщения: 0
Ещё одна версия частотомера на STM32F401. Вход А0. Перед чтением показаний таймеров каналы синхронно закрываются, после чтения открываются. Исключается вероятность захвата между чтениями двух таймеров. Ведущий TIM2 по захвату с входа А0 считает импульсы и управляет захватом TIM5, который считает системные тики. TIM10 отвечает за время счета 0.5сек.
https://drive.google.com/file/d/1heW0HQ ... drive_link //архив проекта в CubeIDE.
К сожалению, в кубе нельзя настроить нужный режим для TIM2. Эти строки нужно вписать вручную вместо тех, что делает куб в настройках TIM2.
sSlaveConfig.InputTrigger = TIM_TS_TI1FP1;
sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI;


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Частотомер на STM32F401
СообщениеДобавлено: Вс ноя 26, 2023 18:34:28 
Опытный кот

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 818
Рейтинг сообщения: 0
Логика пока такая.
if(flag==1)//время измерения прошло.
{
//выключение каналов.
//Сохранение свежих данных с каналов.
//включение каналов.
//Извлечение ранее сохраненных данных.
//Расчет частоты.
//Замещение ранее сохраненных данных на свежие.
//Вывод частоты.
//Сброс флага.
}
Что бы реализовать конвейер будем данные каналов сохранять в массивы m[](канал измеряемых импульсов) и n[](канал тактовых импульсов).
Ещё нам понадобится сдвигать данные этих массивов(по 4 значения) вправо такой строкой.
for(i=3;i>0;i--) m[i]= m[i-1], n[i]= n[i-1];


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Частотомер на STM32F401
СообщениеДобавлено: Пн ноя 27, 2023 18:33:46 
Опытный кот

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 818
Рейтинг сообщения: 0
А куда вставить строку сдвига?
if(flag==1)//время измерения прошло.
{
//выключение каналов.
//Сохранение свежих данных с каналов в начало массивов n[] и m[].
//включение каналов.
//Извлечение ранее сохраненных данных c конца массивов n[] и m[].
//Расчет частоты по данным начала и конца массивов n[] и m[].
//Вывод частоты.
for(i=3;i>0;i--) m[i]= m[i-1], n[i]= n[i-1];//сдвиг вправо массивов n[] и m[]
//Сброс флага.
}
Где-то так.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Частотомер на STM32F401
СообщениеДобавлено: Чт ноя 30, 2023 12:49:43 
Опытный кот

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 818
Рейтинг сообщения: 0
Входной формирователь частотомера.
Вложение:
вхЧ.jpg [18.4 KiB]
Скачиваний: 104


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Частотомер на STM32F401
СообщениеДобавлено: Чт ноя 30, 2023 13:18:59 
Встал на лапы

Карма: 1
Рейтинг сообщений: 11
Зарегистрирован: Вс май 15, 2022 23:04:19
Сообщений: 98
Откуда: Белгородская обл.
Рейтинг сообщения: 0
74hc132 при питании 3,3 в низкая частота работы


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Частотомер на STM32F401
СообщениеДобавлено: Чт ноя 30, 2023 14:41:16 
Опытный кот

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 818
Рейтинг сообщения: 0
Игорь2111, там больше транзистор ограничивает, на ВЧ будет другая схема.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Частотомер на STM32F401
СообщениеДобавлено: Пт дек 01, 2023 20:17:58 
Опытный кот

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 818
Рейтинг сообщения: 0
На ВЧ от 50 МГц обычно 50 Ом, но мало вольт для входов STM. Тут поможет повышающий ВЧ трансформатор. Низкие и средние частоты до 50Мгц оптимально полевик BF998R на входе и HC132 или другой триггер Шмидта.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Частотомер на STM32F401
СообщениеДобавлено: Пт дек 01, 2023 23:26:54 
Встал на лапы

Карма: 1
Рейтинг сообщений: 11
Зарегистрирован: Вс май 15, 2022 23:04:19
Сообщений: 98
Откуда: Белгородская обл.
Рейтинг сообщения: 0
NXP выпуск 998ых двухзатворных полевиков прекратил в 2019.
И ели они 15-20 ма
Сейчас рекомендуют в ВЧ биполярники при 3,3 в мшу 2SC3099 3ма.
Тригер Шмидта на входе МК мне кажется лишний.


Последний раз редактировалось Игорь2111 Пт дек 01, 2023 23:44:34, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Частотомер на STM32F401
СообщениеДобавлено: Пт дек 01, 2023 23:43:14 
Опытный кот

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 818
Рейтинг сообщения: 0
Игорь2111, с тюнера на спутник выдрал биполярник на 12 Гиг и поставил в схему с ОЭ вместо BC546 - по частоте выигрыш небольшой, а чуйка на низах упала в разы. А какую схему посоветуешь?
Посмотрел входа на STM - там Шмидт заложен, может обойдемся без внешнего?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Частотомер на STM32F401
СообщениеДобавлено: Сб дек 02, 2023 12:48:20 
Опытный кот

Карма: -2
Рейтинг сообщений: 35
Зарегистрирован: Пн сен 10, 2018 19:16:28
Сообщений: 818
Рейтинг сообщения: 0
Испытал конвейер на stm32f401, 125Мгц. Время измерения 4сек, 8 выборок по 0.5сек. Тут уже флоат не катит, только double. На 1Мгц стабильны сотые герца. На GD407, 390Мгц будет получше.
https://drive.google.com/file/d/14Goot0 ... drive_link // видео.
https://drive.google.com/file/d/1dkZ1zB ... sp=sharing // проект в кубе.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 105 ]  1, , , , ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y