[Те, кто хочет закрыть вопрос, думают, что понимание того, как электронный интерфейс взаимодействует с программным обеспечением, не то, что должен знать инженер-программист, имеет ограниченное представление о программном обеспечении. Встраиваемые системы в основном касаются того, как программное обеспечение взаимодействует с аппаратным обеспечением, а также практических знаний об оборудовании и о том, как работают интерфейсы, являются необходимостью для инженеров встраиваемых систем. Базовые знания в области электроники чертовски полезны. Я знаю многие из моих «вопросов программирования» за десятилетия о том, как писать драйверы устройств, и отвечал на них, рассматривая схему устройства. (Большой злодей знает это и ответил другим решением)]
Можно легко преобразовать сигнал 0 В / 24 В постоянного тока в 0 В / 5 В, используя пару резисторов R1 и R2, соединенных последовательно R1, а затем R2 из сигнала 24 В на землю. Выберите R1 и R2 так, чтобы отношение сопротивлений R1 к R1 + R2 составляло 5/24. Нажмите на сигнал, что соединение между R1 и R2 в качестве логического сигнала; этот сигнал будет 0 В, когда сигнал реле 0 В, и будет 5/24 * 24 В -> 5 В, когда сигнал реле 24 В. Поскольку цифровой логике не нужно «качаться до рельсов», чтобы быть правым, я бы соблазнился выбрать отношение R1 к R1 + R2 несколько меньшим, чем 5/24, позволяя сигналу реле быть немного слишком высоким Вероятно, вам нужны только новые наноамперы тока, так что резистор 5М и 19М, вероятно, подойдет.
Да, в логической точке вы могли бы услышать вибрацию реле (это не вызвано резисторами!). Есть и другие способы исправить это, как правило, с использованием какого-то одного выстрела или просто с использованием конденсатора.