Jump to content

    
Sign in to follow this  
majorka65

Троичный ЦАП

Recommended Posts

Генератор синуса 4bit без ступенек на базе интегратора, Atmega32, 1Мгц RC, TDA2030, резисторы в пропорции R-3R-9R-27R. Выход около 300Гц, амплитуда около 0,8Вольт. Превращение инвертирующей схемы в интегратор: резистор обратной связи ОУ заменен кондером 4,7мкФ, с выхода ОУ на минус 0,47мкФ. Синус неправильный, при формировании длительностей не учтены длительности чтения+выполнения самих команд. Помеха на дне отрицательной полуволны искусственная, закодирована.

Мой интерес: проггер я никудышный, прошу помощи в написании кодов для этой схемы. В моей проге тупая запись в DDR и PORT.

Последние две фотки без кондера 4bit 81step ternary DAC (остальные весовые резисторы отключены)

post-41659-1272949399_thumb.jpg

post-41659-1272949427_thumb.jpg

post-41659-1272949479_thumb.jpg

sin4bit.zip

mega32_dac_5bit_243step_20mV_a.zip

post-41659-1272949860_thumb.jpg

post-41659-1272950505_thumb.jpg

Edited by Karim

Share this post


Link to post
Share on other sites
Мой интерес: проггер я никудышный, прошу помощи в написании кодов для этой схемы. В моей проге тупая запись в DDR и PORT.

 

Достаточно только в PORT писать, а DDR настроить один раз при инициализации.

Share this post


Link to post
Share on other sites
Так Вы Hi-Z состояние не получите и вернетесь к двоичке.

Использовать дискретные весовые резисторы и именно по схеме R-3R-9R-27R - это обязательное условие?

Почему бы не использовать ШИМ для генерации синуса? из схемы останется только интегратор или просто RC цепочка.

Share this post


Link to post
Share on other sites

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

Хотелось попробовать Hi-Z состояние.

Share this post


Link to post
Share on other sites

Одно важное замечание по сообщению #1. Простите, оплошал, поставил в обратку интегратора электролит. После замены на нормальный помехи в синусе должны уменьшиться, жалко, макетку раскидал, как соберу, перефоткаю.

Edited by Karim

Share this post


Link to post
Share on other sites
Одно важное замечание по сообщению #1. Простите, оплошал, поставил в обратку интегратора электролит. После замены на нормальный помехи в синусе должны уменьшиться, жалко, макетку раскидал, как соберу, перефоткаю.

Огрехов кроме 82!=81 не вижу, но это мелочь... хотя не совсем, разница равна весу младшего разряда.

проверить без фильтрации высоких гармоник, может и тут эти искажения возникать.

проверить все резисторы, какая у них точность?

счет должен быть до 3^5=243

следит чтоб при бите DDR = 0 в PORT не записать 1 а то внутреннаяя подтяжка в AVR все исказит.

в фрагменте данных вроде все правильно. данные в DDR и PORT по таймеру, в прерывании?

ну и с электролитами разобраться. :)

Edited by e-serg

Share this post


Link to post
Share on other sites

Без фильтации ОООчень страШШШШно. Настройка не то, что в R-2R матрице (впаял и забыл), повозиться придется (если нет возможности на kazus.ru ЦАП, DAC посмотреть скажите и я сюда выложу). У меня подстроечник в опорном, и на каждом разряде в макетке. Практически скорее придется после настройки подстроечниками набирать последовательный (параллельный) эквивалент из постоянных резисторов.

5 разрядный в подробностях я свом осциллом не вижу, хотя есть ступеньки которые не смог выровнять. Есть так же в планах несколько направлений дальнейших действий (попробовать использовать пины через один, посмотреть влияние периферии, при разных напругах питания, попробовать симметричную подтяжку из двух одинаковых резисторов в плюс и минус).

Edited by Karim

Share this post


Link to post
Share on other sites
Практически скорее придется после настройки подстроечниками набирать последовательный (параллельный) эквивалент из постоянных резисторов.

А самое веселое, если придется перепаивать после изменения температуры окружающей среды и температурного дрейфа сопротивлений открытых каналов.

Или у вас все в лаборатории при комнатной температуре будет стоять?

Share this post


Link to post
Share on other sites

Согласен, мест тонких много.

82 не огрех, и 9,1 тоже, это кажется несбыточная мечта.

В моей проге таймер программный.

Edited by Karim

Share this post


Link to post
Share on other sites
82 не огрех, и 9,1 тоже.

Младший разряд там где сопротивление выше. Старший разряд там где 1кОм.

Поэтому 82кОм это +1,2% пятого младшего разряда, а 9,1кОм это +1,1% для третьего разряда, но для пятиразрядного это уже 9* 1,1=9,9%.

Не забываем, токи весовых резисторов суммируются в точке с нулевым входным сопротивлением (инвертирующая схема ОУ)

Edited by Karim

Share this post


Link to post
Share on other sites
Уважаемые форумчане, сложно разве?

Хотелось попробовать R-3R ЦАП ? - да, попробовали. Интересно ? - да, интересно, но с практической точки зрения:

- 8-бит (256 значений) ШИМ не хуже 5-бит троичного ЦАП (243 значения)

- нет весовых резисторов и нет необходимости их подбирать

- схема проще

- программа проще

- ресурсов МК расходуется меньше, т.к. ШИМ формируется таймером аппаратно

- легко можно поднять качество сигнала, перейдя на 10- или 16-бит ШИМ, т.к. выходная частота низкая - 300Гц.

Share this post


Link to post
Share on other sites

- 16-бит ШИМ ЦАП хуже 1-бит интегрирующего троичного ЦАП на 1 резисторе и 1 кондере т.к. в первом всегда за увеличением напряжения следует уменьшение, от того и пульсации, во втором после любого изменения можно хранить напряжение Zом

post-41659-1274374257_thumb.jpg

Edited by Karim

Share this post


Link to post
Share on other sites
- 16-бит ШИМ ЦАП хуже 1-бит интегрирующего троичного ЦАП на 1 резисторе и 1 кондере т.к. в первом всегда за увеличением напряжения следует уменьшение, от того и пульсации, во втором после любого изменения можно хранить напряжение Zом

"Матан" говорит что пульсации в обоих нарисованных случаях будут одинаковыми с точностью до константы 2 =). Повышая частоту ШИМа в 2 раза пульсации будут уже одинаковыми.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this