ArduinoでCDROMブラシレスモーターを実行します
ビュー: 0 著者:サイトエディターの公開時間:2020-09-02原産地: サイト
お問い合わせください
ブラシレスDCモーターは、一種のブラシレスDCモーターです。これは
直接接続(ブラシ)がないことを意味します。
、回転するスピンドルとコイルなどの他の固定部品の間に
したがって、回転は、コイルの現在の方向の変化の産物です。
スピンドルには丸い磁石があります(通常)。
コイル自体は電気磁石です。
したがって、コイルの極を変更して、スピンドルを回すことができます。
BLDCを見たことがありますか?はい、もちろん。
各コンピューターのケースには多くのそのようなケースがあります。
ファン、CD ROM、フロッピードライブ(
BLDCを使用するデバイスの場合は
、ファンは通常、コイルに2つのピンとホールセンサーに1ピンを備えた2フェーズモーターを使用します。CDROM
フロッピードライブには3フェーズモーターがあり、コイルには3ピンがあり、ホールセンサーは1ピンを使用します
。したがって
または、
このピンを使用して、モーターの速度
。
ます
を
制御
でき部屋、しかし、 cdroms
この初心者のガイドのより良い犠牲者です
は
。
通常、最後のピンはセンサーです。
ただし、検出ピンに問題がある場合は、接続(+)、( - )を接続してください
。スピンドルが3ボルトを振っているのを見ました。
Ohrazerを使用してそれらを検出することもできます。使用済み部品:-1xブレッドボード。 -1x
ドライブIC L293D。 - ワイヤ。 -1x
外部電源6 V(オプション)
よく知られている4-L293D ICCHANELドライバーを使用しました。マイクロコンピューターの間のバッファー
バッファーを使用する必要があります。
をコントローラーと、モーター、リレー、コイルなど(LEDではなく)などのその他の電力消費コンポーネント間の
より高い電流またはより高い電圧(
5を超えるArduino)
外部電源を使用することが重要な場合があります。
トランジスタや統合回路のように、バッファとして使用できる多くの電子コンポーネントがあります。
L293Dは外部電源をサポートし、チップイネーブルピンも備えていることをお勧めします。
データでわかるように、
単一のデータでわかるように、-4グラウンドピン(GNDに接続)-2
enableと1つのVSS(
5 Arduinoに接続)-1 vs(そのうち3つの
外部電源に接続)-4入力(
3つのArduinoに)-4出力(
モーターの3ペア)
。
ブラシレスモーターを駆動するために、一連の適切な信号を準備したいと考えています。
このBLDCには、完了ラウンドごとに36のステップがあります。
これは、スピンドル回転を完了するために36の信号状態を準備する必要があることを意味します。
これらの36のステップは、一意のシーケンスの6つの部分に分割されます。
そのため、ループで6回繰り返す必要がある6つの異なる信号があります。
3つの行がそれぞれA、B、Cであると仮定します(注文)、
使用するには3ビットの値が必要です。
0は負で、1は正であると仮定します。
Magic 6ステップは次のとおりです。110、100、101、001、011、010 1つのループで使用します。
言及すべきもう1つの重要なことは、各ステップ間の待機または遅延です。
遅延時間を変更することにより、モーターの速度を変更できます。
高レイテンシが選択されている場合(
例:15〜20ミリ秒)、
モーターは切断アクションを振るか開始する場合があります。
低レイテンシを使用する場合(
例:0〜5ミリ秒)
、動きがないのは話題ではありません。
そのため、変数を遅延として使用し、それを変更してArduinoのシリアルモニターウィンドウをスローしたいと思います。
コードは次のとおりです。/ * DCブラシレスドライバー */月= intなど。 int p1 = 2; int p2 = 3; int p3 = 4; char inchar; void setup(){
pinmode(p1、output); PinMode(P2、出力); PinMode(P3、出力);シリアル。 begin(9600); }
/ループルーチンは永遠に何度も繰り返し実行されます:void loop(){if(serial。abawer()){inchar =(char)serial。読む(); if(inchar == ' - '){wait- = 1; } else {wait += 1; }シリアル。 println(wait); } DigitalWrite(P1、1);
DigitalWrite(P2、1); DigitalWrite(P3、0);遅延(待機);
DigitalWrite(P1、1);
DigitalWrite(P2、0); DigitalWrite(P3、0);遅延(待機); DigitalWrite(P1、1);
DigitalWrite(P2、0); DigitalWrite(P3、1);遅延(待機); DigitalWrite(P1、0);
DigitalWrite(P2、0); DigitalWrite(P3、1);遅延(待機); DigitalWrite(P1、0);
DigitalWrite(P2、1); DigitalWrite(P3、1);遅延(待機); DigitalWrite(P1、0);
DigitalWrite(P2、1); DigitalWrite(P3、0);遅延(待機); }いくつかのヒント:
-12 V以下の外部電源。 -
小さなBLDCモーターの場合、Arduino 5をVSとして使用できます。外部電源は必要ありませんが、モーター速度に到達することはできません。 -
待機値10から始めて、シリアルモニターをオンにしてマイナスキーを入力して値を減らします。
待機値が低いほど、速くなります。