Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: АЦП help?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
cxz
sad.gif Подскажите как пересчитать измереное значение из ацп в вольты ?

P6SEL |= BIT0; //ADC select Port 6.0

ADC12CTL0 = SHT0_2 + MSC + REFON + ADC12ON;
ADC12CTL1 = SHP+CONSEQ_2; // Use sampling timer
ADC12MCTL0 = 0;
ADC12MEM0 = 0;
ADC12IE= BIT0;
ADC12CTL0 |= ENC+ADC12SC; // Conversion enabled
}

#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR()
{
Vin=((ADC12MEM0*3300)/4096);
ADC12IFG=0;
}

Результат ADC12MEM0=0x903 на осцилографе 3.3в

Nadc=4096*(Vin -- Vr-)/(Vr+ -- Vr-) или я неправ?
chopik
Согласно указанным настройкам ADC12CTL0 = SHT0_2 + MSC + REFON + ADC12ON, в качестве опорного источника напряжения берется внутренний генератор напряжения, и его величина составляет 1,5В.Естественно возникает переполнение регистра АЦП.Можно в этом убедиться, проверив соответствующий флаг.В любом случае опорное напряжение должно быть НЕ МЕНЬШЕ измеряемого.Т.е. либо выбрать в качестве опорного какое-нибудь внешнее напряжение, либо подавать измеряемое через делитель так, чтобы уложиться в эти 1,5В или 2,5В получаемые от внутреннего генератора.
A R T
Цитата(chopik @ Sep 14 2006, 17:50) *
Согласно указанным настройкам ADC12CTL0 = SHT0_2 + MSC + REFON + ADC12ON, в качестве опорного источника напряжения берется внутренний генератор напряжения, и его величина составляет 1,5В.Естественно возникает переполнение регистра АЦП.Можно в этом убедиться, проверив соответствующий флаг.В любом случае опорное напряжение должно быть НЕ МЕНЬШЕ измеряемого.Т.е. либо выбрать в качестве опорного какое-нибудь внешнее напряжение, либо подавать измеряемое через делитель так, чтобы уложиться в эти 1,5В или 2,5В получаемые от внутреннего генератора.


Скажите, а если опорное напряжение превысит питающее (Ucc), как это отразится на измерении???
chopik
Цитата(A R T @ Sep 15 2006, 12:22) *
Скажите, а если опорное напряжение превысит питающее (Ucc), как это отразится на измерении???

Опытов сам не проводил, но если опираться на документацию, то получается следующее.Далее в основном цитаты, смысл думаю понятен будет. Заголовок:12-bit ADC, power supply and input range conditions.Текст: AVCC (Analog supply voltage) MIN=2,2V MAX=3,6V, а максимальное внешнее напряжение подаваемое на входы ADC должно быть Vref(VREF+) (Positive external reference voltage input) MIN =1,4V MAX = V(AVCC), т.е. 3,6V. По идее ничего страшного не будет, если питание будет 3,3V а внешнее опорное для ADC 3,6V. Если я не прав, просьба поправить.
Вариант с делителем на мой взгляд наиболее приемлем.
A R T
Цитата(chopik @ Sep 15 2006, 18:24) *
Цитата(A R T @ Sep 15 2006, 12:22) *

Скажите, а если опорное напряжение превысит питающее (Ucc), как это отразится на измерении???

Опытов сам не проводил, но если опираться на документацию, то получается следующее.Далее в основном цитаты, смысл думаю понятен будет. Заголовок:12-bit ADC, power supply and input range conditions.Текст: AVCC (Analog supply voltage) MIN=2,2V MAX=3,6V, а максимальное внешнее напряжение подаваемое на входы ADC должно быть Vref(VREF+) (Positive external reference voltage input) MIN =1,4V MAX = V(AVCC), т.е. 3,6V. По идее ничего страшного не будет, если питание будет 3,3V а внешнее опорное для ADC 3,6V. Если я не прав, просьба поправить.
Вариант с делителем на мой взгляд наиболее приемлем.


chopik, спасибо за отклик!

То, что ничего страшного не будет - это понятно... Мне интересно, как (и почему) это повлияет на точность измерений.

Из своего опыта: задизайнил измерение температуры в диапазоне от 10 до 150 град С. Питание 2,8В; опорное 3,2В. При таком раскладе получаю разброс измеренных значений ~1 град (это при 140 град. на входе АЦП ~2,2В...). С. Снизил опорное до 2,8В. Получил разброс ~0,4 гард...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.