Оверсемплинг. Делаем из 10 битного ацп 12 битный.

preview_player
Показать описание
забыл ссылки добавить:
Рекомендации по теме
Комментарии
Автор

для adc noise достаточно запустить АЦП на максимальной частоте. при этом опорник лучше нормальный взять. хотя бы на TL431B (TLV431B) - копеечные управляемые стабилитроны, которые конкурируют с неплохими опорниками.
ну и число сэплов надо увеличивать. эти ступеньки на графике из-за недостаточности кол-ва измерений. из 16 измерений 2 бита - сильно дофига.
Заводим АЦП на 1МГц, частота преобразований получится 1 000 000/13= 76 923, выставляем накопление 256 отсчётов и делим потом на 64. итоговая частота преобразований получится порядка 300Гц. в 100 раз быстрее, чем отображает мультиметр. и, скорей всего, софтина даже не справится с таким потоком данных.

AnShyv
Автор

Неплохо👍 Возможно чуть чуть ускользнула от вас суть, оверсемлинга. Если по действиям для 12 бит как в AVR121
1. (Оверсемлинг) Складываем 16 значений АЦП и сдвигаем полученный результат побитно вправо на 2. То есть а = а>>2; (равносильно делению на 4 с округлением вниз)
2. (Фильтрация, простое усреднение) Складываем 16 результатов операции 1 и делим на 16.

TDMLab
Автор

А полки получаются скорее всего из за усреднения по большой выборке (шум удаляется). Нужно наоборот усреднять по малой выборке, а потом сглаживать скользящим средним. :)) Теории не читал, так, что если не так извините :)) Мне просто нужно сделать из 15 бит 18 бит (на резистивной матрице на Ардуино программно) и я первый раз решил почитать как это сделать.

sergeyrink
Автор

Видел платы для ШИМ, управляемые по I2C (кажется), они разрядность ШИМ давали 16bit, неплохая приблуда для AVR. Возможно, существуют такие же внешние платы для АЦП. Вообще, я не уверен, что получится сделать корректные замеры, попытавшись обмануть физику математически, теорема Котельникова всё-таки получила своё признание неспроста :). Use STM.
И, да, мне кажется, что делить нужно на 1024 - это количество замеров, а не максимально возможное целое беззнаковое число, которое можно представить в 2**10 бит.

doctorbsd
Автор

С этим более менее понятно а как бороться с не линейностью АЦП если измерять к примеру Вольт 30 через делитель то начинаются танци с бубнами то верхние значение могут убегать а нижние нормально то наоборот с этим явление как бороться только не надо про инну ?! Я знаю что с ней проще хотелось бы с контроллером эту проблему решить, спасибо за видео 👍

kosmos