АЦП в atmega против PIC

Обсуждаем контроллеры компании Atmel.
amd9800
Опытный кот
Сообщения: 822
Зарегистрирован: Вс июн 02, 2013 12:23:03

АЦП в atmega против PIC

Сообщение amd9800 »

Читал разные темы и понял что АЦП у AVR-ок достаточно слабый некоторые пишут что из 10бит реально полезных только 8, а 2бита мусор. А некоторые даже говорят что даже 8 нормальных бит нету.

Для моей задачи мне требуется одновременное измерение двух сигналов то есть нужно 2 параллельных АЦП.
в течение 10 мс желательно провести хотя бы 32 измерения. То есть примерно 300 мкс на один замер.
Точность 8 бит устраивает для одного сигнала, а для второго 10 бит не помешало бы, но на худой конец и 8 пойдет.

Теперь думаю что можно использовать.

Изначально думал использовать 2 чипа Atiny13.

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

Знаю что есть микросхемы АЦП, но опять же они тоже не дешевые, да и найти их сложно.

Но согласен выслушать любой совет.
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3780
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: АЦП в atmega против PIC

Сообщение Ser60 »

А некоторые даже говорят

Говорить можно все, что угодно. Нужно больше конкретики при каких условиях делались замеры, какой источник сигнала, какие есть источники помех на плате и т.д. Кроме того, для достижения высокой точности преобразования следует применять нормирующие аналоговые каскады на входе АЦП. Почитайте в Гугле на тему ADC Signal Conditioning.

Для повышения точности измерения АЦП можно применить oversampling. Согласно ДШ, у AVR точность в 10 бит гарантируется до 20 киловыборок в сек, у PIC этот параметр в 10 раз выше. В любом случае время измерения у обох МК менее требуемых Вам 300 мкс. Однако, PIC позволит сделать больше измерений за это время, усреднив которые можно получить большую точность.

Однако, все это абстрактные разговоры. Не зная Вашего источника сигнала и приложения в котором необходимо делать одновременные замеры толком ничего посоветовать нельзя. Может Вам и AVR сойдет, а может и замеры строго одновременно делать не обязательно. Применение внешнего 2-канального АЦП может легко решить Вашу проблему вместо установки 2-х МК. На прилавках магазинов они, как правило, не лежат, но доступны везде где есть почта. Кстати, многие МК имеют по 2 АЦП на борту.
Аватара пользователя
dr.doc
Это не хвост, это антенна
Сообщения: 1368
Зарегистрирован: Вс мар 28, 2010 12:52:22
Откуда: Беларусь

Re: АЦП в atmega против PIC

Сообщение dr.doc »

При использовании LC Г-образного фильтра на AVCC АЦП Атмела работает точно также, как и PIC. У меня в одном ус-ве стоят PIC16F676 и ATmega8. В двух этих МК использованы АЦП. После плясок с бубнами пришел к указанному выше фильтру. Если измеряемый сигнал не зашумлен, то показания одинаковы (выводятся на 1602 каждый). Питание схем при этом происходит от импульсного ИВЭП построеного по схеме обратноходового преобразователя.
ЗЫ Емкость конденсатора у меня - 22 мкФ, дроссель 470мкГн. Просто первое попавшее в руку...
«Еще я хотел бы, чтобы наши ученые изобрели какой-то новый источник энергии, чтобы мы на коленях не ползали даже перед нашими братьями, умоляя их и выпрашивая тонну нефти или кубометр газа», — рассказал белорусский президент.
amd9800
Опытный кот
Сообщения: 822
Зарегистрирован: Вс июн 02, 2013 12:23:03

Re: АЦП в atmega против PIC

Сообщение amd9800 »

Ser60 писал(а):а может и замеры строго одновременно делать не обязательно.

Обязательно. Иначе будет искажение конечного результата.
Ser60 писал(а):Применение внешнего 2-канального АЦП может легко решить Вашу проблему

Порекомендуйте такую модель.
Ser60 писал(а):Кстати, многие МК имеют по 2 АЦП на борту.

Укажите пожалуйста модели от Атмела.

dr.doc писал(а):При использовании LC Г-образного фильтра на AVCC АЦП Атмела работает точно также, как и PIC. У меня в одном ус-ве стоят PIC16F676 и ATmega8. В двух этих МК использованы АЦП.


При использование двух Атмелов могу их синхронизировать от одного кварца?
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3780
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: АЦП в atmega против PIC

Сообщение Ser60 »

Насчет АЦП, посмотрите, например, на PCM1807. Насчет МК с 2-мя АЦП, с AVR я не работаю и сомневаюсь, чтобы у них были. Помимо ARM могу порекомендовать C8051F060 или из серии MSP430F4xx. Несколько МК, конечно, можно тактировать от одного (внешнего) кварцевого генератора.
Alkul
Держит паяльник хвостом
Сообщения: 933
Зарегистрирован: Ср апр 13, 2011 11:09:20
Откуда: Екатеринбург

Re: АЦП в atmega против PIC

Сообщение Alkul »

amd9800 писал(а):Укажите пожалуйста модели от Атмела.

Да та же ATtiny13. Вы б хоть даташит изучили, прежде чем 2 контроллера в схему закладывать.
У ATtiny13 четырехканальный 10-разрядный АЦП. Входы каналов мультиплексированы, то есть, в каждый момент времени он может оцифровывать данные с одного из каналов.
Конечно, действительно одновременно измерять не получится. Но как показывает практика, в 99-ти процентах случаев это и не требуется.
Вы бы хоть задачу подробней огласили. Скорее всего, выяснится, что можно будет обойтись поочередным измерением с двух каналов.
mrFox
Нашел транзистор. Понюхал.
Сообщения: 190
Зарегистрирован: Пт сен 21, 2007 17:53:23
Откуда: Зарайск

Re: АЦП в atmega против PIC

Сообщение mrFox »

amd9800 писал(а):Читал разные темы и понял что АЦП у AVR-ок достаточно слабый некоторые пишут что из 10бит реально полезных только 8, а 2бита мусор. А некоторые даже говорят что даже 8 нормальных бит нету.

8 бит на AVR получаются легко
для нормальной работы АЦП >8 бит следует стоит посмотреть рекомендации производителя по схемотехнике и разводке и весьма аккуратно развести плату
повысить точность усреднением не всегда возможно - чаще всего получаем систематическую ошибку

amd9800 писал(а):Укажите пожалуйста модели от Атмела.

2 АЦП на борту у части XMega - например XMega256A3 ; у ARM - STM32F103x
но опять вылезает схемотехника - чтоб исключить влияние каналов друг на друга желательно перед каждым каналом поставить входной буфер на ОУ
amd9800
Опытный кот
Сообщения: 822
Зарегистрирован: Вс июн 02, 2013 12:23:03

Re: АЦП в atmega против PIC

Сообщение amd9800 »

Alkul писал(а):Да та же ATtiny13. Вы б хоть даташит изучили

Изучить понятие растяжимое - но могу сказать что смотрел. Про количество самих каналов я знаю, но тут речь об каналах которые могут работать одновременно вы же читали условие выше.
Alkul
Держит паяльник хвостом
Сообщения: 933
Зарегистрирован: Ср апр 13, 2011 11:09:20
Откуда: Екатеринбург

Re: АЦП в atmega против PIC

Сообщение Alkul »

amd9800 писал(а):тут речь об каналах которые могут работать одновременно вы же читали условие выше.

Все-таки, можно огласить задачу целиком?
amd9800
Опытный кот
Сообщения: 822
Зарегистрирован: Вс июн 02, 2013 12:23:03

Re: АЦП в atmega против PIC

Сообщение amd9800 »

Измерение мощности в сети переменного тока.
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3780
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: АЦП в atmega против PIC

Сообщение Ser60 »

Я так и думал. Для измерения мощности в цепи переменного тока имеются специализированные микросхемы, например 78M6613
Аватара пользователя
dr.doc
Это не хвост, это антенна
Сообщения: 1368
Зарегистрирован: Вс мар 28, 2010 12:52:22
Откуда: Беларусь

Re: АЦП в atmega против PIC

Сообщение dr.doc »

Засинхронизировать можно, только нужно ли... От искажений сетевого напряжения это Вас не спасет. Тут одна дорога - фильтрация и усреднение. Мгновенная мощность в электронных счетчиках измеряется примерно раз в секунду, а там применяются специализированные преобразователи.
«Еще я хотел бы, чтобы наши ученые изобрели какой-то новый источник энергии, чтобы мы на коленях не ползали даже перед нашими братьями, умоляя их и выпрашивая тонну нефти или кубометр газа», — рассказал белорусский президент.
Аватара пользователя
abc
Друг Кота
Сообщения: 3678
Зарегистрирован: Чт мар 20, 2008 01:06:40
Откуда: Севастополь

Re: АЦП в atmega против PIC

Сообщение abc »

От искажений формы тока/напряжения спасает вычисление их среднеквадратических значений. И 32 замера в течение полупериода - это и есть первый шаг на пути к этому.
Если предполагается использовать ЭТО для стабилизатора напряжения, то со всеми измерениями/расчетами/управлением вполне справляется либо старая Мега на 8MHz, либо такой же старый PIC (на 12MHz вполне успевает).
Про более современные МК и говорить не приходится.
И АЦП там совсем ни при чем.
Если же предполагается сделать "просто"-ваттметр, то уже говорили ранее - проще использовать специализированную микросхему, на форуме пара тем есть. Была и статья (вроде там применялась ADE7756).
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
amd9800
Опытный кот
Сообщения: 822
Зарегистрирован: Вс июн 02, 2013 12:23:03

Re: АЦП в atmega против PIC

Сообщение amd9800 »

abc писал(а):(вроде там применялась ADE7756).

Оказалось не проще - видел ее в прайсах у нас.
А вот в наличие нету. А заказы с Китая ждать в марте нету никакого желания.
Хочу сейчас что нибудь сделать.

Даже появилась идея сделать самому АЦП из 8 ОУ LM324 и 8 сопротивлений.
Компаратор использовать встроенный в Атмега 8.
Таким образом напряжение мерить встроенным АЦП. А ток отдельным. Только интересно во время работы встроенного АЦП атмеги 8 компаратор работает или он используется для АЦП?
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Re: АЦП в atmega против PIC

Сообщение BCluster »

MSP430F6749 мк для счетчиков электроэнергии, например. На сайте TI есть примеры даташиты и библиотеки. Также у TI есть куча измерительных микрух из серии AFE. Ну про ADE молчу. Это самые хорошие измерители на практике. И просто на них реализовывается все. Например ADE7933
На АЦП из меги/пика нормальную точность для этих целей не получить... ну зависит от задачи конечно
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Re: АЦП в atmega против PIC

Сообщение BCluster »

dr.doc писал(а):Мгновенная мощность в электронных счетчиках измеряется примерно раз в секунду

Она не измеряется раз в секунду, а рассчитывается - измерения тока и напряжения происходят постоянно, проходят через специальные алгоритмы усреднения и цифровые фильтры
amd9800
Опытный кот
Сообщения: 822
Зарегистрирован: Вс июн 02, 2013 12:23:03

Re: АЦП в atmega против PIC

Сообщение amd9800 »

dr.doc писал(а):Мгновенная мощность в электронных счетчиках измеряется примерно раз в секунду, а там применяются специализированные преобразователи.


Я в это не верю.

Ведь очень часто ток смещен по фазе относительно напряжения из-за конденсаторов. И тут просто усредняя по модулю и потом умножая усредненный ток на напряжение получишь ерунду а не мощность.

тут самое главное чтоб результаты замеров были не на столько точны сколько синхроные. Я и не надеюсь измерять с большой точностью мощность. Для начала устроит и +-5%. Но главное чтоб четко было ясно когда мощность отдается в сеть, а когда получается, а для этого требуется синхроность результатов измерения.
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Re: АЦП в atmega против PIC

Сообщение BCluster »

amd9800 писал(а):Я в это не верю.

Правильно делаете :) Я написал как оно работает на самом деле чуть ниже.
amd9800 писал(а):Ведь очень часто ток смещен по фазе относительно напряжения из-за конденсаторов.

И еще индуктивностей. При чем тут это? Вам только активную мощность надо измерять или реактивную тоже?
Подход с усреднением подходит только для расчета полной мощности.
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: АЦП в atmega против PIC

Сообщение YS »

для нормальной работы АЦП >8 бит следует стоит посмотреть рекомендации производителя по схемотехнике и разводке и весьма аккуратно развести плату


И откалибровать АЦП. Вообще, тут есть три составляющие.

- Качественная опора. Лучше использовать внешний ИОН с фильтрованным питанием.
- Грамотная разводка. Грамотная трассировка земель, никаких пятиамперных дорожек под измерительными цепями, разделение путей токов силовой и измерительной части и т.п.
- Калибровка АЦП. Необходима как минимум для того, чтобы вычислить и компенисировать смещение нуля. Если совсем заморачиваться, то можно даже составить таблицу для компенсации нелинейности, но это уже совсем круто.

Разумеется, необходима соответствующая подготовка сигнала. Например, глупо подключать вход АЦП напрямую к токовому шунту, если только не требуется совсем уж базовая точность, - сигнал надо как минимум сместить и усилить, чтобы он максимально хорошо вписывался в рабочий диапазон между нулем и опорой АЦП, а лучше еще и отфильтровать от высших гармоник.

Насчет измерения - ИМХО не надо там никакой потрясающей воображение синхронности, и вполне можно обойтись мультиплексированными каналами.

Смотрим определение активной мощности - это произведение RMS-значений напряжения и тока, умноженные на угол их относительного сдвига.

Тогда нам надо всего-то посчитать RMS тока и напряжения (не зависят от сдвига выборок), а также определить угол. Угол можно определить, измерив временной сдвиг между нулевыми точками тока и напряжения, для чего синхронность тоже не нужна - просто отлавливаем момент, когда две последовательные выборки находятся по разные стороны нуля. Ну а далее хитрая (целочисленная, ибо в атмегах нет FPU) арифметика.
Последний раз редактировалось YS Пн фев 03, 2014 19:17:14, всего редактировалось 2 раза.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Re: АЦП в atmega против PIC

Сообщение BCluster »

YS, совершенно верно говорите, для заданной точности вполне допустимый подход я думаю.
Здесь больше всего вопросов вызывает расчет коэффициента мощности. Погрешность +-10 градусов достаточно велика. Это если говорить о 32 выборках на период. Хотя если придумать какую-то аппроксимацию этот показатель можно улучшить.
Если говорить о реактивной мощности там несколько сложнее организовать измерение.

А что будет использоваться в качестве датчика тока? Шунт или трансформатор?
Ответить

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