ATmega + 12bit ADC

Обсуждаем контроллеры компании Atmel.
goldmen8
Говорящий с текстолитом
Сообщения: 1523
Зарегистрирован: Пн май 28, 2012 19:52:17
Откуда: г.Киров (Вятка)

Re: ATmega + 12bit ADC

Сообщение goldmen8 »

slav0n писал(а):...совершенно не въехал в идею...
Всё нормально он там въехал. И вполне понятно объясняет и показывает какой эффект при этом получается.
Никого не заставляю этим заниматься, и ни коим образом не настаиваю. :wink:
Реклама
Аватара пользователя
slav0n
Опытный кот
Сообщения: 882
Зарегистрирован: Ср дек 01, 2010 00:38:15
Откуда: Харьков
Контактная информация:

Re: ATmega + 12bit ADC

Сообщение slav0n »

goldmen8 писал(а):Всё нормально он там въехал.
ну, и зачем он 240 выборок суммировал можешь пояснить?

Добавлено after 1 hour 38 seconds:
а если-бы он действительно въехал, то суммировал бы 256 выборок и получил 14 бит
ohmycode!
primuss3.com
Реклама
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: ATmega + 12bit ADC

Сообщение Dimon456 »

slav0n писал(а):то суммировал бы 256 выборок и получил 14 бит
мечтай
СпойлерИзображение
Даю отсчеты
Спойлерна входе 0,336091

Код: Выделить всё

adc_data[0]		74
adc_data[1]		75
adc_data[2]		76
adc_data[3]		76
adc_data[4]		74
adc_data[5]		76
adc_data[6]		69
adc_data[7]		73
adc_data[8]		76
adc_data[9]		68
adc_data[10]		69
adc_data[11]		74
adc_data[12]		69
adc_data[13]		72
adc_data[14]		76
adc_data[15]		68
Сумма 1165
1165 / 16 = 72,81
1165 / 4 = 291,25

72,81 * 5000 / 1024 = 355,52
291,25 * 5000 / 4096 = 355,52
Спойлерна входе 0,334702

Код: Выделить всё

adc_data[0]		76
adc_data[1]		69
adc_data[2]		69
adc_data[3]		68
adc_data[4]		69
adc_data[5]		71
adc_data[6]		76
adc_data[7]		69
adc_data[8]		76
adc_data[9]		68
adc_data[10]		76
adc_data[11]		71
adc_data[12]		76
adc_data[13]		69
adc_data[14]		76
adc_data[15]		68
Сумма 1147
1147 / 16 = 71,69
1147 / 4 = 286,75

71,69 * 5000 / 1024 = 350,04
286,75 * 5000 / 4096 = 350,04

А теперь шаг
355,52 - 350,04 = 5,48
355,52 - 350,04 = 5,48

(0,336091 - 0,334702) * 1000 = 1,38 вот который должен быть шаг.
Хоть так крути, хоть эдак, результат один. Захотел он 14 бит. :tea:
Аватара пользователя
slav0n
Опытный кот
Сообщения: 882
Зарегистрирован: Ср дек 01, 2010 00:38:15
Откуда: Харьков
Контактная информация:

Re: ATmega + 12bit ADC

Сообщение slav0n »

Dimon456 писал(а):Даю отсчеты
"умник", а где ты взял дробные числа при сдвиге суммы?
1165/16 = 72
1165/4 = 291

1147/16 = 71
1147/4 = 286
Последний раз редактировалось slav0n Ср авг 11, 2021 20:50:58, всего редактировалось 3 раза.
ohmycode!
primuss3.com
Реклама
Эиком - электронные компоненты и радиодетали
charchyard
Поставщик валерьянки для Кота
Сообщения: 2466
Зарегистрирован: Сб май 07, 2011 17:52:59

Re: ATmega + 12bit ADC

Сообщение charchyard »

мде. туповатый всёж модератор на соседском форуме. а тут такие батлы корифейские из-за никчёмной темы :o пойду ка я повнимательнее апноут почитаю, что умный малчик перевёл с латиницы. уже склоняюсь, что оверсемплинг мне как нельзя лучшее подойдёт, но исчё очкую маленько :)))
Реклама
Аватара пользователя
Starichok51
Модератор
Сообщения: 19054
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Re: ATmega + 12bit ADC

Сообщение Starichok51 »

подойдет, не сомневайся.
тут всё до предела просто:
сумма 4 выборок добавляет 1 бит.
сумма 16 выборок добавляет 2 бита.
сумма 64 выборок добавляет 3 бита.
сумма 256 выборок добавляет 4 бита.
сумма 1024 выборок добавляет 5 бит.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Реклама
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: ATmega + 12bit ADC

Сообщение Dimon456 »

slav0n писал(а):"умник", а где ты взял дробные числа при сдвиге суммы?
А может ты float решишь использовать.
Ну да ладно, что там у тебя:

Код: Выделить всё

1165/16 = 72
1165/4 = 291
72 * 5000 / 1024 = 351
291 * 5000 / 4096 = 355

1147/16 = 71
1147/4 = 286
71 * 5000 / 1024 = 346
286 * 5000 / 4096 = 349

А теперь шаг
351 - 346 = 5
355 - 349 = 6

А должен быть 1,38
где твои 12 бит?

А теперь, "умник", 16 * 1024 = 16384 и 4 * 4096 = 16384, хоть так крути хоть эдак, результат один. :tea:
Аватара пользователя
Starichok51
Модератор
Сообщения: 19054
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Re: ATmega + 12bit ADC

Сообщение Starichok51 »

если мы проверяем оверсемплинг, то первое деление (на 16) вообще не имеет смысла проводить. соответственно, и все остальные вычисления после деления на 16 делать не нужно.
и при работе с целыми числами нет проблемы сделать округление после деления (сдвига).
тогда в первом случае получим 291, а во тором случае - 287.
Dimon456, и еще не известно, что ты в своей схеме подмешал в качестве шума. но по результатам выборок это вообще не похоже на пилу, о которой говорится в вышеупомянутом апноте. поэтому твои результаты бессмысленны. и неправильность твоего эксперимента хорошо видна, так как у тебя вместо 336 мВ в расчете получилось 355 мВ.
Dimon456 писал(а):А должен быть 1,38
а откуда родилось это число?
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Аватара пользователя
slav0n
Опытный кот
Сообщения: 882
Зарегистрирован: Ср дек 01, 2010 00:38:15
Откуда: Харьков
Контактная информация:

Re: ATmega + 12bit ADC

Сообщение slav0n »

от беда с этими "умниками"...

(72 - 71) * 5.0 / 1024 = 0.0049
(291 - 286) *5.0 / 4096 = 0.0061

6.1 - 4.9 = 1.2
ohmycode!
primuss3.com
Аватара пользователя
Starichok51
Модератор
Сообщения: 19054
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Re: ATmega + 12bit ADC

Сообщение Starichok51 »

выше я показал, что при округлении получится 287, и результат будет точно таким же:
(291 - 287) * 5 / 4096 = 0,0049.
но так как его эксперимент полностью ошибочен, то с оверсемплингом нужно делить 1 * 5 / 4096 = 0,00122.
и для проверки оверсемплинга нужно подавать на вход два напряжения, отличающиеся на 0,00122 Вольта.
а также нужно подмешивать правильный шум.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Аватара пользователя
slav0n
Опытный кот
Сообщения: 882
Зарегистрирован: Ср дек 01, 2010 00:38:15
Откуда: Харьков
Контактная информация:

Re: ATmega + 12bit ADC

Сообщение slav0n »

Starichok51 писал(а):а также нужно подмешивать правильный шум.
да в железе будет видно - нужно или нет
ohmycode!
primuss3.com
parovoZZ
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Re: ATmega + 12bit ADC

Сообщение parovoZZ »

[uquote="Starichok51",url="/forum/viewtopic.php?p=4074597#p4074597"]тут всё до предела просто:
сумма 4 выборок добавляет 1 бит.
сумма 16 выборок добавляет 2 бита.
сумма 64 выборок добавляет 3 бита.
сумма 256 выборок добавляет 4 бита.
сумма 1024 выборок добавляет 5 бит.[/uquote]
это теорема какая-то или что? Откуда взяты эти цифры?
Аватара пользователя
slav0n
Опытный кот
Сообщения: 882
Зарегистрирован: Ср дек 01, 2010 00:38:15
Откуда: Харьков
Контактная информация:

Re: ATmega + 12bit ADC

Сообщение slav0n »

Starichok51 писал(а):Dimon456, и еще не известно, что ты в своей схеме подмешал в качестве шума.
а он просто подмешал какую-то каку амплитудой ~40 mV и предлагает выделить сигнал 1.5 мВ
ну, я ж говорю - настоящий "умник"
ohmycode!
primuss3.com
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: ATmega + 12bit ADC

Сообщение Dimon456 »

Starichok51 писал(а):что ты в своей схеме подмешал в качестве шума
Эта ваша схема, это не моя схема.
Смотри
СпойлерИзображение
Наверное не тот шум, может на тон выше или ниже?
Starichok51 писал(а):а также нужно подмешивать правильный шум.
ага, а еще и войти в резонанс с космосом.

Вот ведь какая красивая таблица получается
СпойлерИзображение
Чего только стоит "разгон" 10 битного АЦП до 16 бит.
Просто слов нет, люди ставят чуть ли не "атомные" источники опорного напряжения, типа REF195,
а тут шум собираются подмешивать.
Вопросик один, а если шума не будет то оверсемплинг работать не будет?
charchyard
Поставщик валерьянки для Кота
Сообщения: 2466
Зарегистрирован: Сб май 07, 2011 17:52:59

Re: ATmega + 12bit ADC

Сообщение charchyard »

я собираюсь использовать "атомнобомбический" Aref
СпойлерИзображение
надеюсь шума будет достаточное колво :solder:
Аватара пользователя
slav0n
Опытный кот
Сообщения: 882
Зарегистрирован: Ср дек 01, 2010 00:38:15
Откуда: Харьков
Контактная информация:

Re: ATmega + 12bit ADC

Сообщение slav0n »

засимулил в шпротеусе
без шума не работает.
дал на опору наобум синус 100кГц 5 мВ - заработало
ohmycode!
primuss3.com
Аватара пользователя
Starichok51
Модератор
Сообщения: 19054
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Re: ATmega + 12bit ADC

Сообщение Starichok51 »

без шума и не должно работать.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Аватара пользователя
slav0n
Опытный кот
Сообщения: 882
Зарегистрирован: Ср дек 01, 2010 00:38:15
Откуда: Харьков
Контактная информация:

Re: ATmega + 12bit ADC

Сообщение slav0n »

та это я для сомневающихся "умников" написал.
использовал модель топикстартера.
у меня при подключении шума динамическая индикация в симуляторе превращается в лютое слайдшоу.
как побороть?
ohmycode!
primuss3.com
goldmen8
Говорящий с текстолитом
Сообщения: 1523
Зарегистрирован: Пн май 28, 2012 19:52:17
Откуда: г.Киров (Вятка)

Re: ATmega + 12bit ADC

Сообщение goldmen8 »

slav0n писал(а):динамическая индикация в симуляторе превращается в лютое слайдшоу.
slav0n писал(а):и зачем он 240 выборок суммировал
а потом посчитал и вывел на табло, с большим таким усреднением и замедлением чтоб табло не мельтешило. И больше ни чем контроллер не занимается.
Это просто был опыт, получится или нет увеличить точность (разрядность) измерения.
Аватара пользователя
slav0n
Опытный кот
Сообщения: 882
Зарегистрирован: Ср дек 01, 2010 00:38:15
Откуда: Харьков
Контактная информация:

Re: ATmega + 12bit ADC

Сообщение slav0n »

goldmen8 писал(а):а потом посчитал и вывел на табло, с большим таким усреднением и замедлением чтоб табло не мельтешило. И больше ни чем контроллер не занимается.
та забыли уже про того чувака с его 240

Добавлено after 24 minutes 6 seconds:
симуляция и сыр.
сыр с коментами топикстартера, я просто его немного покромсал

Добавлено after 1 hour 34 minutes 37 seconds:
charchyard писал(а):я собираюсь использовать "атомнобомбический" Aref
кстати, если здесь использовать калиброванную опору 4.096, то можно избавиться от float в вычислениях
Вложения
Mega8+Oversampling.rar
(57.56 КБ) 225 скачиваний
ohmycode!
primuss3.com
Ответить

Вернуться в «AVR»