Форум РадиоКот https://radiokot.ru/forum/ |
|
R2R ЦАП: калибровка при использовании дешевых резисторов. https://radiokot.ru/forum/viewtopic.php?f=1&t=197318 |
Страница 1 из 1 |
Автор: | siderta [ Пт мар 28, 2025 23:45:03 ] |
Заголовок сообщения: | R2R ЦАП: калибровка при использовании дешевых резисторов. |
Доброго времени суток! Пока не находил в инете описаний, в которых бы предлагалось выполнить калибровку для R2R ЦАПа. Поэтому выложил заметку про калибровку на pikabu. Основное соображение - делаем R2R ЦАП из самых обычных непрецензионных резисторов. Затем измеряем все возможные значения с помощью АЦП большей размерности, чем количество битов у ЦАПа. АЦП может быть медленный, главное чтобы бы было много бит. Получаем набор всех возможных выходных значений для конкретного получившегося R2R ЦАПа. В теории для идеальной схемы выходные значения должны быть монотонны и линейны (прямо пропорциональны битовому значению). Но на практике выходные значения не будут полностью монотонны и не будут полностью пропорциональны. Вижу, что большей идеальности пытаются добиться за счет дорогих прецензионных резисторов. Но если после калибровки есть фактическая табличка значений, то главное, чтобы набор фактических значений более или менее равномерно распределялся по выходному диапазону. Тогда для любого выходного значения по табличке подбираем такую комбинацию бит, чтобы на выходе получилось бы наиболее близкое значение к требуемое. Соответственно фактическая битность ЦАПа будет определяться максимальным/средним скачком между двумя соседними выходными значениями. Фактическая битность будет чуть-чуть меньше, чем количество задействованных бит, но похоже что не сильно меньше (всего на 1 бит?). Возможно данное соображение о калибровке ЦАПа будет полезным на практике. Ссылка на заметку: https://pikabu.ru/story/yet_another_rea ... 6_12516484 |
Автор: | Уош [ Сб мар 29, 2025 08:29:51 ] |
Заголовок сообщения: | Re: R2R ЦАП: калибровка при использовании дешевых резисторов |
температура |
Автор: | siderta [ Сб мар 29, 2025 17:46:23 ] |
Заголовок сообщения: | Re: R2R ЦАП: калибровка при использовании дешевых резисторов |
температура Возможно. Возьму данные отсюда: https://www.radiokot.ru/articles/11/?ys ... 5867285432 Цитата: Но ТКС у них довольно большой: от +350 до минус 2500 ppm/° ... в бытовой аппаратуре, которая в комнатных условиях работает В комнатных условиях разброс температуры оценим от +15° до +35°, то есть +/- 10°. Возьмем "худшее" значение, Код: 10° * 2500 ppm/° = 10*2.5*10^-3 = 0.025 = 2.5% Значит на 10° сопротивление будет плавать на +/- 2.5%. Сильно ли это будет влиять на параметры схемы? Если все резисторы изменят свое сопротивление в k-раз одновременно, то параметры не изменятся (но это не точно), так как все соотношения сохранятся. Если же у разных резисторов (из одной сборки) будут ТКС разные, причем сильно разные, то наверное это окажет влияние. В принципе была идея положить платку в морозилку, а потом наоборот подуть на нее феном и посмотреть как изменится набор выходных значений. В конце концов датчик температуры ведь тоже стоит недорого? Но тут же речь не о научной работе ![]() |
Автор: | Уош [ Сб мар 29, 2025 18:48:22 ] |
Заголовок сообщения: | Re: R2R ЦАП: калибровка при использовании дешевых резисторов |
Я к тому, что прецизионные резисторы могут выбирать не столько из-за значений, поскольку можно просто из кучи выбрать одинаковые и среди обычных, а потому что у них ТКС в на порядок-два меньше. |
Автор: | As [ Сб мар 29, 2025 21:27:22 ] |
Заголовок сообщения: | Re: R2R ЦАП: калибровка при использовании дешевых резисторов |
...Единственное "но": микросхема ЦАП с той же битностью будет на пару порядков дешевле, чем эта самоделка, и заметно точнее... ![]() |
Автор: | siderta [ Сб мар 29, 2025 23:43:04 ] |
Заголовок сообщения: | Re: R2R ЦАП: калибровка при использовании дешевых резисторов |
...Единственное "но": микросхема ЦАП с той же битностью будет на пару порядков дешевле, чем эта самоделка, и заметно точнее... ![]() Основной посыл не в том, что R2R ЦАП лучше и дешевле готовых микросхем. Хотя про два порядка - это что же есть микросхемы ЦАП за 1 рубль что-ли, где такие продаются? Кроме того, R2R и на 20 бит точно также делается (благо недорогие АЦП на 24 бита для калибровки есть), и на 32 бита (только не понятно как его калибровать). Да и кроме битности есть еще и частота. Это тоже иногда важный параметр. Самое главное же в данном случае - было просто интересно поэксперементировать. Можно ли повысить точность R2R ЦАПа. Зачем? Скажите тогда, сначала, а зачем в принципе делают и продают R2R ЦАПы ![]() Что касается прецензионных резисторов и зависимости по ТКС. Возможно. Но все ли так плохо с ТКС? Пишут весьма разное. И потом ну будет хорошая ТКС - это частично решит вопрос по температуре. А калибровка значит на резисторах с малой ТКС не повысит РЕАЛЬНУЮ битность? Подобрать одинаковые, ну тут похоже даже доли процента ломают монотонность и линейность. И складывается такое впечатление - это принципиальная неустойчивость схемы. А калибровка в свою очередь требования к идеальности номиналов снижает так раз на порядки. Но это так - впечатления профана. Если есть другие экспериментальные данные, то всегда любопытно узнать что-нибудь новое ![]() |
Автор: | Уош [ Вс мар 30, 2025 00:22:22 ] |
Заголовок сообщения: | Re: R2R ЦАП: калибровка при использовании дешевых резисторов |
Не получится простым способом откалибровать кучу дискретных резисторов. У каждого свой ТКС, каждый припаян индивидуально, плюс громадная площадь... Что касается стоимости, то на резисторах действительно дороже. Во-первых, прецизионные стоят в розницу немного дороже обычных, во-вторых, нужно учитывать всё: стоимость точки пайки, площадь и т.д. Радиолюбители почему-то считают только чек на радиодетальки, а это неверно. Та же калибровка, опять затраты. Почему их до сих пор делают? Ну, возможно, с хорошими резисторами и ОУ можно получить какой-то индивидуальный ЦАП под какую-то определённую задачу, под которую не подходят готовые. Ещё два варианта: образовательная цель и аудиофильская (противоположная образовательной, получается ![]() |
Автор: | Уош [ Вс мар 30, 2025 09:01:31 ] |
Заголовок сообщения: | Re: R2R ЦАП: калибровка при использовании дешевых резисторов |
Ну, любой метод повышения точности вызовет её повышение ![]() Можно ещё сложнее: запихнуть ЦАП в некий термос с подогревом до определённой температуры. Видел подобное в некоторых приборах, там так генератор кварцевый термостатировали. |
Автор: | Asmodey [ Вс мар 30, 2025 09:39:33 ] |
Заголовок сообщения: | Re: R2R ЦАП: калибровка при использовании дешевых резисторов |
Долго и тщательно подбираем резисторы, а потом... узнаем про разброс параметров ключей которыми резисторы коммутируются... |
Автор: | Уош [ Вс мар 30, 2025 09:45:13 ] |
Заголовок сообщения: | Re: R2R ЦАП: калибровка при использовании дешевых резисторов |
Asmodey, да. Этот момент, к своему стыду, я упустил. |
Автор: | GARMIN [ Вс мар 30, 2025 22:02:48 ] |
Заголовок сообщения: | Re: R2R ЦАП: калибровка при использовании дешевых резисторов |
При всём моём уважении к самостоятельно произведённым экспериментам, вы не учли вариант, когда данные вашего R-2R ЦАП будут не перекрываться, а идти с разрывами. То есть, когда погрешности резисторов будут иметь отклонения в другую сторону. Тогда вы просто не будете иметь возможности воспроизвести некоторые значения напряжения, и калибровка здесь не поможет. И ещё, одно соображение: при калибровке перекрывающихся значений вы получите меньшую разрядность выходного сигнала, чем разрядность АЦП. Это факт. Но вопрос поднят занятный. Всегда нужно думать нестандартно. Спасибо, мне было интересно. |
Автор: | siderta [ Вт апр 01, 2025 00:02:41 ] |
Заголовок сообщения: | Re: R2R ЦАП: калибровка при использовании дешевых резисторов |
И ещё, одно соображение: при калибровке перекрывающихся значений вы получите меньшую разрядность выходного сигнала, чем разрядность АЦП. Это факт. Но вопрос поднят занятный. Спасибо! На счет меньшей разрядности полностью согласен. Здесь сугубо эксперимент. Если грубо, то вместо 10 бит получим скажем 9 бит, значит нужно брать битность с небольшим запасом. Если же калибровки не делать и использовать "наивные" коды, вот тогда реальная битность похоже действительно падает значительно, если под реальной "битностью" понимать максимальное отклонение реального выходного значения от требуемого. Т.е. погрешность установки значения. Есть такое впечатление, что фактические значения будут распределены более или менее равномерно (если только значение сопротивлений гуляет не на 10-20%, а всего лишь на 1-2%). И реальная достижимая битность после калибровки (без учета изменения ТЕМПЕРАТУРЫ ![]() Код: R(k) = R0 будет равно Код: R(k) = R0 + epsilon_k и как максимальное по модулю значение epsilon_k с одной стороны приводит к деградации битности R2R ЦАП при использовании "наивных" битовых кодов. А с другой стороны какая битность реально все-таки достижима, если использовать калибровку. Т.е. максимальная погрешность. Может быть даже аналитическую формулу можно вывести. Кстати, используя модель с epsilon_k, наверное, можно оценить влияние температуры, если в модель заложить ТКС резисторов. Но такое не умею ![]() В конце концов первый график намекает на четкую закономерность скачков - эти степени двоек, когда в битовом коде происходят переходы вида Код: 011111b -> 100000b т.е. когда много резисторов выключается и один старший включается. И чем больше выключается, тем сильнее скачок - самый большой по середине. И видимо это в принципе ахиллесова пята (если не считать ТЕМПЕРАТУРЫ ![]() Вот есть заметка от 2015 года (https://habr.com/ru/articles/260999/). Там точно также на экране осциллографа хорошо заметен скачок ровно по середине. Но там осциллограф похоже с люминофорным экраном. Думаю там есть и другие скачки - просто они уже на экране не так заметны. Кроме того скачки хорошо становятся видны именно после замеров на АЦП и построения графика, когда каждое выходное значение измеряется несколько раз и результаты измерений усредняются (иначе они просто размазываются). ![]() Добавлено after 33 minutes 35 seconds: То есть, когда погрешности резисторов будут иметь отклонения в другую сторону. Тогда вы просто не будете иметь возможности воспроизвести некоторые значения напряжения, и калибровка здесь не поможет. Не сразу понял что имеются в виду. Наверное, речь о том, что при переходе Код: 011111b -> 100000b будет не снижение выходного напряжения, а наоборот - повышение. И тогда будет непреодолимый разрыв. Но тут какое дело. С одной стороны, на практике, наверное, все-таки (из свойств самой схемы R2R) как правило будет понижение выходного напряжения. А с другой стороны, подобрать два резистора так, чтобы у них номиналы совпали на 0.00001% тяжело, а вот подобрать их так, чтобы при примерном равенстве, сопротивление одного было совсем чуть-чуть, но больше сопротивления второго - несравненно более простая задача. А значит, на практике гарантировать скачок в нужную сторону п. н. всегда получится . Добавлено after 4 minutes 32 seconds: Re: R2R ЦАП: калибровка при использовании дешевых резисторов. вот еще картинки (из той же заметки от 2015 года), на которых если присмотреться хорошо заметны скачки ![]() ![]() Добавлено after 52 minutes 10 seconds: Re: R2R ЦАП: калибровка при использовании дешевых резисторов. Усе УКРАДЕНО до нас ![]() Похоже еще в 2016 году вот здесь меня "опередили" с калибровкой: https://www.eevblog.com/forum/projects/ ... you-think/ Только со своим знанием аглицкого языка не понял удалось ли автору темы ее провести. Но там тоже хорошо видны скачки вниз. Добавлено after 1 minute 43 seconds: Re: R2R ЦАП: калибровка при использовании дешевых резисторов. ![]() В общем и статьи в науных журналах похоже есть, и даже какие-то патенты в "недружественных" странах ![]() |
Автор: | Linuxoid91 [ Ср апр 02, 2025 09:18:30 ] |
Заголовок сообщения: | Re: R2R ЦАП: калибровка при использовании дешевых резисторов |
Если и городить R2R ЦАП... И не заморачиваться с калибровками, подбором одинаковых резисторов, термостатированием, и прочими удорожаниями, то вес младшего разряда не имеет смысла делать меньше допуска используемых компонентов. То есть, 4 бита при допуске 5%, 6-7 бит при допуске 1% |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |