Перейти к содержанию
    

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

 

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

 

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

 

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

 

в общем вопрос

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

 

image.png

image.png

image.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В больших корпусах есть спец.нога VREF, вот на нее можно подать чистое опорное напряжение, и будет счастье. А ваше питание так шумит, что больше 8 разрядов не получается. Попробуйте от батарейки запитать, проверить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Математика может помочь если есть запас по частоте. В теории цифруем в два раза чаще имеем одни бит дополнительный. В 4 раза чаще - 2 бита и т.д.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

STM - хорошая компания, вряд ли они

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Математика может помочь если есть запас по частоте. В теории цифруем в два раза чаще имеем одни бит дополнительный. В 4 раза чаще - 2 бита и т.д.

Не так. В 4 раза чаще - 1 бит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не так. В 4 раза чаще - 1 бит.
Почему?? Среднее арифметическое от x+1 и x даст x+0,5 что есть как раз один дополнительный бит.

Четыре отсчёта дадут уже три дополнительных ступеньки 0.25, 0.5, 0.75

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почему?? Среднее арифметическое от x+1 и x даст x+0,5 что есть как раз один дополнительный бит.

белый шум усредняется как корень, чтобы в два раза уменьшить, для дополнительного бита, надо в 4 раза больше отсчётов усреднить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

У STM много AN на тему улучшения показаний АЦП. Советую ознакомиться.

Следование рекомендациям очень сильно помогает (я бодался, правда, на F4xx).

Но и про Котельникова не забываем.

Кста, если память не изменяет, то про PA0 частенько писали в ES в части АЦП.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

в общем вопрос

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

Все там соответствует. Надо сравнивать распределение отсчетов при хороших опорном источнике и сигнале с данными производителя.

Соответствие или отклонение показывает качество Вашей схемотехники и разводки. Это справедливо для любых АЦП.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В больших корпусах есть спец.нога VREF, вот на нее можно подать чистое опорное напряжение, и будет счастье. А ваше питание так шумит, что больше 8 разрядов не получается. Попробуйте от батарейки запитать, проверить.

действительно, при питании от батареек, шумит только последний бит, 11 эффективных блестяще. STM не обманул, они красавчики, ошибки мои. буду чистить питание. в текущем применении мне и 8 эффективных бит хватит, а для точной схемы поставлю LDO. К сожалению, не могу использовать корпус в 100 пин, VREF придется отщепить от основной сети.

Да, что касается аппноутов STM - пригодился конденсатор в 10nF, без него работало нестабильно. спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Лучше до полосы входного сигнала, она же, небось, поуже будет. :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Лучше до полосы входного сигнала, она же, небось, поуже будет. :rolleyes:

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в общем не так все круто с батарейкой. задаю 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;

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...