LinuxCNC + Orange Pi
Подключение устройств

На платках Orange Pi есть стандартная 40-пиновая гребёнка. Такая же как на платах Raspberry Pi. Из 40 пинов доступно 28 под входы и выходы пользователя. Этого кол-ва вполне достаточно для большинства ЧПУ задач, будь-то фрезер, лазер или 3D принтер. Подробную распиновку с номерами и названиями пинов смотрите на картинке.
Кроме основной гребёнки пинов на плате есть несколько дополнительных выводов. В их числе - 2 светодиода, кнопка и 3 пина для отладки (USART) и 24-х пиновый разъём для камеры. Все эти выводы вы тоже можете использовать в своих целях.
Чтобы подключить к плате какие-либо устройства, нужно уточнить назначение каждого пина в вашей конфигурации LinuxCNC/Machinekit. Для этого откройте HAL файл вашей конфигурации. На рабочем столе должна быть ссылка на папку со всеми конфигурациями.
Итак, вы хотите подключить драйвер шагового мотора. Прокрутите HAL файл конфигурации немного вниз, пока не увидите таблицу с назначением пинов. В данном примере сигнал STEP оси Х идёт на пин №5, а сигнал DIR - на пин №7. Сигнал подачи питания на мотор оси Х (ENABLE) идёт на пин №19. Берём провода и подключаем их по схеме.
Если вам надо управлять высоковольтной нагрузкой, шпинделем, помпой, пылесосом и т.д., к платке можно подключить релейный модуль. В данном примере управление включением шпинделя идёт на 16-ый пин. А выходной пин экстренного останова - на пин №3.
Индуктивные датчики в станках с ЧПУ используются очень часто. В данном примере мы подключим 3-х выводной NPN датчик. В таблице назначения пинов, вход датчика станочного нуля оси Х идёт на пин №33. Подключаем чёрный провод к пину №33, синий - к сигналу GND, а тёмно-красный на пин 5V. Несмотря на то, что датчик требует напряжение минимум в 10V, от 5V он тоже будет работать.
Если вам нужна развязка для защиты GPIO пинов, можете использовать вот такой лайфхак. В данном примере используется народная плата развязки, переходник на DB25 и кусочек IDE кабеля (40 пинов).