Например TDA7294

Форум РадиоКот • Просмотр темы - stm32f103c8 ШИМ и АЦП
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 24, 2024 01:08:36

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


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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: stm32f103c8 ШИМ и АЦП
СообщениеДобавлено: Ср окт 28, 2020 12:10:36 
Грызет канифоль

Карма: 3
Рейтинг сообщений: 10
Зарегистрирован: Пт мар 20, 2009 12:25:47
Сообщений: 289
Откуда: Ivanovo
Рейтинг сообщения: 0
есть задача: генерировать ШИМ и считывать реакцию объекта на эти импульсы посредством АЦП.
всё сделал как надо:
проц завёл на 56 МГц, что бы АЦП работал на 14 МГц (1 выборка за 1 мкс)
подключил ДМА к АЦП, что бы оперативно складывать всё в буфер
настроил таймер для ШИМ: ШИМ инверсный, частота 40 кГц, скважность 50%
выключение ШИМ по достижении счетчика импульсов (эти занимается обработчик прерывания по флагу UIF)
соединил напрямую (для теста) выход ШИМ и вход АЦП

запускаю, смотрю результат:
в момент включения таймера АЦП регистрирует высокий уровень на ноге ШИМ в течение двух измерений, далее ШИМ работает и отключается как ожидалось.
делал запуск АЦП по прерыванию CCIE (мне нужно стартовать АЦП именно в момент подачи импульса) - всё равно эти два значения высокого уровня.

начал экспериментровать и понял, что эти "паразитные всплески" связаны именно с началом работы таймера
включил АЦП
какая-то задержка
инициализировал (но не включил) таймер
ещё какая-то задержка
включил таймер
продолжаю работу ШИМ и АЦП с заданным алгоритмом.

Что в итоге:
после запуска АЦП до инициализации таймера - регистрируются случайные значения (очевидно порт висит в воздухе и ловит помехи)
после инициализации до старта таймера - регистрируется низкий уровень
в момент старта таймера - высокий уровень (в течение 2мкс)
далее всё в порядке, согласно ожиданиям.

наличие высокого уровня до начала измерений неприемлемо, ибо может повлиять на результат измерений.
если с мусором пока порт висит в воздухе я могу справиться введением дополнительного аппаратного ключа, то как побороть эти "паразитные всплески"?
почему в момент старта таймера регистрируется событие CCIF (вставлял запуск АЦП в обработчик этого прерывания)?

как побороть этот баг?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32f103c8 ШИМ и АЦП
СообщениеДобавлено: Ср окт 28, 2020 19:56:38 
Мучитель микросхем

Карма: 4
Рейтинг сообщений: 80
Зарегистрирован: Вс ноя 01, 2015 09:15:16
Сообщений: 445
Откуда: 69.Ржев
Рейтинг сообщения: 0
а временно блокировать выход таймера?
аппаратно входом ETRF или программно.
вроде можно поискать варианты.

" (мне нужно стартовать АЦП именно в момент подачи импульса)"
идеала не существует в природе, что-то может/должно быть раньше.
почему бы "не спрятать" переходные процессы.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32f103c8 ШИМ и АЦП
СообщениеДобавлено: Чт окт 29, 2020 13:49:46 
Грызет канифоль

Карма: 3
Рейтинг сообщений: 10
Зарегистрирован: Пт мар 20, 2009 12:25:47
Сообщений: 289
Откуда: Ivanovo
Рейтинг сообщения: 0
Ну я пока так и поступил, запускаю ШИМ, пропускаю пару импульсов, по событию СС запускаю АЦП и подключаю ШИМ к объекту.

ПС. Кто нибудь может скинуть пример на CMSIS как работать с АЦП в dual mode на один канал? Dual fast interleaved mode называется
В аппноте AP3116 написано что там можно, а примера нет :(

Добавлено after 1 hour 48 minutes 42 seconds:
А всё, разобрался...


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: stm32f103c8 ШИМ и АЦП
СообщениеДобавлено: Чт ноя 05, 2020 11:11:47 
Грызет канифоль

Карма: 3
Рейтинг сообщений: 10
Зарегистрирован: Пт мар 20, 2009 12:25:47
Сообщений: 289
Откуда: Ivanovo
Рейтинг сообщения: 0
а временно блокировать выход таймера?
аппаратно входом ETRF или программно.

а можно про ETRF поподробнее?
как можно блокировать выход таймера?
сейчас я сделал доп канал который включает питание ШИМ.
выгладит это так
Вложение:
photo_2020-11-02_11-31-35.jpg [6.48 KiB]
Скачиваний: 189

между фронтом ШИМ и включением питания ШИМ есть задержка
Вложение:
photo_2020-11-02_11-33-04.jpg [5.11 KiB]
Скачиваний: 181


хотелось бы избавиться от доп канала
и убрать этот непонятный всплеск в начале.


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: stm32f103c8 ШИМ и АЦП
СообщениеДобавлено: Чт ноя 05, 2020 21:23:41 
Мучитель микросхем

Карма: 4
Рейтинг сообщений: 80
Зарегистрирован: Вс ноя 01, 2015 09:15:16
Сообщений: 445
Откуда: 69.Ржев
Рейтинг сообщения: 0
"а можно про ETRF поподробнее?"

так это аппаратно, если f10x - rm0008, 15.3.11 Clearing the OCxREF signal on an external event

может у Вас нет этого (после загрузки регистров, до старта):
TIM3->EGR |= TIM_EGR_UG; - принуждает обновить теневые регистры


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: stm32f103c8 ШИМ и АЦП
СообщениеДобавлено: Пн ноя 09, 2020 13:59:31 
Грызет канифоль

Карма: 3
Рейтинг сообщений: 10
Зарегистрирован: Пт мар 20, 2009 12:25:47
Сообщений: 289
Откуда: Ivanovo
Рейтинг сообщения: 0
TIM_EGR_UG убрал лишний всплеск, спасибо!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32f103c8 ШИМ и АЦП
СообщениеДобавлено: Пн ноя 09, 2020 16:56:08 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
TIM3->EGR |= TIM_EGR_UG; - принуждает обновить теневые регистры
Регистр EGR только для записи. Правильно вот так
Код:
TIM3->EGR = TIM_EGR_UG;


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32f103c8 ШИМ и АЦП
СообщениеДобавлено: Пн ноя 09, 2020 17:13:48 
Грызет канифоль

Карма: 3
Рейтинг сообщений: 10
Зарегистрирован: Пт мар 20, 2009 12:25:47
Сообщений: 289
Откуда: Ivanovo
Рейтинг сообщения: 0
Правильно так, работает и так |=.
По сути читаем мы нули...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32f103c8 ШИМ и АЦП
СообщениеДобавлено: Пн ноя 09, 2020 22:13:46 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
Я не писал работает или нет. Я писал правильно или нет.


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

Часовой пояс: 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