完成写真
動かすモーター
今回はオリエンタルモーターの5相ステッピングモーターPKE599ACを動かしてみたいと思います。
【公式】オリエンタルモーター 5相ステッピングモーター PKE599AC
仕様
- 取付角寸法 85 mm
- 励磁最大静止トルク 4.1Nm
- 定格電流 0.75
- 入力電流 単相200-240V 2.2
モーターのドライバー
- 電源容量 単相200-240V 2.2 A以上
- 電源入力 電圧 単相200-240 V
5V用のSTEP、DIR信号に加えて24Vの入力端子があります。便利ですね。
こんな感じで24VのMOSFET出力から普通につなげるだけで動きます。
AccelStepperのインストール方法
- VSCodeを開き、PlatformIOのホームページにアクセスします。
- PlatformIOのプロジェクトを開くか、新しいプロジェクトを作成します。
- プロジェクトのplatformio.iniファイルを開きます。
- lib_depsセクションにAccelStepperを追加します。例:lib_deps = AccelStepper 設定を保存して、PlatformIOがライブラリを自動的にダウンロードしてインストールするのを待ちます。
サンプルコード
#include <Arduino.h>
#include <AccelStepper.h>
#include "openi_iot.h"
// モーター1のピン設定
#define motor1Step GA1
#define motor1Dir GA2
// モーター2のピン設定
#define motor2Step GB1
#define motor2Dir GB2
// AccelStepperオブジェクトの作成
AccelStepper stepper1(AccelStepper::DRIVER, motor1Step, motor1Dir);
// AccelStepper stepper2(AccelStepper::DRIVER, motor2Step, motor2Dir);
void setup() {
// 最大速度と加速を設定
stepper1.setMaxSpeed(100);
stepper1.setAcceleration(50);
// stepper2.setMaxSpeed(1000);
// stepper2.setAcceleration(500);
}
void loop() {
// モーターを特定の位置に移動
stepper1.moveTo(1000);
// stepper2.moveTo(500);
// モーターが目的の位置に到達するまで動かす
// while (stepper1.distanceToGo() != 0 || stepper2.distanceToGo() != 0) {
while (stepper1.distanceToGo() != 0) {
stepper1.run();
// stepper2.run();
}
// 一定時間待機
delay(1000);
// モーターを元の位置に戻す
stepper1.moveTo(0);
// stepper2.moveTo(0);
// while (stepper1.distanceToGo() != 0 || stepper2.distanceToGo() != 0) {
while (stepper1.distanceToGo() != 0) {
stepper1.run();
// stepper2.run();
}
delay(1000);
}