Взагалі, до чого я відділив цю тему? Я просто знайшов цікаве напівбезкоштовні рішення.
Це рішення не завжди працює. Все залежить від рівня напруги логічної одиниці PNP-входу і здатності навантаження NPN-датчика. Візьмемо типове рішення: PNP-вхід контролера S7-1200 фірми Сіменс і NPN-датчик з максимальним навантаженням 200 мА.
Про дискретні входи CPU і модулів SM S7-1200 відомо:
Номінальна напруга 24 В пост. струму при 4 мА (номінальне значення)
Логічний сигнал 1 (хв.) 15 В пост. струму при струмі 2,5 мА
Логічний сигнал 0 (макс.) 5 В пост. струму при струмі 1 мА
Внутрішній опір входу Rвх = 24 В / 0,004 А = 6000 Ом.
Пропонована схема являє собою підтяжку до харчування:
Підтяжка до пітанію.gif
Розрахунок досить простий, закон Ома в два дії. Коли контакт SQ1 розімкнути на вході DI1 з'являється напруга 24 * 6 / (6 + 1) = 20,5 В і контролер розуміє це як логічний одиницю. Коли контакт SQ1 замкнутий на вході з'являється надійні 0 В і контролер сприймає це як логічний нуль. Залишається тільки перевірити, чи не перевантажений вихід датчика SQ1 в замкнутому положенні. Струм в цьому випадку дорівнює 24/1000 = 24 мА, що значно нижче граничних 200 мА. Отже, схема повинна працювати.
Не забуваємо про нюанс такої схеми: сигнал від датчика SQ1 інвертується.
Якщо опір R1 збільшувати, то напруга логічної одиниці може впасти нижче критичних 15 В. Якщо опір R1 зменшувати, то можливе перевантаження виходу датчика. Таким чином опір вибирається за двома суперечливим критеріям, тому для працездатності схеми важливі невисокий рівень логічної одиниці і хороша здатність навантаження датчика.
Аналогічним чином PNP-датчик може бути підключений до NPN-входу, тільки там проводиться підтяжка ні до харчуванню, а до землі.
Хотілося б прикинути, як схеми підтягування до харчування і до землі впливають на частотні характеристики сигналів, що важливо при роботі з сигналами енкодерів.
Вікіпедія, Підтягаючий резистор писал (а): При проектуванні логічних схем доводиться розраховувати опір підтягує резистора, при цьому відомі ємність входу і граничне напруження. Час спаду або наростання пропорційно опору підтягує резистора, тобто, наприклад, при збільшенні опору вдвічі час спаду або наростання збільшиться вдвічі.