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

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Получить от АЦП полные 10 бит. Как?
Dikoy
сообщение Dec 5 2011, 02:35
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 4-03-09
Из: Богота, Колумбия
Пользователь №: 45 676



Так получилось, что для получения необходимого разрешения по измеряемому напряжению мне нужно 10+ бит. Использовать планирую ATmega48 с внутренним генератором на 4-8 МГц. Атмега будет мерить 2 входа АЦП (6 и 7, т.к. на них больше ничего нету), выполнять элементарный расчёт и выдавать на семисегментный индикатор в динамическом режиме.
На входе имеем 7 вольт и померить их надо с разрешением (и точностью) 0,006946891517745 вольт.
10 бит на таком диапазоне, это 0,0068359375, то есть как раз.
И того, надо получить 1024 чистые точки. Без дрожания.
Хотелось бы услышать мнения, как это сделать.

Например, хватит ли внутреннего ИОНа для такой точности?
В ДШ шум документирован как 0,5 LSB. Правда, нигде не нашёл, это при измерении в шутдауне, или при работающем ядре тоже?

Допустим, на время измерения я буду отправлять МК в шутдаун (хотя не хотелось бы, т.к. на нём ещё и динамическая индикация). Делать усреднение (оверсемплинг) по 8-16 выборкам подряд... Что ещё можно сделать?..
Go to the top of the page
 
+Quote Post
Tanya
сообщение Dec 5 2011, 03:11
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Dikoy @ Dec 5 2011, 06:35) *
Так получилось, что для получения необходимого разрешения по измеряемому напряжению мне нужно 10+ бит.
....
Делать усреднение (оверсемплинг) по 8-16 выборкам подряд... Что ещё можно сделать?..

Либо читайте форум - это многократно обсуждалось, либо берите МК с лучшим АЦП. Либо внешний. Их еще делают пока. Не все засунули в АВРки.
Go to the top of the page
 
+Quote Post
777777
сообщение Dec 5 2011, 04:22
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Я еще понимаю когда речь идет о 14-16 разрядном АЦП, но как можно добиться дрожания хотя бы одного бита у 10-разрядного?
Go to the top of the page
 
+Quote Post
Tanya
сообщение Dec 5 2011, 04:39
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(777777 @ Dec 5 2011, 08:22) *
Я еще понимаю когда речь идет о 14-16 разрядном АЦП, но как можно добиться дрожания хотя бы одного бита у 10-разрядного?

А я вот не могу понять, как может быть без дрожания? Оно всегда должно быть. Даже в одноразрядном АЦП.
Но ТС интересует точность, а не дрожание. Хоть он об этом и не говорит. А говорит о дрожании.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Dec 5 2011, 07:05
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(Tanya @ Dec 5 2011, 08:39) *
А я вот не могу понять, как может быть без дрожания? Оно всегда должно быть. Даже в одноразрядном АЦП.
Но ТС интересует точность, а не дрожание. Хоть он об этом и не говорит. А говорит о дрожании.

Если дрожит меньше 1LSB - то дрожание можно и не увидеть. Точности - хватит. А начальной точности опорника - не хватит однозначно, необходимо калибровать. Да и ошибка смещения у них очень даже изрядная.
Go to the top of the page
 
+Quote Post
arttab
сообщение Dec 5 2011, 07:13
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



не забудьте считывать результат из 2х регистров


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
Tanya
сообщение Dec 5 2011, 07:20
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(rx3apf @ Dec 5 2011, 11:05) *
Если дрожит меньше 1LSB - то дрожание можно и не увидеть.

А если близко к краю подойти, то дрожь невозможно ни удержать, ни не увидеть .
Go to the top of the page
 
+Quote Post
pavel-pervomaysk
сообщение Dec 5 2011, 09:15
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 253
Регистрация: 28-12-07
Из: Украина г. Первомайск
Пользователь №: 33 716



Я делал так значительно лучше результат, сравнение до 999 убери.


CODE
read_adc: // Чтение АЦП 64 раза , и вычисление среднеарифметического значения
clr yl //
clr yh //
ldi loop,64 // Загружаем количество выборок
read_cycle: // Цикл чтения АЦП
sbi adcsra,6 // Запускаем АЦП
w_adc: //
sbic adcsra,6 // Ждем готовности АЦП к чтению данных
rjmp w_adc //
in xl,ADCL // считываем 8 младших битов АЦП
in xh,ADCH // считываем 2 старших бита АЦП
add yl,xl //
adc yh,xh //
dec loop // Счетчик циклов - 1
brne read_cycle //
// Деление полученого результата на 64 , >> 6 , сдвигаем на 6 разрядов в право
ldi loop,6 //
devide_adc: //
lsr yh //
ror yl //
dec loop //
brne devide_adc //
ldi xl,low (999) //
ldi xh,high(999) //
cp yl,xl //
cpc yh,xh //
brsh set_adc_data //
ret // На выход , результат хранится в Y
set_adc_data: //
ldi yl,low (999) //
ldi yh,high(999) //
ret //
Go to the top of the page
 
+Quote Post
777777
сообщение Dec 5 2011, 09:30
Сообщение #9


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(arttab @ Dec 5 2011, 11:13) *
не забудьте считывать результат из 2х регистров

А я всегда считываю из одного:

int v = ADC; // sm.gif

Цитата(Павлик @ Dec 5 2011, 13:15) *
Я делал так значительно лучше результат

Это разгильдяйство.
Go to the top of the page
 
+Quote Post
Navovvol
сообщение Dec 5 2011, 09:45
Сообщение #10


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

Группа: Участник
Сообщений: 105
Регистрация: 9-09-11
Пользователь №: 67 080



"0,006946891517745 вольт. " И зачем такая точность ? Ни один датчик или другое устройство не сможет поддерживать на выходе такую точность. Абсолютной линейности вых. сигналов в аналоговых датчиках не бывает.
Go to the top of the page
 
+Quote Post
xemul
сообщение Dec 5 2011, 09:52
Сообщение #11



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(Navovvol @ Dec 5 2011, 13:45) *
"0,006946891517745 вольт. " И зачем такая точность ? Ни один датчик или другое устройство не сможет поддерживать на выходе такую точность. Абсолютной линейности вых. сигналов в аналоговых датчиках не бывает.

В Колумбии именно с такой точностью взвешивают кокс. Заморачиваться с правилами округления там не принято.
Go to the top of the page
 
+Quote Post
delamoure
сообщение Dec 5 2011, 10:23
Сообщение #12


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

Группа: Свой
Сообщений: 176
Регистрация: 2-04-08
Из: Днепропетровск
Пользователь №: 36 406



Кокос, кокос, не издевайтесь...
Стремление измерить 7000 mV с точностью +/- 7 mV мне непонятно.
Ну и вообще как такой потенциал попадет в конечном итоге на мегу без делителя дело лично топикстартера.
Время было 4:30 утра, человек перед сном задал вопрос sm.gif

Если по сути вопроса.
Вы сами в курсе общих требованией:
1. правильная топология печатной платы;
2. фильтрация питающих цепей;
3. фильтрация измеряемых сигналов;
4. выбор ион (начальная точность, временная/температурная стабильность)ж
5. оверсемплинг в разумных пределах.

Просто когда вы натыкаетесь на какую-то сложную задачу в простых приложениях, значит вы что-то делаете не так. Измените ее, измените решение etc.


--------------------
Ребята, как же это вы без гравицапы пепелац выкатываете из гаража? Это непорядок. ©
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Dec 5 2011, 10:44
Сообщение #13


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(Tanya @ Dec 5 2011, 11:20) *
А если близко к краю подойти, то дрожь невозможно ни удержать, ни не увидеть .

Это как бы самоочевидно. А реализовав дизеринг, эту "дрожь" можно и с пользой применить, уж два-три бита совсем просто добавляются...
Go to the top of the page
 
+Quote Post
Tanya
сообщение Dec 5 2011, 11:02
Сообщение #14


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(rx3apf @ Dec 5 2011, 14:44) *
Это как бы самоочевидно.

Для Вас. А ТС хотел от этого избавиться. И не только он. Вот и пишу банальности.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 5 2011, 12:22
Сообщение #15


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(rx3apf @ Dec 5 2011, 13:44) *
А реализовав дизеринг, эту "дрожь" можно и с пользой применить...

А как его "реализовать" по-простому?
Go to the top of the page
 
+Quote Post

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

 


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


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