реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Троичный ЦАП, Ternary DAC R-3R-9R-27R...
Karim
сообщение May 4 2010, 05:06
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 15-11-08
Из: Уфа
Пользователь №: 41 659



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

Сообщение отредактировал Karim - May 4 2010, 05:22
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение

Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  sin4bit.zip ( 56.04 килобайт ) Кол-во скачиваний: 59
Прикрепленный файл  mega32_dac_5bit_243step_20mV_a.zip ( 59.68 килобайт ) Кол-во скачиваний: 51
 
Go to the top of the page
 
+Quote Post
dimka76
сообщение May 4 2010, 07:27
Сообщение #2


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Цитата(Karim @ May 4 2010, 09:06) *
Мой интерес: проггер я никудышный, прошу помощи в написании кодов для этой схемы. В моей проге тупая запись в DDR и PORT.


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


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
Karim
сообщение May 4 2010, 08:41
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 15-11-08
Из: Уфа
Пользователь №: 41 659



Так Вы Hi-Z состояние не получите и вернетесь к двоичке.
Go to the top of the page
 
+Quote Post
ae_
сообщение May 4 2010, 10:15
Сообщение #4


Участник
***

Группа: Свой
Сообщений: 462
Регистрация: 2-04-07
Из: Иркутск
Пользователь №: 26 695



Цитата(Karim @ May 4 2010, 16:41) *
Так Вы Hi-Z состояние не получите и вернетесь к двоичке.

Использовать дискретные весовые резисторы и именно по схеме R-3R-9R-27R - это обязательное условие?
Почему бы не использовать ШИМ для генерации синуса? из схемы останется только интегратор или просто RC цепочка.
Go to the top of the page
 
+Quote Post
Karim
сообщение May 4 2010, 12:08
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 15-11-08
Из: Уфа
Пользователь №: 41 659



Честно говоря, точными номиналами не обойтись, придется подстраивать из-за неидентичности сопротивлений открытых ключей. Примерные пропорции сопротивлений обязательное условие, работаем в троичной системе счисления. ШИМ тоже хорошая, но не моя тема.
Хотелось попробовать Hi-Z состояние.
Go to the top of the page
 
+Quote Post
Karim
сообщение May 6 2010, 18:00
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 15-11-08
Из: Уфа
Пользователь №: 41 659



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

Сообщение отредактировал Karim - May 6 2010, 18:01
Go to the top of the page
 
+Quote Post
e-serg
сообщение May 7 2010, 01:21
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 97
Регистрация: 24-07-08
Из: Иркутск
Пользователь №: 39 180



Цитата(Karim @ May 7 2010, 03:00) *
Одно важное замечание по сообщению #1. Простите, оплошал, поставил в обратку интегратора электролит. После замены на нормальный помехи в синусе должны уменьшиться, жалко, макетку раскидал, как соберу, перефоткаю.

Огрехов кроме 82!=81 не вижу, но это мелочь... хотя не совсем, разница равна весу младшего разряда.
проверить без фильтрации высоких гармоник, может и тут эти искажения возникать.
проверить все резисторы, какая у них точность?
счет должен быть до 3^5=243
следит чтоб при бите DDR = 0 в PORT не записать 1 а то внутреннаяя подтяжка в AVR все исказит.
в фрагменте данных вроде все правильно. данные в DDR и PORT по таймеру, в прерывании?
ну и с электролитами разобраться. smile.gif

Сообщение отредактировал e-serg - May 7 2010, 01:33
Go to the top of the page
 
+Quote Post
Karim
сообщение May 7 2010, 06:17
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 15-11-08
Из: Уфа
Пользователь №: 41 659



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

Сообщение отредактировал Karim - May 7 2010, 06:28
Go to the top of the page
 
+Quote Post
V_G
сообщение May 7 2010, 06:24
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955



Цитата(Karim @ May 7 2010, 17:17) *
Практически скорее придется после настройки подстроечниками набирать последовательный (параллельный) эквивалент из постоянных резисторов.

А самое веселое, если придется перепаивать после изменения температуры окружающей среды и температурного дрейфа сопротивлений открытых каналов.
Или у вас все в лаборатории при комнатной температуре будет стоять?
Go to the top of the page
 
+Quote Post
Karim
сообщение May 7 2010, 06:33
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 15-11-08
Из: Уфа
Пользователь №: 41 659



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

Сообщение отредактировал Karim - May 7 2010, 06:48
Go to the top of the page
 
+Quote Post
Karim
сообщение May 7 2010, 13:12
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 15-11-08
Из: Уфа
Пользователь №: 41 659



Цитата(Karim @ May 7 2010, 09:33) *
82 не огрех, и 9,1 тоже.

Младший разряд там где сопротивление выше. Старший разряд там где 1кОм.
Поэтому 82кОм это +1,2% пятого младшего разряда, а 9,1кОм это +1,1% для третьего разряда, но для пятиразрядного это уже 9* 1,1=9,9%.
Не забываем, токи весовых резисторов суммируются в точке с нулевым входным сопротивлением (инвертирующая схема ОУ)

Сообщение отредактировал Karim - May 7 2010, 13:32
Go to the top of the page
 
+Quote Post
Karim
сообщение May 19 2010, 17:35
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 15-11-08
Из: Уфа
Пользователь №: 41 659



Уважаемые форумчане, сложно разве?
Go to the top of the page
 
+Quote Post
ae_
сообщение May 20 2010, 04:38
Сообщение #13


Участник
***

Группа: Свой
Сообщений: 462
Регистрация: 2-04-07
Из: Иркутск
Пользователь №: 26 695



Цитата(Karim @ May 20 2010, 02:35) *
Уважаемые форумчане, сложно разве?

Хотелось попробовать R-3R ЦАП ? - да, попробовали. Интересно ? - да, интересно, но с практической точки зрения:
- 8-бит (256 значений) ШИМ не хуже 5-бит троичного ЦАП (243 значения)
- нет весовых резисторов и нет необходимости их подбирать
- схема проще
- программа проще
- ресурсов МК расходуется меньше, т.к. ШИМ формируется таймером аппаратно
- легко можно поднять качество сигнала, перейдя на 10- или 16-бит ШИМ, т.к. выходная частота низкая - 300Гц.
Go to the top of the page
 
+Quote Post
Karim
сообщение May 20 2010, 16:33
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 15-11-08
Из: Уфа
Пользователь №: 41 659



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

Сообщение отредактировал Karim - May 20 2010, 16:51
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Petka
сообщение May 20 2010, 18:13
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(Karim @ May 20 2010, 20:33) *
- 16-бит ШИМ ЦАП хуже 1-бит интегрирующего троичного ЦАП на 1 резисторе и 1 кондере т.к. в первом всегда за увеличением напряжения следует уменьшение, от того и пульсации, во втором после любого изменения можно хранить напряжение Zом

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

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 06:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01489 секунд с 7
ELECTRONIX ©2004-2016