プロジェクトを構築するときに遭遇した問題と、それをどうやって解決したかについて「全世界」に伝えることにしました。
今日は、ブラシレスモーター、ストロークコントローラー、およびそれらの制御方法について説明します。
ブラシレスモーターとは何ですか、私は長い間ペイントしません( Wikiを自分で見ることができます)が、2語で言うと、これは3相DCモーターです。
そして、この奇跡は、特定の周波数で巻線を連続的に切り替える特別なレギュレーターのおかげで動き始めています。
巻線のスイッチング周波数を制御することにより、ローターの速度を制御します。
さて、ここですべてが明確になっていることを願っています。
最初の問題
2セットのエンジン+レギュレーターが購入され、約1か月待ってから来ました。

私はこの機会に無制限の楽しみの攻撃に押されましたが、残念なことに、それは長くは続きませんでした....
これらの技術の奇跡を調べた後、私はそれらを電源に接続し、最初の失望、静かな飛び出し(短絡など)と静寂、LEDは点灯せず、きしみはありません(そしてそうするべきです)、レギュレーターでクーラーだけが回転しています、トラブル...
私は最も近いホビー店に走りました、そして、良いコンサルタントは評決を出しました:それは燃え尽きました!
2番目の同じ話で、一般的に、男は不運で、両方とも欠陥がありました...
まあ、少なくとも猫は嬉しかったです:

分岐して、両方のセットの価格でレギュレーターを購入しなければなりませんでした(時間が不足していました)。
買って、繋がって、すべてがビープ音を鳴らし、火傷し、動作し、まさに魂が喜びます! (写真で強調表示されています):

問題番号2
ここで、エンジンをオンにします。
そして、あなたはサーボテスターやラジオコントロールアプリからではなく、マイクロコントローラから、またはそのようなスカーフからひねる必要があります:

たくさんのサイトを掘り下げ、何百ものフォーラムを読み直し、私の質問への回答を読んだ後、このレギュレーターをどのように制御できますか?「...おい、簡単なPWMがあります...」、「...あなたを助けるPWM ...」
まあPWM、そうPWM。
私は簡単なプログラムを書きました:
#include <Servo.h> Servo motor; int mot_pin = 7; // 7 int js_position = 800; int max_position = 3000; void setup() { motor_teft.attach(mot_pin, js_position, max_position); // } void loop() { motor.write(1800); // }
感情ゼロで満たされ......
彼はレギュレータが保護されているというランダムなポストに出くわすまで2日間戦い、PWM信号が入力1.5 msに供給されたときにのみ機能を開始します。
できた
次に、ADCを介して通常の抵抗を取り出し、実験的にPWMコントローラーの極値を取り出しました。
結果のコードは次のとおりです。
#include <Servo.h> Servo motor_teft; Servo motor_right; int mot_pin_left = 7; // 7 int mot_pin_right = 8; // 8 int js_position = 1500; // , 1.5 int max_position = 2300; // 2.3 int min_position = 800; // 0.8 int start = 1; // void setup() { motor_teft.attach(mot_pin_left, js_position, max_position); // (, , ) !!! motor_right.attach(mot_pin_right, js_position, max_position); // (, , ) !!! } void loop() { // if(start == 1) { motor_teft.write(js_position); motor_right.write(js_position); delay(700); start = 0; } js_position = analogRead(A0); // js_position = map(js_position, 0, 1023, 75, 140); // motor_left.write(js_position); // motor_right.write(js_position); // delay(20); // 20 }
そしてそれは働いた。
今、すべてが回転し、騒々しく、ビープ音を鳴らし、ただ幸せです。
PSこれは、2つのエンジンを一度に制御するためのコードです。
そして最後の問題、栄養...
ここで少し説明します。つまり、コントローラーからは3本のワイヤーがあります。

中央ブロック、順番に、 黒-マイナス、赤-プラス、白-制御ワイヤ 。
そして、キャッチは、サーボとは異なり、これらは電源入力ではなく、出力、つまりです。 それらから食べます。
なぜこれを行っているのか、さらにレギュレーターをサーボとして接続しただけで、その時点でボードはUSBから給電されていたため、ラップトップのポートをほとんど焼いてしまいました。
しかし、幸いなことに、私の老人の保護は機能し、すべてが再起動であることが判明しました...
仕事のビデオ:
ご清聴ありがとうございました。
私の経験がお役に立てば幸いです。
じゃあね