#1 2025-12-22 12:55:39

filat18
Учасник
Зареєстрований: 2025-08-04
Повідомлень: 27

Куди зникає ємкість

Я знайшов дуже цікавий код, який не потребує апаратного облаштування, а виконує вимірювання ємкості на програмному рівні.
У випадку коли конденсатор підключен до arduino - усе дуже добре і нема ніяких зауважень!
Але, якщо, у системі з'єднань з'являються провідники - усе летить шкереберть...
Якщо провідники мають відносно-невелику довжину, то я отримую зниження ємкості. А при довжені провідників більше 1 м - все падає до 1 пкФ... Хоча, стандартний тестер, з функцією вимірювання ємкості, при додаванні до конденсатора, паралельно-прокладених провідників - видає у результаті зростання ємкості.
Чому, при використанні цього коду виникає це відхилення, і як його можна вирішити на програмному рівні, без застосування апаратних рішень?

Неактивний

#2 2025-12-22 13:01:56

filat18
Учасник
Зареєстрований: 2025-08-04
Повідомлень: 27

Re: Куди зникає ємкість

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

Неактивний

#3 2025-12-22 15:05:12

filat18
Учасник
Зареєстрований: 2025-08-04
Повідомлень: 27

Re: Куди зникає ємкість

Є ще один цікавий варіант - але в мене він працує лише між аналоговими контактами...

Неактивний

#4 2025-12-22 15:07:29

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 727

Re: Куди зникає ємкість

filat18 пише:

Але, якщо, у системі з'єднань з'являються провідники - усе летить шкереберть...

Провідники теж мають свою ємність.

filat18 пише:

Хоча, стандартний тестер, з функцією вимірювання ємкості, при додаванні до конденсатора, паралельно-прокладених провідників - видає у результаті зростання ємкості.

Тестер вимірює саме ємність між входами. Ємність між провідниками просто додається до ємності конденсатора.
Цей "метод" (припускаю, бо в код не вникав) вимірює відношення ємності між пінами до паразитної ємності пінів (щось біля 7 пФ для AVR). При підключенні провідників ця паразитна ємність значно зростає.

filat18 пише:

як його можна вирішити на програмному рівні, без застосування апаратних рішень?

Хіба що калібрувати кожен раз для конкретних провідників з їх розташуванням у просторі та іншими зовнішніми факторами. Або використовувати класичні методи вимірювання ємності. Було би все так просто - цей "метод" давно б використовували у вимірювальних приладах.

Неактивний

#5 2025-12-22 15:12:21

jokeer
Гість

Re: Куди зникає ємкість

Є так званий тестер Маркуса. Буває і на Алі в готовому вигляді, і в вигляді набору для пайки.

#6 2025-12-22 16:29:39

filat18
Учасник
Зареєстрований: 2025-08-04
Повідомлень: 27

Re: Куди зникає ємкість

jokeer пише:

Є так званий тестер Маркуса. Буває і на Алі в готовому вигляді, і в вигляді набору для пайки.

Вивачте, є потреба використання багато-адресних звернень до МК, ваша пропозиція не є конструктивною у площіні програмного рішення задачі.

Неактивний

#7 2025-12-22 16:32:43

filat18
Учасник
Зареєстрований: 2025-08-04
Повідомлень: 27

Re: Куди зникає ємкість

dimich, навіщо писати відповідь, якщо ви нічого не зрозуміли у запитанні!???

Неактивний

#8 2025-12-22 17:08:40

Honey
Учасник
З Київ
Зареєстрований: 2020-09-26
Повідомлень: 454

Re: Куди зникає ємкість

Виходячи з ідеї, яка тут використовується, додавання довгих провідників (опорів, індуктивностей) не вплине на результат, але мають закінчитись перехідні процеси. Додайте в коді безпосередньо перед analogRead() невеликий delay().

Активний

#9 2025-12-22 17:22:38

jokeer
Гість

Re: Куди зникає ємкість

Так я і не пропоную купляти. До нього є програма, можна вивчати. В мануалі розписані всі формули. Просто якщо люди провели роботу, і навіть задокументували - навіщо проходити по тим же граблям самостійно?

#10 2025-12-22 18:16:32

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 727

Re: Куди зникає ємкість

filat18 пише:

dimich, навіщо писати відповідь, якщо ви нічого не зрозуміли у запитанні!???

З чого ви зробили такий висновок, що я нібито чогось не зрозумів у запитанні? Ви спитали, чому результати вимірювання ненадійні, я відповів - тому що метод вимірювання ненадійний.
А які саме фактори там впливають - то вже інше питання. Ви б хоч вказали, яку ємність вимірювали і який результат отримали при якій довжині провідників. Чи змінюється результат, коли провідники розведені в різні сторони, і коли скручені між собою.
Взагалі АЦП у AVR призначений для вимірювання напруги від джерела з відносно невеликим вихідним опором. З довгими провідниками, окрім ємності та індуктивності, ще й 50 Гц від мережі можуть впливати.

Неактивний

#11 2025-12-22 20:15:52

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 727

Re: Куди зникає ємкість

Honey пише:

Виходячи з ідеї, яка тут використовується, додавання довгих провідників (опорів, індуктивностей) не вплине на результат

Чому ж не вплине, коли там припускається, що ємність піна A2 відносно шин живлення - 7 26.3 пФ. А з довгими провідниками вона більша. Так, взаємна ємність між пінами збільшуєтсья на взаємну ємність провідників, але й заряд розподіляється на більшу ємність (Cstray + ємність провідника на A2 відносно землі), тому напруга на A2 стає менша. Не здивуюсь, якщо впливає саме провідник на A2.

Остання редакція dimich (2025-12-22 20:22:01)

Неактивний

#12 2025-12-23 12:56:26

filat18
Учасник
Зареєстрований: 2025-08-04
Повідомлень: 27

Re: Куди зникає ємкість

dimich пише:

Цей "метод" (припускаю, бо в код не вникав) вимірює відношення ємності між пінами до паразитної ємності пінів (щось біля 7 пФ для AVR). При підключенні провідників ця паразитна ємність значно зростає. .

Не зовсім це розумію, чому ця паразитна ємкість не додається до наяної, а взагалі усе перекриває?

Неактивний

#13 2025-12-23 13:14:25

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 727

Re: Куди зникає ємкість

filat18 пише:

а Я питаю!!! - чому вказаний код у такому випадку ЗМЕНШУЄ показники???

Тому що значення ємності обчислюється як

capacitance = (long)val * _inCapToGnd / (max(_maxAdcValue - val, 1));

Де val - напруга на піні A2 відносно землі, а _inCapToGnd - очікувана ємність між цим піном та землею. Для Atmega328P дефолтове значення - 26.3 пФ.

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

Вимірюваний конденсатор (разом з провідниками) та паразитна ємність піна A2 (також разом з провідниками) утворюють дільник заряду (аналогічно як дільник напруги на резисторах). Тому фактична на напруга на A2 залежить як від ємності між пінами (вимірюваний конденсатор + провідники), так і від паразитної ємності між піном A2 і землею (Cstray + провідники).

Неактивний

#14 2025-12-23 13:20:57

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 727

Re: Куди зникає ємкість

filat18 пише:

Не зовсім це розумію, чому ця паразитна ємкість не додається до наяної, а взагалі усе перекриває?

Вона додається, тільки не лише до ємності вимірюваного конденсатора, але й до паразитної ємності між піном та землею. Її вплив на  значення фактичної паразитної ємності виявляється більшим, ніж на ємність вимірюваного конденсатора.

Неактивний

#15 2025-12-23 13:35:54

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 727

Re: Куди зникає ємкість

Доречі, як писав Honey вище, періхідний процес там також присутній. Але у мене з провідником 30 см і конденсатором 100 пФ там буквально три коливання на частоті ≈60 МГц, чим у порівнянні з часом sample-and-hold АЦП можна знехтувати.

Неактивний

#16 2025-12-23 13:45:16

jokeer
Гість

Re: Куди зникає ємкість

То в вас індуктивність проводів теж трохи грає.
Нормально буде порахувати окремо ємність провода і окремо провода з конденсатором. І порахувати різницю.

#17 2025-12-23 13:56:58

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 727

Re: Куди зникає ємкість

jokeer пише:

То в вас індуктивність проводів теж трохи грає.

На те воно й перехідний процес. Але ж кажу, в моєму експерименті цей фактор виявився ніхтовно малий.

jokeer пише:

Нормально буде порахувати окремо ємність провода і окремо провода з конденсатором. І порахувати різницю.

Це й називається "калібровка". Там навіть API є smile Тільки просто "порахувати різницю" буде недостатньо. Намалюйте еквівалентну схему: до схеми у статті вище домалюйте ємності між пінами, а також між кожним піном і землею, і проаналізуйте, як при цьому змінюється напруга на вимірюваному піні (A0 в статті, A2 в бібліотеці).

Остання редакція dimich (2025-12-23 14:08:56)

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму