07.12.2006, 18:07
общий
это ответ
Здравствуйте, Shurik!
Вопрос интересный, как получить ЦАП из модуля опорного напряжения я еще подумаю, но предлагаю другой, более простой способ. Так как в вашем случае шагов всего 16, то хватит четырех выходов контроллера, к которым к каждому по отдельности подключаем по одному резистору, номиналы которых подбираем экспериментально, вторые выводы соединяем вместе и через пятый резистор на плюс питания, возможно придется еще поставить по одному на вывод развязывающие диоды, анодом к выводу. Получился простейший ЦАП. Настраиваем так, на всех выходах 0, на выходе ЦАП(точка соединения всех резисторов) должен быть ноль, устанавливаем в младшем разряде 1, на остальных 0, должно на выходе быть 0,1В подбираем резистор(выбираем номиналы так, что бы максимальный ток был не больше допустимого и не забываем что есть еще резистор на плюс питания), на следующем по старшинсту устанавливаем единицу, остальные в ноль и подбирая резистор получаем 0,2В, далее на следующем по старшинству 1 остальные в 0, подбираем пока не плучим 0,4В, ну и последний в 1 остальные в ноль, подбором резистора получаем 0,8В. Все остальные напряжения получаются автоматически. Проверяем: 0,1+0,2+0,4+0,8=1,5В, т.е. если на всех выводах присутствуют 1 на выходе получаем 1,5В. счет ведется в двоичном коде, что для микроконтроллера очень удобно, плюс освобождается драгоценный вывод. Например надо получить напряжение 1,1В, на выводы нужно подать цифру 11 в двоичном коде 1011 получим 0,8+0,2+0,1=1,1В. Такой ЦАП работает у меня в программаторе.