О вашей схеме:
Все выглядит хорошо, вы можете увеличить R2 до 10 кОм или даже до 100 кОм, емкость MOST настолько мала, у FAN будет гораздо большая инерция вращения, чем задержка выключения в MOST, возможно, даже с 1M. Таким образом, местоположение вашего 100R не имеет значения, и пока вы не тратите мА. Если вы никогда не удерживаете de uC в режиме сброса, это технически даже не требуется вообще, так как ваш uC будет активно тянуть его высоко или низко.
Что касается сигнала ШИМ, вы можете увидеть, допускает ли таблица данных внешнее напряжение до 12 В, хотя я сомневаюсь, что в любом случае это будет иметь большое значение.
По поводу шума:
РЕДАКТИРОВАТЬ: Я неправильно понял ваш график для кГц, что глупо, если вы думаете об этом, где это Гц. Часть моей истории немного изменится (например, разговор о необходимости МГц для цифровой работы), но общая идея остается.
Я оставлю весь пост как есть, но для сигнала 100 Гц с шумом 30 кГц вместо 100 кГц с шумом> 5 МГц (тоже не имеет смысла, не так ли?), Вы могли бы увеличить резисторы, которые взаимодействуют с конденсаторами в 10 раз, а также увеличьте конденсаторы в 50-100 раз. Это даст вам в 1000 раз более низкую частоту фильтрации во всех примерах. Но также можно просто увеличить конденсаторы в 10–20 раз, чтобы получить более резкие края или более быстрый отклик на интересующий вас сигнал, поскольку 30 кГц очень далеки от 100 Гц.
Так что считайте этот пост написанным для высоких частот и уменьшайте количество идей, чтобы их было гораздо проще реализовать! (Особенно цифровой отказ в 3.)
Конец редактирования
Поскольку у вас есть такой хороший вариант использования для работы с методами снижения шума, я постараюсь создать такой, который подходит для вашей ситуации.
Чтобы кто-нибудь читал, знайте:
Это только шум на цифровом сигнале
В цифровом сигнале вы можете сделать предположение, что вас интересуют только два напряжения: «включено» и «выключено». Все, что находится между ними, бессмысленно и принадлежит шуму или неправильности. В аналоговом сигнале вам необходимо знать о каждом уровне напряжения и выполнять некоторую фактическую фильтрацию с нагрузками C, L и т. Д.
Проблема в вашем сигнале состоит в том, что отрицательные пики шума на высоком уровне и положительные пики шума на низком уровне очень близки друг к другу, поэтому простой стандартный триггер, даже с регулируемым уровнем, не может абсолютно гарантировать, что вы никогда не получите смущенный.
Ваши варианты:
- Изменить уклон
- Изменить уровни напряжения
- Добавить "медленный" гистерезис
- Отфильтровать шум
1. Изменить смещение:
Позитив имеет очень низкие отрицательные пики, потому что ваше подтягивание не может выиграть от шума. Самая простая вещь, которую вы можете попробовать - это уменьшить это сопротивление. Существует риск, что это также увеличит пики сигнала выключения, что может не всегда работать. Но очень возможно, что это даст вам некоторое пространство между шипами, чтобы установить простой гистерезис.
2. Измените уровни напряжения
Вы можете легко, если это позволяет вентилятор, изменить Tacho на более высокий уровень напряжения и добавить промежуточное состояние:
смоделировать эту схему - схема, созданная с использованием CircuitLab
Теперь между высоким и низким пиками может быть достаточно места, чтобы MOST всегда был включен, даже когда есть отрицательные пики и всегда выключен, даже если есть положительные пики. Может потребоваться несколько диодов, стабилитронов или резисторов, чтобы получить заданное значение в новой ситуации, но если пики на отрицательном сигнале остаются такими, какие они есть, они не должны запускать MOSFET, пока вы этого не сделаете. замените его на тот, у которого порог затвора ниже 2В.
3. Добавьте «медленный» гистерезис:
Это трюк, который обычно используется, когда вы знаете, что сигнал с резким шумом по крайней мере на порядок больше, чем интересующий вас сигнал. Он немного задержит сигнал, поэтому его нельзя использовать в ситуациях, когда точный момент изменения вкл / выкл важно.
Но для сигнала, когда вы хотите знать только его форму или частоту, это очень надежный метод. Он в основном начинает срабатывать, когда напряжение пересекает порог, но завершает это действие только тогда, когда остается там. Есть много способов сделать это.
Вы можете сделать это в контроллере (что является самым простым в подсчете компонентов): вы можете запустить с фланга, а затем сэмплировать еще несколько значений на достаточной скорости, чтобы увидеть высокий уровень между всплесками шума, но не путайте с отсутствием целого периода низкого уровня. Затем вы делаете заранее определенное суждение, основываясь на знании вашего сигнала и шума. Например, если вы можете сэмплировать на частоте 10 МГц, вы можете захватить 50 сэмплов и быть уверенным, что самая высокая частота 100 кГц не будет проигнорирована, если вы будете следовать правилу большинства. Т.е. как минимум 25 должно быть низким, чтобы оно действительно было низким. Ваши пики только очень тонкие и в большинстве случаев это исходный сигнал, так что это может сработать, но число большинства можно отрегулировать. Это будет работать и с частотой 1 МГц и с 6 или 7 сэмплами, но фактического большинства будет меньше, поэтому здесь снова могут быть некоторые риски.
Вы также можете сделать это внешне:
но это уже НАМНОГО сложнее, чем добавление простого фильтра, особенно когда вы смотрите на результат с помощью ОК с некоторым гистерезисом на входе. Но об этом интересно думать, так что давайте:
смоделировать эту схему
U1 - любой подходящий операционный усилитель или компаратор. Операторы являются лучшими коммутаторами, часто с лучшими колебаниями, но для под-МГц операционный усилитель с приличным рельсом / рельсовым колебанием легко подойдет.
В то время как этот тип гистерезиса может быть построен по меньшей мере на один резистор меньше, этот легче объяснить и, следовательно, легче изменить.
Сначала представьте это без конденсатора:
Во-первых, обратите внимание, что на резисторный делитель влияет выход U1, он будет подтягивать его чуть выше и выше через видимое сопротивление 20 кОм. Допустим, на положительном входе U1 напряжение 1,1 В округляется в сторону уменьшения, когда его выход равен 0, и 3,9 В округляется в большую сторону, когда его выход составляет 5 В.
Если входной сигнал Tacho при установившемся режиме высокий, выход U1 будет низким из-за инвертирующего характера входа Tacho. Таким образом, отрицательный вход будет, опять же из-за дополнительного подтягивающего резистора, около 2,3 В. Поскольку положительный вход составляет всего 1,1 В, вход должен упасть ниже 2,2 В, чтобы отрицательный вход видел напряжение ниже, а выход переворачивался.
Когда выходной сигнал перевернется, отрицательный вход увидит 3,6 В (потому что в этот момент входной сигнал равен 2,2 В, выходной сигнал U1 равен 5 В, поэтому их среднее значение, составляющее резисторы 10 кОм, составляет около 3,6 В), но положительное значение входной сигнал переключится с 1,1 В на 3,9 В, так что отрицательный сигнал все еще находится ниже положительного входа, а выходной сигнал останется на уровне 5 В.
Если сигнал теперь быстро «прерывается» и переворачивается обратно, выходной сигнал U1 быстро возвращается обратно, но тогда пик уже должен был упасть ниже 2,2 В, так что это лучше, чем ничего.
Если сигнал упадет до 0, стабильная ситуация станет только сильнее, отрицательный вход упадет до 2,5 В (поскольку мы предполагаем, что тахограф FAN достаточно силен для понижения), а положительное значение будет примерно на уровне 3,9. V.
Теперь сигнал должен подняться выше 2,7 В, чтобы выход перевернулся в другую сторону. Скорее всего, 95% ваших шипов будут уже проигнорированы.
Добавление конденсатора:
При использовании конденсатора входящий сигнал должен обеспечивать достаточное количество энергии в течение времени, достаточного для зарядки или разрядки конденсатора. По сути, это уже RC-фильтр. Любой всплеск, который быстро погружается, а затем восстанавливается, не сможет разрядить конденсатор.
Значение C, конечно, зависит от исходного сигнала и шумового сигнала. У меня есть припаркованный мяч 510pF для сигнала источника 100 кГц против длительности пика 1us, но на самом деле я не особо разбираюсь в математике, это просто интуиция, основанная на времени RC, что это может быть близко к тому, что будет работать.
4. Отфильтровать шум
Это немного похоже на фильтрацию аналогового сигнала. Вы можете использовать простую сеть RC, как обсуждалось в предыдущем разделе:
смоделировать эту схему
Поскольку пики шума не превышают 1 мкс, они не могут вносить значительных изменений в напряжение на конденсаторе, поскольку время его срабатывания составляет 5 мкс. Это означает, что энергия в шипах сглаживается до среднего. Поскольку вы видите высокие вершины и низкие провалы на шипах, даже возможно, что средние значения будут очень близки к 0 В и 5 В, но это можно сказать только с лучшими фотографиями или просто экспериментом. Поскольку вы подаете его на вывод uC, RC-времени, вероятно, будет достаточно, чтобы увидеть его как высокое или низкое. Это даст небольшое искажение из-за более медленной зарядки, чем разрядка, вызванной подтягивающим резистором. Некоторое изменение значений может привести к результату, который незначителен.
Если этого недостаточно, вы можете добавить еще несколько компонентов, но вы очень быстро переусердствуете, когда ваш доминирующий шум по крайней мере в 10 раз «быстрее» вашего сигнала.
Вы можете добавить индуктор 4,7 мкГн последовательно с резистором, чтобы сгладить еще несколько высокочастотных фронтов, возможно, даже 10 мкГн.
Но, честно говоря, в случае «подачи его в ОК» единственная причина поэкспериментировать с L в сигнале вашего рода - это найти баланс, в котором R велико, C мало, а L просто помогает сгладить некоторые фланги, так что R2 / R1 будет достаточно маленьким, чтобы игнорировать разницу во времени подъема и спада. такие как R1 33k, C 150pF и L последовательно с R1 56uH. Или, может быть, ферритовый шарик вместо индуктора, немного зависит от остроты ваших шипов.
Но уже обдумав это, я бы сказал.