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

 
 
 
Reply to this topicStart new topic
> АЦП
-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
_pv
сообщение Sep 24 2015, 16:27
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



.
Go to the top of the page
 
+Quote Post
-AZ-
сообщение Sep 24 2015, 16:33
Сообщение #3


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

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



Цитата(_pv @ Sep 24 2015, 19:27) *
.


все плохо?
Go to the top of the page
 
+Quote Post
controller_m30
сообщение Sep 24 2015, 19:04
Сообщение #4


Местный
***

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



А какой контроллер?

Сообщение отредактировал controller_m30 - Sep 24 2015, 19:08
Go to the top of the page
 
+Quote Post
-AZ-
сообщение Sep 24 2015, 19:11
Сообщение #5


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

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



Цитата(controller_m30 @ Sep 24 2015, 22:04) *
А какой контроллер?

MSP430F4152

Сообщение отредактировал phenixs - Sep 24 2015, 19:11
Go to the top of the page
 
+Quote Post
controller_m30
сообщение Sep 24 2015, 19:35
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 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
Сообщение #7


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

Группа: Участник
Сообщений: 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
controller_m30
сообщение Sep 24 2015, 20:43
Сообщение #8


Местный
***

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



В общем, как я понял, заработало wink.gif

Чтоб победить плавающие последние биты, можно вычислять среднее арифметическое нескольких семплов подряд. Сложить, например, значения 4 семплов, а потом сдвинуть эту сумму вправо на 2 бита (т.е. поделить на 4) - получится среднее значение.
Или 8 семплов сложить и сдвинуть на 3 бита вправо... и т.п.
Go to the top of the page
 
+Quote Post
-AZ-
сообщение Sep 24 2015, 21:36
Сообщение #9


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

Группа: Участник
Сообщений: 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
E.V.G.
сообщение Sep 25 2015, 05:57
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 31-01-10
Из: Арзамас
Пользователь №: 55 175



При опорном напряжении 1,5В и 12 битном АЦП на 1 разряд приходится 1,5/4096=366мкВ. Неужели вы думаете, что уровень пульсаций питающего напряжения или наводок на цепи измерения (как внутренние, так и внешние) в вашем изделии меньше этого значения? Уменьшить болтанку в младшем разряде можно также отключая работу процессора и другой внутренней перифирии мк перед началом измерения АЦП. Но я обычно делаю программный фильтр по типу "скользящее среднее".

Сообщение отредактировал E.V.G. - Sep 25 2015, 06:00
Go to the top of the page
 
+Quote Post
Obam
сообщение Sep 25 2015, 06:51
Сообщение #11


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



"Вместо INCH0 надо было INCH_0"

А как же у вас скомпилировалось то всё?

И название какое самодокументирующееся: ДЮЙМ0 или ДЮЙМ_0 sm.gif

Сообщение отредактировал Obam - Sep 25 2015, 06:53


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
controller_m30
сообщение Sep 25 2015, 07:55
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 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
MrYuran
сообщение Sep 25 2015, 08:13
Сообщение #13


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Obam @ Sep 25 2015, 09:51) *
И название какое самодокументирующееся: ДЮЙМ0 или ДЮЙМ_0 sm.gif

InChannel, ВХКАН в русской транскрипции sm.gif

А скомпилировалось, потому что одно обозначает конкретный бит, а другое - комбинацию, соответствующую каналу 0.
Ни к тому, ни к другому у компилятора вопросов нет

Чтобы не дергались показания, можно запускать не единичное преобразование, а цепочку. А при считывании из MEM регистров просуммировать.
2 разряда на 12 битах - нормально


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Obam
сообщение Sep 25 2015, 08:44
Сообщение #14


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



10-разрядов АЦП, десять sm.gif


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post

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

 


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


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