28BYJ-48ステッピングモーターおよびULN2003ドライバ用Arduinoライブラリ:3ステップ

28BYJ-48ステッピングモーターおよびULN2003ドライバ用Arduinoライブラリ:3ステップ

目次:

Anonim

ULN2003ドライバを搭載した28BYJ-48ステッピングモータは現在ではごく一般的な構成のようです。モーターとドライバーは両方ともすぐに入手可能で、そして安いです。しかし、標準のarduinoステッピングモーターライブラリは、この構成では動作しません。どうやら28BYJ-48の回転に必要なシーケンスと関係があります。

このインストラクターは、28BYJ-48の将来の使用のために人生をより簡単にする簡単なライブラリを書く方法をあなたに示すでしょう。私はいくつかの可能な解決策を見ました(たとえ何度も何度もパルスシーケンスを書き出すことさえ)、私は満足していなかったので、私は私自身のものを書くことにしました。

私達はあなたがC ++とステッピングモーター理論の基本的な理解を持っていると仮定します。

次のEngyFunブログからコードと実装を入手できます。

http://engyfun.blogspot.com.au/2015/02/here-is-sou …

用品:

ステップ1:StepperMotor.h

StepperMotorクラスを書くことから始めましょう。

StepperMotor.hというファイルを作成し、そのコードをイメージにコピーします。

C ++を理解しているのであれば、クラス定義はそれ自体が意味を成します。

ステップ2:StepperMotor.cpp

それではクラスのインターフェースを書きましょう。

StepperMotor.cppというファイルを作成し、画像内のコードをコピーします。

4行目のコンストラクタを見てみましょう。6行目から9行目で、ユーザーが選択したピンを入力ピン配列に割り当てることから始めます。これにより、駆動アルゴリズム内でピン番号にアクセスしやすくなります。

12行目で、入力ピン配列を繰り返し処理し、各ピンをOUTPUTモードに設定します。

15行目では、デフォルトのステップ幅を50ミリ秒に設定しています。

18行目にはstep duration setterがあります。これは一目瞭然です。

それでは、stepメソッドを見てみましょう。これにより、ステッピングモーターはメソッドに渡された回数をステップすることができます。

28行目で、2次元配列を使用して回転シーケンスを定義します。行はステップを表し、列は出力ピンを表します。

37行目で、factorを計算します。これは、渡されたステップ数の符号に応じて、+ 1または-1になります。この値は、シーケンスアレイを通して反復の方向を向けるために、すなわち回転の方向を変えるためにアルゴリズムにおいて必要とされる。

38行目で、設計に必要なnoOfStepsをポジティブにしています。

44行目では、回転シーケンスの各開始点、つまり8ステップごとの開始点で実行されるループを開始します。

45行目で、シーケンス配列の行を繰り返す別のループを開始します。

46行目で、期間が指定されているので遅延します。

47行目で、ピン番号を繰り返します。

48行目で、デジタル信号を現在のピン番号に書き込みます。

factorが負の場合、ピンに書き込むときに、シーケンス配列の行が48行目の反対方向にアクセスされます。 8は行の数によって引かれます…それで我々は下から上へアクセスします。

ステップ3:Arduino IDEからライブラリにアクセスする

今、これらのファイルをarduino IDEのライブラリディレクトリに追加するだけです。これにより、IDEにそのライブラリをインポートして使用することができます。

次のディレクトリに移動します。

C: Program Files(x86) Arduino libraries

次に、StepperMotorというフォルダを作成します。

作成したフォルダに.hと.cppファイルを置きます。

これでIDE内からライブラリをインポートできます。 (スケッチ>ライブラリのインポート…> StepperMotor)

2人がこのプロジェクトを作りました!

  • johnnyfrxがやった!

  • brdavidがやった!

あなたはこのプロジェクトを作りましたか?私たちと共有しましょう!

おすすめ

  • SKY CAM空撮カメラソリューション

  • Arduinoの空気盆栽浮上

  • モノのインターネットクラス

  • 木工コンテスト

  • Fandomコンテスト

  • Arduinoコンテスト2019

8件のディスカッション

0

jplaiss

3年前

… Arduino ULNStepper ULNStepper.ino:2:26:致命的エラー:StepperMotor.h:該当するファイルまたはディレクトリはありません

#含める

出てくるし続ける。

2件の返信 0

ディカM2 jplaiss

返信3か月前

ライブラリはディレクトリに存在しなかったと思います

0

ジェレミーL8 jplaiss

返信2年前

こっちも一緒..

0

Tahirulhaq

1年前

素晴らしい仕事 !!!

0

ドラムピーター

2年前

よく働く! 1マイクロ秒あたり1ステップより速く回転させる可能性はありますか。それが正しいと理解した場合、ライブラリは整数しか理解できません。どうすれば変更できますか?

0

jplaiss

3年前

私はここに何かが足りない。

.hファイルと.cppファイルを作成するために何を使用する必要がありますか?

IDEにインストールするライブラリを作成するために、これをどのようにまとめますか?

私はこれまでに2つのメモ帳ドキュメントを作成しましたが、接尾辞でラベル付けされているときは私が持っている他のライブラリと同じように見えます。これらのドキュメントをメインファイルに挿入し、メインファイル内の別のファイルに配置し、テストコードと同じレベルに配置し、これを少し繰り返して処理しようとしました。

助けてください。

0

機能設計

3年前

とても素敵な情報!私はついにこのステッパーを走らせた。ボタンを使って速度/ rpmを制御したいのですが。速くするためにはどのような値を変更する必要がありますか? motor.setStepDuration(1)の値を変更することで遅くすることができますが、もっと速くなるのはどうでしょうか。

0

Billdwp

3年前のステップ2

素晴らしい、優秀、親切。ありがとうございました!