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

 
 
> АЦП
-AZ-
сообщение Sep 24 2015, 16:13
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 20-09-15
Пользователь №: 88 488



Приветствую уважаемых специалистов.
Подскажите что не так.....
Или уже пора в ду...... или не пойму, не зависимо что на ножке А0(хоть земля, хоть плюс) - получаю 0х02 85 (последний байт плавает)
Пол дня с ним бьюсь, хэлп, сос

ADC10CTL0 |= ADC10SHT0 | ADC10ON;
ADC10CTL1 |= INCH0;
ADC10AE0 |= BIT0;
ADC10CTL0 |= ENC;

while(1)
{
ADC10CTL0 |= ADC10SC;
while(ADC10CTL1 & ADC10BUSY);

adcValue = ADC10MEM;
uart_TX(adcValue);
}
}

Сообщение отредактировал phenixs - Sep 24 2015, 16:14
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
controller_m30
сообщение Sep 24 2015, 19:35
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 24-02-09
Пользователь №: 45 309



Если вместо входа INCH0, выбрать INCHA (температурный датчик), или INCHB ( (VCC–VSS)/2) - что-нить меняется в показаниях?
Go to the top of the page
 
+Quote Post
-AZ-
сообщение Sep 24 2015, 20:20
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 20-09-15
Пользователь №: 88 488



Цитата(controller_m30 @ Sep 24 2015, 22:35) *
Если вместо входа INCH0, выбрать INCHA (температурный датчик), или INCHB ( (VCC–VSS)/2) - что-нить меняется в показаниях?

сейчас попробую

Цитата(phenixs @ Sep 24 2015, 23:03) *
сейчас попробую


Это надо же так обделаться))
Вместо INCH0 надо было INCH_0

Мда... точно в д... пора ))

Цитата(phenixs @ Sep 24 2015, 23:19) *
сейчас попробую



Это надо же так обделаться))
Вместо INCH0 надо было INCH_0

Мда... точно в д... пора ))


Только последний бит плавает блин..., иногда два что есть очень и очень ужасно...
Питание стабильно, надо думать...

Сообщение отредактировал phenixs - Sep 24 2015, 20:26
Go to the top of the page
 
+Quote Post
-AZ-
сообщение Sep 24 2015, 21:36
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 20-09-15
Пользователь №: 88 488



Цитата(phenixs @ Sep 24 2015, 23:20) *
сейчас попробую



Это надо же так обделаться))
Вместо INCH0 надо было INCH_0

Мда... точно в д... пора ))



Только последний бит плавает блин..., иногда два что есть очень и очень ужасно...
Питание стабильно, надо думать...


Непонятно даже от внутреннего датчика Т плавают последние 2 бита.
U/2 четко стабильно 1FF без единого дрыга
Мозг уже набекрень ((

Цитата(controller_m30 @ Sep 24 2015, 23:43) *
В общем, как я понял, заработало wink.gif

Чтоб победить плавающие последние биты, можно вычислять среднее арифметическое нескольких семплов подряд. Сложить, например, значения 4 семплов, а потом сдвинуть эту сумму вправо на 2 бита (т.е. поделить на 4) - получится среднее значение.
Или 8 семплов сложить и сдвинуть на 3 бита вправо... и т.п.


а это на практике применяют? в смысле это нормально?

Цитата(controller_m30 @ Sep 24 2015, 23:43) *
В общем, как я понял, заработало wink.gif

Чтоб победить плавающие последние биты, можно вычислять среднее арифметическое нескольких семплов подряд. Сложить, например, значения 4 семплов, а потом сдвинуть эту сумму вправо на 2 бита (т.е. поделить на 4) - получится среднее значение.
Или 8 семплов сложить и сдвинуть на 3 бита вправо... и т.п.


Можно наверное ещё по аналогии гистограммы брать значения наиболее повторяющиеся, но это как мысль
Go to the top of the page
 
+Quote Post
controller_m30
сообщение Sep 25 2015, 07:55
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 24-02-09
Пользователь №: 45 309



Цитата(phenixs @ Sep 25 2015, 00:36) *
а это на практике применяют? в смысле это нормально?
Полагаю нормально.
Я испытывал этот метод на датчике давления BMP085, у которого разрешение АЦП достаточное, чтоб определять высоту над уровнем моря с точностью до 5 см. Но младшие биты у него "пляшут" (кажется 4 или 5 бит из 19).
После применения усреднения, высота стала отображаться стабильно, и таки с точностью до 5 см! (+/-) rolleyes.gif Я перемещал датчик вверх-вниз в пределах метра - давление менялось на величину соответствующую высоте, и каких-то случайных значений при этом не проскакивало.

Можно сделать вывод, что "пляшущие" биты тоже содержат полезную информацию о измеряемой величине (как-то привязаны к процессу измерения), а вовсе не являются генератором случайных чисел.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 19th August 2025 - 19:53
Рейтинг@Mail.ru


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