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

 
 
 
Reply to this topicStart new topic
> Проблемы с АЦП STM32F107
Mustik
сообщение Jul 30 2012, 11:23
Сообщение #1





Группа: Участник
Сообщений: 10
Регистрация: 1-12-10
Пользователь №: 61 322



Использую встраиваемый модуль TE-STM32F107 от терраэлектроники. Опорное напряжение заведено 3.3В.
Использую канал 10 АЦП1 (ножка PC0) как регулярный канал. PC0 настраиваю как AIN. Нога висит в воздухе - выходит на разъем. Проект взял из C:\Program Files (x86)\IAR Systems\Embedded Workbench 5.4\arm\examples\ST\STM32F10x\STM32F10xFWLib\FWLib\examples\ADC\ADC1_DMA\
В проекте заменил аналоговый вход с PC4 на PC0, т.к. PC4 выходит на ethernet.
До начала измерения на ножке висит 0, только начинаю измерять - сразу 1.6 ... 1.65 В
Пользуюсь IAR 5.40
Запуск осуществляю с помощью библиотечной функции
Код
ADC_SoftwareStartConvCmd(ADC1, ENABLE);

Пробовал перенастраивать на другие свободные порты, такой же косяк.
Что я не учел?
Go to the top of the page
 
+Quote Post
редактор
сообщение Jul 30 2012, 11:39
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 9-06-07
Пользователь №: 28 315



Возможно при конфигурации вывода не отключены притяжки в + и в -. Уж больно результат близок к половине диапазона.


--------------------
Хорошую систему делают из стандартных блоков нестандартно мыслящие инженеры.
Go to the top of the page
 
+Quote Post
scifi
сообщение Jul 30 2012, 11:56
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Mustik @ Jul 30 2012, 15:23) *
До начала измерения на ножке висит 0

В каком смысле висит? В воздухе болтается?
Go to the top of the page
 
+Quote Post
Mustik
сообщение Jul 30 2012, 12:29
Сообщение #4





Группа: Участник
Сообщений: 10
Регистрация: 1-12-10
Пользователь №: 61 322



Цитата(scifi @ Jul 30 2012, 14:56) *
В каком смысле висит? В воздухе болтается?

0 Вольт

Цитата(редактор @ Jul 30 2012, 14:39) *
Возможно при конфигурации вывода не отключены притяжки в + и в -. Уж больно результат близок к половине диапазона.

По-подробнее, пожалуйста.
Порт настраиваю как AIN
Код
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOC, &GPIO_InitStructure);


Вообщем, разобрался.
Причина крылась в том, что, если ничего ко входу АЦП не подключено, то на выводе будет примерно 1.6В
Подключил источник питания и погонял от 0 до 3.3В. Все корректно работает.
Всем спасибо за помощь.
Go to the top of the page
 
+Quote Post
scifi
сообщение Jul 30 2012, 12:42
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Mustik @ Jul 30 2012, 16:29) *
Причина крылась в том, что, если ничего ко входу АЦП не подключено, то на выводе будет примерно 1.6В

То есть действительно в воздухе висит. Я как бы на это и намекал: напряжение цепи, весящей в воздухе, плавает. Для того чтобы измерить напряжение цепи, висящей в воздухе, нужен вольтметр с входным сопротивлением порядка гигаом. У вас, видимо, не такой был, так что 0 вольт - это была фикция.

Update:
Да, забыл добавить: при выборке АЦП коммутирует на вход ёмкость выборки. Если вход плавает, то на нём появится потенциал с этой ёмкости (разбавленный ёмкостью входа, конечно). Если АЦП сканирует несколько входов, то этот потенциал будет перенесён с предыдущего просканированного входа. Ну а во влажную погоду утечки по плате сделают всё это ещё более интересным. Как-то так.
Go to the top of the page
 
+Quote Post
Mustik
сообщение Jul 31 2012, 07:16
Сообщение #6





Группа: Участник
Сообщений: 10
Регистрация: 1-12-10
Пользователь №: 61 322



Цитата(scifi @ Jul 30 2012, 15:42) *
То есть действительно в воздухе висит. Я как бы на это и намекал: напряжение цепи, весящей в воздухе, плавает. Для того чтобы измерить напряжение цепи, висящей в воздухе, нужен вольтметр с входным сопротивлением порядка гигаом. У вас, видимо, не такой был, так что 0 вольт - это была фикция.

Update:
Да, забыл добавить: при выборке АЦП коммутирует на вход ёмкость выборки. Если вход плавает, то на нём появится потенциал с этой ёмкости (разбавленный ёмкостью входа, конечно). Если АЦП сканирует несколько входов, то этот потенциал будет перенесён с предыдущего просканированного входа. Ну а во влажную погоду утечки по плате сделают всё это ещё более интересным. Как-то так.

Спасибо за помощь.
Go to the top of the page
 
+Quote Post

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

 


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


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