Страница 4 из 14

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

Добавлено: Чт фев 06, 2014 13:08:41
balmer
dr.doc писал(а):1. А дальнейшие преобразования требуют времени, что однозначно делает измерительный интервал плавающим.
Во, во. DMA вам в помощь. Данные потихоньку складируются в память, а потом их можно быстро обработать в цикле. И остается куча времени на другие дела.

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

Добавлено: Чт фев 06, 2014 13:11:29
BCluster
dr.doc писал(а): Про ограничения я действительно имел ввиду возможность измерения и реактивной составляющей. Просто делать для себя демо версию прибора глупо.
Для измерения реактивной составляющей, т.е. сдвига напряжения на 90 градусов, не так то и много надо памяти. Насчет демо версии - огромное количество счетчиков, даже электронных, не учитывает реактивную мощность. У того же ADE есть чипы без учета реактивной мощности.

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

Добавлено: Чт фев 06, 2014 13:13:15
BCluster
dr.doc писал(а):1. А дальнейшие преобразования требуют времени, что однозначно делает измерительный интервал плавающим.
Не так уж много времени надо, это раз, два, выборки, конечно, надо делать по прерыванию и считать их количество. Тут проблем никаких нет

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

Добавлено: Чт фев 06, 2014 17:26:42
dr.doc
Убедили. По прерываниям делаем фиксированный интервал дискретизации, можно даже учесть временой сдвиг между переключением АЦП на ток и напряжение.
А как бороться с шумами? Ведь мы имеем простейший КИХ фильтр с ограниченной по времени импульсной характеристикой? Т.е. при появлении помех от СИФУ с большой нагрузкой контроллер не сойдет с ума?
PS Я делал ваттметр на основе аналоговых среднеквадратичных преобразователей и перемножителя на основе МК. В него же и заводил синхронизацию из каналов тока и напряжения.

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

Добавлено: Чт фев 06, 2014 17:33:58
amd9800
И возвращаюсь к теме про АЦП.

Если сделать АЦП на базе микроконтроллера. Например 10 битный повесить на каждую ножку резисторы.

На первую 1К, вторую 2К, 3 - 4К, 5 - 8К и так далее.
Питание контроллера 3V - это и будет опорное напряжение. Все сопротивления соединяются в одну точку и подаются на одну ногу компаратора, а на другую ногу измеряемое напряжение.

Такой АЦП при работе микроконтроллера на частоте 8 Мгц должен быть очень быстрым. Максимум за 20 тактов он оцифрует измеряемое напряжение. А это у нас 2 микросекунды на выборку.

А это у нас получается 10 000 выборок за один период.

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

Добавлено: Чт фев 06, 2014 18:49:23
dr.doc
А паразитные емкости выводов?
Может лучше сделать чередование измерений тока и напряжения с фиксированным временным сдвигом между ними? А данные для перемножения также брать с таким же сдвигом?

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

Добавлено: Чт фев 06, 2014 18:52:06
BCluster
Такой АЦП может и будет быстрым, только нифига не точным. Почему объяснять не буду, хотя бы разброс параметров резисторов. Это уже ерундой занятия.
Что мешает взять один stm32f103 с двухканальным АЦП и забыть про эти проблемы? Или его тоже в наличии нет?

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

Добавлено: Чт фев 06, 2014 20:48:08
Alkul
amd9800 писал(а):Питание контроллера 3V - это и будет опорное напряжение.
Никогда так не делайте. Взять "опору" от питания - значит получить дополнительные ошибки в измерениях.
Либо используйте внутренний ИОН, либо (что лучше) качественный внешний ИОН.
Только помните, что АЦП измеряет (оцифровывает) напряжение в диапазоне от GND до уровня опорного напряжения. Так что подбирайте тот ИОН, который подойдет Вам. И в дополнение - уровень опорного напряжения не может быть выше напряжения питания МК.

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

Добавлено: Чт фев 06, 2014 21:46:25
YS
Никогда так не делайте. Взять "опору" от питания - значит получить дополнительные ошибки в измерениях.
Ну, прямо уж "никогда". :wink: Скажем, при восьми битах, приличном (хотя бы 78xx) стабилизаторе по питанию и отсутствии мощных нагрузок на той же шине вполне можно завести на AREF фильтрованное Vcc. Будет более-менее, в 8 бит ИМХО вполне можно попасть по точности.

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

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

Добавлено: Чт фев 06, 2014 23:21:53
amd9800
BCluster писал(а):хотя бы разброс параметров резисторов. Это уже ерундой занятия.
Резисторы есть высокой точности +-1% - в ассортименте - недорогие.
BCluster писал(а):Что мешает взять один stm32f103 с двухканальным АЦП и забыть про эти проблемы?
Так у Атмеги 8 каналов, но толку от них. Мне бы лучше чтоб было два АЦП в микроконтроллере.


Кстати еще вопрос по АЦП. Могу ли я на микроконтроллер подавать AREF через мультиплексер.
Таким образом выбирая разные уровни. Например выбрал 2В. А потом 1В. И так далее.

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

Добавлено: Чт фев 06, 2014 23:43:02
YS
Резисторы есть высокой точности +-1%
В случае восьмибитного R-2R ЦАП'а для точности 0.5 LSB нужны резисторы как минимум 0.2%.

А есть ведь еще температурный дрейф и старение...
Могу ли я на микроконтроллер подавать AREF через мультиплексер.
В целом, почему бы нет? Но, конечно, после смены опоры я бы подождал навскидку 100 мс, чтобы все стабилизировалось.

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

Добавлено: Чт фев 06, 2014 23:54:51
BCluster
amd9800 писал(а):Резисторы есть высокой точности +-1% - в ассортименте - недорогие.
1% это ниочем
amd9800 писал(а):Так у Атмеги 8 каналов, но толку от них. Мне бы лучше чтоб было два АЦП в микроконтроллере.
У атмеги мультиплексированные каналы. У меня создается впечатление что вы вообще не читаете что вам пишут. По сто раз одно и тоже.

balmer писал(а):
BCluster писал(а):тут помимо скорости еще нужно 2 канала чтоб было независимых :)
Дык пожалуйста! Например STM32F103 - 2 независимых ADC канала. Можно включать в Dual Mode одновременно с точностью до такта. Заодно будет хардварная поддержка USB нахаляву в чипе :)

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

Добавлено: Пт фев 07, 2014 00:21:15
amd9800
Я как раз про этот чип читал вчера. Смотрю на Ali стоит копейки 2 дол.

Все просто супер. Только вот среда разработки интересная.

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

Добавлено: Пт фев 07, 2014 00:43:19
YS
Только вот среда разработки интересная.
Берите IAR Kickstart Edition. Поделки на основе Eclipse - страшно тормозные...

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

Добавлено: Пт фев 07, 2014 10:03:45
BCluster
YS писал(а):Поделки на основе Eclipse - страшно тормозные...
А жо делать? Как жить без подстветки и автодополнения? :)
Я вообще в MS Visual Studio все пишу, в IAR только отладка. Это же блокнот ))
amd9800 писал(а):Я как раз про этот чип читал вчера. Смотрю на Ali стоит копейки 2 дол.
На всякий случай, вдруг вы не заметили тоже, на ali ADE7758 тоже стоит 2 долл )

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

Добавлено: Пт фев 07, 2014 12:47:55
YS
А жо делать? Как жить без подстветки и автодополнения?
Ну, ХЗ. Я как-то спокойно живу. :) Вообще не люблю, когда перед глазами куча всего маячит и прыгает диалоговыми окнами. Code::Blocks еще куда ни шло, там хоть не так навязчиво...

К слову, к C::B вполне можно прикрутить ARM-тулчейн (а WinAVR он вообще как родной распознает из коробки). Но так, вообще, я под STM пишу в IAR.

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

Добавлено: Пт фев 07, 2014 12:55:06
BCluster
Ну диалоговыми окнами это канеш да :) Ладно, тема не об этом :D

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

Добавлено: Пт фев 07, 2014 13:31:12
amd9800
Такой вопрос если я измеряю напряжения в диапазоне от 1mV до 10mV.

Могу ли я на AREF подать 15mV ? Или это будет слишком низким напряжением.

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

Добавлено: Пт фев 07, 2014 13:34:41
BCluster
Зависит от того какое АЦП. Но в общем случае так делать не надо.

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

Добавлено: Пт фев 07, 2014 13:55:22
amd9800
Например на Атмега 8 какой минимум могу подать на AREF ?