Перейти к содержанию
    

Шумит АЦП

Привет

Процессор: MSP430F4152

АЦП: 10 разрядный

 

Делаю измерение температур по двум каналам АЦП.

АЦП работает в непрерывном режиме.

Проблема: АЦП сильно шумит, т.е. значение регистра ADC10MEM "гуляет" примерно от 260 до 270 единиц.

Т.е. "гуляют" 4 младших разряда. Это нормально или плохо?

Соответсвенно измеренная температура гуляет на +- 1 градус

Что делать, где ошибка?

 

Схему не могу выложить, мне запрещено. Но схема измерения как тут: http://avr-start.ru/?p=590

Даташит: https://yadi.sk/i/nGysJKVFibvYc

Код:

 

#include "adc.h"


float32_t dataArray[32] = {0};

uint16_t ADC10CTL1_mask;


void initADC(void)
{
    ADC10AE0 |= 0x03;                         // P7.4, P7.5 ADC option select
    //ADC10CTL0 = ADC10ON + ADC10SHT_0 + MSC + REF2_5V + REFON;          // Turn on ADC10, set sampling time
    ADC10CTL0 = ADC10ON + MSC;          // Turn on ADC10, set sampling time

    ADC10CTL1 |= CONSEQ1;
    ADC10CTL0 |= ENC;                        // Enable conversions
    ADC10CTL0 |= ADC10SC;                    // Start convn - software trigger  
}

void stopADC(void)
{
    ADC10CTL0 = 0;                    // Start convn - software trigger  
}


float32_t getTemperatureFromChannel(uint8_t channelNum)
{
   initADC();  


   P2DIR = 0x03;                             // "1" на выход для датчиков
   P2OUT = 0x03;
   __delay_cycles(1000);

   ADC10CTL1 &= 0xFFF;                     // очистим биты 12..15
   ADC10CTL1 |= channelNum << 12;          // установим биты 12..15


   float32_t data = ADC10MEM*0.1318-10.6422;

   dataArray[channelNum] = data;

   P2OUT = 0;

   stopADC();

   return data;
}

MSP430_________.pdf

Изменено пользователем OlegALL

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"…Проблема: АЦП сильно шумит…"

 

Действительно ли шумит АЦП (и как шумит) можно проверить по каналам 10 и 11 (встроенные делитель питания и термодатчик).

 

"…"гуляют" 4 младших разряда. Это нормально или плохо?…

Соответсвенно измеренная температура гуляет на +- 1 градус"

 

Это разве плохо? Вы сами то на что рассчитывали?

 

"Что делать, где ошибка?"

Плакать :) (шутка)

 

"АЦП работает в непрерывном режиме."

 

Это называется непрерывным режимом: в getTemperatureFromChannel инитится-запускается-останавливается АЦП? Готовность данных

как определяется?

 

Найдите книжицу: Бэйкер Б. "Что нужно знать цифровому инженеру об аналоговой электронике" М.Додэка-XXI, 2010.

Просветление гарантировано: и как "земли-питание" разводить и как работу АЦП оценивать.

Вообще, пока на www.ti.com есть доступ поищите там её (да! это не мужик :) ) статьи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вам на САХАРЕ ответили правильно, смотрите топологию; проверьте осциллографом шум по питанию; проверьте шум вывода REF; посмотрите, что Вы подаёте на вход АЦП с аналоговой схемы, то же осциллографом. Выходное сопротивление Вашей схемы полностью успевает зарядить конденсатор схемы выборки внутри контроллера? Попробуйте увеличить время выборки.

Изменено пользователем sasa_c

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вам на САХАРЕ ответили правильно, смотрите топологию; проверьте осциллографом шум по питанию; проверьте шум вывода REF; посмотрите, что Вы подаёте на вход АЦП с аналоговой схемы, то же осциллографом. Выходное сопротивление Вашей схемы полностью успевает зарядить конденсатор схемы выборки внутри контроллера? Попробуйте увеличить время выборки.
Первый простой эксперимент - отключить сигнал от АЦП входа и подключить батарейку на 1.6 (NiKa) обязательно зашунтировав батарейку емкостью керамикой 1-10 мкФ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...