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

 
 
> Получить от АЦП полные 10 бит. Как?
Dikoy
сообщение Dec 5 2011, 02:35
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 4-03-09
Из: Богота, Колумбия
Пользователь №: 45 676



Так получилось, что для получения необходимого разрешения по измеряемому напряжению мне нужно 10+ бит. Использовать планирую ATmega48 с внутренним генератором на 4-8 МГц. Атмега будет мерить 2 входа АЦП (6 и 7, т.к. на них больше ничего нету), выполнять элементарный расчёт и выдавать на семисегментный индикатор в динамическом режиме.
На входе имеем 7 вольт и померить их надо с разрешением (и точностью) 0,006946891517745 вольт.
10 бит на таком диапазоне, это 0,0068359375, то есть как раз.
И того, надо получить 1024 чистые точки. Без дрожания.
Хотелось бы услышать мнения, как это сделать.

Например, хватит ли внутреннего ИОНа для такой точности?
В ДШ шум документирован как 0,5 LSB. Правда, нигде не нашёл, это при измерении в шутдауне, или при работающем ядре тоже?

Допустим, на время измерения я буду отправлять МК в шутдаун (хотя не хотелось бы, т.к. на нём ещё и динамическая индикация). Делать усреднение (оверсемплинг) по 8-16 выборкам подряд... Что ещё можно сделать?..
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dikoy
сообщение Dec 5 2011, 19:48
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 4-03-09
Из: Богота, Колумбия
Пользователь №: 45 676



Попробую объяснить на пальцах.
Допустим имеем 8 бит АЦП, которое дало результат 148 = 10010100. Сдвигаем результат на 7 бит влево: 0b100101000000000 Условно, в реале величину сдвига надо считать.
Теперь прибавляем сюда случайно выхваченное значение 8-и битного счётчика, до кучи преобразованное к знаковому виду. Вот тебе и шум - он может быть меньше веса младшего значащего бита и не привести к его переключению (или нескольких младших бит)), а может быть больше, и бит перескочит. Всё как в жизни.
Тут возможны варианты. Можно реализовать программный компаратор и щёлкать младший бит согласно условию больше/меньше счётчика. То, о чём писала Татьяна, по сути. Собственно, эти методы были описаны ещё во времена СССР, но тогда подмешивание реального электрического шума было простейшим решением для полуаналоговых ЭВМ. Зачем это делать сейчас?..
При дальнейшем накоплении (самплировании реального сигнала) прибавленный шум также суммируется (или вычитается).
Результатом будет усреднение выборок со сдвигом до исходных 8 бит, или той разрядности, что нам нужна.
То есть ключом является сдвиг результата АЦП влево. Если вы не делаете сдвиг а просто суммируете шум к результату, вот тут уже будет бред.

Теперь хотелось бы посмотреть на вашу реализацию и найти общие точки sm.gif



Цитата(rx3apf @ Dec 5 2011, 23:33) *
А опыт ? Делайте, экспериментируйте...

Ну, это, какбэ, колхоз...

Сообщение отредактировал Dikoy - Dec 5 2011, 19:51
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Dec 5 2011, 19:59
Сообщение #3


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(Dikoy @ Dec 5 2011, 23:48) *
Попробую объяснить на пальцах.
Допустим имеем 8 бит АЦП, которое дало результат 148 = 10010100. Сдвигаем результат на 7 бит влево: 0b100101000000000 Условно, в реале величину сдвига надо считать.
Теперь прибавляем сюда случайно выхваченное значение 8-и битного счётчика, до кучи преобразованное к знаковому виду. Вот тебе и шум - он может быть меньше веса младшего значащего бита и не привести к его переключению (или нескольких младших бит)), а может быть больше, и бит перескочит. Всё как в жизни.

Еще раз - показания ADC стоят как влитые, пока входной уровень не изменится на 1LSB. Вы можете прибавлять туда шум, возраст Вселенной в секундах, умножать на свой рост в миллиметрах и заниматься еще кучей бесполезных арифметических действий. Но различить изменение входного уровня меньше 1LSB - не сможете. Неужели это не очевидно ? Нет ? Ладно, я запасаюсь попкорном и буду просто наблюдать этот цирк...
Go to the top of the page
 
+Quote Post
Dikoy
сообщение Dec 5 2011, 20:31
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 4-03-09
Из: Богота, Колумбия
Пользователь №: 45 676



Цитата(rx3apf @ Dec 5 2011, 23:59) *
Еще раз - показания ADC стоят как влитые, пока входной уровень не изменится на 1LSB. Вы можете прибавлять туда шум, возраст Вселенной в секундах, умножать на свой рост в миллиметрах и заниматься еще кучей бесполезных арифметических действий. Но различить изменение входного уровня меньше 1LSB - не сможете. Неужели это не очевидно ? Нет ? Ладно, я запасаюсь попкорном и буду просто наблюдать этот цирк...

Твой имат! Что в переводе означает "умрём за царя".
У меня есть конкретная задача - получить 10 бит на 10-и битном АЦП, без дрожания. Какое нафиг получение уровня меньше 1LSB? Вы себе придумали повышения разрядности до 12 бит и прёте к этой эмпирической цели. А задача то намного проще. Чувствительность АЦП УЖЕ достаточна. Шум ВНУТРИ АЦП, внешними пилами вы его не выпилите. "Неужели это не очевидно ?" (с)
Или хотелось за ДСП поболтать? :/


Цитата(xemul @ Dec 6 2011, 00:21) *
Но ровнее != точнее.

Да. Однако систематическая погрешность компенсируется, а случайная - нет.

Цитата(xemul @ Dec 6 2011, 00:21) *
Бессмысленные шаманские пляски?

А то. А апогей шаманства - фильтр Калмана.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Dec 5 2011, 20:37
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(Dikoy @ Dec 6 2011, 00:29) *
У меня есть конкретная задача - получить 10 бит на 10-и битном АЦП, без дрожания. Какое нафиг получение уровня меньше 1LSB? Вы себе придумали повышения разрядности до 12 бит и прёте к этой эмпирической цели. А задача то намного проще.

И Вам с самого начала сказали - никаких сложностей в этом нет. _Вообще_ нет. Если, конечно, учтете сказанное. Но +/- младший разряд - будет всегда, как у любого цифрового измерительного прибора. Не нравится - увеличивайте разрядность. Механизм увеличения разрядности был приведен всего лишь как пример пользы "дрожания" младшего бита. А вот Ваше теоретизирование по поводу тождественности аппаратного и программного добавления шума - это лично Ваши измышления, к реальности отношения не имеющие.

Цитата
Чувствительность АЦП УЖЕ достаточна. Шум ВНУТРИ АЦП, внешними пилами вы его не выпилите.

Шум _внутри_ АЦП много меньше 1LSB. Как бы не на порядок.


Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Dikoy   Получить от АЦП полные 10 бит. Как?   Dec 5 2011, 02:35
- - Tanya   Цитата(Dikoy @ Dec 5 2011, 06:35) Так пол...   Dec 5 2011, 03:11
- - 777777   Я еще понимаю когда речь идет о 14-16 разрядном АЦ...   Dec 5 2011, 04:22
|- - Tanya   Цитата(777777 @ Dec 5 2011, 08:22) Я еще ...   Dec 5 2011, 04:39
|- - rx3apf   Цитата(Tanya @ Dec 5 2011, 08:39) А я вот...   Dec 5 2011, 07:05
|- - Tanya   Цитата(rx3apf @ Dec 5 2011, 11:05) Если д...   Dec 5 2011, 07:20
|- - rx3apf   Цитата(Tanya @ Dec 5 2011, 11:20) А если ...   Dec 5 2011, 10:44
|- - Tanya   Цитата(rx3apf @ Dec 5 2011, 14:44) Это ка...   Dec 5 2011, 11:02
|- - ViKo   Цитата(rx3apf @ Dec 5 2011, 13:44) А реал...   Dec 5 2011, 12:22
|- - rx3apf   Цитата(ViKo @ Dec 5 2011, 16:22) А как ег...   Dec 5 2011, 12:27
|- - Tanya   Цитата(rx3apf @ Dec 5 2011, 16:27) - меан...   Dec 5 2011, 12:54
|- - ViKo   Цитата(Tanya @ Dec 5 2011, 15:54) Это как...   Dec 5 2011, 12:56
||- - Tanya   Цитата(ViKo @ Dec 5 2011, 16:56) например...   Dec 5 2011, 13:02
||- - ViKo   Цитата(Tanya @ Dec 5 2011, 16:02) А что э...   Dec 5 2011, 13:06
||- - Tanya   Цитата(ViKo @ Dec 5 2011, 17:06) Псевдосл...   Dec 5 2011, 13:27
||- - rx3apf   Цитата(Tanya @ Dec 5 2011, 17:27) Не пони...   Dec 5 2011, 14:08
||- - Dikoy   Цитата(777777 @ Dec 5 2011, 08:22) Я еще ...   Dec 5 2011, 15:41
||- - rx3apf   Цитата(Dikoy @ Dec 5 2011, 19:41) Вот. То...   Dec 5 2011, 15:49
|||- - Dikoy   Цитата(rx3apf @ Dec 5 2011, 19:49) Есть. ...   Dec 5 2011, 17:50
|||- - rx3apf   Цитата(Dikoy @ Dec 5 2011, 21:41) На посл...   Dec 5 2011, 17:57
|||- - Dikoy   Цитата(rx3apf @ Dec 5 2011, 21:57) Смотре...   Dec 5 2011, 19:17
|||- - rx3apf   Цитата(Dikoy @ Dec 5 2011, 23:17) Допуск ...   Dec 5 2011, 19:33
||- - Tanya   Цитата(Dikoy @ Dec 5 2011, 19:41) Дизерин...   Dec 5 2011, 15:51
|- - rx3apf   Цитата(Tanya @ Dec 5 2011, 16:54) Это мож...   Dec 5 2011, 13:14
- - arttab   не забудьте считывать результат из 2х регистров   Dec 5 2011, 07:13
|- - 777777   Цитата(arttab @ Dec 5 2011, 11:13) не заб...   Dec 5 2011, 09:30
- - Павлик   Я делал так значительно лучше результат, сравнение...   Dec 5 2011, 09:15
- - Navovvol   "0,006946891517745 вольт. " И зачем така...   Dec 5 2011, 09:45
|- - xemul   Цитата(Navovvol @ Dec 5 2011, 13:45) ...   Dec 5 2011, 09:52
- - delamoure   Кокос, кокос, не издевайтесь... Стремление измерит...   Dec 5 2011, 10:23
||- - 777777   Цитата(Dikoy @ Dec 6 2011, 00:31) Твой им...   Dec 6 2011, 07:26
||- - rx3apf   Цитата(777777 @ Dec 6 2011, 11:26) Да поч...   Dec 6 2011, 08:24
||- - Tanya   Цитата(rx3apf @ Dec 6 2011, 12:24) Да. Но...   Dec 6 2011, 08:37
|- - xemul   Цитата(Dikoy @ Dec 5 2011, 23:48) Всё как...   Dec 5 2011, 20:21
- - Dikoy   Знать значение младШИХ битОВ или младШЕГО битА - р...   Dec 5 2011, 21:05
|- - rx3apf   Цитата(Dikoy @ Dec 6 2011, 01:05) Я катег...   Dec 5 2011, 21:16
|- - Dikoy   Цитата(rx3apf @ Dec 6 2011, 01:16) Тогда ...   Dec 6 2011, 19:00
|- - Михась   Цитата(Dikoy @ Dec 7 2011, 01:00) У кнута...   Dec 7 2011, 01:56
||- - Dikoy   Цитата(Михась @ Dec 7 2011, 05:56) Классн...   Dec 8 2011, 20:49
||- - Microwatt   Цитата(Dikoy @ Dec 9 2011, 00:49) Кстати,...   Dec 8 2011, 22:46
||- - Михась   ЦитатаУ мемсов подшипники? Вы случайно с магнитоме...   Dec 9 2011, 04:01
|- - ViKo   Цитата(Dikoy @ Dec 6 2011, 22:00) Взять х...   Dec 7 2011, 08:50
- - ViKo   Dikoy, вы неправы! Про рандомизацию чуть-чуть ...   Dec 6 2011, 17:36
- - usav   Итак выводы (на основе опыта)! 1) AVR_ADC10 р...   Dec 8 2011, 19:28
- - Dikoy   Ну, прецессию обычно компенсируют диагональной свя...   Dec 9 2011, 04:46
- - ArtemKAD   ЦитатаНа какой странице график? http://www.atmel.c...   Dec 21 2011, 11:57


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

 


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


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