|
2 страниц
1 2 >
|
 |
Ответов
(1 - 16)
|
Oct 24 2016, 12:24
|
Участник

Группа: Участник
Сообщений: 69
Регистрация: 23-10-08
Пользователь №: 41 128

|
Цитата(scifi @ Oct 24 2016, 15:02)  Я не сталкивался, но сходу проверил бы несколько вещей: - не превышена ли тактовая частота АЦП? - процедуру самокалибровки делать не забываете? - нет ли шума в цепи питания Vdda? Как задать частоту АЦП не нашел, используются настройки по умолчанию. Самокалибровку делаю. Vdda чистый. Проблема проявляется только при напряжении на входе 0.64 В, грубо говоря, на одном сравнительно узком участке диапазона входного напряжения.
|
|
|
|
|
Oct 24 2016, 12:59
|
Участник

Группа: Участник
Сообщений: 69
Регистрация: 23-10-08
Пользователь №: 41 128

|
Цитата(ViKo @ Oct 24 2016, 15:44)  Осциллограмму входного сигнала - в студию! Сигнал подается прямо на вход АЦП от калибратора Fluke 715. Осциллограмма представляет собой прямую линию, уровень шумов ~20 мВ. Сигнал медленно изменяется с помощью калибратора. Цитата(Сергей Борщ @ Oct 24 2016, 15:50)  Может вход не настроен на аналоговый режим? В этом случае как раз около половины питания во входных цепях должен появляться сквозной ток, возможно он как-то влияет. Код /* Configure P as analog input -------------------------*/ GPIO_StructInit(&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3| GPIO_Pin_4| GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_StructInit(&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_0 | GPIO_Pin_1); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_StructInit(&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3| GPIO_Pin_4| GPIO_Pin_5); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; GPIO_Init(GPIOC, &GPIO_InitStructure); Все пины настроены как аналоговые входы.
|
|
|
|
|
Oct 24 2016, 13:18
|
Участник

Группа: Участник
Сообщений: 69
Регистрация: 23-10-08
Пользователь №: 41 128

|
Цитата(AHTOXA @ Oct 24 2016, 16:04)  Я голосую за превышение частоты тактирования АЦП. Частота равна частоте APB2, делённой на прескалер АЦП. Поищите у себя что-то типа такого: Так оно и есть. После деления частоты проблема пропала. Спасибо! Цитата(rudy_b @ Oct 24 2016, 16:11)  А сам АЦП на нужную разрядность настроили? Не нашел такой настройки.
|
|
|
|
|
Oct 27 2016, 09:19
|
Участник

Группа: Участник
Сообщений: 68
Регистрация: 24-10-10
Из: Minsk
Пользователь №: 60 382

|
Всем день добрый! Спрошу тут: Камень: STM32F103RCT6. По входу АЦП стоит резистор 10кОм на землю и ничего больше не подключено. Значения АЦП "скачут" в диапазоне 0...0х10 бит. При подаче на вход напряжения, меряет корректно. Собственно вопрос: Почему нет 0, при отсутствии сигнала. От настроек может быть?
|
|
|
|
|
Oct 27 2016, 09:51
|
Профессионал
    
Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882

|
Цитата(eu1cc @ Oct 27 2016, 14:19)  Камень: STM32F103RCT6. По входу АЦП стоит резистор 10кОм на землю и ничего больше не подключено. Значения АЦП "скачут" в диапазоне 0...0х10 бит. При подаче на вход напряжения, меряет корректно. Собственно вопрос: Почему нет 0, при отсутствии сигнала. От настроек может быть? Правильно заданный вопрос содержит половину ответа. А звучать правильный будет так: Цитата Камень: STM32F103RCT6. По входу АЦП стоит АНТЕННА с резистором 10кОм на землю и ничего больше не подключено. Значения АЦП "скачут" в диапазоне 0...0х10 бит..... Вобщем, смотрите разводку.
|
|
|
|
|
Oct 29 2016, 12:45
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763

|
Блин, нежные они какие-то, эти F103 - отлаживался на макете, коснулся пинцетом одного неподключенного аналогового входа в разьеме (оттуда он через 1к и 0.1мкф в землю идет на проц), и видимо от статики при касании (хотя, искры вроде небыло).- все перезапустилось, и при этом у проца АЦП вышибло - вся программа работает, только с АЦП все нули читаются. Перепаял проц - все заработало. На всякий случай, повесил 3.6в зенеры на все, что за пределы платы выходит. Ни с одним другим СТМ32, ЛПЦ или ПИК - никогда такого небыло! Да еще чтобы через RC-цепочку!
|
|
|
|
|
Oct 31 2016, 08:45
|
Знающий
   
Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725

|
Цитата(Allregia @ Oct 29 2016, 14:45)  Блин, нежные они какие-то, эти F103 - отлаживался на макете, коснулся пинцетом одного неподключенного аналогового входа в разьеме (оттуда он через 1к и 0.1мкф в землю идет на проц), и видимо от статики при касании (хотя, искры вроде небыло).- все перезапустилось, и при этом у проца АЦП вышибло - вся программа работает, только с АЦП все нули читаются. Перепаял проц - все заработало. На всякий случай, повесил 3.6в зенеры на все, что за пределы платы выходит. Ни с одним другим СТМ32, ЛПЦ или ПИК - никогда такого небыло! Да еще чтобы через RC-цепочку! Зима на носу, воздух сухой, свитер напялен. Потерся спиной о кресло - 10kV набрал. Zener на аналоговом входе - не очень удачная затея, если источник относительно высокоомный: Zener'ы "текут" довольно сильно. Надо ставить TVS, которые имеют на порядок меньшие токи обратного смещения.
|
|
|
|
|
Nov 1 2016, 02:58
|
Местный
  
Группа: Свой
Сообщений: 206
Регистрация: 11-07-12
Из: Новосибирск
Пользователь №: 72 716

|
Я ставлю TVS до резисторов делителя, чтобы: 1) возможные утечки и паразитная ёмкость не влияли на АЦП. 2) напряжение недодавленного импульса падало на делителе.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|