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

Есть схема работы (во вложении). Принцип работы - данные с датчика вычитаем из первого ЦАП, а результат усиливаем с коэффициентом (второй ЦАП).

 

Все работает, как надо по логике (сигнал на входе постоянный), но! После второго каскада сигнал получается пилообразный от нуля до выходного значения (до правильного значения) с частотой 200-400 кГц - частота плавает (т.е. не просто помехи, а четкая пила - во вложении фото). На входе чистый сигнал, и после первого каскада (вычитание) - так же чистый сигнал (без помех и без пилы).

В чем ошибка и как ее побороть?

 

Операционник http://www.analog.com/static/imported-f ... 5_8656.pdf

ЦАП http://ww1.microchip.com/downloads/en/d ... 21897a.pdf

АЦП http://www.ti.com/lit/ds/symlink/ads7886.pdf

 

 

post-76632-1373147073_thumb.jpg

post-76632-1373147078_thumb.jpg

Изменено пользователем derisory

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


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

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

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


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

MCP4922 не работает так, как у вас нарисовано во втором каскаде. Используйте "цифровой переменный резистор" или АЦП с встроенным PGA.

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


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

MCP4922 не работает так, как у вас нарисовано во втором каскаде.

Почему бы не работать ему? Выход ОУ идет на делитель (ЦАП), а с него на инверсный вход.

 

2 ТС:

1) исправьте ссылки -уважайте людей;

2) поиграйтесь с кодом второго ЦАП посмотрите что будет с сигналом.

3) тут видится коротец в виде лупа: "выход второго ОУ"->"кондер 1000пФ"->"выход буфера ЦАП", возможно надо кудато вставить последовательно резистор небольшого номинала (ом 100), например по выходу ЦАП.

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


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

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

Планирую использовать 16-разрядный АЦП AD7705 для измерения выходного напряжения и 16-разрядный ЦАП с расширением разрядности (по методике, описанной здесь: https://www.promelec.ru/news/1167/) на основе двух 8-битных ШИМ микроконтроллера для его задания. Дело в том, что в отличие от АЦП, оказалось проблемой найти распространенную и недорогую микросхему ЦАП на 16 или более разрядов. Насколько корректно с точки зрения метрологии такое сочетание? Ведь опорным напряжением для ЦАП будет питание микроконтроллера. Оно по стабильности и шумам далеко от эталонного. С другой стороны, ЦАП участвует только в задании напряжения и его точность не так важна. Важно чтобы он имел высокую разрядность для возможности задания всех значений, измеряемых АЦП. Может быть, ЦАП должен иметь даже больше разрядов, например не 16, а 18? Но линейность и абсолютная погрешность не так важны. Ведь точное измерение будет производиться точным АЦП AD7705 с точным ИОН. А уставка, генерируемая ЦАПом, может в реальном времени подстраиваться программно (цифровая система автоматического регулирования). Что касается шумов, то на выходе ЦАП все равно будет RC-фильтрующая усредняющая цепочка, которая отфильтрует и шумы источника питания микроконтроллера.

Насколько я прав или неправ?

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


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

А в чëм Вы правы или не правы, ведь Вы ничего не утверждали. 

Техническое решение - это ваше дело, никто его не осудит.

Выбор ЦАП - это тоже ваш выбор. После ЦАП дискретность можно снизить делителями разного вида, не только ШИМ. 

Изменено пользователем A.V.Avtomat

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


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

Для изоляции от МК используют буфер — аналоговые ключи или логические элементы, например, 74LCX86, запитанная от ИОН АЦП, преобразует уровни и заодно создаст парафазные сигналы для подавления пульсаций.

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


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

38 minutes ago, el-alex said:

Насколько я прав или неправ?

Вот Вам "олд скул" из Keithley 263. Мануал сами сможете найти на просторах инета. Это для понимания принципа построения подобных схем.

image.thumb.png.74aa7a72a40162a3ca09bb1b78bd6322.png

38 minutes ago, el-alex said:

Важно чтобы он имел высокую разрядность

Нет, не только это важно. Важны ещё INL, DNL, собственные шумы и/или пульсации. Из-за неидеальности компонентов INL ЦАП может стать довольно большой.

38 minutes ago, el-alex said:

RC-фильтрующая усредняющая цепочка, которая отфильтрует и шумы источника питания микроконтроллера.

А по графику АЧХ точно отфильтрует? Какое ослабление сигнала будет на несущей частоте ШИМ? И будут ли эти ослабленные пульсации меньше величины м.з.р.? Одной цепочки будет вряд ли достаточно. А несколько подряд будут оказывать влияние на друг друга.

38 minutes ago, el-alex said:

ШИМ микроконтроллера

ШИМы тоже разные бывают: edge-aligned, center-aligned, dithered и т.п. Альтернативной может послужить алгоритм сигма-дельта ЦАП, позволяющий несколько снизить требования к выходному фильтру. Либо комбинация ШИМ + сигма-дельта: например, ШИМ 12 бит, а младший разряд дополнительно модулируется в каждые 32 периода по алгоритму сигма-дельта, добавляя ещё 5 бит.

P.S. Основная проблема конструирования ЦАП: это баланс между разрядностью, величиной пульсаций, сложностью выходного фильтра и стабильностью всей конструкции в целом с учётом температуры и старения компонентов.

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


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

1 час назад, el-alex сказал:

Может быть, ЦАП должен иметь даже больше разрядов, например не 16, а 18?

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

Да и АЦП можно взять из того же МК. Тогда вообще никакие внешние чипы не понадобятся.

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


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

5 минут назад, jcxz сказал:

Может. Берёте МК с двумя встроенными ЦАП-ами. Выход одного из них делите внешним делителем на нужную величину и суммируете.

Да и АЦП можно взять из того же МК. Тогда вообще никакие внешние чипы не понадобятся.

А теперь заглянем в Dataseet на микроконтроллер.

Там специфицированы интегральная и  дифференциальная нелинейности. Обычно несколько единиц младшего разряда. Таким образом при попытке увеличить разрядность, все погрешности останутся от грубого ЦАПа.

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


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

11 минут назад, dOb сказал:

Там специфицированы интегральная и  дифференциальная нелинейности. Обычно несколько единиц младшего разряда. Таким образом при попытке увеличить разрядность, все погрешности останутся от грубого ЦАПа.

Калибровка - наше всё!  :wink:

Или вы думаете, что используя ШИМ (как намерен автор), тактируемый скорее всего от PLL МК (с его джиттером), который в свою очередь, тактируется от тоже не идеального кварца, можно получить бОльшую точность?

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


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

С калибровкой и без ШИМ можно обойтись, если частота небольшая — сделать ЗУ на интеграторе, нужные заряды создавать компаратором таймера, парой весовых резисторов и аналоговым ключом.

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


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

3 часа назад, Plain сказал:

Для изоляции от МК используют буфер — аналоговые ключи или логические элементы, например, 74LCX86, запитанная от ИОН АЦП

А нужно ли это?

3 часа назад, haker_fox сказал:

Важны ещё INL, DNL

А почему? Ведь алгоритм такой:

1) Выставляю на ЦАПе значение напряжения.

2) По АЦП вижу, что напряжение на выходе отличается от заданного (т. е. есть "ошибка").

3) Постепенно инкрементирую или декрементирую значение ЦАПа на несколько LSB (т. е. осуществляю автоматическое регулирование) до тех пор, пока не достигну заданного значения.

Из важных параметров ЦАП, на мой взгляд, это чтобы пульсации на его выходе были меньше 1 LSB и разрядность была больше или равной разрядности АЦП (иначе не получится выставить значения с точностью до 1 LSB АЦП, например 5,236 В и сразу 5,238 В, а 5,237 В выставить не получится из-за недостаточной разрядности ЦАПа).

3 часа назад, haker_fox сказал:

Какое ослабление сигнала будет на несущей частоте ШИМ? И будут ли эти ослабленные пульсации меньше величины м.з.р.? Одной цепочки будет вряд ли достаточно.

Вот насчет этого незнаю. Но особо высокое быстродействие и не требуется. Особенно если учесть, что АЦП AD7705 медленный. Думаю, достаточно будет такого быстродействия, чтобы все это не тормозило с точки зрения человеческого глаза, когда пользователь будет нажимать на кнопки.

3 часа назад, haker_fox сказал:

Одной цепочки будет вряд ли достаточно.

А фильтр 2-го порядка в составе буферного ОУ?

2 часа назад, jcxz сказал:

Берёте МК с двумя встроенными ЦАП-ами

Мне 2 канала нужно, т. е. понадобится 4 ЦАП, а это уже редкость. А вот каналов ШИМ у STM32 дофига. Можно многоразрядный ЦАП строить даже не на 2-х, а на 4-х канальном ШИМе и разрядность тогда будет даже не 16, а все 24 бита! Быстродействие при этом тоже сильно увеличивается по сравнению с 8-битным ШИМом.

2 часа назад, jcxz сказал:

Да и АЦП можно взять из того же МК. Тогда вообще никакие внешние чипы не понадобятся.

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

2 часа назад, dOb сказал:

при попытке увеличить разрядность, все погрешности останутся от грубого ЦАПа.

Повторю вопрос: так ли важны погрешности в данном применении? Ведь это замкнутая система автоматического регулирования. Или я что-то не понял?

PS: в прототипе авторы особо не выпендривались и использовали AD7792 и AD5545 с общей опорой ADR03. Для преобразования токового выхода ЦАПа использовался ОУ OP2177 И все это буферировалось ОУ TL072 и далее подавалось на регулятор напряжения в качестве опоры. Такой же TL072 используется и в канале измерения тока и напряжения.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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