Ви не увійшли.
Дякую за думки, це потрiбно переосмислити та виконати кiлька експерiментiв.
https://github.com/markus-seidl/component-tester/blob/master/cap.c#L1077
Рекомендую подивитись як це зроблено в тестері Маркуса. Тут люди все таки упоролись щоб отримати якісь результати.
Мені ідея з динамічним створенням об'єктів категорично не подобається.
Ми навіть не знаєм, як там той обʼєкт створюється. Код же не показали.
Я взагалі не розумію, навіщо бібліотека заради десятка рядків коду.
Тут і невикористані піни бажано конфігурувати в детермінований стан чи вимикати digital input. Це одна з перших речей, з якою знайомляться при навчанні програмуванню МК. Але культура ардуіно цього не виховує.
Мені ідея з динамічним створенням об'єктів категорично не подобається. Я б мабуть поставив одну ногу в output, n-1 в input, зробив n-1 вимір. Формула відома. Повторив n раз з іншими output ногами. Потім повторив процес k раз. Порахував середнє арифметичне. Потім співставив би з показаннями справжнього приладу.
Немає жодних активних та пасивних елементів – є тільки кабелі. На малюнку зрізаний приклад з'єднань: А0 - А1 це приклад робочого ланцюга, в момент виміру ємності цей ланцюг розірваний перемикачем
Щось все одно не дуже ясно. Бачу три перемикачі 4P1T і один 2P1T. Але 4P мають ще одне положення, у якому повзунок "висить у повітрі"?
і вимір (у цьому випадку) виконується між А0 - А2 і А1 - А2
Тобто при такому положенні перемикачів як на малюнку:
вимір №1: outPin=A0, inPin=A2 (ємність між повзунками верхнього і нижнього перемикачів)
вимір №2: outPin=A1, inPin=A2 (ємність між провідником від A1, що йде до одного з контактів верхнього перемикача, і повзунком нижнього перемикача)
?
(другий кінець від А2, в момент виміру теж нікуди не підключений).
По малюнку він підключений до повзунка перемикача. Повзунок може мати помітний ємносний звʼязок з контактами, в залежності від конструкції.
І якщо замір першої пари відповідає, то на другій парі – рандом.
А якщо потім знову перша пара?
Після деструкції обʼєкта CapacitorLite перед створенням нового ви переводите outPin у його початковий стан - floating input?
Спробуйте перед аимірюванням перевести всі піни в output і вивести на них 0.
В конструкторі CapacitorLite вони уже переводяться в output з низьким рівнем. Але при створенні нового обʼєкта з іншим значенням outPin, попередній залишається в output. inPin, наскільки розумію, в даному випадку залишається тим же.
Чудес не буває. Значить після вимірювання залишається якийсь заряд.
Спробуйте перед аимірюванням перевести всі піни в output і вивести на них 0.
Немає жодних активних та пасивних елементів – є тільки кабелі. На малюнку зрізаний приклад з'єднань: А0 - А1 це приклад робочого ланцюга, в момент виміру ємності цей ланцюг розірваний перемикачем, і вимір (у цьому випадку) виконується між А0 - А2 і А1 - А2 (другий кінець від А2, в момент виміру теж нікуди не підключений). І якщо замір першої пари відповідає, то на другій парі – рандом. Якщо замір у зворотному порядку, спочатку друга пара - замір реальний, перша пара - рандом. Замірювані величини від 60 до 1200 пФ.
Автор стверджує, що при першому вимірі наче все ок, а після якихось там перекомутацій стає не ок. Спочатку треба зрозуміти, що там куди комутується, щоб пояснити таку поведінку. А потім уже можна думати, як позбутись небажаних ефектів.
[телепат mode on]
Якщо там залишається якась заряджена ємность, то розряджати примусово. Але якщо там паразитне живлення через діод всередині корпуса компонента, чи якісь інші напівпровідники, то такий метод виміру взагалі не працюватиме. Таку лінію потрібно вимірювати напругою до 100 мВ, як це робиться у внутрішньосхемних тестерах ємності. А якщо там якісь конденсатори MLCC, то у них мало того що ємність змінюється в кілька разів в залежності від напруги, так і ефект памʼяті може проявлятись.
[телепат mode off]
Взагалі, виглядає як проблема XY.
Якщо кабель коаксіальний - його ємність написана в таблиці. А кабелі інших типів взагалі не варто розглядати там де щось пов'язане з ємністю.
Якщо у вас є кілька якось розміщених в просторі проводів, то між ними буде якась ємність. Якщо якісь проводи заземлені - ємність може помінятись.
Незрозуміла мета експерименту. На ємностях в одиниці і десятки пФ показометр щось покаже.
Вимірюється ємність того, що підключено до вивода на момент виміру. Це кабелі різних типів, які запитані тільки з плати, до якої підключені.
Покажіть схему, бо за словесним описом нічого не зрозуміло. І вкажіть, в якому порядку що комутується при вимірах.
Уточню ще той аспект, що в момент вимірювання кабель з одного боку підключений до виведення плати, а з іншого боку - висить у повітрі.
Якщо поряд з провідником є інші провідники, то звісно, і вони самі впливають на результат, і те, що до них підключене.
1-wire?
Так ємність чого ви вимірюєте? Ємність шини, разом з пристроями, що з неї і живляться?
Якщо Ви про використовувані піни плати, то від 1 до 16, а якщо про кількість замірюваних провідників - то від 2 до 16.
Вимірюється ємність того, що підключено до вивода на момент виміру. Це кабелі різних типів, які запитані тільки з плати, до якої підключені. Уточню ще той аспект, що в момент вимірювання кабель з одного боку підключений до виведення плати, а з іншого боку - висить у повітрі.
до платы, через перемикачи пiд'єднано багато кабелiв, рiзного типу (що мають рiзну ємкiсть). Плата надсилає мiкросикунднi 0 та считує цi iмпульси (при пiдтянутiй 1)
1-wire?
Показником сicтеми є ємкiсть у окремий вiдлiк часу.
Так ємність чого ви вимірюєте? Ємність шини, разом з пристроями, що з неї і живляться?
Що за блок? З чого він складається, як підʼєднаний, що на нього подається в "інших режимах"?
до платы, через перемикачи пiд'єднано багато кабелiв, рiзного типу (що мають рiзну ємкiсть). Плата надсилає мiкросикунднi 0 та считує цi iмпульси (при пiдтянутiй 1) (з чого й складається залишковий заряд...). Показником сicтеми є ємкiсть у окремий вiдлiк часу.
Ніхто крім вас не знає що в тому блоці. Можливо остаточний заряд в конденсаторах. Можливо щось нагрівається і міняє опір.
Скетч теж не повинен знати, що у тому блоці на момент вимiру! Я лише впевнений у тому, що нагрiву нiмає, бо плата не спроможня видати для цього струм.
Але якщо цей блок з'єднань був задіяний в інших режимах роботи плати
Що за блок? З чого він складається, як підʼєднаний, що на нього подається в "інших режимах"?
Цей метод виміру ємності базується на тому факті, що напруга на конденсаторі прямо пропорційна заряду і обернено пропорційна його ємності. Так як послідовно зʼєднані конденсатори отримують однаковий заряд, то знаючи ємність одного можна обчислити ємність другого. В ролі конденсатора з відомою ємністю виступає розподілена ємність. Ніяких блоків у цьому методі не передбачено.