Jump to content

    
Sign in to follow this  
Сёха

Не могу измерить ноль STM32F103RBT6

Recommended Posts

Здравствуйте!,

есть 12 канальный контроллер, который управляет активными нагрузками вкл/выкл, открытый сток на smartFET BTS141. Для контроля за состоянием выходов (утечки, к.з. в линии) обратная связь с снимается с выхода через делитель 27k/3k (1:10), коммутируется аналоговым коммутатором MUX36S16IDWR на вход 12 битного АЦП STM32F103RBT6...

 

 

Clip2net_210402231130.thumb.png.1381e72124bc246ef08a5f4cea80d316.png

Clip2net_210402231219.thumb.png.57e1be86a985d286ea920f4288330fcd.png

Clip2net_210402231313.thumb.png.db444bf0f42bec601d1225b928b7c34e.png

 

Когда транзистор закрыт, на стоке примерно 11В, обратная связь около 1,2В и АЦП довольно точно измеряет это значение. Но когда транзистор открывается АЦП выдаёт около 150мВ... что странно, т.к. сопротивление канала транзистора около 28мОм!

 

Всё бы ничего, но я не могу ничем измерить это напряжение! Мой мультиметр имеет входное сопротивление 10МОм и на пределе 200mV показывает ноль!!! При этом АЦП выводит результат 150мВ! Даже осциллограф со щупом 1:10 не в состоянии увидеть этот потенциал. Если учесть, что АЦП меряет его с выхода делителя обратной связи, то на его входе должно быть ~1,5В, т.к. делитель 1:10, но и мультиметр и осциллограф показывают ноль.

 

Потеряв всякую надежду на здравое решение я перемкнул вход АЦП пинцетом на землю... и о чудо, измерения показывают почти идеальный ноль!

 

Я не могу сообразить в чём проблема! Силовая земля отделена от цифровой и объединяются в одной точке около разъёма питания. Подумал, что ошибка с землёй, но как бы я не экспериментировал 150мВ со входа АЦП не уходит и не один прибор их не видит!

 

Буду рад любым версиям происходящего!

 

BTS141.pdf MUX36S16IDWR.pdf

Edited by Сёха

Share this post


Link to post
Share on other sites

Не многовато ли выходное сопротивление делителя как источника сигнала для схемы выборки-хранения АЦП контроллера? Ещё и коммутатор добавляет...

Edited by Obam

Share this post


Link to post
Share on other sites
7 часов назад, Сёха сказал:

Я не могу сообразить в чём проблема! Силовая земля отделена от цифровой и объединяются в одной точке около разъёма питания. Подумал, что ошибка с землёй, но как бы я не экспериментировал 150мВ со входа АЦП не уходит и не один прибор их не видит!

А почему вы решили что АЦП со всей схемой идеальный измеритель?

Надо просто откалибровать его.

А еще есть мультиплексор который добавляет ошибку.

Share this post


Link to post
Share on other sites
6 часов назад, Obam сказал:

Не многовато ли выходное сопротивление делителя как источника сигнала

Там меньше 3 кОм выходное сопротивление делителя, 125 Ом мультиплексор и 10 кОм на выходе мультиплексора. Для каких-то времен выборки этого достаточно, для каких-то уже много.

image.thumb.png.46a89c1561ea49136abc9ee7d86a01dc.png

 

9 часов назад, Сёха сказал:

Я не могу сообразить в чём проблема!

Какое время выборки для этого канала установлено в регистре ADC_SMPRx для этого канала? 

Share this post


Link to post
Share on other sites
38 минут назад, adnega сказал:

Я на вход АЦП для сигналов с большим выходным сопротивлением ставлю керамику 100нФ на землю.

Тоже есть свои подводные камни: при опросе нескольких каналов с разными уровнями емкость УВХ (sample capacitor) переносит заряд между этим конденсатором и другим каналом, в итоге в этом канале все равно появляется смещение, зависящее от напряжения на другом канале. https://www.embeddedrelated.com/showarticle/110.php

Share this post


Link to post
Share on other sites

ObamHardEgorСергей Борщadnega, спасибо вам большое за ответы!

 

После долгих дебатов программисты заявили, что у них на регистрами пара уровней абстракций и они вообще не при делах. Придётся самому писать тестовый код, а на это сейчас времени нет.

Share this post


Link to post
Share on other sites
10 часов назад, Сёха сказал:

Придётся самому писать тестовый код, а на это сейчас времени нет.

Уменьшите сопротивление делителя на порядок в паре каналов. Если в этих каналах ситуация сильно улучшится - заставьте программистов увеличить время выборки. Их абстракции обязаны позволять это сделать. В крайнем случае можно записать пару регистров и напрямую через указатель в обход абстракций.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this