Arduino Uno, подходит ли более низкое напряжение Aref для измерения тока? без увеличения интегральной нелинейности АЦП

arduino-uno analogread analogreference

Я хочу измерить ток с помощью Arduino Uno и использовать очень низкое сопротивление 0,1 Ом или ниже для шунтирующего резистора для измерения тока (чтобы уменьшить потери мощности и выделение тепла), в результате разрешение не будет хорошим при более низких токах, хотя мне не нужно очень хорошее разрешение. Лучшее разрешение делает его более надежным, более простым в использовании и более универсальным. и очень маловероятно, что я смогу пропустить через него такое количество ампер, поскольку для этого потребуется ток 10 А, чтобы достичь 1 В.

Моя идея решить эту проблему заключалась в том, установить Aref на более низкое напряжение 1,1 В, установив его на внутренний Aref. Это означало бы, что он может измерять ток до 11 А, но также имеет 5-кратное напряжение. такого же разрешения.

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

Установка Aref внутри Arduino на внутреннюю Aref 1,1 В и использование резистора 0,1 Ом даст разрешение +-10 мА (до 11 А), если бы я использовал резистор 1 Ом, как это делает большинство других, это было бы даже дать разрешение 1 мА (до 1,1 А).

Я что-то упускаю? по какой причине другие люди не меняют Ареф ради этого? Вызывает ли снижение Aref до 1,1 В снижение линейности кривой АЦП (так что в некоторых местах разница в шагах больше, чем в некоторых других) по сравнению с тем, когда сохраняется значение Aref по умолчанию 5 В?

или более короткий вопрос TLDR:

есть ли у кого-нибудь графики или данные о линейности АЦП Arduino с ADC Aref при разных напряжениях? в основном для сравнения линейности при Aref 1,1 В и 5 В.

определения

Линейность АЦП в данном контексте относится к интегральной нелинейности

дополнительно

Я уже просмотрел эти 4 источника:

Кажется, все они подтверждают именно то, о чем я думал в своем решении. но ни один из них, похоже, не дает никакой информации о том, как на самом деле аналого-цифровой преобразователь работает при разных напряжениях Aref, поэтому, например, если использовать более низкое значение Aref, шаги на вольт могут, например, стать не прямой линией, а вместо этого скорее кривой. или такое, где все ступени могут иметь разную разницу в напряжении? В таблице данных, которую я нашел, указано только фиксированное значение смещения, но не указано, как и если на него повлияло используемое напряжение Aref, а не какая-либо форма или график типичной интегральной нелинейности. только одно значение — интегральная нелинейность 0,5LSB

вещи, которые упоминали люди

  • по-видимому, АЦП Arduino действительно имеет некоторую нелинейность, но фактические значения не приводятся, и даже если это также зависит от напряжения Aref, люди упоминают/ссылаются на то, что АЦП Arduino должен быть наиболее эффективным при среднем значении АЦП < a href="/q/69390/"/>https://arduino.stackexchange.com/a/69390/70020
  • Чтобы уменьшить потери энергии и поддерживать более высокое разрешение, люди рекомендуют добавить дифференциальный усилитель, который позволит использовать еще более низкие шунтирующие резисторы и при этом сохранить хорошее разрешение. теоретически это должно делать то же самое, что и изменение Aref, но при этом обеспечить еще большую чувствительность, поскольку Aref может снизиться только до 1 В, что означает 5-кратное усиление.

, 👍0

Обсуждение

Возможно, невозможно ответить, не находясь в головах упомянутых вами людей. Я предполагаю, что они просто не знали, что Арефа можно изменить. Возможно, вы захотите измерить шум преобразования с помощью «ВНУТРЕННЕГО», но я сомневаюсь, что он может быть больше (в реальном напряжении), чем с «DEFAULT»., @Edgar Bonet

Что касается ответственности, как сказал Эдгар Боне. В любом случае они и вы потенциально идем по неправильному пути. Самая существенная часть того, что я хотел бы сказать по этому поводу, была сказана кем-то другим в этом ответе или его комментариях., @timemage

*есть ли причина или они просто все следуют и клонируют одинаковые инструкции* - мы не можем объяснить, почему некоторые люди *не* что-то делают. Для меня это немного похоже на проблему XY. Вы говорите, что разрешение плохое при более низких токах. Зачем нужно хорошее разрешение? Чего вы на самом деле пытаетесь достичь? Даже решение с низким разрешением может определить, потребляет ли двигатель слишком большой ток. Uno на самом деле не спроектирован как высокоточное измерительное устройство. Однако использование более низкого напряжения на AREF может помочь в вашей ситуации., @Nick Gammon

@NickGammon На самом деле мне не нужна такая хорошая точность или точность, если она примерно правильная, это для простого проекта, где ему необходимо генерировать выходные токи от +-100 мА до примерно +-1 А, возможно, в некоторых случаях больше, но это основное использование, для этого потребуются шаги максимум около 50 мА. Основная причина желания улучшить результат заключается в том, что при такой настройке Arduino я сомневаюсь, что многие люди на самом деле будут использовать достаточно высокие токи, чтобы не было смысла менять Aref, поскольку превышение 10 А при такой настройке в целом не кажется разумным, и большинство людей в любом случае используйте его намного ниже, @TeD van Loon

@EdgarBonet действительно обсуждалось, как это повлияет на такой шум и смещение кривой шагов на вольт, как если бы они оставались линейными или нет. Я думал о тестировании, возможно, это был бы не лучший способ, но я подумал об использовании делителя напряжения, а затем о сравнении 3,3 В с 5 В или сравнении некоторых известных вариантов делителя напряжения, которые, возможно, могли бы показать некоторую разницу в форме кривой при построении графика. Что касается шума, я не знаю, как его правильно и безопасно проверить, поскольку, когда он подключен, кажется, что он все равно не слишком шумный., @TeD van Loon

@timemage комментарий, на который вы ссылались, на самом деле был в некоторой степени полезен, использование операционного усилителя может быть полезным, хотя, вероятно, и не требуется в моем случае, но было бы полезно для использования шунтов с гораздо более низким сопротивлением. он также подтвердил то, в чем я сомневался: существуют ли нелинейности, но он не показывает на них никаких данных или графиков или меняет ли это изменение Aref. Я отредактирую свой вопрос, чтобы он был более прямым., @TeD van Loon

_для людей, которые не знают, они часто не знают того, чего не знают. Те, кто знает, считают, что это здравый смысл, поэтому не стоит об этом говорить, пока об этом явно не попросят. Многие в наши дни предпочитают читать интернет-статьи или учебные пособия вместо чтения технических характеристик или примечаний по применению, таких как [это](https: //www.ti.com/lit/eb/slyy154b/slyy154b.pdf?ts=1700267042504&ref_url=https%253A%252F%252Fduckduckgo.com%252F), в которых говорится о таких вещах, как источник ссылки., @hcheung


1 ответ


2

Если вы использовали вывод 3,3 В в качестве внешнего AREF, резистор сопротивлением 1,5 Ом снизил бы напряжение 3 В при 2 А, а напряжение 3 В привело бы к значению АЦП 930 или 2,15 мА на отсчет АЦП. Если вы используете внутренний AREF 1,1 В, резистор сопротивлением 0,5 Ом упадет на 1 В при 2 А, значения АЦП будут такими же.

,

Привет, я тоже так думал, но мой вопрос поначалу был немного неясен. но, по сути, в моем вопросе я больше хотел спросить о том, изменю ли я Aref, изменит ли это точность, с которой реальное оборудование следует расчетам. поскольку расчеты предполагают, что каждый шаг представляет собой фиксированную разность напряжений, но при разных напряжениях аппаратное обеспечение может стать менее стабильным в этом, поэтому я главным образом хотел знать, так ли это в случае с Arduino Uno, если согласованность, с которой ADC полагает, что расчеты прилично изменятся при другом Aref., @TeD van Loon