kofa 0 1 февраля, 2009 Опубликовано 1 февраля, 2009 (изменено) · Жалоба Здравствуйте, уважаемые участники форума! Мне требуется сделать систему измерения напряжения на 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 порта… в связи с этим хочу спросить-на сколько оно стабильно? Не может ли из-за него косячить? Я его пока никак не стабилизировал… Кто знаком с этим, подскажите пожалуйста, что можно сделать! Буду рад услышать все замечания и поправки! Project2.rar Изменено 1 февраля, 2009 пользователем kofa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
chief_olimp 0 1 февраля, 2009 Опубликовано 1 февраля, 2009 · Жалоба datasheet читали? Где сопротивления по входу? Где сплошная земля. К тому же очень желательно оставить фольгу на стороне компонентов. К тому же, при данных раскладах, МК желательно запаять в схему а не в панельку вставить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 17 1 февраля, 2009 Опубликовано 1 февраля, 2009 · Жалоба 1) реально ли получить без дерганий все 10 бит ваще и что для этого надо? Или 9-это предел, а колебания младшего бита сглаживать усреднением только? 1-2 младших разряда даже на приличных АЦП отбрасывают, а на меге я думаю 9-это предел даже с усреднением. При этом ни о каких 30кГц по 8 каналам не может быть и речи Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IGK 0 1 февраля, 2009 Опубликовано 1 февраля, 2009 · Жалоба 1) реально ли получить без дерганий все 10 бит ваще и что для этого надо? Или 9-это предел, а колебания младшего бита сглаживать усреднением только? Вы пока видите помехи от питания, оно же у Вас и опорное. Поэтому ставить экранированный провод на вход АЦП пока рано, надо с питанием и опорным разобраться... Про прямое измерение 30 КГц забудьте... Читайте даташит, там указана полоса АЦП. Хотя, если пропускать периоды и синронизироваться как следует, то можно попробовать оцифровывать, например, вершину каждого 10-го импульса. Даже видел такое в реальности, но там дрожало еще больше разрядов :-) Или я Вас не так понял. 2) Все ли верно по схеме у меня или может чего-то не хватает и поэтому такой косяк? Не стоит AREF вот так на питание заводить. Решите попробовать внутренний опорник программно подключить, он и накроется. И, скорее всего, все АЦП грохнется. Работайте строго по даташиту (пока опыта нет :-) 3) питание использую от USB порта… в связи с этим хочу спросить-на сколько оно стабильно? Не может ли из-за него косячить? Я его пока никак не стабилизировал… Для такого питания результат неплохой. Если хотите бОльшего - стабилизируйте питание. Тогда будет плясать только младший разряд. Чтобы и он не плясал - применяйте хороший опорник. Даже ТЛ431 даст приемлемый результат. Ограничивайте полосу входного сигнала - для начала, даже после батарейки, прямо около ножек АЦП включите RC фильтр. И все равно может потребоваться программная обработка, но это будет видно после изменения схемы. 1-2 младших разряда даже на приличных АЦП отбрасывают, а на меге я думаю 9-это предел даже с усреднением. При этом ни о каких 30кГц по 8 каналам не может быть и речи У меня все 10 нормально себя ведут, я ничего не отбрасываю. С оверсэмплингом получал, для пробы, 11 стабильных. Но вот 12-13, как в обещалось, уже не получается. Но, сами понимаете, это сумма топологии, фильтрации входного сигнала и прочие программные заморочки. Проще более хороший АЦП применить. Даже микрочиповский, и то выигрыш дает. Но мне этого не надо, мне и так хорошо с 10 разрядами... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
slog 0 1 февраля, 2009 Опубликовано 1 февраля, 2009 · Жалоба 1-2 младших разряда даже на приличных АЦП отбрасывают, а на меге я думаю 9-это предел даже с усреднением. При этом ни о каких 30кГц по 8 каналам не может быть и речи Очень категоричное утверждение. К тому же не соответствует действительности. А что касается AVR так 10 разрядов без дрожания совсем не проблема. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 1 февраля, 2009 Опубликовано 1 февраля, 2009 · Жалоба У Вас три проблемы: 1. Надо поставить на Aref хороший опорник. 2. Надо сделать так, чтобы к пинам АЦП подводились сигналы от источника с выходным сопротивлением не более, если не ошибаюсь, 2кОм 3. Отфильтровать полосу сигнала. Кстати, 30 кГц на каждый канал Вы никогда не получите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 1 февраля, 2009 Опубликовано 1 февраля, 2009 · Жалоба 2. Надо сделать так, чтобы к пинам АЦП подводились сигналы от источника с выходным сопротивлением не более, если не ошибаюсь, 2кОм Так это, может быть повторитель на ОУ поставить? С согласованием импедансов проблемы тогда отпадут. Ну и конечно RC фильтры по входу не повредят (ИМХО). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kofa 0 1 февраля, 2009 Опубликовано 1 февраля, 2009 · Жалоба Большое спасибо всем за ответы!! в ближайшее время переделаю схему с учетом всего сказанного, и посмотрим. 3. Отфильтровать полосу сигнала. Кстати, 30 кГц на каждый канал Вы никогда не получите. а какой предел по частоте? а не на каждый можно? как это можно правильно посчитать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zhevak 0 1 февраля, 2009 Опубликовано 1 февраля, 2009 · Жалоба а какой предел по частоте? а не на каждый можно? как это можно правильно посчитать? Дейтшит по Мега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 кГц. Я Вас разочаровал? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 1 февраля, 2009 Опубликовано 1 февраля, 2009 · Жалоба А поскольку у Вас не один канал, а восемь, то полученное значение нужно поделить еще на весемь. Таким образом, если Вы хотите получить максимальное разрешение (10 бит) по всем каналам, то максимум, на что Вы можете рассчитывать, -- это 0.5 .. 2 кГц. Я Вас разочаровал? Я Вам больше скажу. Заявленным методом передачи данных Результаты через USART на COM-порт PC. Скорость 4800 бит/c. можно будет просунуть всего-то 48 измерений в секунду в каждом канале :) Смысл в полосе 30кГц, если информационный канал позволит максимум 24Гц. Даже если топикстартер каким-либо образом асилит 8 каналов по 60ксемплов/с (для обеспечения заявленной полосы в 30кГц), то общий поток будет 4.8Мбит/с. Тут в пору эзернетом лить. Надо бы осетра некисло урезать :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tyro 0 2 февраля, 2009 Опубликовано 2 февраля, 2009 · Жалоба Может немного не в тему, но может кто скажет (а лучше ткнет носом) каков разброс (а если есть и другие параметры) внутренней опоры? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kofa 0 2 февраля, 2009 Опубликовано 2 февраля, 2009 (изменено) · Жалоба Дейтшит по Мега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)не пойму формулу, по которой вы считали... Почему так? Изменено 2 февраля, 2009 пользователем kofa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 17 2 февраля, 2009 Опубликовано 2 февраля, 2009 · Жалоба А поскольку у Вас не один канал, а восемь, то полученное значение нужно поделить еще на весемь Плюс задержки на переключение, иначе будем мерить переходные процессы Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zhevak 0 2 февраля, 2009 Опубликовано 2 февраля, 2009 · Жалоба Простите, я что-то не совсем понял, как вы посчитали... 1) я вот до конца не пойму-о какой частоте здесь идет речь в даташите: "требуется входная частота в диапазоне от 50 до 200 кГц"-это частота работы самого АЦП? или частота дискретизации входного сигнала? или это одно и то же? 2)не пойму формулу, по которой вы считали... Почему так? 1. Имеется ввиду тактовая частота АЦП. Действительно, она не совсем корректно названа "входной", т.к. такое определение вносит путаницу между тактовой частотой и входным (измеряемым, нашим) сигналом, который тоже может носить периодический характер. На самом деле, входная частота -- это тактовая частота АЦП, т.е. частота для последовательного приближения. 2. Сложно ничего нет. Все очень даже просто. (Смотрите ДШ.) Для одного измерения АЦП требуется 13 (13.5 и 25 тактов тактовой частоты, в зависимости от режима работы.) Предположим, что у нас "ручной" запуск и к тому же не первый, значит на одно преобразование нам потребуется 13 тактов. Если мы тактируем АЦП частотой 200 кГц, то максимальная частота, с которой мы будем получать измеренные значения составит 200 / 13 = 15.4 кГц. И это, как заметил MrYuran без учета задержек на переходные процессы. Поскольку АЦП у нас один на все восемь каналов, то мы вынуждены его "по кругу" подключать к каждому каналу. Таким образом, пока мы оцифровываем один канал, остальные семь находжятся в "свободном полете". Это значит, что если мы выберем какой-то канал, то в лучшем случае, мы сможем его обрабатывать один раз из восьми, т.е. скорость (частота), с которой мы можем получать данные с канала будет в весемь раз меньше скорости оцифровки АЦП. Скорость получения 10-разрядных данных мы уже посчитали, она чуть более 15 тысяч отсчетов в секунду. Следовательно, для каждого из восьми каналов, частота получения отсчетов составит 15.4 / 8 = 1925 отсчетов в секунду. Извините, если я очень подробно разжевал механику расчетов. Откройте ДШ и посмотрите на приведенные там диагшраммы сигналов. Сложного там ничего нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kofa 0 2 февраля, 2009 Опубликовано 2 февраля, 2009 (изменено) · Жалоба 1. ........ 2. ..... 3. ....... Извините, если я очень подробно разжевал механику расчетов. Откройте ДШ и посмотрите на приведенные там диагшраммы сигналов. Сложного там ничего нет. Спасибо за ответ. Теперь все вполне понятно. Я Вам больше скажу. Заявленным методом передачи данных можно будет просунуть всего-то 48 измерений в секунду в каждом канале :) Смысл в полосе 30кГц, если информационный канал позволит максимум 24Гц. Даже если топикстартер каким-либо образом асилит 8 каналов по 60ксемплов/с (для обеспечения заявленной полосы в 30кГц), то общий поток будет 4.8Мбит/с. Тут в пору эзернетом лить. RST7, У меня к вам похожий вопрос: каким образом считали? нельзя ли поподробнее алгоритм расчета? Изменено 2 февраля, 2009 пользователем kofa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться