Отладочная плата , как у автора данной статьи: STM32 и дисплей
Небольшая предыстория:
Была у меня как-то идея из пьезодатчиков сделать датчики пульсирующего давления. А точнее - пульсирующего отрицательного давления относительно атмосферного, иначе говоря датчики пульсирующего разрежения

С датчиков снимается сигнал в виде производной от давления. Датчики включены так, что при нажатии на них снимается отрицательный сигнал, при отпускании - положительный. То есть при росте разрежения сигнал снимается положительный относительно "земли". Что бы узнать реальное давление необходимо проинтегрировать сигнал. Интегрировать собираюсь каждый период в отдельности, то есть от "нуля" до "нуля". Все это было проведено на собранном мною стенде (показывать не буду, ибо выглядит жутко), и сигналы были все обсчитаны в EXCEL'e . Получилось вот что:
Скриншот 1
Скриншот 2
На рисунках представлены первообразные положительной и отрицательной части сигнала. Видно, что амплитуда первообразной зависит от частоты. Причем, установить эту зависимость можно только экспериментальным путем. Необходимо: изменяя частоту давления (разрежения) снимать сигнал с датчика, далее интегрировать его, далее находить поправочные коэффициенты для каждой частоты, и эти коэффициенты потом применять к первообразной при дальнейших измерениях.
Для всех этих хитростей достаточно одного канала АЦП, одного датчика. Но в дальнейшем у меня в работе будет 4 датчика. И по этому собственно сам вопрос встает следующим образом:
Немного уточню чего хочу сделать. Есть 4 пьезо-датчика, сигналы с них идут сложной периодической формы. Значения снимаемого с них сигналов ниже нуля не интересуют. Частоты сигналов от 6 Гц до 50 Гц. Для более точной оцифровки решил использовать частоту дискретизации с запасом (500Гц, по 10 семплов на период для максимальной частоты). Возможно, что потребуется поднять верхний предел до 70Гц. Амплитуда положительной части сигналов до 10 вольт. Соответственно, будет использован делитель на сопротивлениях, хотя не уверен насколько правильным будет его использование с пьезодатчиками и АЦП. Каждый период сигнала будет интегрироваться (суммированием семплов), потом полученный интеграл (первообразная) будет домножаться на определенный коэффициент, зависящий от длительности сигнала с датчика.
1) Реально ли на данном камне реализовать 4 канала АЦП с частотой дискретизации 500гц каждый ? На AVRе были проблемы с емкостью, что при коммутации каналов АЦП давала эффект влияния каналов друг на друга. Здесь же я наткнулся вот на такую интересную вещь: описание явления. Эффект похожий. На AVRе я просто пропускал несколько семплов после переключения канала. Как быть здесь?
2) STM32F103VET6 имеет 3 канала АЦП. Если пункт 1) реален, то как лучше мне организовать измерение 4 каналов, учитывая, что между измерениями будет выполняться матчасть, и будет организован вывод на 7-сегментный индикатор и будет опрос кнопок? Использовать RTOS ?
3) И еще раз - что делать с влиянием каналов друг на друга? Я так понимаю, что если использовать только 3 датчика, и повесить их на ADC1, ADC2, ADC3 , то это влияние можно минимизировать, может быть даже исключить. Если использовать 4 датчика, то один из каналов придется переназначать в процессе опроса. Алгоритм представляю, но влияние каналов...
В общем, сильно не пинайте. Ну уж хочется мне попробовать тарировать пьезоэлементы для использования в некоторых гаражных целях, заодно изучить тонкости STM32 =))