Форум программистов, компьютерный форум, киберфорум
Цифровая обработка сигналов
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.65/130: Рейтинг темы: голосов - 130, средняя оценка - 4.65
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 192
1

Схемное решение АЦП

16.06.2012, 20:45. Показов 24085. Ответов 57
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Хочу сделать измерялку для которой нужно АЦП с разрешением 12-14 разрядов. Погрешность не более 0,05%. Требований по скорости нет, устраивает 10-100 SPS (измерений в сек). Сделать надо предельно дешево. Смотрю в сторону схемки с АЦП двойного интегрирования http://www.rotgradpsi.de/mc/8051div/dslopee.html Но может это неправильно и есть какие нибудь другие способы или совсем дешевые АЦП?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.06.2012, 20:45
Ответы с готовыми решениями:

Ищю схемное решение аналогового телефона на оптронах
Имеется ввиду DTMF телефон на оптронах с импульсным и тоновым набором на оптронах ... Проблема в...

Граф-схемное представление сопряженного алфавитного оператора в стандартном бинарном алфавите
Дан входной алфавит A = {\alpha \beta \gamma \delta } и выходной стандартный алфавит C= {0,1} ...

Расширение АЦП микроконтроллера и подключение к АЦП датчиков
Здравствуйте. У меня встала задача сделать устройство для элеватора, для контроля температуры в 864...

Как связать таймер с АЦП и АЦП с DMA?
Вообщем стоит такая задача: через определенные интервалы времени периодически запускать...

Алгоритм работы с ацп АЦП STM32F103
Здравствуйте, уважаемые форумчане. Подскажите пожалуйста алгоритм работы с ацп. Допустим мне надо...

57
0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 806
16.06.2012, 20:52 2
Цитата Сообщение от omd
Хочу сделать измерялку для которой нужно АЦП с разрешением 12-14 разрядов. Погрешность не более 0,05%. Требований по скорости нет, устраивает 10-100 SPS (измерений в сек). Сделать надо предельно дешево. Смотрю в сторону схемки с АЦП двойного интегрирования http://www.rotgradpsi.de/mc/8051div/dslopee.html Но может это неправильно и есть какие нибудь другие способы или совсем дешевые АЦП?
12-14 разрядов это серьезное разрешение, основная проблема будет это шум. А что измерять то собираетесь?
0
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 192
16.06.2012, 20:55 3
Прикидываю варианты измерялки сигнала с термопары и с шунта токовой петли 4-20. Сигналы медленно меняющиеся.
0
0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 806
16.06.2012, 21:04 4
Насчет термопары не скажу, а с токовой петлей придется "урезать осетра" разряда на четыре, особенно если нагрузка будет активная.
0
0 / 0 / 0
Регистрация: 19.09.2011
Сообщений: 1,835
16.06.2012, 21:40 5
Обрати внимание на MCP3551.
22 разряда, скорострельность - 14 SPS.
Цена - 33 рубля.
0
0 / 0 / 0
Регистрация: 17.02.2010
Сообщений: 150
16.06.2012, 23:03 6
Ух, классная штука наверное, а реальную разрядность какую можно получить не сильно пыжась?
0
0 / 0 / 0
Регистрация: 19.09.2011
Сообщений: 1,835
16.06.2012, 23:31 7
В datasheet на первой странице внизу справа написано - эффективное разрешение 21,9 бит.
Действительно, классная штука.
0
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
17.06.2012, 03:15 8
MSP430F2003 / F2013 не сильно дороже, ацп немного похуже, в смысле разрядности, по сравнению с MCP3551, зато с мультиплексором на несколько каналов, с PGA и с встроенным микроконтроллером :)
но в зависимости от того что дальше с оцифрованным сигналом делать надо, может оказаться дешевле чем отдельно АЦП и МК.

ну или можно попробовать оверсэмплингом и усреднением вытянуть из 10 разрядного АЦП необходимое количество разрядов, только за нелинейностями аккуратно смотреть надо.
младшие MSP430G2ххх или STM8Sххх, рублей за 15, наверное, найти можно.
0
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 192
17.06.2012, 09:09 9
Цитата Сообщение от mzw
Обрати внимание на MCP3551.
22 разряда, скорострельность - 14 SPS.
Цена - 33 рубля.
Отличный вариант, спасибо!
0
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 192
17.06.2012, 09:19 10
Цитата Сообщение от _pv
MSP430F2003 / F2013 не сильно дороже
Долго осваивать, все ни как не могу решить, что на будущее изучать MSP или STM.
Цитата Сообщение от _pv
ну или можно попробовать оверсэмплингом и усреднением вытянуть из 10 разрядного АЦП необходимое количество разрядов
А на AVR такое нельзя сделать, может есть какая инфа?
0
2 / 2 / 0
Регистрация: 25.05.2010
Сообщений: 3,609
17.06.2012, 09:39 11
Цитата Сообщение от omd
А на AVR такое нельзя сделать, может есть какая инфа?
Думаю, что нет. Линейность тамошних поразрядных АЦП ограничена принципиально. В лучшем случае ты получишь многоразрядную боль-мень стабильную нелинейную характеристику. Это тупик.

А MSP430... "При упоминаии Бердичева собрание сладостно заныло"... Да, точу зубы уже год. Купил даже кое-что. Например MSP430AFE251 вполне можно рассматривать (по цене и размерам), как офигенный АЦП с нехилым бонусом - 16-разрядным мощным процом :)
0
SWK
17.06.2012, 09:53 12
Цитата Сообщение от omd
Цитата Сообщение от _pv
ну или можно попробовать оверсэмплингом и усреднением вытянуть из 10 разрядного АЦП необходимое количество разрядов
А на AVR такое нельзя сделать, может есть какая инфа?
Это миф, в который некотоые упорно верят...

У AVR из их 10 бит 1-2 последних - уже неточные. И уж тем более 12-14 точных бит, как ни усредняй, не получишь.

Даже получить все 10 точных усреднением - и то проблематично. Это было бы возможно, если все отсчеты были равномерно распределены в некоторой области вокруг правильного значения. Но на практике обычно распределение - несимметричное. Ушло опорное напряжение, изменились от температуры номиналы резисторов делителей, появились от грязи и сырости утечки на плате... Плюс наложенные на все это шумы преобразования. Как ни усредняй, (хоть миллион выборок), верное значение все равно не будет достигнуто, даже в имеющихся 10 разрядах. А уж тем более откуда взять точные несуществующие биты?

Насчитать можно хоть 20 бит результата. Но что толку, если точность останется в пределах тех же 8-9 бит? Но, конечно, для обмана лоха - заказчика, прокатит... Потому так и живуч этот миф. Хуже, когда в него верят сами разработчики... Тогда лохи - уже они сами.

Аналогично, например, в частотомерах. Можно на 8-разрядном индикаторе показывать измеряемую частоту в десятки мегагерц, с дискретностью до герца. Но надо всегда помнить, что если, например, его опорный кварцевый генератор имеет только 5 гарантированных точных знаков, то последние 3 будут неправильными, как их ни усредняй.... Ведь неизвестно, куда и на сколько уйдет частота кварца.
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 2,309
17.06.2012, 10:15 13
2 SWK
Это вот правильно, я считаю. Закон сохранения и тут работает. Как говорил Козьма Прудков: нельзя объять необъятное, постичь непостижимое и впихнуть невпихуемое. Так и тут - нельзя в 8-ми битный допуск впихнуть 20 бит данных.
0
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 1,761
17.06.2012, 10:30 14
Как ни усредняй, (хоть миллион выборок), верное значение все равно не будет достигнуто, даже в имеющихся 10 разрядах.
Сильное усреднение и не избавит от нелинейностей, однако, позволяет эффективно бороться с шумами.
0
SWK
17.06.2012, 10:45 15
Цитата Сообщение от ptoop
Сильное усреднение и не избавит от нелинейностей, однако, позволяет эффективно бороться с шумами.
Только при условии, что шумы имеют чисто случайный характер и равномерное распределение. И погрешность определяется только ими (идеальный и точный ИОН, и прочее). Тогда можно вытянуть все разряды, кроме последнего. У последнего все равно останется погрешность дискретности +-1 счета.
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 1,761
17.06.2012, 10:51 16
Неравномерное распределение шумов я бы тоже назвал нелинейностью.

Хотя, если подумать логически, они могут быть обусловлены внешним воздействием, например, мощным ШИМом рядом. Наводки от него будут распределяться не случайно, а зависеть, например, от того-же к-та заполнения. Усреднив, получим младшие разряды с зависимостью от этого самого ШИМа...
0
SWK
17.06.2012, 11:05 17
Цитата Сообщение от ptoop
Неравномерное распределение шумов я бы тоже назвал нелинейностью.
Хотя, если подумать логически, они могут быть обусловлены внешним воздействием, например, мощным ШИМом рядом. Наводки от него будут распределяться не случайно, а зависеть, например, от того-же к-та заполнения. Усреднив, получим младшие разряды с зависимостью от этого самого ШИМа...
При измерении постоянных и медленно меняющихся напряжений, часто более эффективной защитой от внешних шумов является подключение конденсатора между аналоговым входом и аналоговой землей, порядка 0,1- 1 мкф. Ну а при оцифровке, например, звука, усреднение просто в принципе не применимо.

Я, правда, чаще работал с АЦП в PIC, чем с AVR. Так у меня при измерении, например, напряжения батареи (в диапазоне 0-15v на 1024 отсчета, опорное - питающее 5v после LM78L05), пляски показаний при отображении результата из 3 цифр (типа 12,7v) не наблюдалось. При изменении напряжения показания стабильны, смена показаний происходит плавно, без перескоков, по одной единичке последней цифры. Когда сделал первый раз, сам удивился... Там у меня (на плате ходового контроллера) тоже еще и питание движков с ШИМом.

Правда, тут, возможно, работает еще округление при обсчете результата измерения. Приращению на 1 последней цифры результата соответствует изменение выхода АЦП на ~6,8, а это уже 2-3 двоичных разряда. Вычисления делаю в целых числах. Напряжение батареи поступает на АЦП с делителя (при 15v - на входе около 5v).
Код
        U_Bat := ADC_Read(4);  // read 10-bit ADC from AN4
U_Bat := U_Bat * 15 + 50;
U_Bat := U_Bat div 100;
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 1,761
17.06.2012, 11:08 18
Кстати, тут очень многое от схемы и разводки зависит. Эти факторы редко кто проектирует грамотно (да и сам грешен)
0
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
17.06.2012, 14:00 19
Цитата Сообщение от omd
Долго осваивать, все ни как не могу решить, что на будущее изучать MSP или STM.
а надо обязательно выбрать что-то одно?
тем более что для того чтобы попробовать msp есть launchpad, который стоит меньше 5$, включая доставку на дом.
и вообще "вам шашечки или ехать?"
хотеть самое дешевое решение, но при этом только AVR,как-то странно. даже самые мелкие attiny в которых хоть какая-то внутренняя память есть (кроме 30 регистров) стоят дороже младших cortexов с 30-50МГц, несколькими кБ памяти и с кучей периферии, не говоря уж об atmegaх.
зайдите на mcu.ru, просто ткните "найти", чтобы он показал всё и отсортируйте по цене. avrов там на нескольких первых страницах и близко не будет, кроме каких-нибудь совсем ущербных attiny4/5/9/10.
Цитата Сообщение от omd
А на AVR такое нельзя сделать, может есть какая инфа?
это можно сделать с любым АЦП, всё упирается в линейность.
см. атмеловский аппноут AVR121.
Цитата Сообщение от drvtos
Думаю, что нет. Линейность тамошних поразрядных АЦП ограничена принципиально. В лучшем случае ты получишь многоразрядную боль-мень стабильную нелинейную характеристику. Это тупик.
да, АЦП в АВРах, не самые лучшие, но получив усреднением больше разрядов никто же не мешает полученную нелинейность измерить и скомпенсировать. я так понял человеку главный параметр минимальная стоимость, можно и поупражняться для выжимания дополнительных разрядов. хотя геморрой, вызванный калибровкой каждого отдельного устройства, думаю того не стоит.
20 разрядов конечно даже так из 10бит АЦП не получишь, но для 12-14 можно и попробовать.
по даташиту дифф нелинейность 0.25 LSB, то есть поусреднять до 12 разрядов можно попробовать и просто так.
0
0 / 0 / 0
Регистрация: 19.09.2011
Сообщений: 1,835
17.06.2012, 14:13 20
20 разрядов конечно даже так из 10бит АЦП не получишь, но для 12-14 можно и попробовать.
Вы что, издеваетесь?
Как можно получить что-то из того, чего нет?
Писали же о высказывании Пруткова несколькими постами выше.
Как вы получите данные о 1/2 LSB, тем более о 1/4 LSB?
Ведь АЦП их не разделяет.
Это мне напоминает принцип - если тебя не понимают, говори громче. Если не можешь различить уровни - измерь несколько раз - вдруг получится.
0
17.06.2012, 14:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.06.2012, 14:13
Помогаю со студенческими работами здесь

Mega16 и неиспользуемый АЦП (питание ацп?)
Если я не использую АЦП контроллера нужно ли подавать на АЦП питание? Если нет, то просто оставить...

АЦП замена АЦП в AVR
Перешёл с AVR на STM32. И вот столкнулся с проблемой. Как подключить датчики с выходом 0-5В на АЦП...

АЦП
Привет всем. Помогите решить задачу. Нужно через АЦП получить 3 разных сигнала. Снимать показания...

АЦП
помогите перевести из структурной в принципиальную схему

АЦП
Добрый день господа) Проблема с измерением напряжения через делитель и АЦП. Если просто замерить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru