|
АЦП в PIC 16F876A, Нестабильные результаты |
|
|
|
Jan 8 2008, 09:37
|
Частый гость
 
Группа: Участник
Сообщений: 111
Регистрация: 8-01-08
Пользователь №: 33 892

|
Сразу прошу прощения, если что - это мое первое сообщение в ваш форум. Я - абсолютный чайник в электронике, и это мое первое устройство вообще (даже радио в детстве не собирал). Просто решил осуществить детскую мечту и собрать своими руками какое-либо электронное устройство. Решил сделать метеостанцию для начала.
Проблема следующая. Нужно оцифровать значения датчика давления MPX 4115A с помощью АЦП в PIC16F876A.
Датчик подключен согласно даташиту на него, есть все конденсаторы, указанные в нем. Выход датчика давления напрямую подключен к пику, между выходом и землей есть керамический конденсатор.
Интересующий диапазон давления датчика соответствует напряжению на его выходе от 3,785 до 4,205 вольт. Поэтому на АЦП контроллера я подвел два напряжения минимум - 3,785 и максимум 4,205В. Чтобы весь интересующий меня диапазон уложился в 1024 отсчета АЦП. Напряжения задал многооборотными переменными резисторами. Напряжения стабильны и со временем не меняются.
Вся схема (и датчик и контроллер) питается от м/сх REF195, имеющая на выходе довольно стабильные 5,00 В. REF также подключена с двумя электролитическими конденсаторами, согласно даташиту. Да, схема собрана на макетной плате (я только учусь), причем на плате в которую втыкается, а не паяется.
И в принципе все работает и все устраивает, но... Почему-то, когда напряжение на выходе датчика стабильно, например 3,975В, с АЦП идет не стабильный ответ, допустим (просто для примера) 375, 376, 372, 373, 375... Что для моих целей неприемлимо, ибо дает плохую повторяемость результатов (получается больше чем 0,1 атм давления, а надо меньше). Пришлось опрашивать АЦП в цикле, делать множество замеров и находить среднее значение. Со средним все отлично, можно мерить даже с точностью в сотые доли атм.
В чем причина нестабильности? Что можно сделать, чтобы опрашивать датчик один раз, а не в цикле и получать стабильный результат? Заранее спасибо.
Сообщение отредактировал Antarius - Jan 8 2008, 09:41
|
|
|
|
|
 |
Ответов
|
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, 12:13
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата(Antarius @ Jan 16 2008, 11:29)  Спасибо! Попробую. Правда никогда не сталкивался с режимом Sleep. Как я понимаю, это режим пониженного энергопотребления. Угу, совсем пониженного  Ядро останавливается Цитата Но программа все равно выполняется, правильно? Нет Цитата И опрос ацп мне вести в этом режиме? Да Цитата А как потом вывести контроллер из этого режима, прерыванием от таймера, запущенного перед циклом опросов? Прерыванием от АЦП по окончанию преобразования
|
|
|
|
Сообщений в этой теме
Antarius АЦП в PIC 16F876A Jan 8 2008, 09:37 Tanya Цитата(Antarius @ Jan 8 2008, 12:37) Нужн... Jan 8 2008, 10:09 Antarius Да нету никакой схемы, собирается на коленке
Дат... Jan 8 2008, 10:24  Tanya Цитата(Antarius @ Jan 8 2008, 13:24) Да н... Jan 8 2008, 10:48   Antarius Ну не разрабатывал я схему.
Приходит идея - ищетс... Jan 8 2008, 11:30  K_AV Цитата(Antarius @ Jan 8 2008, 12:24) Поэт... Jan 8 2008, 11:35   Antarius О, спасибо, эту табличку я почему-то даже и не смо... Jan 8 2008, 12:11    Tanya Цитата(Antarius @ Jan 8 2008, 15:11) О, с... Jan 8 2008, 12:22    Энтомолог Цитата(Antarius @ Jan 8 2008, 15:11) О, с... Jan 10 2008, 15:53     K_AV Цитата(Энтомолог @ Jan 10 2008, 17:53) Я ... Jan 10 2008, 20:11      Antarius Спасибо помогающим!
По поводу напряжений все ... Jan 11 2008, 08:03       Tanya Цитата(Antarius @ Jan 11 2008, 11:03) Спа... Jan 11 2008, 08:43       Марк_Я Цитата(Antarius @ Jan 11 2008, 11:03) Что... Jan 11 2008, 18:13        Antarius Цитата(Марк_Я @ Jan 11 2008, 21:13) Если ... Jan 11 2008, 19:43 volodya Для получения +-5(+-15) двыхполярных можно DC/DC к... Jan 9 2008, 06:14 amw Цитата(Antarius @ Jan 8 2008, 11:37) Поче... Jan 10 2008, 15:34 Марк_Я Попробую и я помочь автору топика. Хочу ему... Jan 11 2008, 06:16 Энтомолог Хочу добавить, на резисторы, которыми вы получаете... Jan 11 2008, 12:26 Antarius Извините чайника, а между какие выводами конденсат... Jan 11 2008, 17:40 Энтомолог Цитата(Antarius @ Jan 11 2008, 20:40) меж... Jan 11 2008, 20:30   Tanya Цитата(Antarius @ Jan 16 2008, 11:29) Спа... Jan 16 2008, 08:43    dac еще пара моментов
вы в курсе что в этом диапазоне... Jan 16 2008, 10:09
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|