Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Евтин ЦАП с по-малка точност.
http://mcu-bg.com/mcu_site/viewtopic.php?f=4&t=7815
Страница 1 от 1

Автор:  npelov [ Нед Май 16, 2010 6:54 pm ]
Заглавие:  Евтин ЦАП с по-малка точност.

Какво мислите за ЦАП чрез R-2R резисторна матрица и ОУ?

В доста схеми се налага използването на ЦАП и не винаги е необходима висока точност. Понякога просто не си струва да дадеш 6.30 лв(най-евтиния) за ЦАП. Спомних си как си правх ЦАП с резисторна матрица R-2R за да изкарам звук от там и ми хрумна че може да направя нещо подобно. Евентуално ще трябва ОУ за буфер, който също би било добре да е евтин. Тъй като в случаите в които ми е трябвал (не-прецизен) ЦАП е влизал в компаратор може напрежението да е от 0 до 2.5В вместо от 0 - 5В. Така може да се ползва LM358 който е 10 ст. Е, платката става по-обемиста, но ако се сложат 0603 резистори (40 ст. за 100 бр 1%) не е чак толкова.

Тъй като LM358 не може да стигне захранващото напрежение вместо 8 бита се слагат резистори за 9 бита като последния бит се връзва към маса - така ще се получи напрежение от 0 до 2.5В ... по-точно от 0 до 2.49 (в идеалния случай).

Долу съм спреднал схемичка и даже пуснах емулация. Изходното напрежение е (2.5*<стойността>)/256.

В конкретния случай мисля да ползвам този ЦАП за задаване на заряден ток. Тъй като слабо ме интересува дали тока ще е 1А или 1.06А, и в дозаряд дали е 100мА или 105мА За по-голяма точност захранващото напрежение на логиката трябва да е по-точна - мисля да ползвам LM317 + AN431 - има примерна схемка на стабилизатор с голяма точност в даташита на AN431 - фиг. 20. Е, като се съберат по 1% грешка от всеки резистор в най-лошия случай може грешката да стигне 10% и повече, но това означава че всички 10кОм резистори трябва да са с 1% под стойността, а всички 20кОм - с 1% над, което е малко вероятно.

Мисля изхода да се подава от сериен шифт регистър като 4094 (<0.30 лв) или 74HCT595 (<0.40 лв) - изисква 3 пина - Clock, Data и Latch (за сравнение с 2-та пина на ЦАП по I2C), но пък протокола е доста по-елементарен - просто пращаш числото бит по бит и щракваш Latch-а.

На теория може регулирането да стане с PWM, но нещо не ми харесва идеята - линейност, изпълнение ... дори MCU-о да има хардуерен PWM (говорим за PIC 16 или 18) пак му трябват 20MHz за да изкара PWM с резолюция 8 бита ~ 100kHz.

Мислите ли че 5-те спестени лв. на бройка си заслужават труда по допълнителните пътечки и запояването на резисторите? И виждал ли е някой по-евтини 8 бит ЦАП пък било то и с по-големи отклонения.

Прикачени файлове:
Коментар на файл: R-2R DAC
DAC-01.png
DAC-01.png [ 13.18 KiB | Прегледано 2565 пъти ]

Автор:  sthx [ Нед Май 16, 2010 7:12 pm ]
Заглавие: 

Наскоро си правих 4-битов цап : 4 битов регистър (конкретно даже бяха изводи на процесора) и 1%резистори с намаляваща два пъти стойност към старшия разряд. Другият край на резисторите естествено е общ и от него се взема напражението на цап-а.

Автор:  ji4ka [ Нед Май 16, 2010 7:22 pm ]
Заглавие: 

Вместо регистър си вземаш пик с малко повече крака, а може и ОУ-то да спестиш, зависи как го товариш. Какво толкова ще генерираш със 100кХц, и то с пик16? Всеки дискрет си иска сметки и цикъл за изпълнение, малко нанагорно ще ти дойде при тази честота.

Автор:  kasparov [ Нед Май 16, 2010 7:25 pm ]
Заглавие:  Re: Евтин ЦАП с по-малка точност.

npelov написа:
На теория може регулирането да стане с PWM, но нещо не ми харесва идеята - линейност, изпълнение ... дори MCU-о да има хардуерен PWM (говорим за PIC 16 или 18) пак му трябват 20MHz за да изкара PWM с резолюция 8 бита ~ 100kHz


Кое налага ШИМ-а да е на 100 kHz, не може ли да е 10, или 5? После имаш едно съпротивление и един кондезатор.
Когато няма бързи изменения на величините (заряден ток) няма нужда от специален ЦАП.

Автор:  tgi [ Нед Май 16, 2010 7:34 pm ]
Заглавие: 

За 2 бита и аз съм правил такива работи, за 4 също не бих му се чудил много,
по-просто няма как да стане от това (и не R2R ами направо както sthx го описва).
Аз така врътках яркостта на TFT backlight-а, там повече от тая точност не е нужна.

За повече - като в постнатата схема - работата отива към "безумни идеи".
Тия ключове там хубаво са сложени като символи, ама кой и как ще ги управлява.
Колко ще им е температурната стабилност и т.н. С учебна цел може би упражнението
си струва де.

За спестените 5 лева на бройка дали си струва зависи:
- от общия брой,
- от това дали има 5 лева за спестяване като се сметне всичко :D .
Само от ADI в digikey има десетки страници с DAC-ове, почващи от около $1 парчето.

Автор:  Zeus [ Нед Май 16, 2010 8:10 pm ]
Заглавие: 

http://www.pasatbg.com/

MC1408L8 - 2лв.

Автор:  Cekins [ Нед Май 16, 2010 8:37 pm ]
Заглавие: 

TC1321 - 10 bit I2C. (Microchip) - Комет 3,21 лв. с ддс (без доставка) дребнова цена ...
Единственото неудобство е че vref трябва да е Vdd - 1.4 най-много.
В този ред на мисли, май не си заслужава труда да се открива топлата вода.

Автор:  npelov [ Нед Май 16, 2010 8:58 pm ]
Заглавие: 

tgi написа:
За 2 бита и аз съм правил такива работи, за 4 също не бих му се чудил много,
по-просто няма как да стане от това (и не R2R ами направо както sthx го описва).
Аз така врътках яркостта на TFT backlight-а, там повече от тая точност не е нужна.

За повече - като в постнатата схема - работата отива към "безумни идеи".
Тия ключове там хубаво са сложени като символи, ама кой и как ще ги управлява.
Колко ще им е температурната стабилност и т.н. С учебна цел може би упражнението
си струва де.

За спестените 5 лева на бройка дали си струва зависи:
- от общия брой,
- от това дали има 5 лева за спестяване като се сметне всичко :D .
Само от ADI в digikey има десетки страници с DAC-ове, почващи от около $1 парчето.



Признавам че е малко идиотско, но чак пък за "безумни идеи". Температурната стабилност не е важна, както и точността, защото ще има обратна връзка с АЦП или компаратор за да се държи в съответни граници. Би стигнало процесорно време за корекция няколко пъти на секунда. Ако температурата не скочи с 20 градуса за 0.1 сек може би ще е проблем.

Като се сметне всичко ще се спестят 5 лв - затова писах цените на всичко. Разбира се това само при условие че най-евтиния цап който открих беше във футурел - 6.30. Все пак ако има ЦАП за $1 до $1.50 ... не си заслужава дори да се замислям. Може ли линк къде да ги намеря?

Колкото до предложението на Zeus - 2 лв. е достатъчно евтино, но като хвърлих едно око на даташита не ми харесаха външните елементи много сложно ми се стори (не съм чел, само на пръв поглед).

Cekins, гледах в комет в категория ЦАП/АЦП, но не го видях този. Малко бъркаш с цената. долара (според техния сайт) е 1.6219. ЦАП-а е $1.9459 х 1.6219 = 3.79 с ДДС. Все пак дори и тази цена си струва да се замислиш да ли си заслужава с резистори ... компактен е и е сравнително прост.

Автор:  Cekins [ Нед Май 16, 2010 9:15 pm ]
Заглавие: 

Мда, колкото и да е странно, той е в категория Специализирани ИС. Но пък какво чудно има, като там дори има MOSFET транзистор :?

ти пък сега за 50 стотинки ли си :D

Мда... долара се е вдигнал. Аз като вземах беше по 1.40 и затова ми е останало в акъла 3,20 ...

Автор:  Zeus [ Нед Май 16, 2010 10:46 pm ]
Заглавие: 

npelov написа:
Колкото до предложението на Zeus - 2 лв. е достатъчно евтино, но като хвърлих едно око на даташита не ми харесаха външните елементи много сложно ми се стори (не съм чел, само на пръв поглед).


http://www.chinaicmart.com/uploadfile/i ... 010620.gif

не съм му гледал даташиита, но на тази картинка не изглежад да има много външни елементи.

Автор:  npelov [ Пон Май 17, 2010 2:00 pm ]
Заглавие: 

ами това 3.3к трябва да е = на 1к+5к тример. после с увеличаването на тези съпротивления от 1 до 5 к трябва кондензатора да има различна скорост. Това добре - тестваш и виждаш кое е най-добре, но откъде да му взема -12V. В даташита пише че Vee трябва да е от -5 до -15V - т.е. не мога просто да го вържа към земя. Това ми прилича на аудио DAC. Явно е старичък и затова е евтин. пък и кой в днешно време използва 8 бита за аудио. Иначе звучи примамливо за 2 лв. паралелния вход не ме притеснява освен повечето пътечки по платката - има евтини пик-ве с по 44 и 64 крачета

Автор:  tgi [ Пон Май 17, 2010 2:58 pm ]
Заглавие: 

Търси nanodac , това е евтината и дребна фамилия на ADI.
Почват от $0.95@1000, май по $1.30 ги гледах за една бройка в digikey.
Ако е за дребни бройки едва ли си струва да го правиш сам.

Инак идеята с резисторна матрица, дето да се калибрира с обратна връзка
през ADC-то е не толкова лоша. Но може би не в R-2R вариант, че с ключовете
нещата наникъде не отиват, а направи примерно 6 изхода (или дори 8...) от
MCU-то към матрица от 6 (8) +1 резистора. Това може и да спести пари при едри бройки.

Примерно 1 2 4 8 16 32 64 128 256 кила, малко игра със стойностите ще има ама
е възможно да докараш нещо близко дори до 8 бита разделителна способност
(с 1% резистори диференциалната нелинейност ще е голяма, ама не чак в
небесата, ако знаеш какво правиш може да си свършиш работа по тоя начин).

Автор:  ike [ Пон Май 17, 2010 3:06 pm ]
Заглавие: 

@npelov Виждал съм го и с резистори със стойност 640к 320к 160к 80к 40к 20к 10к 5к - най-важна е точността на 5к, 10к,20к резисторите тях ръчно може да ги избереш да за най-точни. За повечето приложения като например звук точността е достатачна. Не си казал какво ще свъжеш след DAC-a.

Автор:  npelov [ Пон Май 17, 2010 3:41 pm ]
Заглавие: 

tgi написа:
Търси nanodac , това е евтината и дребна фамилия на ADI.
Почват от $0.95@1000, май по $1.30 ги гледах за една бройка в digikey.
Ако е за дребни бройки едва ли си струва да го правиш сам.

Инак идеята с резисторна матрица, дето да се калибрира с обратна връзка
през ADC-то е не толкова лоша. Но може би не в R-2R вариант, че с ключовете
нещата наникъде не отиват, а направи примерно 6 изхода (или дори 8...) от
MCU-то към матрица от 6 (8) +1 резистора. Това може и да спести пари при едри бройки.

Примерно 1 2 4 8 16 32 64 128 256 кила, малко игра със стойностите ще има ама
е възможно да докараш нещо близко дори до 8 бита разделителна способност
(с 1% резистори диференциалната нелинейност ще е голяма, ама не чак в
небесата, ако знаеш какво правиш може да си свършиш работа по тоя начин).


Дали е R2R или RnR не е от кой знае какво значение. Ключовете са само за симулацията - по-лесно е да симулирам отколкото да смятам делители. Иначе може да се използват изходите от ПИК-а директно (или преместващ регистър или какъвто и да е друг ТТЛ) - в повечето случаи са близки до 5В ( особено ако не ги товариш). Така че освен резистори най-много да иска 1 ОУ, но така или иначе по някога се налага...

ike - може и така. 40к по-рядко се среща, но пък може 39+1. Също 320 ако няма може да се смени с 300+20, и 640 = 620+20. Само не знам 80k как ще го получа ... може 47к+33к. Все пак по-добре се работи с R2R - повечко резистори, но само 2 стойности. Както казах изхода ще ходи в компаратор или АЦП (във втория случай е добре да мине през ОУ)


nanodac намерих в К1:
http://www.k1-bg.com/index0.php?body=prod.php
AD5601BKSZ - $1.82 х 1.6 ~ 2.90 ...
TC1320 в комет е по-евтин, а за 5 бройки още по-евтин

Не става въпрос за хиляди бройки. по-скоро за десетки. Може би ще се взимат на по 10 пък ако се види че има хляб може и по 25, но за 100 или 1000 - трудна работа.
Все пак при наличието на <3 лв ЦАП с резистори май не си е работа.
Мерси за инфото.

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/