У мене досить проста схема, яка чудово працює на дошці, але у мене виникають багато проблем з передачею її на друковану плату. Я бачу дуже дивну поведінку, яка лежить поза моїм нинішнім досвідом, тому сподіваюся отримати поради.
Схема реалізує датчик руху Wi-Fi, хоча проблема, з якою у мене виникає, йде перед тим, як я дістанусь до RF частини, або навіть частини UC діаграми:
Я обвів частину, яка має проблеми.
R3 - розсувний резистор, який потрібен b / c AMN42121 приводить в дію вищий ВИСОКИЙ при виявленні руху, але залишає його висячим без руху, тому розтягування потрібне.
Я використовував C1, щоб згладити перехід між рухом і без руху. C1 змушує вихідний рівень виходити на низький рівень повільно і плавно, тому стан "без руху" не досягається через кілька секунд без руху.
Інвертор є, якщо зовнішні перериви attiny викликаються низьким рівнем, тому мені потрібно інвертувати логіку. Прикро, що мені довелося використовувати такий великий пакет DIP для одного інвертора, але нічого іншого я не міг знайти.
Я зробив двосторонню плату для цієї схеми, яка виглядає приблизно так:
Знову ж, я поки що лише зібрав обведену область.
Після пайки S1, R3 і C1 я отримую наступний сигнал з виходу датчика:
Це саме те, що я хочу бачити, тому все до цього моменту добре.
Далі я спаяв у розетку для IC2 і підключив інвертор. Тут починаються таємниці. Спочатку все було добре, але через деякий час возитися з дошкою схема раптово перестала працювати. Коли я розміщую щуп на виході датчика, замість приємного сигналу, який ми бачили вище, я бачу зміни на наступних двох прикладах:
Приклад 1:
Приклад 2:
Зауважте, що на відміну від першого прикладу, сигнал у другому прикладі не генерується рухом - ця пила зубчаста форма просто виникає на власній без будь-яких дій від мене.
Після багатьох тестів я зміг встановити наступне:
- Відключення інвертора від розетки змушує сенсор знову працювати належним чином.
- Вимкнення живлення до інвертора, залишаючи його підключеним, змушує сенсор працювати.
- Використання іншого інвертора не впливає.
- Обсипання дошки видаленням флюсу або ацетону та вичісування щіткою іноді змушує сенсор працювати знову, але дуже коротко. В один момент я зміг зробити так, щоб сигнал виглядав таким чином, агресивно вичищаючи зубною щіткою:
Зауважте, що навіть на цьому останньому знімку сигнал не повертається до низького рівня. Ефект зник майже щойно я перестала чистити кисті.
Поки що це вказує на деякий дефект пайки, за винятком того, що я справді не можу побачити проблему. Я обережно перейшов плату з потужним збільшенням і випробував усі плями, про які я міг придумати себе для наступності - все перевіряється. Ось крупний план роботи пайки на розетці ІС та датчику:
Зараз у мене немає ідеї, тому будь-які поради були б дуже вдячні. Дякую.
Редагувати:
Я щойно відкрив щось цікаве. Більш детальний розгляд прикладу №2 (сигнал форми пилки-зуба) виявляє, що ухил вниз є сегментом очікуваної кривої розряду С1. Коли рівень напруги наближається до порогу інвертора і проводить там занадто багато часу, інвертор, схоже, плутається! Він генерує той невеликий вибух шуму, а потім робить щось, щоб відбити вхід до ВИСОКОГО, або просто зависає в такому "невизначеному" галасливому стані нескінченно до тих пір, поки вихід датчика знову НЕ ВИСОКИЙ / з руху (Приклад №1).
Щоб перевірити цю теорію, я замінив C1 на ковпачок, який у 10 разів менший, завдяки чому крива розряду зростає набагато крутіше і "вуалі!" - інвертор більше не плутається, і схема працює!
Звичайно, це перемагає мету С1, оскільки зараз це не забезпечує стільки затримок, скільки я хочу. Я не впевнений, чому у мене не було такої проблеми з інвертором на макетній дошці, але це припускає, що може бути дуже просте виправлення, яке може вирішити цю проблему. Я читав, що дошки мають велику "бродячу" ємність, тож, можливо, мені просто потрібно кудись стратегічно додати дещо більше конденсаторів? Будь-які ідеї?
EDIT 2: Надання зверху, оскільки деякі коментатори просили його: