Перейти к содержанию
    

Подключение датчика перемещения к STM32F100

Здравствуйте.

 

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

с последующей некой обработкой и передачей результатов по RS232. Предполагается использовать для этой цели один из каналов АЦП

STM32F100 (48-выводной корпус). Линейность, разрешающая способность, точность - всё устраивает, но...несколько смущает отсутствие

отдельных выводов опорного напряжения АЦП. Безусловно на вход аналогового питания контроллера будет подано опорное напряжение

с ИОН, будут стоять фильтры и т.п., но датчик также должен питаться от опорного напряжения АЦП (т.е. с аналогового входа контроллера)

для обеспечения логометрической схемы измерения.

 

Провод датчика имеет длину порядка 1 метра и само устройство (питание изолированное) будет работать в установке с мощными

шаговыми двигателями (правда уровень наводок на провод датчика оценить пока сложно). В описании на STM32F100 сказано, что от выводов

аналогового питания контроллера так же питаются схема сброса, PLL и т.п.

 

Корректно ли будет выводы контроллера (VDAA и GND) подключать к метровому проводнику датчика? Есть ли у кого-нибудь опыт

подобного подключения? Или лучше всё-таки использовать отдельную микросхему АЦП со входом опорного напряжения, без развязки,

но с корректно разведёнными питанием АЦП, датчика и контроллера?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

смущает отсутствие отдельных выводов опорного напряжения АЦП

Аналоговое питание может быть опорой АЦП? Вот и чудненько, этого достаточно.

 

Безусловно на вход аналогового питания контроллера будет подано опорное напряжение

с ИОН, будут стоять фильтры и т.п.,

Это не вредно, но большой необходимости в этих прибамбасах нет.

 

но датчик также должен питаться от опорного напряжения АЦП (т.е. с аналогового входа контроллера)

для обеспечения логометрической схемы измерения.

Опорой АЦП является аналоговое питание? Вот к нему и подключайте свой потенциометр, и спите спокойно.

 

Корректно ли будет выводы контроллера (VDAA и GND) подключать к метровому проводнику датчика?

Подключайте через ферритовую бусину или дроссель, или то и другое. Навешайте конденсаторов с обеих сторон. Так будет вполне корректно.

 

Можно даже резистор включить вместо бусины. Однако в этом случае желательно иметь дрейф резистора точно такой же, как дрейф потенциометра. А если неохота заморачиваться - то бусину, или дроссель с бусиной.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Безусловно на вход аналогового питания контроллера будет подано опорное напряжение с ИОН,
Обратите внимание, что это напряжение не должно отличаться от напряжения цифрового питания более чем на 50 мВ.

Соглашусь с =AK=, что в вашем случае наилучшее решение - запитать потенциометр от Vdda, а уже его - по штатной схеме от цифрового питания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Корректно ли будет выводы контроллера (VDAA и GND) подключать к метровому проводнику датчика?

Только общий. Остальные два провода являются сигнальными и, если не хочется неприятных сюрпризов, входы схемы должны быть защищены от помех, приходящих с них, ограничителями. Измерять тоже потребуется дважды, а затем вычислять положение ползунка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Большое спасибо за ответы.

 

В соответствие с рекомендациями планирую подключить так:

 

post-31700-1403756768_thumb.jpg

 

Что можно добавить в схему?

 

Обратите внимание, что это напряжение не должно отличаться от напряжения цифрового питания более чем на 50 мВ.

 

 

C ИОН, например, REF3033 это условие в данном случае выполняется:

 

post-31700-1403758849_thumb.jpg

 

Т.е. при сопротивлении датчика перемещения 3 кОм ток потребления с ИОН, с учётом потребления по VDDA, будет около 1 мА.

 

post-31700-1403758824_thumb.jpg

Изменено пользователем _DC

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А можно пояснить необходимость L на линии GND? Ведь помеха будет менять уровень земли, и это, вроде, зло.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А можно пояснить необходимость L на линии GND? Ведь помеха будет менять уровень земли, и это, вроде, зло.

 

Если помеха будет с постоянной , то бусинка на GND - нехорошо, т.к. сместится уровень входного сигнала.

 

Но если помеха носит разовый характер, то гораздо важнее, мне кажется, оградить "землю" контроллера от

всплесков напряжения помехи, приходящей по проводу. А считывать всё равно придётся, как советовал _Plain_

два или даже три раза, и методом выборки из трёх помеху исключать. К тому же, как я уже писал, оценить степень

воздействия помехи на провод пока не представляется возможным...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если помеха будет с постоянной , то бусинка на GND - нехорошо, т.к. сместится уровень входного сигнала.

"Неоднозначная" земля что для постоянной, что для однократной помехи плохо не столько в метрологическом плане, сколько в плане выживания.

Например, на вход может попасть уровень значительно ниже земли, а для некоторых это грозит защелкиванием в КЗ по питанию (особенно STM32).

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

Есть классическая статья на эту тему (Алексей Кузнецов. "Помехоустойчивые устройства").

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А почему-бы не задействовать второй канал АЦП? Тогда можно питать измерительный резистор от VDD через резистор и измерять напряжение после этого резистора и с движка. Не надо вообще трогать AVDD, тем более, что от разводки еще много зависить будет и на длинную неправильно разведенную AVDD помеха наведется.

Кстати, вы вообще не озвучили точность и скорость измерений, поэтому вариантов много может быть...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если помеха будет с постоянной , то бусинка на GND - нехорошо, т.к. сместится уровень входного сигнала.

На какую величину, можете прикинуть приблизительно?

Но если помеха носит разовый характер, то гораздо важнее, мне кажется, оградить "землю" контроллера от

всплесков напряжения помехи, приходящей по проводу. А считывать всё равно придётся, как советовал _Plain_

два или даже три раза, и методом выборки из трёх помеху исключать. К тому же, как я уже писал, оценить степень

воздействия помехи на провод пока не представляется возможным...

"Всплески напряжения" всегда бывают относительно какого-то потенциала, взятого за точку отсчёта. Относительно чего на "земле" контроллера ожидаются всплески?

Мне кажется разумным в случае, если "оценить степень воздействия помехи на провод пока не представляется возможным", не прибегать ни к какому колдовству и мерам, смысла которых не понимаешь. "Метод выборки из трёх" и бусинки "на всякий случай" - чистое шаманство.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Неоднозначная" земля что для постоянной, что для однократной помехи плохо не столько в метрологическом плане, сколько в плане выживания.

Например, на вход может попасть уровень значительно ниже земли, а для некоторых это грозит защелкиванием в КЗ по питанию (особенно STM32).

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

Есть классическая статья на эту тему (Алексей Кузнецов. "Помехоустойчивые устройства").

 

Если бы у меня бусинка стояла между "землёй" микросхемы контроллера и остальной частью схемы, то было бы так, как вы написали.

Но она же у меня подключается только между "землёй" и разъёмом датчика, т.е. работает только для питания потенциометра, а вся остальная часть "земли"

схемы (включая конденсатор фильтра по входу АЦП) соединяется на общий полигон с контроллером.

К сожалению, пока не понимаю, какие она может создать проблемы на "земле" контроллера, кроме изменения уровня входного сигнала...

 

 

 

На какую величину, можете прикинуть приблизительно?

 

"Всплески напряжения" всегда бывают относительно какого-то потенциала, взятого за точку отсчёта. Относительно чего на "земле" контроллера ожидаются всплески?

 

Установка с двигателями включена в розетку. В ту же розетку включается блок питания этого измерителя. С учётом паразитных ёмкостей трансформаторов модулей питания, провода датчика

можно рассматривать как своего рода антенну.

 

Мне кажется разумным в случае, если "оценить степень воздействия помехи на провод пока не представляется возможным", не прибегать ни к какому колдовству и мерам, смысла которых не понимаешь. "Метод выборки из трёх" и бусинки "на всякий случай" - чистое шаманство.

 

Согласен - это шаманство и колдовство... Но я, по своему незнанию, именно с вопросом "как лучше подключить?" и обратился к знающим людям...

Предлагаете подключить без бусинок и конденсаторов и оценить степень воздействия помехи?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К сожалению, пока не понимаю, какие она может создать проблемы на "земле" контроллера, кроме изменения уровня входного сигнала...

Разговор не про землю контроллера. Допустим возникла некая помеха так, что на левом контакте L появилось -X Вольт относительно GND. С резистивного делителя на вход АЦП попадает уровень, который ниже GND. Разве нет? Это раз.

Контур "GND"-"нижний L"-"провода к датчику"-"датчик"-"провода от датчика"-"верхний L"-"С на GND" образуют LC-контур со своими резонансной частотой и добротностью. Сегодня в качестве датчика у Вас резистор и добротность никакая, завтра там может оказаться что-то низкоомное (на резонансной частоте) и все дело начнет "звенеть" (L и C сейчас делают хорошо, паразитные параметры маленькие, поэтому добротность можно получить высокую).

Я бы убрал L с земли. L на питании заменил на низкоомный резистор. Конструктивно организовал трассы к датчику с минимальной площадью контуров.

В следующей иттерации боролся с тем, что появится (если появится).

Кста, L и C ничего не делают с энергией помехи. Да, форма меняется, скорость изменения напряжения уменьшается, но саму помеху нужно либо "сливать", либо обращать в тепло, либо "душить" в месте возникновения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кста, L и C ничего не делают с энергией помехи.

Ферритовая бусина(bead)- это малая индуктивность с большими потерями, поэтому энергия помехи в значительной степени превращается в тепло, не путайте человека.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разговор не про землю контроллера. Допустим возникла некая помеха так, что на левом контакте L появилось -X Вольт относительно GND. С резистивного делителя на вход АЦП попадает уровень, который ниже GND. Разве нет? Это раз.

 

Согласен. Остаётся только рассчитывать на то, что все три провода датчика идут в одном шнуре и вместе заходят внутрь датчика, т.е. на отдельный провод датчика напряжение попасть не должно.

 

Контур "GND"-"нижний L"-"провода к датчику"-"датчик"-"провода от датчика"-"верхний L"-"С на GND" образуют LC-контур со своими резонансной частотой и добротностью. Сегодня в качестве датчика у Вас резистор и добротность никакая, завтра там может оказаться что-то низкоомное (на резонансной частоте) и все дело начнет "звенеть" (L и C сейчас делают хорошо, паразитные параметры маленькие, поэтому добротность можно получить высокую).

Я бы убрал L с земли. L на питании заменил на низкоомный резистор. Конструктивно организовал трассы к датчику с минимальной площадью контуров.

В следующей иттерации боролся с тем, что появится (если появится).

Кста, L и C ничего не делают с энергией помехи. Да, форма меняется, скорость изменения напряжения уменьшается, но саму помеху нужно либо "сливать", либо обращать в тепло, либо "душить" в месте возникновения.

 

Бусинка - это не совсем дроссель, вернее это дроссель, но со специальным сердечником с большими потерями. Этот сердечник и рассеивает энергию помехи в виде тепла. Можно считать, что после определённой частоты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ферритовая бусина(bead)- это малая индуктивность с большими потерями, поэтому энергия помехи в значительной степени превращается в тепло, не путайте человека.

Если уж быть совсем точным, то я писал что L и C не влияют. Насчет бусин отмолчусь, ибо в цепях защиты НЧ сигналов их не видел. Удобный механизм создать L на ножке транзистора/диода - да, уменьшить излучения на сотнях мегагерц - да, но как преобразователь внешней помехи в тепло... не убедительно. Греться должны резисторы. Но даже при Вашей абсолютной правоте, что делать со смещением земли? Бусина от этого не спасает.

Я бы в случае, если простая схема не будет работать посоветовал еще 2 варианта:

1. Вероятно нагрузками будет рулить тот же контроллер. Можно синхронизировать управление нарузкой и момент выборки АЦП (когда переходный процесс устаканится).

2. Запитать датчик повышенным напряжением. Сигнал с датчика подавать на МК через дополнительный резистивный делитель и схемы защиты (конденсоторы, стабилитроны и т.п.)

 

Вообще, вопрос защиты от помех лучше обсуждать, когда известен характер и уровень помехи. Все остальное шаманство: решение может хорошо защищать от одних помех, а другие помехи могут сделать его нерабочим (вплоть до всего устройства). Некоторые помехи могут вообще препятствовать нормальной работе схемы, тут бусинами не обойдешься, и нужен матан, те же усреднения:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...