tariel.ge › Полезное: бесплатные книги › Учебник по механике и механизмамБесплатно · автор Тариел Бежанидзе
← Учебник по механике ЛИСТ 24БЛОК 5 — МОСТ К ЭЛЕКТРОНИКЕ · ФИНАЛРЕВ. 1
Глава 24 · Финальный проект

Механизм + привод + Arduino — автоматизированный линейный слайдер

Последняя глава книги — не новая теория, а сборка: донорский ходовой винт из главы 20, шаговый двигатель из главы 22, направляющая на подшипнике из главы 11 и код Arduino, считающий шаги в миллиметры по формуле из главы 17.

Что собираем и зачем

Автоматизированный линейный слайдер — платформа, которая по команде перемещается на точно заданное расстояние вдоль направляющей и возвращается в исходную точку. Это не абстрактная демонстрация — тот же принцип лежит в основе оси любого станка с ЧПУ, привода фокуса камеры, автоматической подачи материала. Ценность этого проекта — не в сложности, а в том, что он использует по-настоящему каждый блок книги.

Список компонентов

КомпонентИсточник
Ходовой винт с гайкойДонорский сканер или CD/DVD-привод (глава 19–20)
Направляющий вал + линейный подшипник/втулкаТот же донор (глава 11)
Шаговый двигатель (обычно униполярный или биполярный, 4–6 проводов)Тот же донор (глава 22)
Оптический датчик исходного положения (фотопрерыватель)Донорский принтер/сканер (глава 19)
Упругая муфта между валом двигателя и винтомНовая деталь или донорская (глава 12) — компенсирует неизбежную несоосность при сборке на скорую руку
Драйвер шагового двигателя (например, A4988/DRV8825 или готовый модуль под конкретный тип обмотки)Новый
ArduinoИз практического курса по электронике
Крепёжные винты, рама/основаниеНовые/донорские (глава 13)

Механическая сборка

Шаговый
двигатель
→
Упругая
муфта
→
Ходовой
винт
→
Каретка
(гайка + подшипник)
Зачем обязательно нужна муфта, а не жёсткое соединение

Прямая жёсткая посадка вала двигателя на винт без муфты (глава 12) требует идеальной соосности, недостижимой при ручной сборке на скорую руку — малейшая несоосность будет передаваться прямо на подшипники двигателя, ускоряя их износ и создавая заметное биение. Простая упругая муфта — недорогое и эффективное решение именно этой практической проблемы, разобранной в главе 12 не просто ради теории.

Каретка (гайка ходового винта, механически связанная с линейным подшипником на направляющем валу) — рабочий орган, чья позиция и есть то, чем управляет вся электроника дальше. Датчик исходного положения устанавливается так, чтобы каретка пересекала его луч в одном известном крайнем положении хода.

Расчёт: от миллиметров к шагам

Прежде чем писать код, нужно знать конкретные параметры своих деталей: ход винта (глава 17, часто выбит на корпусе донора или измеряется вручную — сделай оборот винта рукой и штангенциркулем измерь смещение гайки, глава 21) и число шагов на оборот двигателя (глава 22, часто указано на корпусе двигателя, например "1.8°/step" → 200 шагов на оборот).

Формула, применённая на практике

Шагов на миллиметр = (шагов на оборот) / (ход винта в мм). Например, 200 шагов на оборот, ход винта 2 мм: 200 / 2 = 100 шагов на миллиметр. Чтобы переместить каретку на 15 мм, нужно послать 15 × 100 = 1500 шагов.

Код Arduino

const int stepPin = 3;
const int dirPin = 4;
const int homeSensorPin = 2;

const float stepsPerMm = 100.0; // из расчёта выше — подставь свои значения

void setup() {
  pinMode(stepPin, OUTPUT);
  pinMode(dirPin, OUTPUT);
  pinMode(homeSensorPin, INPUT);
  homeAxis();
}

void homeAxis() {
  digitalWrite(dirPin, LOW); // направление к датчику
  while (digitalRead(homeSensorPin) == HIGH) {
    digitalWrite(stepPin, HIGH);
    delayMicroseconds(800);
    digitalWrite(stepPin, LOW);
    delayMicroseconds(800);
  }
  // каретка на датчике — это и есть позиция "0"
}

void moveToMm(float targetMm) {
  long steps = (long)(targetMm * stepsPerMm);
  digitalWrite(dirPin, HIGH); // направление от датчика
  for (long i = 0; i < steps; i++) {
    digitalWrite(stepPin, HIGH);
    delayMicroseconds(800);
    digitalWrite(stepPin, LOW);
    delayMicroseconds(800);
  }
}

void loop() {
  moveToMm(15.0); // переместиться на 15 мм от нуля
  delay(2000);
  homeAxis(); // вернуться к датчику, "обнулиться" заново
  delay(2000);
}

Обрати внимание на функцию homeAxis() — она нужна именно потому, что шаговый двигатель работает без обратной связи (глава 22): после включения питания система не знает реальную позицию каретки, пока не найдёт физически известную точку — датчик. Если бы вместо шагового двигателя использовался сервопривод с энкодером (глава 23), эта процедура поиска нуля вообще не потребовалась бы — привод знал бы своё положение сразу при включении.

Калибровка и проверка точности

После сборки — обязательная проверка: скомандуй перемещение на известное расстояние (например, 20 мм) и измерь реальное перемещение штангенциркулем (глава 21). Расхождение может означать неточно измеренный ход винта, погрешность в подсчёте шагов на оборот, проскальзывание в муфте при недостаточной затяжке (глава 13) или потерю шагов двигателем из-за слишком высокой скорости движения относительно доступного момента (глава 22) — диагностика конкретной причины прямо опирается на понимание, накопленное во всех предыдущих главах книги.

Итог всей книги

От силы и момента в первой главе до автоматизированного слайдера, считающего собственное перемещение в шагах, — 24 главы были построены так, чтобы поздние решения опирались на ранние: КПД из главы 03 объясняет, почему выбор между ходовым винтом и рейкой не сводится к одной цене; трение из главы 04 объясняет разницу между подшипником качения и скольжения; самоторможение винта из главы 02 всплывает в главах про ШВП и зубчато-реечную передачу как сознательный компромисс, а не случайное совпадение. Именно так механика — как и электроника в других книгах этой серии — становится не набором отдельных фактов, а связной картиной, которая продолжает работать на любой новый механизм, который попадёт в руки после этой книги.

Глава24 — Финальный проект
Блок5 — Мост к электронике — финал
Далее— (конец учебника)
СтатусГотово · рев. 1
Предыдущая глава ← 23 · Сервоприводы Учебник завершён К оглавлению →

Книга бесплатна для чтения. Автор — Тариел Бежанидзе, компьютерный мастер в Батуми · tariel.ge · все бесплатные книги. Копировать текст целиком на другие сайты — только со ссылкой на источник.