Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Инкрементальные энкодеры часто используются в промышленных приложениях, таких как робототехника или отслеживание местоположения. Энкодеры для промышленного применения в основном поставляются с дифференциальным интерфейсом RS422.
В этом небольшом проекте я покажу, как использовать промышленный инкрементальный энкодер - в нашем случае SICK DFS60 - с Arduino UNO.
Шаг 1. Инструменты и материалы
Материалы
- Arduino UNO
- 3x RS422 Shield для Arduino
- инкрементальный энкодер (Sick DFS60)
Инструменты
- Отвертка
- лабораторный источник питания
Шаг 2: некоторые основы
Выход RS422 кодера используется только на аппаратном уровне. Последовательный протокол не будет передаваться через RS422. Только импульсы самого энкодера напрямую передаются через 3 разных канала RS422: SIN, COS и Z (нулевое положение).
Из-за 3 независимых каналов RS422 нам нужно 3 входа RS422 для Arduino. Для этой цели я использовал 3 щита для Arduino RS422 / RS485, установленных на одном Arduino.
Шаг 3: Установка двухпозиционного переключателя экранов RS422
Настройка DIP-переключателя для любого экрана одинакова:
- S1: ВКЛ, ВЫКЛ, ВЫКЛ, ВЫКЛ (приемник всегда включен / передатчик всегда выключен)
- S2: ВЫКЛ., ВЫКЛ., ВКЛ., ВКЛ.
- S3: ВКЛ, ВЫКЛ, ВЫКЛ, ВЫКЛ (согласующий резистор включен)
Шаг 4: Установка перемычек щитов RS422
Установка перемычки для любого щита разная. В зависимости от подключенного канала вывод RX настроен на:
- Z: D2
- COS: D3
- ГРЕХ: D4
Перемычка напряжения JP1 должна быть установлена на 5 В.
Шаг 5: Подключение
Энкодер может питаться от лабораторного источника питания или напрямую от 5 В Arduino UNO.
Шаг 6. Программное обеспечение и тестирование
Скомпилируйте прикрепленный файл INO в среде Arduino IDE. После загрузки проекта в Arduino вам необходимо открыть монитор последовательного порта со скоростью 115200 бод.
Вы увидите текущее значение приращения (обновлено все 0, 5 с) и текущий статус энкодера….