Измерение тока до 2 А с высоким разрешением

Я пытаюсь измерить ток, который будет протекать в двигателе (ток не должен превышать 2 ампер), и я хотел бы иметь высокое разрешение для этого измерения. Я надеялся использовать ACS712 , но там указано, что точность составляет 185 мВ/А. Так как ток в моем приложении не превышает 2А, значит 185*2 = 370мВ (верно?)

Я использую STM32F4 с 12-битным АЦП, что означает, что при Vref 3,3 В это приращение каждые 0,8 мВ. Так что в итоге я получу разрешение 463 шага.

Есть ли способ получить более высокое разрешение? Мне не очень нравится идея шунтирующего резистора, возможно, усилитель мог бы помочь, но смогу ли я получить точное измерение? введите описание изображения здесь(iA - это измерение)

Кстати, я пытаюсь заменить его на ACS711, который работает от 3,3 В, но дает разрешение только 110 мВ/А.

Вот соединение Vref+/-введите описание изображения здесь

Если вам нужны измерения хорошего качества, используйте в качестве эталона внутреннее опорное напряжение запрещенной зоны микроконтроллера вместо 3,3 В; шина 3,3 В может иметь погрешность 5-10%, а также шум, перекрывая любое усиление от высококачественного шунтирующего монитора.
Итак, вы говорите, что операционный усилитель + шунтирующий резистор - это путь?
Я ничего не говорил о вашем решении для датчиков, просто вам не следует использовать шину 3,3 В в качестве опорного напряжения на АЦП.
Извините, неправильно понял ваш комментарий. Какой рельс я должен использовать? 3.3 выходит из TL1963 1.5A
Он говорит, что вы не должны использовать какую-либо шину напрямую для опорного напряжения. Если вы хотите использовать опорное напряжение 3,3 В, вы можете использовать шину 3,3 В, но вы должны использовать фильтр нижних частот (конденсатор от опорного контакта к земле и резистор от крышки к 3,3 В). В вашем случае вам нужно не 3,3 В, а что-то ближе к 400 мВ в качестве эталона для АЦП. Вы можете использовать резистивный делитель, чтобы получить более низкое напряжение от 3,3, или использовать более точный эталон ширины запрещенной зоны, встроенный в микроконтроллер.
Добавил схему подключения моего Vref+/-. Поэтому я должен сделать делитель напряжения с фильтром lp, чтобы получить Vref около 500 мВ (чтобы получить хорошее разрешение для моего датчика тока?)
Вы по-прежнему можете использовать эти 3,3 В для питания микроконтроллера, но вам следует использовать опорное напряжение, чтобы определить верхний предел для АЦП. Ваш АЦП уже имеет встроенную ссылку, которую вы можете использовать. Его напряжение намного точнее, что дает более точные измерения. А за счет 2,5В разрешение лучше в вашем случае. Возможно, ваш микроконтроллер допускает внешнее опорное напряжение для своего АЦП, тогда вы можете использовать что-то вроде AD680 с делителем напряжения 5:1, чтобы установить верхнее напряжение для АЦП равным 500 мВ.
Да, это устранит необходимость в усилителе. Изменить: я не вижу в вашем ответе ввода для внешнего опорного напряжения. Нет, запуск микроконтроллера при более низком напряжении — не лучший способ повысить чувствительность АЦП.
STM32F401CEU6 UFQFPN48 не позволяет мне изменить Vref, потому что он подключен к Vdda. Так что операционный усилитель, я думаю
Используемый вами микроконтроллер имеет встроенное опорное напряжение запрещенной зоны, которое вы можете использовать — нет необходимости в операционном усилителе.

Ответы (3)

Большинство микроконтроллеров с АЦП имеют внутреннюю опорную ширину запрещенной зоны с напряжением ~ 1 В (более точные значения и допуски см. в техническом описании; например: серия STM32F415xx имеет опорную ширину запрещенной зоны 1,21 В). Это эффективно увеличивает ваше разрешение до 1253 шагов полной шкалы, щелкая программным переключателем.

Если вы хотите сделать еще лучше, у вас есть несколько вариантов:

  1. Используйте операционный усилитель для усиления выходного сигнала датчика тока.
  2. Используйте внешний АЦП с более высоким разрешением
  3. Используйте внешнее опорное напряжение с более низким напряжением (например, что-то вроде этого ). Обратите внимание, что простой делитель напряжения непосредственно на выводе vref почти никогда не является хорошей идеей.

Ни в одном из этих случаев вам не нужно менять напряжение питания вашего микроконтроллера.

В качестве примечания, я не понимаю вашего отвращения к использованию шунтирующего резистора. Для умеренно малых токов (несколько ампер) это наиболее точный способ измерения тока. Например, указанный вами чип ACS712 имеет точность 1%. Это означает, что вы получаете точность 6,64 бита (~ 100 шагов). Очень легко получить шунтирующие резисторы с точностью 0,5%, что дает точность 7,64 бита (~ 200 шагов). Использование шунта с точностью 0,1% дает точность 9,97 бит (~1000 шагов).

Если вы используете очень маленький шунтирующий резистор с инструментальным усилителем, напряжением нагрузки можно пренебречь. Например, предположим, что у вас есть входной усилитель с коэффициентом усиления 100x (очень выполнимо). Соответствующий шунтирующий резистор для получения 0-1.21Vполной шкалы требует шунтирующего резистора 6.05mOhmsи будет иметь напряжение нагрузки 12.1mV. Для всех интенсивных целей это незначительно. Вы можете уменьшить это еще больше, используя схему усилителя 1000x (также очень выполнимую).

Я не хочу использовать шунт, потому что проще использовать ACS71X. Кстати, эталонное напряжение внутренне привязано к напряжению питания на этой микросхеме. Как называется усилитель в даташите? не смог найти
«Операционный усилитель», сокращение от «операционный усилитель», «ин-усилитель» было опечаткой.
in-amp — это сокращение от «инструментальный усилитель». Это похоже на операционный усилитель, но есть ключевые конструктивные отличия. Примечательно, что он предназначен для обеспечения очень высокого коэффициента усиления для усиления небольшой разницы напряжений между двумя входами при наличии входов с высоким импедансом. Ин-усилители могут быть построены с использованием операционных усилителей, хотя на практике вам нужно действительно хорошее согласование, если вы хотите получить хорошую точность при высоком коэффициенте усиления, поэтому приобретите готовый чип. Я никогда не видел, чтобы датчик Холла описывался как «более простой в использовании», чем шунт. Возможно, меньше компонентов, но геометрия платы чрезвычайно важна для датчиков Холла.

Вы говорите, что хотите провести измерение тока с «высоким разрешением». Когда вы говорите «высокое разрешение», а затем говорите, что используете 12-битный АЦП в микроконтроллере, в том же предложении вы переопределяете «высокое разрешение. Вниз». В любом случае, вам повезет, если вы получите 10-10,5 эффективных битов, так что вы уже сократили до ~ 1000 кодов по полной шкале (при условии, что вы делаете то, что необходимо, и усиливаете свое чувственное измерение, так что 2A = «полная шкала». Достаточно ли высокого разрешения для вас?

Если это так, то вам нужно будет следовать советам, данным в других ответах, о выборе подходящей ссылки (внутренняя запрещенная зона или приличная внешняя ссылка <0,05%, а НЕ шина питания, независимо от того, насколько хорошо отфильтровано можно утверждать, что сделайте это), И используйте операционный усилитель для усиления вашего измерения тока с помощью шунтирующего резистора, чтобы 2А = вашему эталонному напряжению, и используйте приличные методы проектирования печатных плат, чтобы ваши аналоговые схемы были относительно чистыми. Мой интерент очень медленный сегодня вечером, поэтому я не могу загрузить техническое описание STM32F4xxx в данный момент, но на 99,9% он будет поддерживать возможность иметь внешнее опорное напряжение.

Я бы добавил операционный усилитель с коэффициентом усиления 8 к выходу ACS712, чтобы использовать весь диапазон АЦП в вашем микроконтроллере. Таким образом, 2A будет представлено 8 * 463 шагов = 3704, почти полный диапазон (4096) 12-битного АЦП с полным напряжением 3,3 В.

введите описание изображения здесь

LMV321 — это рельсовая версия LM321.

Коэффициент усиления неинвертирующего усилителя равен 1 + р 2 р 1 , или в этом случае 1 + 93,1 13.3 "=" 8 .

Или используйте операционный усилитель с коэффициентом усиления 12 для ACS711. В этом случае 2A будет представлено 12 * 275 шагов = 3300.

спасибо, именно это я и сделал, хотя я использовал 1K и резистор 167 (я предпочел придерживаться коэффициента усиления 7). Есть ли причина, по которой я должен умножать значения этих резисторов на 10 или 100? Я имею в виду, что я знаю, что усиление составляет 1 + R2 / R1, но влияют ли на что-нибудь низкие значения резистора?
Мне нравится использовать резисторы в диапазоне от 10 до 100 кОм или около того, если это возможно. Как и Златовласка, вам не нужны ни слишком маленькие, ни слишком высокие. Что-то в середине в самый раз. В этой ветке эта тема обсуждается более подробно. В вашем случае я бы сейчас выбрал R1 = 19,1К и 115К.