Страница 1 из 1

Милливольтметр на ATMega

Добавлено: Вт май 18, 2010 12:30:12
Flash_Vrn
Здравствуйте.
Возникла необходимость с помощью МК измерять ток от 4ма до 20 ма, с точность 0,5%.
С помощью внутреннего АЦП ATMega 32 напрямую такой ток маленький измерить не получится. Пробовал сделать усилитель на ОУ, но на выходе получается нелинейное усиление. Остановился на варианте подключения внешнего АЦП. Вот с этим возникли трудности. Моделирую схему в Proteus 7.2, выбрал в качестве внешнего АЦП 12 разрядный MAX1240, но заставить работать его с МК не получается. Может быть есть у кого ссылки на похожие проекты?
Заранее спасибо.

Re: Милливольтметр на ATMega

Добавлено: Вт май 18, 2010 12:52:07
ibiza11
datasheet писал(а):To start a conversion, pull CS low. At CS’s falling edge,
the T/H enters its hold mode and a conversion is initiat-
ed. After an internally timed conversion period, the end
of conversion is signaled by DOUT pulling high. Data
can then be shifted out serially with the external clock.
Перевод нужен?

Re: Милливольтметр на ATMega

Добавлено: Вт май 18, 2010 12:57:26
Flash_Vrn
ibiza11 писал(а):Перевод нужен?
Перевод не нужен, спасибо.
Так как с МК столкнулся недавно, не могу разобраться с управлением. Может быть есть уже готовый кусок кода? Было бы проще разобраться.

Re: Милливольтметр на ATMega

Добавлено: Вт май 18, 2010 13:45:10
ibiza11
вот самое простое экспромтом :

Код: Выделить всё

cbi ADC_PORT,CS ; запуск преобразования
wait:
sbrs ADC_PORT,DOUT ;ожидание завершения преобразования
rjmp wait
ldi cnt,12 ;начало цикла считывания данных
loop:
sbi ADC_PORT,SCLK ;один клок на счетный вход АЦП 
cbi ADC_PORT,SCLK
in temp,ADC_PORT ;берем данные
bst temp,DOUT;записываем во флаг Т
lsr DataL ;подготавливаем регистры данных (освобождаем одно место в младшем байте)
ror DataH
bld DataL,0 ;записываем бит из регистра Т в младший бит
dec cnt
brne loop
На выходе получаем данные в регистрах DataL и DataH. написано без учета задержек.

Re: Милливольтметр на ATMega

Добавлено: Вт май 18, 2010 13:56:25
Flash_Vrn
Спасибо! Попробую разобраться.

Re: Милливольтметр на ATMega

Добавлено: Вт май 18, 2010 21:23:12
Flash_Vrn
А кто нибудь моделировал в Протеусе связку МК с данным АЦП? Смущает надпись у данного АЦП "Схематическая модель", а у многих других компонентов "VCM DLL модель".

Re: Милливольтметр на ATMega

Добавлено: Сб май 22, 2010 20:04:49
ibiza11
Думаю, вероятность того, что кто то напишет именно в этой теме о применении вашей микрухи в протеусе очень мала. Собирайте железо и пробуйте на нем.

Re: Милливольтметр на ATMega

Добавлено: Сб май 22, 2010 21:48:16
Flash_Vrn
Всем спасибо. Разобрался. АЦП работает правильно, была ошибка в программе при считывании данных.

Re: Милливольтметр на ATMega

Добавлено: Ср авг 29, 2012 18:25:00
1makc1
А у вас вольтметр или амперметр?
Мне нужно устройство вольтметр- измеряемый диапазон от 0,4мВ до 4мВ с высокой точностью измерения. Можете подсказать как сделать?

Re: Милливольтметр на ATMega

Добавлено: Ср авг 29, 2012 20:00:32
ploop
Высокая это какая?

Re: Милливольтметр на ATMega

Добавлено: Ср авг 29, 2012 21:14:45
Jack_A
Меньше единиц процентов погрешность не получить никак, особенно если учитывать нестабильность усилителя, без которого не будет работать вообще. Точные измерения делаются иначе.

Re: Милливольтметр на ATMega

Добавлено: Чт авг 30, 2012 22:18:47
eufs
Для простых и не дорогих случаев (тензомост, термопара ) использую ОУ OP177. Если нужна точность повыше - АЦП AD7705. Он с усилителем на 128 и два дифвхода, 16 бит, цена около 7$.

Re: Милливольтметр на ATMega

Добавлено: Чт авг 30, 2012 22:27:48
Antifritz
Ну можно взять точный внешний источник опорного напряжения. Делим это напряжение на 1024 и получаем минимальное изменение напряжения, которое можно измерить. У ADшных ИОНов минимальное напряжение 1.2В / 1024 ~ 1мВ. Ну а теперь добавляем погрешность усилителя, учитываем наводки и разводку проводников.

Re: Милливольтметр на ATMega

Добавлено: Чт авг 30, 2012 22:43:27
Jack_A
В этом перечне упущена одна деталь - погрешность самого АЦП . И не надо отождествлять разрешающую способность и погрешность.