Про вашу схематичність:
Все здається прекрасним, ви можете збільшити R2 до 10k або навіть 100k, ємність MOST настільки мала, Вентилятор матиме набагато більше інерції обертання, ніж затримка вимкнення MOST, ймовірно, навіть з 1М. Таким чином, розташування ваших 100R не має значення, і при цьому ви не витрачаєте жодних маків. Якщо ви ніколи не затримуєте de uC в режимі скидання, це технічно навіть не потрібно взагалі, оскільки ваш UC буде активно підтягувати його високо або низько.
Що стосується ШІМ-сигналу, ви можете побачити, чи дозволяє таблиця даних із зовнішнім підключенням до 12 В, хоча я сумніваюся, що це призведе до великої різниці в будь-якому випадку.
Про шум:
EDIT: Я неправильно прочитав ваш сюжет за кГц, що нерозумно, якщо ви думаєте про це, де це Гц. Частина моєї історії трохи зміниться (наприклад, про необхідність використання МГц для цифрової роботи), але загальна ідея залишається.
Я залишу всю посаду такою, якою є, але для сигналу 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 зразками, але це буде менше фактичної більшості, тому там знову можуть виникнути певні ризики.
Ви можете це зробити і зовні:
Але це вже набагато складніше, ніж додати простий фільтр, особливо коли ви дивитесь на результат із UC з певним гістерезисом у його вході. Але приємно думати, тому давайте:
моделювати цю схему
U1 - будь-який відповідний Op-Amp або Comperator. Конкуренти є кращими комутаторами, часто з кращими розгортаннями, але для суб-МГц OpAmp з гідною гойдалкою залізниця / рейка легко обійдеться.
Хоча цей тип гістерезису може бути побудований щонайменше на один резистор менше, цей простіший для пояснення і як такий простіший для модифікації.
Спочатку уявіть це без конденсатора:
По-перше, подивіться, що на дільник резистора впливає вихід U1, він потягне його трохи нижче від вищого через видимий опір 20 кОм. Скажімо, на позитивному вході U1 напруга 1,1 В округлюється вниз, коли його вихід 0, і 3,9 В - округлюється, коли його вихід 5В.
Якщо стаціонарний вхід Tacho Input високий, вихід 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ус, вони не можуть змінити напругу на конденсаторі, оскільки його RC-час становить 5ус. Це означає, що енергія в шипах вирівнюється до середнього. Оскільки ви бачите високі вершини та низькі занурення на шипах, цілком можливо, що середні показники будуть дуже близькими до 0В та 5В, але це можна сказати лише з кращими зображеннями, або просто експериментом. Оскільки ви подаєте його на штир UC, часу RC буде, ймовірно, достатньо, щоб побачити його як високий або низький. Це призведе до невеликих спотворень через повільнішу зарядку, ніж розрядку, викликану підтягуючим резистором. Деякі налаштування значень можуть дати результат, в якому це мізерно.
Якщо цього недостатньо, ви можете додати ще кілька компонентів, але ви дуже швидко перестараєтесь, коли ваш домінуючий шум принаймні в 10 разів "швидший", ніж ваш сигнал.
Ви можете додати індуктор 4,7uH послідовно з резистором, щоб згладити ще кілька високочастотних флангів, можливо, навіть 10uH.
Але якщо чесно сказати, у випадку "подачі його до UC" єдиною причиною експериментувати з L в сигналі вашого типу є пошук балансу, в якому R великий, C малий і L просто допомагає згладжувати деякі боки, так що R2 / R1 буде досить малим, щоб ігнорувати різницю в часі підйому та падіння. такі як R1 33k, C 150pF і L послідовно з R1 56uH. А може, феритова бусинка замість індуктора трохи залежить від різкості ваших шипів.
Але я б уже переосмислив це.