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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> измерительная система на 8 каналов на Atmega 8535, проблема со стабильностью
kofa
сообщение Feb 1 2009, 07:14
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 4-01-08
Пользователь №: 33 814



Здравствуйте, уважаемые участники форума!

Мне требуется сделать систему измерения напряжения на 8 каналов. Сделал вот по такой схеме(принципиальная схема в архиве).МК- Atmega 8535. Каналы опрашиваются поочередно с 1-го по 8-й. После каждого переключения канала делаю холостое преобразование для исключения взаимовлияния каналов.
Диапазон входных напряжений от 0 до 5 В.
Частотный диапазон входных сигналов хотелось бы хотя бы до 30 кГц, но пока проверяю на постоянных.
Точность мне нужна максимально возможная в данной ситуации, в общем беру все 10 бит.
Использую режим ADC Noise reduction. Результаты через USART на COM-порт PC.
Скорость 4800 бит/c.
В качестве экспериментального варианта сделал вот на такой плате (схема в архиве)
Для проверки подаю напряжение от 2-х батареек через переменные резисторы. (0-3В)

В общем все как бы работает, вот только младшие 2 (часто и 3) разряда очень не стабильны. Дергаются больно сильно.
Переменники вначале на 100 кОм брал, пробовал и меньше - на 4.7 кОм, многооборотный – картина не менялась. Провода, что от резисторов к АЦП шли – пробовал вместо простых экранированные ставить – тоже не помогло. Вначале все делал от внутреннего RC-генератора на 4 МГц, но пробовал и внешний на 8 МГц ставить (правда на проводках, не знаю как там с помехоустойчивостью у него)

Я девайс подобного рода первый раз делаю, опыта практически нет, поэтому возникает немало вопросов:

1) реально ли получить без дерганий все 10 бит ваще и что для этого надо? Или 9-это предел, а колебания младшего бита сглаживать усреднением только?
2) Все ли верно по схеме у меня или может чего-то не хватает и поэтому такой косяк?
3) питание использую от USB порта… в связи с этим хочу спросить-на сколько оно стабильно? Не может ли из-за него косячить? Я его пока никак не стабилизировал…

Кто знаком с этим, подскажите пожалуйста, что можно сделать!
Буду рад услышать все замечания и поправки!

Сообщение отредактировал kofa - Feb 1 2009, 07:45
Прикрепленные файлы
Прикрепленный файл  Project2.rar ( 83.42 килобайт ) Кол-во скачиваний: 173
 
Go to the top of the page
 
+Quote Post
chief_olimp
сообщение Feb 1 2009, 08:03
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 249
Регистрация: 31-10-05
Из: Украина Нетешин
Пользователь №: 10 344



datasheet читали? Где сопротивления по входу? Где сплошная земля. К тому же очень желательно оставить фольгу на стороне компонентов. К тому же, при данных раскладах, МК желательно запаять в схему а не в панельку вставить.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Feb 1 2009, 08:15
Сообщение #3


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

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



Цитата(kofa @ Feb 1 2009, 10:14) *
1) реально ли получить без дерганий все 10 бит ваще и что для этого надо? Или 9-это предел, а колебания младшего бита сглаживать усреднением только?

1-2 младших разряда даже на приличных АЦП отбрасывают, а на меге я думаю 9-это предел даже с усреднением.
При этом ни о каких 30кГц по 8 каналам не может быть и речи


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
IGK
сообщение Feb 1 2009, 08:27
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 7-01-07
Из: Севастополь
Пользователь №: 24 170



1) реально ли получить без дерганий все 10 бит ваще и что для этого надо? Или 9-это предел, а колебания младшего бита сглаживать усреднением только?
Вы пока видите помехи от питания, оно же у Вас и опорное. Поэтому ставить экранированный провод на вход АЦП пока рано, надо с питанием и опорным разобраться...
Про прямое измерение 30 КГц забудьте... Читайте даташит, там указана полоса АЦП. Хотя, если пропускать периоды и синронизироваться как следует, то можно попробовать оцифровывать, например, вершину каждого 10-го импульса. Даже видел такое в реальности, но там дрожало еще больше разрядов :-) Или я Вас не так понял.

2) Все ли верно по схеме у меня или может чего-то не хватает и поэтому такой косяк?
Не стоит AREF вот так на питание заводить. Решите попробовать внутренний опорник программно подключить, он и накроется. И, скорее всего, все АЦП грохнется. Работайте строго по даташиту (пока опыта нет :-)

3) питание использую от USB порта… в связи с этим хочу спросить-на сколько оно стабильно? Не может ли из-за него косячить? Я его пока никак не стабилизировал…
Для такого питания результат неплохой. Если хотите бОльшего - стабилизируйте питание. Тогда будет плясать только младший разряд. Чтобы и он не плясал - применяйте хороший опорник. Даже ТЛ431 даст приемлемый результат. Ограничивайте полосу входного сигнала - для начала, даже после батарейки, прямо около ножек АЦП включите RC фильтр. И все равно может потребоваться программная обработка, но это будет видно после изменения схемы.




Цитата(MrYuran @ Feb 1 2009, 10:15) *
1-2 младших разряда даже на приличных АЦП отбрасывают, а на меге я думаю 9-это предел даже с усреднением.
При этом ни о каких 30кГц по 8 каналам не может быть и речи

У меня все 10 нормально себя ведут, я ничего не отбрасываю. С оверсэмплингом получал, для пробы, 11 стабильных. Но вот 12-13, как в обещалось, уже не получается. Но, сами понимаете, это сумма топологии, фильтрации входного сигнала и прочие программные заморочки. Проще более хороший АЦП применить. Даже микрочиповский, и то выигрыш дает. Но мне этого не надо, мне и так хорошо с 10 разрядами...
Go to the top of the page
 
+Quote Post
slog
сообщение Feb 1 2009, 10:33
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 961
Регистрация: 28-11-05
Пользователь №: 11 489



Цитата(MrYuran @ Feb 1 2009, 11:15) *
1-2 младших разряда даже на приличных АЦП отбрасывают, а на меге я думаю 9-это предел даже с усреднением.
При этом ни о каких 30кГц по 8 каналам не может быть и речи

Очень категоричное утверждение. К тому же не соответствует действительности. А что касается AVR так 10 разрядов без дрожания совсем не проблема.


--------------------
В действительности всё не так, как на самом деле.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Feb 1 2009, 14:29
Сообщение #6


;
******

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



Цитата(kofa @ Feb 1 2009, 11:14) *

У Вас три проблемы:

1. Надо поставить на Aref хороший опорник. 


2. Надо сделать так, чтобы к пинам АЦП подводились сигналы от источника с выходным сопротивлением не более, если не ошибаюсь, 2кОм

3. Отфильтровать полосу сигнала.  Кстати, 30 кГц на каждый канал  Вы никогда не получите.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Feb 1 2009, 14:50
Сообщение #7


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(_Pasha @ Feb 1 2009, 22:29) *
2. Надо сделать так, чтобы к пинам АЦП подводились сигналы от источника с выходным сопротивлением не более, если не ошибаюсь, 2кОм

Так это, может быть повторитель на ОУ поставить? С согласованием импедансов проблемы тогда отпадут. Ну и конечно RC фильтры по входу не повредят (ИМХО).


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
kofa
сообщение Feb 1 2009, 18:13
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 4-01-08
Пользователь №: 33 814



Большое спасибо всем за ответы!! в ближайшее время переделаю схему с учетом всего сказанного, и посмотрим.


Цитата(_Pasha @ Feb 1 2009, 18:29) *
3. Отфильтровать полосу сигнала.  Кстати, 30 кГц на каждый канал  Вы никогда не получите.


а какой предел по частоте?
а не на каждый можно?
как это можно правильно посчитать?
Go to the top of the page
 
+Quote Post
zhevak
сообщение Feb 1 2009, 20:30
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(kofa @ Feb 1 2009, 23:13) *
а какой предел по частоте?
а не на каждый можно?
как это можно правильно посчитать?


Дейтшит по Мега8535, стр. 206 внизу:
Цитата
By default, the successive approximation circuitry requires an input clock frequency
between 50 kHz and 200 kHz to get maximum resolution. If a lower resolution than
10 bits is needed, the input clock frequency to the ADC can be higher than 200 kHz to
get a higher sample rate.

Перевод:
По умолчанию для схемы последовательного приближения что бы получить максимальное
разрешение требуется входная частота в диапазоне от 50 до 200 кГц. Если нужно разрешение
меньшее, чем 10 бит, то для получения максимальной скорости входная частота АЦП может
быть и выше 200 кГц.

Пояснение:
Зная, что для преобразования требуется 13 (и в некоторых случаях более) тактов, то,
соответственно, получаем максимальную скорость ощифровки

(50..200) / 13 = 3.85 .. 15.4 кГц

А поскольку у Вас не один канал, а восемь, то полученное значение нужно поделить еще
на весемь. Таким образом, если Вы хотите получить максимальное разрешение (10 бит) по всем
каналам, то максимум, на что Вы можете рассчитывать, -- это 0.5 .. 2 кГц.

Я Вас разочаровал?


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
Rst7
сообщение Feb 1 2009, 21:22
Сообщение #10


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
А поскольку у Вас не один канал, а восемь, то полученное значение нужно поделить еще
на весемь. Таким образом, если Вы хотите получить максимальное разрешение (10 бит) по всем
каналам, то максимум, на что Вы можете рассчитывать, -- это 0.5 .. 2 кГц.

Я Вас разочаровал?


Я Вам больше скажу. Заявленным методом передачи данных
Цитата
Результаты через USART на COM-порт PC.
Скорость 4800 бит/c.

можно будет просунуть всего-то 48 измерений в секунду в каждом канале smile.gif Смысл в полосе 30кГц, если информационный канал позволит максимум 24Гц. Даже если топикстартер каким-либо образом асилит 8 каналов по 60ксемплов/с (для обеспечения заявленной полосы в 30кГц), то общий поток будет 4.8Мбит/с. Тут в пору эзернетом лить.

Надо бы осетра некисло урезать smile.gif


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
tyro
сообщение Feb 2 2009, 07:45
Сообщение #11


Любитель Кошек
*****

Группа: Свой
Сообщений: 1 593
Регистрация: 8-06-06
Пользователь №: 17 873



Может немного не в тему, но может кто скажет (а лучше ткнет носом) каков разброс (а если есть и другие параметры) внутренней опоры?


--------------------
По современному этикету, в левой руке держат вилку, в правой - мышку.
Go to the top of the page
 
+Quote Post
kofa
сообщение Feb 2 2009, 12:40
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 4-01-08
Пользователь №: 33 814



Цитата(zhevak @ Feb 2 2009, 00:30) *
Дейтшит по Мега8535, стр. 206 внизу:
Цитата

By default, the successive approximation circuitry requires an input clock frequency
between 50 kHz and 200 kHz to get maximum resolution. If a lower resolution than
10 bits is needed, the input clock frequency to the ADC can be higher than 200 kHz to
get a higher sample rate.

Перевод:
По умолчанию для схемы последовательного приближения что бы получить максимальное
разрешение требуется входная частота в диапазоне от 50 до 200 кГц. Если нужно разрешение
меньшее, чем 10 бит, то для получения максимальной скорости входная частота АЦП может
быть и выше 200 кГц.

Пояснение:
Зная, что для преобразования требуется 13 (и в некоторых случаях более) тактов, то,
соответственно, получаем максимальную скорость ощифровки

(50..200) / 13 = 3.85 .. 15.4 кГц

А поскольку у Вас не один канал, а восемь, то полученное значение нужно поделить еще
на весемь. Таким образом, если Вы хотите получить максимальное разрешение (10 бит) по всем
каналам, то максимум, на что Вы можете рассчитывать, -- это 0.5 .. 2 кГц.

Простите, я что-то не совсем понял, как вы посчитали...
1) я вот до конца не пойму-о какой частоте здесь идет речь в даташите: "требуется входная частота в диапазоне от 50 до 200 кГц"-это частота работы самого АЦП? или частота дискретизации входного сигнала? или это одно и то же?

2)не пойму формулу, по которой вы считали... Почему так?

Сообщение отредактировал kofa - Feb 2 2009, 12:54
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Feb 2 2009, 12:48
Сообщение #13


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

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



Цитата
А поскольку у Вас не один канал, а восемь, то полученное значение нужно поделить еще
на весемь

Плюс задержки на переключение, иначе будем мерить переходные процессы


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
zhevak
сообщение Feb 2 2009, 13:33
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(kofa @ Feb 2 2009, 17:40) *
Простите, я что-то не совсем понял, как вы посчитали...
1) я вот до конца не пойму-о какой частоте здесь идет речь в даташите: "требуется входная частота в диапазоне от 50 до 200 кГц"-это частота работы самого АЦП? или частота дискретизации входного сигнала? или это одно и то же?

2)не пойму формулу, по которой вы считали... Почему так?


1.
Имеется ввиду тактовая частота АЦП. Действительно, она не совсем корректно названа "входной", т.к. такое
определение вносит путаницу между тактовой частотой и входным (измеряемым, нашим) сигналом, который
тоже может носить периодический характер. На самом деле, входная частота -- это тактовая частота АЦП, т.е.
частота для последовательного приближения.

2.
Сложно ничего нет. Все очень даже просто. (Смотрите ДШ.) Для одного измерения АЦП требуется 13 (13.5 и 25
тактов тактовой частоты, в зависимости от режима работы.) Предположим, что у нас "ручной" запуск и к тому же
не первый, значит на одно преобразование нам потребуется 13 тактов. Если мы тактируем АЦП частотой 200 кГц,
то максимальная частота, с которой мы будем получать измеренные значения составит

200 / 13 = 15.4 кГц.

И это, как заметил MrYuran без учета задержек на переходные процессы.

Поскольку АЦП у нас один на все восемь каналов, то мы вынуждены его "по кругу" подключать к каждому
каналу. Таким образом, пока мы оцифровываем один канал, остальные семь находжятся в "свободном полете".
Это значит, что если мы выберем какой-то канал, то в лучшем случае, мы сможем его обрабатывать один раз
из восьми, т.е. скорость (частота), с которой мы можем получать данные с канала будет в весемь раз меньше
скорости оцифровки АЦП. Скорость получения 10-разрядных данных мы уже посчитали, она чуть более 15
тысяч отсчетов в секунду. Следовательно, для каждого из восьми каналов, частота получения отсчетов
составит

15.4 / 8 = 1925 отсчетов в секунду.

Извините, если я очень подробно разжевал механику расчетов. Откройте ДШ и посмотрите на приведенные там
диагшраммы сигналов. Сложного там ничего нет.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
kofa
сообщение Feb 2 2009, 17:24
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 4-01-08
Пользователь №: 33 814



Цитата(zhevak @ Feb 2 2009, 17:33) *
1. ........
2. .....
3. .......

Извините, если я очень подробно разжевал механику расчетов. Откройте ДШ и посмотрите на приведенные там
диагшраммы сигналов. Сложного там ничего нет.


Спасибо за ответ. Теперь все вполне понятно.


Цитата(Rst7 @ Feb 2 2009, 01:22) *
Я Вам больше скажу. Заявленным методом передачи данных

можно будет просунуть всего-то 48 измерений в секунду в каждом канале smile.gif Смысл в полосе 30кГц, если информационный канал позволит максимум 24Гц. Даже если топикстартер каким-либо образом асилит 8 каналов по 60ксемплов/с (для обеспечения заявленной полосы в 30кГц), то общий поток будет 4.8Мбит/с. Тут в пору эзернетом лить.

RST7, У меня к вам похожий вопрос: каким образом считали? нельзя ли поподробнее алгоритм расчета?

Сообщение отредактировал kofa - Feb 2 2009, 17:34
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 1st July 2025 - 15:22
Рейтинг@Mail.ru


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