Результаты появятся здесь...
Профессиональный онлайн-инструмент выполняет перевод между кодом энкодера и физическими величинами (угол, обороты, импульсы, линейное перемещение), рассчитывает разрешение (отсчётов на оборот) с учётом коэффициента квадратуры, конвертирует в/из кода Грея, помогает подбирать шаг винта/передаточное отношение и даёт простые валидации и графические подсказки — скорость, импульсы на перемещение. Программа пригодится:
- Системным инженерам и механикам при подборе энкодера и настройке привода.
- Разработчикам ПЛК/ПИД-контроллеров для сопоставления сигналов энкодера и реального перемещения.
- Сервисным инженерам при диагностике несоответствий считываемого кода и механики.
Как пользоваться
- Выберите тип энкодера: инкрементальный (импульсы A/B/Z) или абсолютный (код/значение по углу).
- Укажите базовое разрешение: PPR (pulses per revolution) для инкрементальных или число бит для абсолютных.
- Выберите коэффициент квадратуры (x1/x2/x4) — это множитель для counts/rev.
- Заполните дополнительные поля: шаг винта (мм/об), передаточное отношение, смещение нуля (offset), частоту импульсов или требуемое перемещение.
- Нажмите «Декодировать» чтобы получить угол/оборот/форматы или «Закодировать» чтобы получить код/импульсы для заданного значения.
- Используйте «Посчитать скорость» и «Импульсы → перемещение» для профессиональных расчётов и визуальной проверки.
Что делает калькулятор
- Переводит код (HEX/BIN/DEC/Gray) → угол, число импульсов, обороты.
- Переводит угол/заданное линейное перемещение → требуемое количество импульсов и код (с учётом ratio и lead).
- Подсчитывает отсчётов на оборот с учётом квандратуры: counts = PPR × coefficient.
- Конвертирует бинар ↔ Gray код для абсолютных энкодеров.
- Показывает скорость (RPM, °/с, мм/с) при заданной частоте сигналов.
- Визуализирует синтетические диаграммы RPM/импульсы (малые графики для быстрой проверки).
- Выполняет базовую валидацию диапазонов (например, код вне разрешённого диапазона, нулевой шаг винта и т.п.).
Основные формулы
Отсчётов на оборот, с учётом квадратуры:
$$ \text{counts} = \begin{cases}
\mathrm{PPR} \times K_q, & \text{инкрем.} \\
2^{\text{bits}}, & \text{абсол.} \\
\end{cases} $$
Конверсия код ↔ угол:
$$
\theta = \frac{\text{code}}{\text{counts}} \times 360^\circ,
$$
$$
\text{code} = \left\lfloor \frac{\theta}{360^\circ}\times \text{counts} \right\rceil
$$
Импульсы → линейное перемещение (винтовая передача):
$$ N_{\text{p}} = \frac{D~(\text{mm})}{\text{lead}~(\text{mm/rev})} \times \text{counts} \times R_{\text{gear}} $$
где \(R_{\text{gear}}\) — отношение передачи (например, 1:10 → 0.1 или в интерфейсе вы задаёте как строку «1:10» и конвертируете соответственно).
Частота → RPM / mm/s:
$$
\text{RPM} = \frac{f_{\text{Hz}}}{\text{counts}} \times 60,
$$
$$
v_{\text{lin}} = \frac{\text{lead} \times \text{RPM}}{60}
$$

Валидация и полезные проверки
- Проверьте, что counts не превышают возможности контроллера (чтение/обработка импульсов).
- Если используете Gray-код — при вводе текста калькулятор попытается распознать «0b…» или признаки Gray; для абсолютных энкодеров предоставьте опцию «Gray / Bin». При сомнении — задайте «binary» и используйте встроенный конвертер.
- Для инкрементального энкодера указывайте коэффициент квадратуры правильно — в документации энкодера обычно указано «x1/x2/x4». В интерфейсе подсказывайте, что x4 даёт максимальное разрешение (все 4 перехода).
- Для линейного перемещения убедитесь, что задан корректный шаг винта и отношение передачи; неверный знак ratio может инвертировать направление расчёта.
- Старайтесь не использовать избыточное округление: в результирующих значениях калькулятор убирает незначащие нули и показывает разумное число знаков после запятой.
Диагностика ошибок сигналов
- Пропуск импульсов: сравните рассчитанную скорость (по частоте) и ожидаемую механическую скорость; расхождение говорит о потере импульсов или неправильном коэффициенте квадратуры.
- Шум/дребезг: при высоких скоростях проверьте линию питания, экранирование кабеля, правильную развязку сигналов A/B и опторазвязки.
- Неправильный Gray: при «прыжках» кода между соседними значениями проверьте порядок бит и фазировку — Gray изменяет только один бит при переходе на соседний угол.
Рекомендации по настройке
- Для высоких скоростей используйте x4, если сервер/контроллер справляется с большей частотой событий.
- Если требуется высокая точность позиционирования по углу (без накопления ошибок), предпочитайте абсолютные энкодеры.
- При использовании абсолютного энкодера с Gray-кодом реализуйте корректную конверсию при чтении (аппаратное обеспечение и встроенное ПО) — это упрощает обработку при переходах между позициями.
- Используйте индекс Z для точной привязки нулевой позиции (особенно важно для систем с вынужденным обнулением при запуске).

Формат вывода результатов
- Для декодирования: «Counts / MaxCounts», «Угол (°)», «Обороты (полные)», «Форматы: DEC / HEX / BIN / GRAY».
- Для кодирования: «Выходной код (в выбранном формате)» и «DEC (число импульсов)».
- Для скорости: «Counts/rev», «Frequency (Hz)», «RPM», «°/s», «Linear mm/s (при заданном lead)».
- Для импульсов → перемещение: «Revs needed», «Counts needed», «Pulses needed» с учётом ratio.
Типовые PPR → counts при x1/x2/x4
| PPR | x1 | x2 | x4 |
|---|---|---|---|
| 128 | 128 | 256 | 512 |
| 256 | 256 | 512 | 1024 |
| 512 | 512 | 1024 | 2048 |
| 1024 | 1024 | 2048 | 4096 |
| 2048 | 2048 | 4096 | 8192 |
Абсолютные энкодеры — биты → counts
| Биты | Counts (2^N) |
|---|---|
| 8 | 256 |
| 10 | 1024 |
| 12 | 4096 |
| 14 | 16384 |
| 16 | 65536 |
- Программа делает квазистатические преобразования — она не моделирует динамику контроллера, пропуск импульсов по прерываниям, задержки шины и так далее.
- При использовании в реальной системе учитывайте шумовые характеристики кабеля, экранирование и согласование уровней (TTL/HTL/RS422).
- Абсолютные энкодеры могут выводить данные по протоколам (SSI, BiSS, EnDat и др.) — здесь рассматривается только логика соответствия код↔угол, а не протокольный обмен.
Советы по отладке
- Сделайте простой тест: задайте низкую частоту и проверьте, что декодированный угол изменяется плавно и линейно с ручным поворотом валa.
- Проверяйте индекс Z: он даёт однозначную привязку и полезен для коррекции накопленной ошибки у инкрементальных систем.
- Для проверки Gray-кода попробуйте последовательные значения и убедитесь, что между соседними кодами меняется ровно 1 бит.
Итого, данный калькулятор — не замена инженерному анализу, но он даёт быстрые, проверяемые и воспроизводимые расчёты для подбора энкодеров, настройки привода и диагностики. Используйте его как рабочий инструмент при разработке и первичной наладке, а для финальных схем всегда проводите испытания под нагрузкой и проверку помехозащищённости.







