У меня довольно простая схема, которая отлично работает на макете, но у меня много проблем с переносом ее на печатную плату. Я вижу очень странное поведение, которое лежит за пределами моего текущего опыта, поэтому я надеюсь получить совет.
Схема реализует датчик движения Wi-Fi, хотя проблема, с которой я сталкиваюсь, возникает еще до того, как я доберусь до радиочастотной части, или даже от части диаграммы UC:
Я обвел ту часть, которая испытывает проблемы.
R3 - это понижающий резистор, который необходим, потому что AMN42121 управляет выходом HIGH, когда обнаруживается движение, но оставляет его висящим без движения, поэтому необходимо падение.
Я использовал C1, чтобы сгладить переход между движением и отсутствием движения. С1 медленно и плавно переводит выходной уровень в НИЗКИЙ, поэтому после нескольких секунд бездействия достигается состояние «без движения».
Инвертор есть, внешние прерывания b / c attiny срабатывают по НИЗКОМУ уровню, поэтому мне нужно инвертировать логику. К сожалению, мне пришлось использовать такой большой пакет DIP для одного инвертора, но я не мог найти ничего другого.
Я сделал двухстороннюю плату для этой схемы, которая выглядит следующим образом:
Опять же, я пока собрал только обведенную область.
После пайки S1, R3 и C1, я получаю следующий сигнал с выхода датчика:
Это именно то, что я хочу увидеть, так что до этого момента все в порядке.
Далее я припаял разъем для IC2 и подключил инвертор. Здесь начинаются загадки. Сначала все было хорошо, но через некоторое время возиться с платой схема внезапно перестала работать. Когда я помещаю пробник на выход датчика, вместо приятного сигнала, который мы видели выше, я вижу изменения в следующих двух примерах:
Пример 1:
Пример 2:
Обратите внимание, что в отличие от первого примера, сигнал во втором примере не генерируется движением - эта форма зуба пилы возникает сама по себе без каких-либо действий от меня.
После многих испытаний я смог установить следующее:
- Отключение инвертора от розетки приводит к нормальной работе датчика.
- Отключение питания инвертора, оставляя его включенным, приводит к срабатыванию датчика.
- Использование другого инвертора не имеет никакого эффекта.
- Обливание платы средством для удаления флюса или ацетона и очистки щеткой иногда заставляет датчик работать снова, но очень кратко. В какой-то момент я смог сделать сигнал похожим на это с помощью агрессивной чистки зубной щеткой:
Обратите внимание, что даже на этом последнем изображении сигнал не возвращается на НИЗКИЙ уровень полностью. Эффект исчез, как только я перестал чистить зубы.
Пока что это указывает на некоторый дефект пайки, за исключением того, что я действительно не вижу проблемы. Я тщательно просмотрел доску с мощным увеличением и проверил все места, которые мог придумать, на предмет непрерывности - все проверяется. Вот крупный план работы пайки на разъеме IC и датчике:
У меня сейчас нет идей, поэтому любые советы будут с благодарностью. Спасибо.
РЕДАКТИРОВАТЬ:
Я только что обнаружил что-то интересное. Более внимательное изучение примера № 2 (сигнал формы зуба пилы) показывает, что нисходящий уклон является сегментом ожидаемой кривой разряда С1. Когда уровень напряжения приближается к порогу инвертора и проводит там слишком много времени, инвертор, похоже, запутался! Он генерирует этот небольшой всплеск шума и затем делает что-то, чтобы отбросить вход обратно в ВЫСОКИЙ, или просто зависает в этом «неопределенном» шумовом состоянии на неопределенное время, пока выходной сигнал датчика снова не станет ВЫСОКИМ во время движения (пример № 1).
Чтобы проверить эту теорию, я заменил С1 крышкой, которая в 10 раз меньше, что делает кривую разряда намного круче и "вуаля!" - инвертор больше не запутывается и схема работает!
Конечно, это противоречит цели C1, поскольку теперь она не обеспечивает столько задержек, сколько я хочу. Я не уверен, почему у меня не было этой проблемы с инвертором на макете, но это действительно говорит о том, что может быть очень простое решение, которое может решить эту проблему. Я читал, что макеты имеют большую «паразитную» емкость, так что, возможно, мне просто нужно стратегически добавить еще несколько конденсаторов? Любые идеи?
РЕДАКТИРОВАТЬ 2: Предоставление вид сверху, так как некоторые комментаторы просили его:
источник
Ответы:
РЕДАКТИРОВАТЬ - из-за моей неверной интерпретации схемы я редактирую ответ, чтобы сосредоточиться на выходе датчика - используете ли вы аналоговый выход для подачи в инвертор - если вы, возможно, вам следует попробовать триггер Шмитта, как 74HC14
источник
Без детального изучения схемы очевидно, что у вас нет развязывающих конденсаторов.
Припой один через контакты питания каждого чипа.
Кроме того, ваш комментарий «очистка заставляет это работать» предполагает, что у вас есть сухое соединение или прерывистое соединение где-то. Внимательно осмотрите всю свою пайку.
Что касается DIL-чипа, который может быть излишним, вы могли бы просто использовать транзистор и установить время задержки в программном обеспечении.
источник
Похоже, вашей главной заботой является снижение энергопотребления.
AMN42121 потребляет около 50 мкА непрерывно. 74HC04 потребляет около 20 мкА непрерывно. ATTINY85 потребляет около 300 мкА с перерывами, когда проснулся. Радио будет использовать миллиамперы при передаче.
Как часто будет срабатывать датчик? Вы делали какие-либо расчеты мощности, чтобы оценить срок службы батареи?
Я предлагаю вам отказаться от инверторного и «замедляющего» конденсатора, подключить датчик непосредственно к MCU с понижением на 10 Кб согласно таблице данных датчика и записать логику задержки в MCU.
[РЕДАКТИРОВАТЬ] Хотя у вас есть некоторые ошибки, я рад видеть, что вы тестируете свою схему поэтапно. Это намного проще, чем пытаться найти завершенный проект.
источник