реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> АЦП STM32, эффективная разрядность АЦП STM32
kappafrom
сообщение Jun 8 2017, 17:18
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 379
Регистрация: 23-10-12
Из: Msk
Пользователь №: 74 056



Здравствуйте. Сделал платку на STM32F103 с 12-бит АЦП, на деле измерил собственное питание па плате - эффективная разрядность 9 бит, остальное шумы. Несмотря на то что на моей плате в качестве источника стоит DCDC, есть большой массив емкостей и дроссели для фильтрации питания, аналоговое питание получается чисткой основного, на осциллографе с питанием все хорошо. в следующей итеррации сделаю 27V->5V DCDC и 5V->3V3 LDO, несмотря на указания STM сделаю возможность подачи аналогового питания от собственного VREF на плате. но это потом.

что касается сигнала для измерения - пробовал разные варианты: измерять как собственное питание, так и напряжения с наружных собранных объемным монтажом источников опорного напряжения. в итоге не получалось вытянуть больше 9 эффективных бит из 12-битного ацп.

причем перемерил на отладочных китах Терраэлектроники для 103 и 107 контроллеров эффективная разрядность 8-9 бит. Подавал на вход АЦП выход LDO.

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

в общем вопрос
Кто добивался заявленной разрядности АЦП? STM - хорошая компания, вряд ли они сделали неработающий по заявленной битности АЦП.



Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 8 2017, 18:24
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



В больших корпусах есть спец.нога VREF, вот на нее можно подать чистое опорное напряжение, и будет счастье. А ваше питание так шумит, что больше 8 разрядов не получается. Попробуйте от батарейки запитать, проверить.
Go to the top of the page
 
+Quote Post
MegaVolt
сообщение Jun 8 2017, 19:25
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783



Математика может помочь если есть запас по частоте. В теории цифруем в два раза чаще имеем одни бит дополнительный. В 4 раза чаще - 2 бита и т.д.
Go to the top of the page
 
+Quote Post
amaora
сообщение Jun 8 2017, 19:33
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 421
Регистрация: 2-01-08
Пользователь №: 33 778



Попробуйте делать преобразование когда МК находится в режиме сна.
Go to the top of the page
 
+Quote Post
Plain
сообщение Jun 8 2017, 19:58
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 6 776
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710



Цитата(kappafrom @ Jun 8 2017, 20:18) *
STM - хорошая компания, вряд ли они

...поставили бы гремучую смесь из генератора шума 34063 и голой гантели, ещё и при неизвестной разводке.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 8 2017, 20:02
Сообщение #6


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(MegaVolt @ Jun 8 2017, 22:25) *
Математика может помочь если есть запас по частоте. В теории цифруем в два раза чаще имеем одни бит дополнительный. В 4 раза чаще - 2 бита и т.д.

Не так. В 4 раза чаще - 1 бит.
Go to the top of the page
 
+Quote Post
MegaVolt
сообщение Jun 8 2017, 21:13
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783



Цитата(ViKo @ Jun 8 2017, 23:02) *
Не так. В 4 раза чаще - 1 бит.
Почему?? Среднее арифметическое от x+1 и x даст x+0,5 что есть как раз один дополнительный бит.
Четыре отсчёта дадут уже три дополнительных ступеньки 0.25, 0.5, 0.75
Go to the top of the page
 
+Quote Post
_pv
сообщение Jun 8 2017, 22:36
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(MegaVolt @ Jun 9 2017, 04:13) *
Почему?? Среднее арифметическое от x+1 и x даст x+0,5 что есть как раз один дополнительный бит.

белый шум усредняется как корень, чтобы в два раза уменьшить, для дополнительного бита, надо в 4 раза больше отсчётов усреднить.
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 9 2017, 07:15
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(kappafrom @ Jun 8 2017, 20:18) *
Кто добивался заявленной разрядности АЦП? STM - хорошая компания, вряд ли они сделали неработающий по заявленной битности АЦП.

У STM много AN на тему улучшения показаний АЦП. Советую ознакомиться.
Следование рекомендациям очень сильно помогает (я бодался, правда, на F4xx).
Но и про Котельникова не забываем.
Кста, если память не изменяет, то про PA0 частенько писали в ES в части АЦП.
Go to the top of the page
 
+Quote Post
Tanya
сообщение Jun 9 2017, 08:20
Сообщение #10


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(kappafrom @ Jun 8 2017, 20:18) *
я бы хотел хотя бы 10 бит выжать, потому что шумы еще набегут с усилителя сигнала, а сейчас я тестил близкий к идеальному сигнал. на осциллографе дрожание питания 20-30 мВ, но меньше не получалось измерить, даже подпаяв коаксиал щупа разворотив оплетку максимально близко к соединению.

в общем вопрос
Кто добивался заявленной разрядности АЦП? STM - хорошая компания, вряд ли они сделали неработающий по заявленной битности АЦП.

Все там соответствует. Надо сравнивать распределение отсчетов при хороших опорном источнике и сигнале с данными производителя.
Соответствие или отклонение показывает качество Вашей схемотехники и разводки. Это справедливо для любых АЦП.
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Jun 9 2017, 08:23
Сообщение #11


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



..на входе АЦП нужно ограничить полосу сигнала аналоговым фильтром до одной зоны найквиста , а просто так цеплять вход ацп непойми куда нельзя , иначе шумы многократной сложаться и вы потеряете младшие биты. И REF должен быть прецизионый и фильтрованый.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
kappafrom
сообщение Jun 9 2017, 09:06
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 379
Регистрация: 23-10-12
Из: Msk
Пользователь №: 74 056



Цитата(ViKo @ Jun 8 2017, 21:24) *
В больших корпусах есть спец.нога VREF, вот на нее можно подать чистое опорное напряжение, и будет счастье. А ваше питание так шумит, что больше 8 разрядов не получается. Попробуйте от батарейки запитать, проверить.

действительно, при питании от батареек, шумит только последний бит, 11 эффективных блестяще. STM не обманул, они красавчики, ошибки мои. буду чистить питание. в текущем применении мне и 8 эффективных бит хватит, а для точной схемы поставлю LDO. К сожалению, не могу использовать корпус в 100 пин, VREF придется отщепить от основной сети.
Да, что касается аппноутов STM - пригодился конденсатор в 10nF, без него работало нестабильно. спасибо.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 9 2017, 09:15
Сообщение #13


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Lmx2315 @ Jun 9 2017, 11:23) *
..на входе АЦП нужно ограничить полосу сигнала аналоговым фильтром до одной зоны найквиста

Лучше до полосы входного сигнала, она же, небось, поуже будет. rolleyes.gif
Go to the top of the page
 
+Quote Post
Tanya
сообщение Jun 9 2017, 11:22
Сообщение #14


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(ViKo @ Jun 9 2017, 12:15) *
Лучше до полосы входного сигнала, она же, небось, поуже будет. rolleyes.gif

А зачем? Измерять нужно постоянное напряжение. Там внутри стоит УВХ с регулируемым временем выборки, известна емкость, поэтому внешние цепи уже будут определять переходные процессы.
Go to the top of the page
 
+Quote Post
kappafrom
сообщение Jun 9 2017, 11:27
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 379
Регистрация: 23-10-12
Из: Msk
Пользователь №: 74 056



в общем не так все круто с батарейкой. задаю N - разное количество отсчетов АЦП, и среди них ищу минимальные и максимальные значения, вычитаю одно из другого и смотрю разброс. питание от двух батареек AA, снимаемое напряжение с одной. статистика:
N_Разброс*_Эффективная разрядность *(0..4096 для 12 бит АЦП)
10_2_10бит
100_4_10бит
1000_10_8бит
10000_11_8бит
100000_12_8бит
1000000_13_8бит
Причем моментальный единичный отсчет почти не дрожит (10-11 эффективных бит).

как это понимать? что я делаю не так?

текст программы:
while (1)
{
mV_min = 4096;
mV_max = 0;
for (int i=0; i<1000; i++)
{
mV = ADC_GetConversionValue(ADC1);
if (mV < mV_min)
mV_min = mV;
if (mV > mV_max)
mV_max = mV;
};
mV_ampl = mV_max - mV_min;
}
Go to the top of the page
 
+Quote Post
Tanya
сообщение Jun 9 2017, 11:35
Сообщение #16


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(kappafrom @ Jun 9 2017, 14:27) *
как это понимать? что я делаю не так?


Надо построить распределение, как это делают все производители. Приличные.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 9 2017, 11:39
Сообщение #17


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Tanya @ Jun 9 2017, 14:22) *
А зачем?

Чем уже полоса, тем меньше шума.
Цитата
Измерять нужно постоянное напряжение.

Кто сказал? Постоянное напряжение редко кого интересует. Топикстартер, кстати, упомянул усилитель сигнала.
Цитата
Там внутри стоит УВХ с регулируемым временем выборки, известна емкость, поэтому внешние цепи уже будут определять переходные процессы.

Можно представить, как ФНЧ, дополняющий тот, что на входе. + в общий вклад АЧХ.

Цитата(kappafrom @ Jun 9 2017, 14:27) *
как это понимать? что я делаю не так?

Среднеквадратическое отклонение ищите, а не максимальное.
Go to the top of the page
 
+Quote Post
kappafrom
сообщение Jun 9 2017, 11:41
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 379
Регистрация: 23-10-12
Из: Msk
Пользователь №: 74 056



у меня медленно меняющийся сигнал, контролю близкое к постоянному входное напряжение, соответственно тестирую вначале чистый постоянный уровень и уже тут непонятный разброс и большая потеря разрядности
Go to the top of the page
 
+Quote Post
Baser
сообщение Jun 9 2017, 11:57
Сообщение #19


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(kappafrom @ Jun 9 2017, 14:27) *
как это понимать? что я делаю не так?

Еще могут быть случайные нерегулярные выбросы из-за внешних влияний (типа всплеск солнечного ветра накрыл sm.gif или по сети 220В, что вокруг вас в помещении, прошла мощная помеха и навелась на вашу схему).
В математике такие вещи называются "промах". Хорошо фильтруются медианным фильтром.
Т.е. сначала скользящий медианный фильтр, а уже потом усреднение.

А вообще, на встроенном в МК АЦП получить максимальную заявленную разрядность почти невозможно.
Всегда 1-2 разряда шумят...
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 9 2017, 12:04
Сообщение #20


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Усилитель сигнала сделайте с малой полосой, как уже говорил.
Время выборки сделайте максимально большим.
Частоту выборок сделайте максимально большой. Дальше в цифровом фильтре используете.
Медианный фильтр отбросит выбросы (промахи, как Baser написал).
Цифровой фильтр НЧ может дать вам массу дополнительных разрядов.
Естественно, результирующая полоса не должна быть меньше необходимой для измерения изменяющегося сигнала. В вашем случае - очень низкой.
Go to the top of the page
 
+Quote Post
kappafrom
сообщение Jun 9 2017, 12:52
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 379
Регистрация: 23-10-12
Из: Msk
Пользователь №: 74 056



1-2 разряда шума устроят, но на батареечном питания и измерении напряжения батарейки при 1 000 000 выборок я бы хотел видеть 1-2 разряда шума) надо гистограмму строить и смотреть, нормальное ли распределение и какой разброс.

сейчас у меня никакого усилителя нет, я снимаю сигнал с батарейки, плюс на входе ацп делитель напряжения 0.9 и конденсатор на 10нФ

вот распределение. одной половины колокола почему-то нет.



Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Jun 9 2017, 13:01
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Фильтровать надо базар.
Фильтрация- наше все.

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

Сначала определите что за шумы, и только после этого начинайте думать как перестать их замечать.

Перво-наперво: сохраните массив сырых данных Вашего АЦП и доставьте его в компьютер.
И уже в компьютере займитесь экспериментами: какие методы фильтрации дадут нужный результат.
Заодно и проанализируйте. Например, разложение в Фурье может дать интересную информацию о шумах и показать, действительно ли Вы со случайным шумом боретесь.

Софт- даже Екселя хватит (хотя Фурье в Екселе - это на любителя), сильно лучше- Матлаб.
Кстати, Матлаб хорош еще тем, что написанный в нем си-подобный код легко переносится в МК.
Go to the top of the page
 
+Quote Post
kappafrom
сообщение Jun 9 2017, 13:29
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 379
Регистрация: 23-10-12
Из: Msk
Пользователь №: 74 056



а, распределение кривое, потому что я переменные переполнял
Go to the top of the page
 
+Quote Post
Tanya
сообщение Jun 9 2017, 14:05
Сообщение #24


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(kappafrom @ Jun 9 2017, 15:52) *
вот распределение. одной половины колокола почему-то нет.

Вот что-то у Вас не так...
Вашу безобразную картинку сожмите или уберите совсем.

Цитата(Ruslan1 @ Jun 9 2017, 16:01) *
Фильтровать надо базар.
Фильтрация- наше все.

А если у Вас нечто вроде осциллографа? И скорость нужна максимальная...
Go to the top of the page
 
+Quote Post
kappafrom
сообщение Jun 9 2017, 15:12
Сообщение #25


Местный
***

Группа: Свой
Сообщений: 379
Регистрация: 23-10-12
Из: Msk
Пользователь №: 74 056



Цитата(Tanya @ Jun 9 2017, 17:05) *
А если у Вас нечто вроде осциллографа? И скорость нужна максимальная...

осциллограф на 600 MHz 10Gs/s обычными щупами дает 100mV шума, а подпаянный коаксиальный провод - 20 mV. это 4 мои шумных разряда, мой осцилл, либо мои методы измерения мне не позволяют отловить что там реально происходит. единственное что смог - снизить шум на осцилле, подпаяв провод к месту соединения и оплетку сразу на землю.
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Jun 9 2017, 15:37
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(Tanya @ Jun 9 2017, 16:05) *
А если у Вас нечто вроде осциллографа? И скорость нужна максимальная...

Ну, тогда битва идет на уровне железа, раз нет резерва в вычислизме. Природу не обмануть, фильтровать все равно приходится.
нет возможности программно- фильтровать в электронике. Нет возможности в электронике- демпфировать саму физическую величину на уровне самого сенсора. Фильтрация всегда нужна sm.gif

Ну у ТС, мне кажется, все сильно проще- ему нужно только грамотно подойти к вопросу и обнаружить источник помех, там явно не белый шум. А самый простой и дубовый метод обнаружения- матобработка сырых данных на компьютере.
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Jun 9 2017, 17:56
Сообщение #27


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



Цитата(kappafrom @ Jun 9 2017, 18:12) *
единственное что смог - снизить шум на осцилле, подпаяв провод к месту соединения и оплетку сразу на землю.

..а вы поставьте на осцилографе AC вход и 50 ом , у вас шумы ещё упадут наверное. Ещё можно в настройках осцилографа полосу пропускания обузить - ещё шумы упадут . Только какой со всего этого прок?


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th June 2025 - 16:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01916 секунд с 7
ELECTRONIX ©2004-2016