реклама на сайте
подробности

 
 
> Проблема с АЦП, получаю неверные показания в диапазоне
//Nikson
сообщение Sep 27 2006, 19:37
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 43
Регистрация: 26-01-06
Из: Минск, Беларусь
Пользователь №: 13 651



Помогите пожалуйста разобраться с непонятной проблемой в работе АЦП.
Глюк был обнаружен в "большой" схеме и программе. Для эксперимента выкинул всё из схемы, а тестовую программу взял из slac015k, но всё равно происходит вот что:

На вход АЦП контроллера подаётся напряжение с потенциометра. К этому же входу также подключен вольтметр. Подкручивая потенциометр, постепенно уменьшаю напряжение от 2,5В до 0,0В на входе АЦП, что и подтверждается показаниями вольтметра. А вот если контролировать показания АЦП в программе, то сначала напряжения совпадают, в интервале примерно 1,4В - 1,2В контроллер выдаёт постоянное значение примерно 1,25В (если в отсчётах - 0x07FF, ровно половина диапазона), потом опять показания совпадают. Вот попытался изобразить график: (наклонная прямая - показания вольтметра, точками показаны показания АЦП в контроллере).



Программа (пробовал разные настройки, например вот в таком виде):

Код
#include  <msp430x13x.h>

static double v_in = 0.0;

int main(void)
{
  WDTCTL = WDTPW+WDTHOLD;                   // Stop watchdog timer
  P6SEL |= 0xFF;                            // Enable all A/D channels
  ADC12CTL0 = ADC12ON + SHT0_2;             // Turn on ADC12, set sampling time
  ADC12CTL1 = SHP;                          // Use sampling timer
  ADC12MCTL0 = SREF_2 + INCH_7;             // Vr+ = VeREF+ (external)
  ADC12CTL0 |= ENC;                         // Enable conversions

  while (1)
  {
    ADC12CTL0 |= ADC12SC;                   // Start conversion
    while ((ADC12IFG & BIT0) == 0)
           ;
    v_in = ADC12MEM0 * 2.5 / 4095.0;        // BREAKPOINT HERE
  }
}


По схеме: контроллер питается от 3,3В, внешнее опорное напряжение 2,5В, есть аналоговая земля, между входом и AVss подвешен конденсатор (пробовал и без него), пробовал три разных контроллера (два 149-ых и один 133-ий), схема в принципе тоже менялась...

Везде одно и то же - "подвисание" показаний в середине диапазона. Чувствую, что ерунда какая-то, но в чём дело - не могу разобраться. Нужен свежий взгляд.

В чём может быть дело?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 18:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.0138 секунд с 7
ELECTRONIX ©2004-2016