Перейти к содержанию
    

Имееться гироскоп(adxrs300), чувствительность 5mV/°/s. Всегда пользовался встроенным в микроконтроллер ацп, теперь я так понимаю он не подходит. Посмотрел на terraelectronica там их целая куча всяких разных... Какая разрядность мне нужна чтобы обрабатывать показания с датчика? Какую архитектура брать,а то я так понял есть сигма-дельта,SAR???Или мне это не принципиально?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все зависит от того с какой точностью нужно измерять угол и с какой скоростью. Я, лично, всегда пользуюсь сигма-дельта. Они отличаются самой высокой разрядностью, но и небольшой скоростью обработки. Нужно еще учитывать, что максимальную разрядность с АЦП в принципе снять не удастся. Так например у 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 - стоит очень дешево, а точность неплохая.

Дальше решайте сами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Таким образом, входной диапазон АЦП, например ADS1210 составляет 5 В. Делим 5В на 2 в степени 19 = 0.01 мВ. Это и будет минимально определяемое напражение.

 

Чего то я такого АЦП не нашел нигде..А так я себе выбрал AD7714,по идее должен измерять напряжение в разные стороны от 2.5В (при 2.5В угол наклона равен 0).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

З.Ы. Ваш гироскоп измеряет не угол, а угловую скорость. Поэтому исходить при выборе АЦП следует именно от нее. А если вас не волнует точность и скорость измерения этой самой скорости, а лишь хочется протестировать гироскоп - то проще вообще не использовать внешний АЦП. И может быть, даже не использовать ЦП. Аналоговую цепь со стрелочным индикатором никто не отменял:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имееться гироскоп(adxrs300), чувствительность 5mV/°/s. Всегда пользовался встроенным в микроконтроллер ацп, теперь я так понимаю он не подходит. Посмотрел на terraelectronica там их целая куча всяких разных... Какая разрядность мне нужна чтобы обрабатывать показания с датчика? Какую архитектура брать,а то я так понял есть сигма-дельта,SAR???Или мне это не принципиально?

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

 

Да,мне надо угол получать для балансировки робота. С интегратором можно,но как то сложно. Проще на ацп. Только я так и не понял какая скорость мне нужна для балансировки и хватит ли авр для обработки показаний с гироскопа и акселлерометра(adxl202, шим сигнал на выходе) и отправке всего этого добра по CAN либо компьютеру либоу АРМ на котором будет математика для балансировки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возьмите CS5522 http://www.cirrus.com/en/products/pro/detail/P92.html и запустите его с внешним клоком около 200 кГц (правильный генератор есть в AN31 там же) - полУчите максимум точности и быстродействия. И ставьте сразу ARM, например, STR91xF.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Dars, я так понимаю это для робота ? ;)

 

Я пробовал делать ИНС на процессоре Analog Devices ADUC7026 (можно 7024).

Это ARM7TDMI с очень неплохим многоканальным 12 разрядным 1MSPS АЦП.

там же есть выходы для управления движками и 4-х канальный ЦАП.

 

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

 

сигма-дельта вам не нужен. и вообще в любом случае я больше склоняюсь к продукции ADI.

она хоть и не дешевая, но зато самая продвинутая и качественная :tongue:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имееться гироскоп(adxrs300), чувствительность 5mV/°/s. Всегда пользовался встроенным в микроконтроллер ацп, теперь я так понимаю он не подходит. Посмотрел на terraelectronica там их целая куча всяких разных... Какая разрядность мне нужна чтобы обрабатывать показания с датчика? Какую архитектура брать,а то я так понял есть сигма-дельта,SAR???Или мне это не принципиально?
Сигма-дельта предпочтительнее, т.к. он содержит в себе антиалиазинговый ФНЧ (иначе Вам придётся брать выборку в несколько раз чаще требуемой, и потом прореживать в цифири). Я использовал AD7715 - для ADXRS300 лучше не нужно, т.к. датчик весьма "шумный" и неточный.

Для компенсации дрейфов нуля и чувствительности нужно откалибровать датчик "на температуре".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сигма-дельта предпочтительнее, т.к. он содержит в себе антиалиазинговый ФНЧ (иначе Вам придётся брать выборку в несколько раз чаще требуемой, и потом прореживать в цифири). Я использовал AD7715 - для ADXRS300 лучше не нужно, т.к. датчик весьма "шумный" и неточный.

Для компенсации дрейфов нуля и чувствительности нужно откалибровать датчик "на температуре".

 

Выбрал ad7732. Вроде пока работает.Второй канал использую для снятия показаний температуры. Оч надеюсь что данный ацп не есть стрельба из пушки по воробьям.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выбрал ad7732. Вроде пока работает.Второй канал использую для снятия показаний температуры. Оч надеюсь что данный ацп не есть стрельба из пушки по воробьям.
Каким образом, он же одноканальный, с коммутацией входов?

В процессе измерения коммутировать входы нехорошо, из-за переходных процессов в цифровом фильтре сигма-дельта АЦП, из-за чего будут теряться данные (более того, получите не соответствующие истине значения). Выход датчика температуры вполне можно оцифровывать и встроенным в МК АЦП.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Каким образом, он же одноканальный, с коммутацией входов?

В процессе измерения коммутировать входы нехорошо, из-за переходных процессов в цифровом фильтре сигма-дельта АЦП, из-за чего будут теряться данные (более того, получите не соответствующие истине значения). Выход датчика температуры вполне можно оцифровывать встроенным в МК АЦП.

 

773X исходно заточена под коммутацию входов. Для нее все равно, что семплить подряд один вход, что переключаться - внутренний фильтр сбрасывается после каждого измерения все равно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Каким образом, он же одноканальный, с коммутацией входов?

В процессе измерения коммутировать входы нехорошо, из-за переходных процессов в цифровом фильтре сигма-дельта АЦП, из-за чего будут теряться данные (более того, получите не соответствующие истине значения). Выход датчика температуры вполне можно оцифровывать встроенным в МК АЦП.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Stanislav имел в виду, что внутри микросхемы один АЦП. Для других АЦП 77 (не 773X) серии требуется время на восстановление правильного состояния фильтра после переключения каналов. Применение в Вашем случае оправданно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Stanislav имел в виду, что внутри микросхемы один АЦП. Для других АЦП 77 (не 773X) серии требуется время на восстановление правильного состояния фильтра после переключения каналов. Применение в Вашем случае оправданно.

 

Здравствуйте!

Вопрос по AD7714.

Какова скорость переключения каналов?

Насколько я понимаю, она равна скорости преобразования. Настроил один канал, подождал результата, затем переключил канал, подождал результата и т.д.

Нет ли каких подводных камней?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...