|
АЦП в PIC 16F876A, Нестабильные результаты |
|
|
|
Jan 11 2008, 18:13
|
Частый гость
 
Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656

|
Цитата(Antarius @ Jan 11 2008, 11:03)  Что касается времени заряда конденсатора, я опрашиваю датчик в цикле, между опросами задержка 20 мс. Этого достаточно для заряда? Пробовал 50 мс, разницы не заметил, но утверждать на 100% не буду. Если Вы не трогаете входной коммутатор, то и 20 мкс достаточно для заряда УВХ...
|
|
|
|
|
Jan 11 2008, 19:43
|
Частый гость
 
Группа: Участник
Сообщений: 111
Регистрация: 8-01-08
Пользователь №: 33 892

|
Цитата(Марк_Я @ Jan 11 2008, 21:13)  Если Вы не трогаете входной коммутатор, то и 20 мкс достаточно для заряда УВХ... Входной коммутатор - это регистр ADCON? Я его один раз перед циклом опросов трогаю, но потом жду 100 мс.
Сообщение отредактировал Antarius - Jan 11 2008, 19:45
|
|
|
|
|
Jan 11 2008, 20:30
|
Частый гость
 
Группа: Свой
Сообщений: 147
Регистрация: 24-01-07
Пользователь №: 24 741

|
Цитата(Antarius @ Jan 11 2008, 20:40)  между какие выводами конденсатор вешать? Между регулируемым выводом и землей? А зачем? Именно так - между регулируемым выводом и землей. Для уменьшения пульсаций опорных напряжений. При выборе емкости учитывайте время заряда вашей RC цепочки, т.е. чем больше емкость конденсатора, тем лучше (при прочих равных), но при этом увеличивается время выхода устройства в рабочий режим после подачи питания.
|
|
|
|
|
Jan 16 2008, 07:11
|
Знающий
   
Группа: Свой
Сообщений: 600
Регистрация: 27-05-05
Пользователь №: 5 482

|
Цитата(XVR @ Jan 15 2008, 18:48)  ОЧЕНЬ рекомендуется (а при вашем диапазоне входных напряжений и вообще обязательно  ) переводить процессор в режим SLEEP во время измерения напряжения - ядро процесора довольно заметно шумит, его остановка позволяет от этого шума избавится. в свое время проводил эксперименты, даже усреднение на 4 полностью устраняет шум от ядра (по крайней мере небыло разницы между SLEEP и нормальным режимом, в обоих случаях +- 0,5 младшего разряда), гораздо больше зависит от правильной разводки и качества опоры. например при использовании двухвыводных ион (по типу стабилитронов, LM285, tl431) очень сказывается ток через этот стабилитрон, чем меньше ток тем больше шум. Поэтому конденсатор в опору однозначно необходим (между выводом опоры и землей). При выборе делителя также необходимо учитывать требуемый ток потребляемый пиком от опоры, а лучше включить ОУ в режиме повторителя м/у делителем опорного и входом опоры пика. еще грабли - в нормальном режиме (не SLEEP) нельзя тактировать от RC-генератора, правильно только делением основного, при RC шум больше, что то связаное с интерфенцией или несинхронным переключением еще один момент - если Вы собираетесь ставить промежуточный инстр усилитель, тогда однозачно стоит поднять опору до 5В а низ опоры заземлить, точноть при этом так же лучше будет (см. даташит на пик)
|
|
|
|
|
Jan 16 2008, 10:09
|
Знающий
   
Группа: Свой
Сообщений: 600
Регистрация: 27-05-05
Пользователь №: 5 482

|
еще пара моментов вы в курсе что в этом диапазоне датчик обеспечивает 5,5 разрядную точность? MPX4115 по даташиту обеспечивает стабильность 0,5% от рабочего диапазона т.е. 25мВ) в требуемом диапазоне 3,8...4,2В (даже считая что вы его правильно усилили и оцифровали) сам датчик обеспечит точность всего в 45 единиц (4,2-3,8)/0,025 = 45 - результат округленно, но это ваша реальная стабильность от датчика, без учета основной точности в 1,5%  даже если вы и получите стабильные цифры, они мало общего будут иметь с реальным давлением так что имхо не стоит огород городить, оцифровывайте напрямую и работайте с полученным результатом, либо меняйте датчик есть еще один вариант, именно по оцифровке, искусственно получить 12 битный результат по принципу: сделать 16 десятибитных измерения, затем поделить на 4. Но это не повысит реальную точность датчика, хотя может позволить избежать применения дополнительных элементов, сохранив разрядность, примерно 9 бит в диапазоне 3,8...4,2В. а потом еще нужное кол-во таким образом полученных 12битных результатов усреднить на любом интервале времени и по усреднению - лучше всего делать 16 отсчетов за 20мс , т.е. с интервалом 1,25мс - в этом случае вы хорошо отфильтруете помеху 50Гц или в принципе, с любым интервалом кратным 10мс - получите тот же результат
|
|
|
|
|
Jan 16 2008, 12:13
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата(Antarius @ Jan 16 2008, 11:29)  Спасибо! Попробую. Правда никогда не сталкивался с режимом Sleep. Как я понимаю, это режим пониженного энергопотребления. Угу, совсем пониженного  Ядро останавливается Цитата Но программа все равно выполняется, правильно? Нет Цитата И опрос ацп мне вести в этом режиме? Да Цитата А как потом вывести контроллер из этого режима, прерыванием от таймера, запущенного перед циклом опросов? Прерыванием от АЦП по окончанию преобразования
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|