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

 
 
> АЦП в PIC 16F876A, Нестабильные результаты
Antarius
сообщение Jan 8 2008, 09:37
Сообщение #1


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

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Tanya
сообщение Jan 8 2008, 10:09
Сообщение #2


Гуру
******

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



Цитата(Antarius @ Jan 8 2008, 12:37) *
Нужно оцифровать значения датчика давления MPX 4115A с помощью АЦП в PIC16F876A.


Интересующий диапазон давления датчика соответствует напряжению на его выходе от 3,785 до 4,205 вольт. Поэтому на АЦП контроллера я подвел два напряжения минимум - 3,785 и максимум 4,205В. Чтобы весь интересующий меня диапазон уложился в 1024 отсчета АЦП. Напряжения задал многооборотными переменными резисторами. Напряжения стабильны и со временем не меняются.

Вот этот кусок текста непонятен. Может схему лучше бы прикрепить? Только не в .bmp
Go to the top of the page
 
+Quote Post
Antarius
сообщение Jan 8 2008, 10:24
Сообщение #3


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

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



Да нету никакой схемы, собирается на коленке smile.gif

Датчик давления измеряет давление от 0 до 120 кпа, что соответствует напряжению на его выходе от 0 до 5 вольт. Я измеряю давление атмосферы, которое изменяется примерно от 90 до 105 кпа, что есть примерно 3,785 - 4,205 В на выходе датчика.
Поэтому если я просто буду оцифровывать с помощью АЦП диапазон 0 - Vdd (+5В), интересующее меня давление будет слабо меняться на выходе АЦП.
Поэтому с помощью регистра ADCON1 я переключаю АЦП в контроллере на работу с напряжениями Vref- и Vref+, вместо 0 - Vdd (см. стр. 128 англ. даташита на PIC 16F876A)
Подаю на Vref- (RA.2) +3.785В, а на Vref+ (RA.3) + 4.205 В. И измеряю уже относительно этих напряжений.

Ответ АЦП не стабилен, хотя напряжение с датчика стабильно (< +/- 0,001В).
Почему?
Go to the top of the page
 
+Quote Post
K_AV
сообщение Jan 8 2008, 11:35
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 492
Регистрация: 19-08-06
Пользователь №: 19 667



Цитата(Antarius @ Jan 8 2008, 12:24) *
Поэтому с помощью регистра ADCON1 я переключаю АЦП в контроллере на работу с напряжениями Vref- и Vref+, вместо 0 - Vdd (см. стр. 128 англ. даташита на PIC 16F876A)
Подаю на Vref- (RA.2) +3.785В, а на Vref+ (RA.3) + 4.205 В. И измеряю уже относительно этих напряжений.
Возьмите даташит на свой микроконтроллер и уточните, какие минимальное и максимальное значения напряжений можно использовать для встроенного АЦП в качестве внешних опорных. Это в табл.17-14 wink.gif
А схемы рисовать нужно. Как минимум - перед тем, как задавать вопросы. Иначе вас не поймут (даже если захотят пытаться понимать без схемы).
Go to the top of the page
 
+Quote Post
Antarius
сообщение Jan 8 2008, 12:11
Сообщение #5


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

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



О, спасибо, эту табличку я почему-то даже и не смотрел.
Значит, проблема в том, что у меня не соблюдается Max Vref - = Vref+ - 2.0V.
Спасибо большое!

А кто подскажет как получить -5 В из +5В wink.gif Ой, уже оффтопик.
Go to the top of the page
 
+Quote Post
Энтомолог
сообщение Jan 10 2008, 15:53
Сообщение #6


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

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



Цитата(Antarius @ Jan 8 2008, 15:11) *
О, спасибо, эту табличку я почему-то даже и не смотрел.
Значит, проблема в том, что у меня не соблюдается Max Vref - = Vref+ - 2.0V.


Я думаю проблема не в этом. Учитывая что превышение у Вас небольшое, это немного влияет на линейность работы АЦП, но не более. Проблема скорее всего в питании, возможно есть смысл увеличить емкости по питанию.
Go to the top of the page
 
+Quote Post
K_AV
сообщение Jan 10 2008, 20:11
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 492
Регистрация: 19-08-06
Пользователь №: 19 667



Цитата(Энтомолог @ Jan 10 2008, 17:53) *
Я думаю проблема не в этом. Учитывая что превышение у Вас небольшое, это немного влияет на линейность работы АЦП, но не более. Проблема скорее всего в питании, возможно есть смысл увеличить емкости по питанию.
Я в своем посте не имел в виду, что проблема нестабильных показаний - в величинах опорных напряжений. Просто указал, что заданы они неверно. Прошу прощения - не акцентировал внимания на этой мысли. Но не сказать, что "превышение небольшое": разница между верхней и нижней опорами около 300 мВ при требуемом "не менее 2000 мВ".
А болтанка АЦП - да, от нее избавиться трудно. И вопрос не только в стабильности питания. Там могут и просто посторонние пульсации попадать на вход АЦП.
Go to the top of the page
 
+Quote Post
Antarius
сообщение Jan 11 2008, 08:03
Сообщение #8


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

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



Спасибо помогающим!

По поводу напряжений все понял. Буду переделывать на инструментальном усилителе, когда найду подходящий по питанию в продаже.

Что касается времени заряда конденсатора, я опрашиваю датчик в цикле, между опросами задержка 20 мс. Этого достаточно для заряда? Пробовал 50 мс, разницы не заметил, но утверждать на 100% не буду.
Go to the top of the page
 
+Quote Post
Марк_Я
сообщение Jan 11 2008, 18:13
Сообщение #9


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

Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656



Цитата(Antarius @ Jan 11 2008, 11:03) *
Что касается времени заряда конденсатора, я опрашиваю датчик в цикле, между опросами задержка 20 мс. Этого достаточно для заряда? Пробовал 50 мс, разницы не заметил, но утверждать на 100% не буду.


Если Вы не трогаете входной коммутатор, то и 20 мкс достаточно для заряда УВХ...
Go to the top of the page
 
+Quote Post
Antarius
сообщение Jan 11 2008, 19:43
Сообщение #10


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

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



Цитата(Марк_Я @ Jan 11 2008, 21:13) *
Если Вы не трогаете входной коммутатор, то и 20 мкс достаточно для заряда УВХ...

Входной коммутатор - это регистр ADCON?
Я его один раз перед циклом опросов трогаю, но потом жду 100 мс.

Сообщение отредактировал Antarius - Jan 11 2008, 19:45
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Antarius   АЦП в PIC 16F876A   Jan 8 2008, 09:37
|- - Tanya   Цитата(Antarius @ Jan 8 2008, 13:24) Да н...   Jan 8 2008, 10:48
||- - Antarius   Ну не разрабатывал я схему. Приходит идея - ищетс...   Jan 8 2008, 11:30
|- - Tanya   Цитата(Antarius @ Jan 8 2008, 15:11) О, с...   Jan 8 2008, 12:22
|- - Tanya   Цитата(Antarius @ Jan 11 2008, 11:03) Спа...   Jan 11 2008, 08: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
- - XVR   Добавлю свои 5 коп. автору темы: ОЧЕНЬ рекомендуе...   Jan 15 2008, 14:48
- - dac   Цитата(XVR @ Jan 15 2008, 18:48) ОЧЕНЬ ре...   Jan 16 2008, 07:11
- - Antarius   Спасибо! Попробую. Правда никогда не сталкивал...   Jan 16 2008, 08:29
- - Tanya   Цитата(Antarius @ Jan 16 2008, 11:29) Спа...   Jan 16 2008, 08:43
|- - dac   еще пара моментов вы в курсе что в этом диапазоне...   Jan 16 2008, 10:09
- - XVR   Цитата(Antarius @ Jan 16 2008, 11:29) Спа...   Jan 16 2008, 12:13


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

 


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


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