Наскільки життєздатним є просто використання 1% резисторів та калібрування помилки?


9

На даний момент я використовую 0,1% резистори, щоб отримати точне вимірювання напруги через дільник напруги. Однак вартість висока, тому я думав використати резистори 0,5% або 1% і відкалібрувати помилку в програмному забезпеченні, використовуючи посилання на точність напруги під час виробництва. Хтось зробив це успішно? З якими підводними каміннями я можу зіткнутися?


До яких виробничих інструментів ви маєте доступ? Чи можете ви отримати / побудувати що-небудь на зразок програміста / тестера для нігтів?
Кевін Вермер

@reemrevnivek - На даний момент. Мій виробник друкованої плати перевіряє кожну плату, але не гарантується, що пайка спрацює.
Thomas O

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

Відповіді:


6

Отже, у вас є:

          R_x         R_fixed
Vcc -----^v^v^----+----^v^v^------- Gnd
                  |
                  |
                  +--- V_sensed --- ADC input

Rx - якийсь невідомий опір (можливо, датчик якоїсь форми). А ви зараз використовуєте R_fixed на 0,1% для ефективного розрахунку R_x, але ви хочете використовувати більш дешевий фіксований резистор з меншим допуском, можливо, на 1%. При цьому ви хочете виконати якусь градуювання під час виробництва, щоб виправити підвищену помилку, чи правильно це?

Як ви це робите, це введення байта в EEPROM (або якусь іншу енергонезалежну пам'ять), яка діє як «компенсація» у вашому обчисленні, і це абсолютно бездоганно робити. Річ у тім, що це обійдеться вам у певний час під час виробництва, щоб зробити калібрування. Для того щоб здійснити калібрування, вам знадобиться один з цих 0,1% резисторів (називайте його R_cal) номінально порівнянного значення з вашим 1% резистором, щоб замінити в ланцюг R_x. Вимірюючи V_sensed, ви можете більш точно визначити значення R_fixed (тобто приблизно на 0,2%).

Якщо R_cal і R_fixed номінально однакові, ви очікуєте, що V_sensed дорівнює Vcc / 2. Ви будете зберігати виміряне відхилення від Vcc / 2 як байт зміщення калібрування і завжди додавати його до V_sensed, як сприймається вашим АЦП.

Як я бачу, підводний камінь полягає в тому, що в процесі вимірювання, а згодом і в зберіганні значення, є робота. Ще одна річ, яку слід враховувати як підводний камінь, полягає в тому, що температура може зіграти роль у спричиненні відхилення опору від номінального значення, тому вам потрібно буде досить добре регульоване середовище калібрування, що контролюється температурою. Нарешті, не забудьте скористатися каліброваним вимірювальним обладнанням, оскільки це ще одне потенційне джерело помилок присадки. Остання помилка, яку я можу придумати, - байт калібрування повинен зберігатися в одиницях lsb вашого АЦП (тому якщо у вас є 12-бітний АЦП, одиниці байта зміщення калібрування повинні бути "Vcc / 2 ^ 12 Вольт") .

Редагувати

Якщо ви використовуєте два нерухомих резистора, щоб розділити велику напругу на нижню шкалу наступним чином:

        R1_fixed       R2_fixed
V_in -----^v^v^----+----^v^v^------- Gnd
                   |
                   |
                   +--- V_sensed --- ADC input

Перероблений розділ

Отже, тепер ви хочете використовувати точну опорну напругу (називати її V_cal) для стимулювання V_in під час етапу калібрування у виробництві. Те, що у вас є, є теоретично:

V_sensed = V_predicted = V_cal * R2_fixed / (R1_fixed + R2_fixed) = V_cal * slope_fixed

Але те, що у вас є насправді:

V_sensed = V_measured = V_cal * R2_actual / (R1_actual + R2_actual) = V_cal * slope_actual

Насправді ви маєте інший нахил функції передачі в реальності, ніж те, що ви могли б передбачити за значеннями резистора. Відхилення від передбачуваної функції передачі дільника буде лінійним щодо вхідної напруги, і ви можете з упевненістю припустити, що 0 В в дасть вам 0 В, тому здійснення одного точного вимірювання опорної напруги повинно дати вам достатньо інформації для характеристики цього коефіцієнта лінійної шкали . А саме:

V_measured / V_predicted = slope_fixed / slope_actual 
slope_actual = slope_fixed * V_measured / V_predicted

І ви будете використовувати slope_actual як ваше каліброване значення, щоб визначити напругу як функцію вимірюваної напруги.

нижче люб’язно надано @markrages

Для отримання фактичної чутливості нахилу до значень резистора необхідна часткова диференціація:

alt текст


Я хочу використовувати 1% для обох резисторів. Я використовую дільник напруги для читання сигналів до 40В. Чи те, що ви говорите, все ще застосовується? І я буду роздивлятися навколо точного значення напруги, хоча ± 0,05%, мабуть, нормально, і ви можете отримати DIP-мікросхеми, які це роблять.
Thomas O

@Thomas Гаразд, я неправильно зрозумів ваше запитання ... ви використовуєте дільник напруги, щоб зменшити велику напругу, а не вимірювати невідомий опір ... Я відповідно зміню свою відповідь.
vicatcu

Я не впевнений, що помилка не буде лінійною, ігноруючи нагрівання резисторів. Він повинен бути фіксованим лінійним коефіцієнтом для кожного дільника (на дошці їх чотири), оскільки дільник просто ділиться на фіксовану суму. При нульових вольтах нульовий вольт повинен вимірюватися АЦП, плюс помилка зміщення, яка може призвести до того, щоб він прочитав один підрахунок, тому мені не потрібно турбуватися про зміщення ... Якщо я щось не пропускаю?
Thomas O

вибачте, нелінійний був, мабуть, неправильним терміном у ретроспективі. Те, що ви ефективно отримаєте від калібрування, є коефіцієнтом масштабу, правда? Відхилення від прогнозованого буде лінійним щодо вхідної напруги. Отже, враховуючи деякий "прогнозований V на основі вимірювання", фактичний V повинен бути помножений на деякий коефіцієнт. Що було б нелінійним - це помилка в припущенні, що це напруга зміщення.
vicatcu

5

По моєму, це буде важко, проте не неможливо.

  • Зазвичай 0,1% резистори мають нижчий коефіцієнт температури = коефіцієнти температури, більш стійкі до вологості, пайки (теплового удару), мають менший дрейф із часом, ... ніж 1% номінальних резисторів. Отже, слід врахувати багато джерел зміни опору.
  • На рівні 40В ефект самозагрівання може бути значущим, тому слід використовувати резистори з належним рівнем потужності.
  • є хороші якісні 1% резистори, мають TC <20ppm / deg і подібні TC від резистора до резистора (+ - 10ppm різниця), але це справедливо для однотипних резисторів типу, номінального значення та потужності. Правильне використання резисторів цього типу в розділювачі напруги скасує вплив середнього ТС. Тільки різниця в ТК впливатиме на вихідну напругу. Тож можна отримати точні подільники, використовуючи резистори однакового значення.
  • Резистори різних номінальних значень можуть мати більше різних ТК. І самонагрівання матиме різний вплив - чим більше енергії, що розсіюється на резисторі більш високого опору, тим більше нагріватиме його та змінює опір.
    Висновок: Якщо ви використовуєте багато резисторів у виробництві (довгі серії однієї плати / роздільника) і вартість резисторів є повноцінною, ви можете розглянути можливість заміни. Інакше, швидше за все, не варто старатися.

4

Такий підхід працює добре від 5% до 1%. Ідучи від 1% до 0,1%, я підозрюю, що ви почнете свою точність знищувати коливанням температури, що змінюють опір, а отже, і напругу.

Якщо ви з незрозумілої причини працюєте в ізотермічному середовищі, а ваші резистори - постійний струм, тому самонагрівання передбачувано, воно все-таки життєздатне.


Я вважаю, що температура може впливати на типовий резистор ± 100 ppm / ° C на -0,4% до + 0,7% (або навпаки) протягом робочого діапазону мого пристрою від -40 ° C до + 70 ° C. Якщо потрібно, я міг би також відкалібрувати це. Ймовірніше, що він буде піддаватися високим температурам, і я можу нагріти дошку, щоб перевірити це.
Thomas O

3
Іноді за допомогою розумного дизайну ви можете скасувати темпко резистора. Якщо ви визначите такі пари резисторів у своїй конструкції, поставте їх поруч один з одним у макеті, щоб максимально забезпечити теплову муфту. Або навіть використовувати резисторні масиви.
відмітки

@markrages, Якщо обидва резистора становлять + 100ppm / ° C, чи це мінімізує помилку, оскільки обидва будуть виходити однаковою часткою? Теоретично, якщо обидва резистори дрейфують однаковими кількостями, вихід не повинен змінюватися. На практиці це, мабуть, могло би бути, тим більше, що посилання на напругу (LM4040) може змінюватися.
Thomas O

@Thomas. Так, це ідея. Подивимось, LM4040 заявляє про найгірший показник 100 ppm / C, типовий при 15 ppm або менше 1mA. Типовий температурний відповідь нанесений у таблицю даних і не схожий на те, що можна легко скасувати. Я думаю, ви могли би склеїти NTC-термістор до нього і "перенапружити", щоб він підтримував постійну (підвищену) температуру, але не, якщо ви витрачаєте бюджет на живлення.
відмітки

4

Ви можете відкалібрувати:

  • Толерантність виробництва [2] [3], (+/- 1 *%) = можна відкалібрувати
  • Тепло припаю [2] [3], зміна опору за рахунок пайки (+/- 0,2 * до 1%) = можна калібрувати

Але не забувайте про всі інші допуски:

  • TCR [2] [3], опір коефіцієнта температури (+/- 50 до 100 * ppm / C)
  • VCR [2], коефіцієнт опору напруги (+/- 25 * ppm / V)
  • Фактори навколишнього середовища, зміна стійкості протягом життя (<= + / - 3% * при 155 С, 225 000 год) [2] [3] [4]

* Зауважте, що всі значення можуть відрізнятися між марками резисторів та продуктами.

[1] https://www.vishay.com/docs/28809/driftcalculation.pdf

[2] https://www.digikey.se/sv/ptm/v/vishay-beyschlag/mm-hv-high-voltage-thin-film-melf-resistors/tutorial

[3] https://industrial.panasonic.com/cdbs/www-data/pdf/RDA0000/AOA0000C304.pdf

[4] MIL-STD R-10509

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.