らいふぷろせす

たまーに、できごときろく

Arduino でステッピングモーターを回す #2 A4988

2018-09-29 14:46:50 | Arduino

最近、ステッピングモーターにはまってます。
前回は、L293Dを使ったシールドでステッピングモーターを回しました。
今回は、A4988 を使ったモジュールを使用してみます。

A4988モジュール、Arduino UNO、ステッピングモーターの接続は以下のとおり。

DIR は Arduino D4 へ。
STEP は Arduino D5 へ。
ENABLE は Ardino D6 へ。
RESET と SLEEP は短絡。
MS1、MS2、MS3は GND でモードは[フルステップ]です。
モーター電圧は8V~10Vで実験してみました。

実際に動作させてみた様子。

Arduino でステッピングモータを回す #2

可変抵抗でモーター回転数を簡単に変更できるようにしてみました。
スケッチは以下のとおり。

int x;

void setup() {
Serial.begin(9600);
pinMode(6,OUTPUT); //ピンモードの設定
pinMode(5,OUTPUT); //ピンモードの設定
pinMode(4,OUTPUT); //ピンモードの設定

digitalWrite(6,LOW); //動作ENABLE 
digitalWrite(4,HIGH); //回転方向

void loop() {

int Value = analogRead(A0);//アナログ値取得
Value = map(Value,0,1023,50,1000);取得したアナログ値を50~1000の間でマッピング
Serial.println(Value);
for(x = 0; x < 500; x++) //500パルスごとに区切る
{
digitalWrite(5,HIGH);
delayMicroseconds(Value);
digitalWrite(5,LOW);
delayMicroseconds(Value);
}

}

 

スケッチの delayMicroseconds(Value) の値が180位で脱調して急停止(^^;)
モーター電圧をあげることで停止する回転数を上げられることを確認できました。


Arduino でステッピングモータを回す L293D

2018-09-23 21:54:50 | Arduino

Adafruiteのパチもんモーターシールドを使ってステッピングモーターをまわしてみました。
本家はこちらで、同じlibraryが使用できます。
driver ic は L293D を使っています。
ステッピングモーターは秋月電子で購入したこれです。
モーター電圧やら、icの発熱やら、信号周波数によるモーターの脱調やらで結構、条件はシビアな印象でした。
スケッチはド素人ですが、なんとか自分のイメージした回転をさせることができました。
もしよろしければどなたかダメ出しをお願いします(^^;)

 

--- Arduino スケッチ ---

#include <AFMotor.h>
AF_Stepper motor(200, 2);

void setup() {

}

float i;
double j=2.5;
void loop() {
for (i=0; i<10; i++) {
int value =i *i;
motor.setSpeed(value*j);
motor.step(value, FORWARD, DOUBLE);
}

for (i=10; i!=0; i--) {
int value =i *i;
//Serial.println(value);
motor.setSpeed(value*j);
motor.step(value, FORWARD, DOUBLE);
}

for (i=0; i<10; i++) {
int value =i *i;
motor.setSpeed(value*j);
motor.step(value, BACKWARD, DOUBLE);
}

for (i=10; i!=0; i--) {
int value =i *i;
motor.setSpeed(value*j);
motor.step(value, BACKWARD, DOUBLE);
}

}


米粒マイコン ATtiny10 を Arduino IDE で開発するまでの備忘録

2016-12-31 15:30:19 | Arduino

米粒マイコン ATtiny10 を Arduino IDE で開発するまでの手順
すべて他の方のお力ですが・・

用意するもの

  • マイコン ATtiny10
  • AVRISPmkⅡ
  • USBライブラリ「libusb-win32」ここから入手
  • Arduino IDE 用の「定義ファイル」と「avr-gcc開発ツール」ここから入手
手順
  1. Arduino IDE で AVRISPmkⅡ を使えるようにするために USBライブラリ「libusb-win32」をインストールします。Atmel Studio で AVRISPmkⅡ を使うための ドライバとは異なるため共存できないというお話もありますが、こちらの方のとおりに ドライバを インストールしたら共存可能のようです。動作確認できました。
  2. Arduino IDE の ATtiny10用の「定義ファイル」と「avr-gcc開発ツール」を置き換えます。
    これはこちらの方とおりに行いました。 

今回は、RGB LED用の専用基盤を作りました。
スイッチは マイコンと LEDを切りはなさいと マイコンに プログラムが書き込めないため出力端子ごとにつけています。(マイコンの4番端子は切り離す必要はありませんが)

動画の点灯パターンは Arduino IDE 1.8.0 で作成しました。
私の環境ではプログラム書き込み後にエラーが出ました(出たり、出なかったり)が、マイコンはちゃんと動作してくれました。

米粒マイコン ATtiny10 RGB LED駆動


米粒マイコン ATtiny10 Lチカ

2016-12-22 20:05:49 | Arduino

 

簡単にLチカできました。

注意点としてはプログラム書き込みには5V必要みたいです。(3.3Vではエラーが出て書き込みできませんでした)

書き込み後は3.3Vでもマイコンはちゃんと動作します。

こんなちっちゃいのに(ほんとに米粒!)書き換えができて、LEDが直接駆動できる。すごいなー!