Изготовление шагового двигателя при помощи 3D-печати


Пример, как можно сделать шаговый двигатель, используя 3D-печать, один подшипник, 8 гвоздей, 6 магнитов и моток медной проволоки.
Чтобы заставить этот двигатель шевелиться, разумеется, используется контроллер Arduino.

Схема включения:
Схема подключения шагового двигателя к Arduino

Скетч:

/*
01010000011100100110111101110100011011110010000001000111

3D Printed Stepper Motor

Created August 15, 2015
Modified August 15, 2015
by Anthony Garofalo (Proto G)

Visit my YouTube channel here: https://www.youtube.com/channel/UCpTuKJrXFwybnpOG7HpTpZw
Visit my Instructables page here: http://www.instructables.com/member/Proto+G/

  _____   ______  _____  _______  _____        ______
 |_____] |_____/ |     |    |    |     |      |  ____
 |       |    \_ |_____|    |    |_____|      |_____|

01010000011100100110111101110100011011110010000001000111
*/



int Delay;
int reverseSwitch;

void setup() {
  // initialize digital pin 13 as an output.
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);

  pinMode(13, OUTPUT);   //led pin for visual
  pinMode(6, INPUT);     //toggle switch is connected to digital pin 6 for reversing direction

}


void loop() {

  reverseSwitch = digitalRead(6);

  if(reverseSwitch == HIGH){//if the reverse switch is high, spin the rotor counter clockwise

  Delay = analogRead(0);
  Delay = map(Delay, 0, 1023, 60, 2000);

  digitalWrite(12, HIGH);
  digitalWrite(13, HIGH);
  delay(Delay);
  digitalWrite(12, LOW);
  digitalWrite(13, LOW);
  delay(5);

  Delay = analogRead(0);
  Delay = map(Delay, 0, 1023, 60, 2000);

  digitalWrite(11, HIGH);
  delay(Delay);
  digitalWrite(11, LOW);
  delay(5);

  Delay = analogRead(0);
  Delay = map(Delay, 0, 1023, 60, 2000);

  digitalWrite(10, HIGH);
  digitalWrite(13, HIGH);
  delay(Delay);
  digitalWrite(10, LOW);
  digitalWrite(13, LOW);
  delay(5);

  Delay = analogRead(0);
  Delay = map(Delay, 0, 1023, 60, 2000);

  digitalWrite(9, HIGH);
  delay(Delay);
  digitalWrite(9, LOW);
  delay(5);

  }

  else{//if the reverse switch is not high, spin the rotor clockwise


  Delay = analogRead(0);
  Delay = map(Delay, 0, 1023, 60, 2000);

  digitalWrite(9, HIGH);
  digitalWrite(13, HIGH);
  delay(Delay);
  digitalWrite(9, LOW);
  digitalWrite(13, LOW);
  delay(5);

  Delay = analogRead(0);
  Delay = map(Delay, 0, 1023, 60, 2000);

  digitalWrite(10, HIGH);
  delay(Delay);
  digitalWrite(10, LOW);
  delay(5);

  Delay = analogRead(0);
  Delay = map(Delay, 0, 1023, 60, 2000);

  digitalWrite(11, HIGH);
  digitalWrite(13, HIGH);
  delay(Delay);
  digitalWrite(11, LOW);
  digitalWrite(13, LOW);
  delay(5);

  Delay = analogRead(0);
  Delay = map(Delay, 0, 1023, 60, 2000);

  digitalWrite(12, HIGH);
  delay(Delay);
  digitalWrite(12, LOW);
  delay(5);

  }

}

UPD 2015-08-27
Если добавить колечко сигнальных светодиодов — работа шагового двигателя станет ещё нагляднее:

Ссылки
3D Printed Stepper Motor
3D Printed Stepper Motor V1.1

По теме
LogoBot — простой робот для изготовления при помощи 3D-печати
Arduino позволяет вскрыть навесной замок за несколько секунд


Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна конкурс манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение