Измерение напряжения. Пробуем фильтровать сигнал. Практика с АЦП. STM32L151CBT6A.

preview_player
Показать описание
#stm32#АЦП#вольтметр
АЦП любого микроконтроллера это узел, возможностей которого всегда не хватает. Бывает нужна скорость, бывает нужна точность.
В данном видео я решил пока потренироваться с точностью полученного измерения напряжения. Делитель напряжения будем использовать уже позже, когда оптимизируем код.
На платах, которые использую я, да и Вы, скорее всего вход аналогового питания и цифрового питания подключены от одного источника напряжения. Это вызывает множество помех в измерении. Попробуем отфильтровать сигнал и посмотрим, что получится...
В роли индикатора: 7-сегментный индикатор на MAX7219

Ссылки:
Рекомендации по теме
Комментарии
Автор

Предполагаю что большие дядьки так не делают :) Я на AVR устанавливаю дроссельный фильтр по питанию ADC и избавляюсь минимум от одного бита с права, можно просто сдвигом в право потому, что именно младшие разряды шумят. А если ещё и бегущее среднее сделать, то вообще песня получается!

ciklomat
Автор

Согласен, у СТМок ацп шумноват, для точных измерений лучше применять специализированные штуковины с цифровым интерфейсом, хотя фильтра тоже решение, тем более - памяти "вагон". Спасибо за видос!

ДенисГригорєв-жт
Автор

Отличные видео, спасибо!
Благодаря вам начал учиться работать с стм32

meg
Автор

Олег, я сделал твой пример без индикатора, ползую дебагер, но в реалном времени Live expresion и наблюдаю изменение переменые в реалном времени. Я считаю, что в настройке АЦП на внутреное опорное напрежение есть какая ошибка! Когда включить второй канал на ранг Vrf в буфер переменьная отражается за 1.224 В число 1505. Ето значить, что АЦП опят работоеть с опорное напрежения, того на питающие. Надо работать за 1, 224 В показания на переменная надо быт 4095. Так что, твое АЦП работоет с разрешение боля маленкое разрешение. Я делол ето в Ардуино и когда поставю внутреный опорный източник, АЦП работоет точно как цифровой компаратор и измеряемое напрежение ограничиваеться до напрежение опорного източника с полном разрядности. Я не нашел, как можно подключит STM32 на внутренное опорное напрежение 1, 224 В на АЦП и показание в полном разрядности 4096.

edmelectronics
Автор

АЦП шумный, спора нет. Использую оверсемплинг и децимацию для быстрых сигналов - шумы убирает хорошо, на учетверенной частоте добивался шума в один бит максимум.
Постоянку фильтрую скользящим средним. Стараюсь с флоат не работать, а фильтровать именно сэмплы АЦП
Для жирных контроллеров на м4, м7 можно и на одиночной запятой разные алгоритмы использовать.

ilpdk
Автор

Взрослые "дядьки", кроме предложенной фильтрации, пишут на приборе заниженную разрядность. Пару самых младших бит выкидывают(рассматривают как шум). Т.е. если пишут, что АЦП 12 разрядов, то используют 14, а в особо дорогих случаях и все 16. А так да - все правильно.

AndreyChigisheff
Автор

Что бы что-то откалибровать измеряющее напряжение нужен не мультиметр, а источник образцового напряжения.
Их есть: МЭ4700 или Х-480 или кетайские платки на базе AD584.
Но это так, для нормальных людей.

hifywvj
Автор

Отличный видеоурок (полезный). но очень странно, что так мало просмотров. Абсолютному большинству людей - такие вещи и не интересны (сегодня с утра пришлось в банке быть и видел это абс. большинство людей в реалии). Успехов каналу и всего хорошего.

ajdarseidzade
Автор

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

jeozlhw
Автор

АЦП не шумить от брой циклов, а от операционный усилителъ в АЦП, то есть аналоговая апаратная часть. Когда он некачественый, есть многа шумов и на обароть.

edmelectronics
Автор

Делал недавно одну штуку на ad8318, тоже шум доставал .Использовал упрощенный Калман с сайта Гайвера, хорошо работает, правда адаптировал его для processing .так как все вычисления происходят в ней. Источник эталонного напряжения вроде говорят не плохая штука, например AD584

cybercube
Автор

да, фильтр это нужная штука. я недавно на работе фильтр АЦП весов делал, это прям жесть как сложно)

openFrimeTv
Автор

Что за программа, в которую передаются измеренные данные? Самописная, читает с COM-порта?

sledleo
Автор

Хоть я в этом деле новичек, изучаю МК, около двух лет но почему-то к STM 32 нет интереса, .подсел на AVR,

avr_stm_pro