Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Какой выбрать АЦП?
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Вопросы аналоговой техники
Dars
Имееться гироскоп(adxrs300), чувствительность 5mV/°/s. Всегда пользовался встроенным в микроконтроллер ацп, теперь я так понимаю он не подходит. Посмотрел на terraelectronica там их целая куча всяких разных... Какая разрядность мне нужна чтобы обрабатывать показания с датчика? Какую архитектура брать,а то я так понял есть сигма-дельта,SAR???Или мне это не принципиально?
wodya
Все зависит от того с какой точностью нужно измерять угол и с какой скоростью. Я, лично, всегда пользуюсь сигма-дельта. Они отличаются самой высокой разрядностью, но и небольшой скоростью обработки. Нужно еще учитывать, что максимальную разрядность с АЦП в принципе снять не удастся. Так например у 24 разрядного АЦП эффективная разрядность, как правило, не выше 20-21 разряда (это максимум), а в большинстве случаев не выше 19 разрядов. Таким образом, входной диапазон АЦП, например ADS1210 составляет 5 В. Делим 5В на 2 в степени 19 = 0.01 мВ. Это и будет минимально определяемое напражение. Теперь 0.01 мВ / 5 мВ = 0.002 гр. Это точность, т.е. минимально определяемый угол. Теперь со скоростью. Если нужна высокая скорость, то эффективная разрядность будет падать. В даташите обычно все указано, но не всегда достоверно. Кроме того необходимо задуматься о внешнем источнике опорного напряжения. В любом точном АЦП есть внутренний источник опоры, но при его использовании эффективная разрядность падает еще на пару единиц.
Самые выскоразрядные АЦП (24 разряда пока максимум) выпускают две фирмы: Texas Instruments (www.ti.com) и Analog Devices (www.analog.com).
Если высокая точность не нужна, то лучше использовать 16 разрядные АЦП, например ADS1100 - стоит очень дешево, а точность неплохая.
Дальше решайте сами.
Dars
Цитата(wodya @ Apr 10 2007, 11:28) *
Таким образом, входной диапазон АЦП, например ADS1210 составляет 5 В. Делим 5В на 2 в степени 19 = 0.01 мВ. Это и будет минимально определяемое напражение.


Чего то я такого АЦП не нашел нигде..А так я себе выбрал AD7714,по идее должен измерять напряжение в разные стороны от 2.5В (при 2.5В угол наклона равен 0).
Илья Игоревич
Выбранный вами AD7714 стоит 400-500 ре и содержит кучу фич, которые вам наверняка не нужны (6 переключаемых входов, например...) В то время как тот же ADS1100 стоит 133ре и есть, например, тут. Оно, конечно, медленнее и менее точно, зато на порядок проще и в три раза дешевле.

З.Ы. Ваш гироскоп измеряет не угол, а угловую скорость. Поэтому исходить при выборе АЦП следует именно от нее. А если вас не волнует точность и скорость измерения этой самой скорости, а лишь хочется протестировать гироскоп - то проще вообще не использовать внешний АЦП. И может быть, даже не использовать ЦП. Аналоговую цепь со стрелочным индикатором никто не отменялsmile.gif
Rst7
Цитата(Dars @ Apr 10 2007, 10:01) *
Имееться гироскоп(adxrs300), чувствительность 5mV/°/s. Всегда пользовался встроенным в микроконтроллер ацп, теперь я так понимаю он не подходит. Посмотрел на terraelectronica там их целая куча всяких разных... Какая разрядность мне нужна чтобы обрабатывать показания с датчика? Какую архитектура брать,а то я так понял есть сигма-дельта,SAR???Или мне это не принципиально?


А что вам потом надо делать с этой скоростью? Интегрировать для получения угла? Тогда можно красиво решить так - сигнал подается на интегратор, выход интегратора - на компаратор (внутри того же МК), каждый такт преобразования (например по таймеру) смотрим - напряжение на выходе интегратора больше или меньше опорного, соответственно добавляем либо вытекающий ток, либо втекающий и при этом увеличиваем или уменьшаем счетчик. Только в отличии от обычного ADC счетчик не сбрасываем после N циклов и в результате имеем в нем интеграл скорости, т.е. угол. Должно очень красиво получиться (и точно)...
Dars
Цитата(Rst7 @ Apr 11 2007, 10:34) *
А что вам потом надо делать с этой скоростью? Интегрировать для получения угла? Тогда можно красиво решить так - сигнал подается на интегратор, выход интегратора - на компаратор (внутри того же МК), каждый такт преобразования (например по таймеру) смотрим - напряжение на выходе интегратора больше или меньше опорного, соответственно добавляем либо вытекающий ток, либо втекающий и при этом увеличиваем или уменьшаем счетчик. Только в отличии от обычного ADC счетчик не сбрасываем после N циклов и в результате имеем в нем интеграл скорости, т.е. угол. Должно очень красиво получиться (и точно)...



Да,мне надо угол получать для балансировки робота. С интегратором можно,но как то сложно. Проще на ацп. Только я так и не понял какая скорость мне нужна для балансировки и хватит ли авр для обработки показаний с гироскопа и акселлерометра(adxl202, шим сигнал на выходе) и отправке всего этого добра по CAN либо компьютеру либоу АРМ на котором будет математика для балансировки.
sensor_ua
Возьмите CS5522 http://www.cirrus.com/en/products/pro/detail/P92.html и запустите его с внешним клоком около 200 кГц (правильный генератор есть в AN31 там же) - полУчите максимум точности и быстродействия. И ставьте сразу ARM, например, STR91xF.
alexQ
Dars, я так понимаю это для робота ? wink.gif

Я пробовал делать ИНС на процессоре Analog Devices ADUC7026 (можно 7024).
Это ARM7TDMI с очень неплохим многоканальным 12 разрядным 1MSPS АЦП.
там же есть выходы для управления движками и 4-х канальный ЦАП.

Чтобы декодировать шимы с акселерометров, нужно будет задействовать в адуке встроенную ПЛМ или оцифровать прямо аналоговые сигналы.

сигма-дельта вам не нужен. и вообще в любом случае я больше склоняюсь к продукции ADI.
она хоть и не дешевая, но зато самая продвинутая и качественная tongue.gif
Stanislav
Цитата(Dars @ Apr 10 2007, 11:01) *
Имееться гироскоп(adxrs300), чувствительность 5mV/°/s. Всегда пользовался встроенным в микроконтроллер ацп, теперь я так понимаю он не подходит. Посмотрел на terraelectronica там их целая куча всяких разных... Какая разрядность мне нужна чтобы обрабатывать показания с датчика? Какую архитектура брать,а то я так понял есть сигма-дельта,SAR???Или мне это не принципиально?
Сигма-дельта предпочтительнее, т.к. он содержит в себе антиалиазинговый ФНЧ (иначе Вам придётся брать выборку в несколько раз чаще требуемой, и потом прореживать в цифири). Я использовал AD7715 - для ADXRS300 лучше не нужно, т.к. датчик весьма "шумный" и неточный.
Для компенсации дрейфов нуля и чувствительности нужно откалибровать датчик "на температуре".
Dars
Цитата(Stanislav @ Apr 21 2007, 03:53) *
Сигма-дельта предпочтительнее, т.к. он содержит в себе антиалиазинговый ФНЧ (иначе Вам придётся брать выборку в несколько раз чаще требуемой, и потом прореживать в цифири). Я использовал AD7715 - для ADXRS300 лучше не нужно, т.к. датчик весьма "шумный" и неточный.
Для компенсации дрейфов нуля и чувствительности нужно откалибровать датчик "на температуре".


Выбрал ad7732. Вроде пока работает.Второй канал использую для снятия показаний температуры. Оч надеюсь что данный ацп не есть стрельба из пушки по воробьям.
Stanislav
Цитата(Dars @ May 28 2007, 23:20) *
Выбрал ad7732. Вроде пока работает.Второй канал использую для снятия показаний температуры. Оч надеюсь что данный ацп не есть стрельба из пушки по воробьям.
Каким образом, он же одноканальный, с коммутацией входов?
В процессе измерения коммутировать входы нехорошо, из-за переходных процессов в цифровом фильтре сигма-дельта АЦП, из-за чего будут теряться данные (более того, получите не соответствующие истине значения). Выход датчика температуры вполне можно оцифровывать и встроенным в МК АЦП.
DS
Цитата(Stanislav @ May 28 2007, 23:58) *
Каким образом, он же одноканальный, с коммутацией входов?
В процессе измерения коммутировать входы нехорошо, из-за переходных процессов в цифровом фильтре сигма-дельта АЦП, из-за чего будут теряться данные (более того, получите не соответствующие истине значения). Выход датчика температуры вполне можно оцифровывать встроенным в МК АЦП.


773X исходно заточена под коммутацию входов. Для нее все равно, что семплить подряд один вход, что переключаться - внутренний фильтр сбрасывается после каждого измерения все равно.
Dars
Цитата(Stanislav @ May 28 2007, 23:58) *
Каким образом, он же одноканальный, с коммутацией входов?
В процессе измерения коммутировать входы нехорошо, из-за переходных процессов в цифровом фильтре сигма-дельта АЦП, из-за чего будут теряться данные (более того, получите не соответствующие истине значения). Выход датчика температуры вполне можно оцифровывать встроенным в МК АЦП.


Как одноканальный? AD7732 2-Channel, ±10 V Input Range, 24-Bit Sigma-Delta A/D Converter . Сначала с одного канала данные снимаю,потом с другого. Насколько они действительности соответствуют не проверял,но "на глаз" вроде нормально. Меня больше инетересует насколько оправданно применение данного АЦП в данной задаче...
DS
Цитата(Dars @ May 29 2007, 00:22) *
Как одноканальный? AD7732 2-Channel, ±10 V Input Range, 24-Bit Sigma-Delta A/D Converter . Сначала с одного канала данные снимаю,потом с другого. Насколько они действительности соответствуют не проверял,но "на глаз" вроде нормально. Меня больше инетересует насколько оправданно применение данного АЦП в данной задаче...


Stanislav имел в виду, что внутри микросхемы один АЦП. Для других АЦП 77 (не 773X) серии требуется время на восстановление правильного состояния фильтра после переключения каналов. Применение в Вашем случае оправданно.
Massaew
Цитата(DS @ May 29 2007, 00:34) *
Stanislav имел в виду, что внутри микросхемы один АЦП. Для других АЦП 77 (не 773X) серии требуется время на восстановление правильного состояния фильтра после переключения каналов. Применение в Вашем случае оправданно.


Здравствуйте!
Вопрос по AD7714.
Какова скорость переключения каналов?
Насколько я понимаю, она равна скорости преобразования. Настроил один канал, подождал результата, затем переключил канал, подождал результата и т.д.
Нет ли каких подводных камней?
Stanislav
Цитата(DS @ May 29 2007, 00:21) *
773X исходно заточена под коммутацию входов. Для нее все равно, что семплить подряд один вход, что переключаться - внутренний фильтр сбрасывается после каждого измерения все равно.
Да, верно. Но при этом АЧХ фильтра получается, мягко говоря, не слишком хорошей. sad.gif

Цитата(Dars @ May 29 2007, 00:22) *
Как одноканальный? AD7732 2-Channel, ±10 V Input Range, 24-Bit Sigma-Delta A/D Converter . Сначала с одного канала данные снимаю,потом с другого. Насколько они действительности соответствуют не проверял,но "на глаз" вроде нормально. Меня больше инетересует насколько оправданно применение данного АЦП в данной задаче...
Я бы такой не стал использовать ни в жисть, именно по причине кривости цифрового фильтра. Для более-менее нормального подавления внеполосного шума придётся делать большой оверсэмплинг с последующим прореживанием в цифре. Это сводит все преимущества сигма-дельты на нет; лучше уж "честный" 12-16 бит АЦП с коммутацией входов поставить. Сам так делаю...

Цитата(Massaew @ Jun 17 2008, 22:50) *
Здравствуйте!
Вопрос по AD7714.
Какова скорость переключения каналов?
Насколько я понимаю, она равна скорости преобразования. Настроил один канал, подождал результата, затем переключил канал, подождал результата и т.д.
Нет ли каких подводных камней?
Есть, потому, что всё не так.
После переключения каналов АЦП ждёт 3 выборки (выходных), пока цифрового фильтр наберёт необходимые данные, и выдаёт их только после прихода 4-й, что также уничтожает главное достоинство сигма-дельты: фильтрацию сигнала в цифре. Кроме того, макс. частота следования выходных данных снижается в 4 раза, что для такого медленного АЦП весьма существенно.
Massaew
Цитата(Stanislav @ Jun 17 2008, 23:42) *
Есть, потому, что всё не так.
После переключения каналов АЦП ждёт 3 выборки (выходных), пока цифрового фильтр наберёт необходимые данные, и выдаёт их только после прихода 4-й, что также уничтожает главное достоинство сигма-дельты: фильтрацию сигнала в цифре. Кроме того, макс. частота следования выходных данных снижается в 4 раза, что для такого медленного АЦП весьма существенно.


Спасибо.
А где вы нашли эту информацию? Хотелось бы самому почитать про переключение каналов.
В описании на АЦП смотрел, но не нашел(хотя возможно и просмотрел), поэтому и задал вопрос на форуме.
Stanislav
Цитата(Massaew @ Jun 18 2008, 09:39) *
Спасибо.
А где вы нашли эту информацию?
В даташите всё написано.

Цитата(Massaew @ Jun 18 2008, 09:39) *
...Хотелось бы самому почитать про переключение каналов.
В описании на АЦП смотрел, но не нашел(хотя возможно и просмотрел), поэтому и задал вопрос на форуме.
Видимо, не слишком внимательно смотрели. В разделе Filter Characteristics обнаруживаем:

Since the AD7714 contains this on-chip, low-pass filtering, a
settling time is associated with step function inputs and data on
the output will be invalid after a step change until the settling
time has elapsed. The settling time depends upon the output
rate chosen for the filter. The settling time of the filter to a fullscale
step input can be up to four times the output data period.
For a synchronized step input (using the SYNC or FSYNC
functions) the settling time is three times the output data period.
When changing channels on the part, the change from one
channel to the other is synchronized so the output settling time
is also three times the output data period. Thus, in switching
between channels, the output data register is not updated until
the settling time of the filter has elapsed.

Massaew
Цитата(Stanislav @ Apr 21 2007, 03:53) *
Я использовал AD7715 - для ADXRS300 лучше не нужно, т.к. датчик весьма "шумный" и неточный.
Для компенсации дрейфов нуля и чувствительности нужно откалибровать датчик "на температуре".


Эмн...
А я вот затеял измерение угла с точностью 0.5гр с помощью ADXRS300.
И думал хватит ли мне AD7714

Вот такой вопрос - уход нуля гироскопа - что это за эффект? В смысле в зависимости от температуры?
Или от накопления ошибки в процессе интергирования угловой скорости?

И вообще, реально ли измерение угла с точностью 0.5гр с помощью ADXRS300?
Я вот взялся посчитать, но впал в какой то ступор - не знаю с чего начать. laughing.gif
Stanislav
Цитата(Massaew @ Jun 18 2008, 18:57) *
Эмн...
А я вот затеял измерение угла с точностью 0.5гр с помощью ADXRS300.
И думал хватит ли мне AD7714
AD7714 точно хватит. ADXRS же предназначен для измерения не углов, а угловых скоростей.

Цитата(Massaew @ Jun 18 2008, 18:57) *
...Вот такой вопрос - уход нуля гироскопа - что это за эффект? В смысле в зависимости от температуры?
Эффект ухода нуля гироскопа заключается в изменении его нулевого смещения во времени. smile.gif
Дрейф "нуля" зависит не только от температуры, но также и от действующих на датчик линейных ускорений, изменения напряжения питания, старения и погоды на Марсе. Смещение нуля меняется также от одного включения датчика к другому.

Цитата(Massaew @ Jun 18 2008, 18:57) *
...Или от накопления ошибки в процессе интергирования угловой скорости?
07.gif

Цитата(Massaew @ Jun 18 2008, 18:57) *
..И вообще, реально ли измерение угла с точностью 0.5гр с помощью ADXRS300?
Непонятен вопрос.
Изменение угла с точностью до 0,5 гр. таким датчиком при хорошей его калибровке "на коленках" и отсутствии сильной тряски можно зафиксировать за время порядка десяти секунд. Для "хай-энд" калиброванного датчика можно ожидать такой точности за время порядка единиц минут. Но процесс калибровки в последнем случае очень сложен, и для его проведения требуется дорогостоящее оборудование.

ЗЫ. Ещё посмотрите девиацию Аллана для подобных датчиков (ADXRS150). Весьма информативная характеристика.
ЗЗЫ. И ещё учтите, что данные приборы этим летом снимаются с производства.
Designer56
Возьмите СКВТ и все. Если поискать, и не жаль денег, то можно получить практически любую точность.
Stanislav
Цитата(Designer56 @ Jun 19 2008, 07:26) *
Возьмите СКВТ и все. Если поискать, и не жаль денег, то можно получить практически любую точность.
Для такой точности (0,5 гр) лучше оптические энкодеры применять - дешевле, и схемотехника проще.
А можно обойтись и резистивным датчиком. smile.gif
Designer56
Цитата(Stanislav @ Jun 19 2008, 13:07) *
Для такой точности (0,5 гр) лучше оптические энкодеры применять - дешевле, и схемотехника проще.
А можно обойтись и резистивным датчиком. smile.gif

Неее...Они проигрывают по точности, и климата боятся, и тряски не любят. А вот резистивные- стоит посмотреть, http://www.resistor.ru/
sensor_ua
Если в одной плоскости, то магнитные энкодеры дают очень приятные результаты - http://www.austriamicrosystems.com/03produ...ry_encoders.htm
- имел дело с 10-бит (шаг 0,35 градуса) энкодером AS5040. Там же есть 12-бит AS5045, AS5046, Off-Axis Magnetic Rotary Encoders и др.
Massaew
Здравствуйте
Еще один вопрос по AD7714

Не нашел формулы для выходного кода, как например в описании на AD7708.
Можно ли их (формулы для AD7708) использовать для AD7714?

В режиме buffered mode входной диапазон не симмеричен относительно Vref=2.5 (от GND+0.5 до Vcc-1.5).
Какой в этом случае выходной код?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.