Arduinoでブラシレスモーターを制御する
ビュー: 0 著者: サイト編集者 公開時間: 2020-09-02 起源: サイト
お問い合わせ
読者、メーカー、オタク、愛好家、電子機器愛好家、初心者の皆様、こんにちは。
私は長い間、ブラシレスモーターとArduinoを使ってワイヤレスR/Cカーを作ろうとしていました。
学校の試験が終わったので、受験することにしました。
R/Cカーを作るための制御方法の最終決定段階で、ブラシレスモーターをArduinoで制御するということで悩んでいます。 Arduino の AC モーターを
(技術的に) 制御するの
が少し怖いと思われる場合でも、心配しないでください。このマニュアルでは、Arduino を使用して DC モーターを制御するのがいかに簡単かを説明します。スイッチ、ポテンショメータ、ジョイスティック、基本的には、直流電圧であろうと抵抗器であろうと、Arduino が記録できる方法でパラメータを変更できるものなら何でも使用します。
このプロジェクトを自分で試すには、基本的なものが必要です。
私が使用したほとんどの製品については、国際的な調達リンクを提供しています)
また、いくつかの基本的なツールも必要です。材料が揃ったら、プロジェクトを開始しましょう。
コードを書き始める前に、まず Arduino から ESC とモーターに接続しましょう。
このプロジェクトへのつながりは非常にシンプルかつ直接的です。
私が書いたコードによると、接続は次のとおりです。ポテンショメータ/ジョイスティックの出力ピンは Arduino のアナログ ピン 0 に接続されています。
ポテンショメータとアナログジョイスティックの使用の概略図が示されています。 (
自作のジョイスティックを使用し、ジョイスティックの概略図を示しました)
ESC を Arduino に接続します: 黒い線 (グランド) ---
> Arduino のグランド ピン 白線 (信号) ---
> デジタル ピンの月線 Arduino 赤 (電源) --
> Arduino の Vin (
これは Arduino に電力を供給しています)
ESC をブラシレス モーターに接続します。ブラシレス モーターの 3 本のワイヤーを ESC に接続するだけです。
順序は重要ではありません。 (
モーターが希望の方向に回転しない場合は、ESC の 2 本のワイヤーのいずれかをブラシレスモーターに切り替えるだけです)
ハードウェアの接続が完了したら、Arduino コードを処理できます。
コードは非常に単純で、各行の機能をコメントで説明するようにしています。
ただし、何か問題がある場合は、hrithikbansal70 @ gmail までお気軽にご連絡ください。
コムリティクバンサル。 com コード:(.
ino ファイルも添付)
/* ESC は、Arduino のデジタル ピン 10 に接続されている ESC データ ピンを調整します。
Arduino のアナログ ピン 0 に接続されたポテンショメータ/ジョイスティック入力。
コードをコンパイルしてアップロードします。
次に、ジョイスティック/ポテンショメータを最大位置に保ち、外部電源を ESC に接続します。
ビープ音が聞こえ、ポテンショメータ/ジョイスティックを最も低い位置に置きます。
これにより、ESC にエンドポイントが設定されます。
このサンプル コードはパブリック ドメインにあります。
これは、2017 年 3 月 20 日に Hrithik Bansal www によって改訂されました。
Com */includes /includes サーボ ESC 機能用のサーボ ライブラリ。
/ESC をサーボ オブジェクトの int 入力として宣言します。 void setup(){esc.アタッチ(10);
/ESC をデジタル ピン 10 シリアルに接続します。開始(9600);
シリアル モニターの読み取り/オープンを開始しますvoidloop(){
Input =analogRead (A0);
/入力の値は、シリアルピン 0 0 のアナログ入力です。 print(
\'元の入力値 :\');
/シリアルポートは元の入力値シーケンスを出力します。印刷(入力);シリアル。 print(\' | \');遅延(1); input=map(analogRead(A0)
, 0,1023, 0,180);
/アナログ ピン 0 のジョイスティックの入力値を、サーボ出力に対応する最大値と最小値 (180 および 0 シリアル) にマッピングします。 print(
\'マッピングの入力値:\');シリアル。印刷(入力);
/Serial は、マッピング Serial の入力値を出力します。 print(\'\');遅延(1);
/Delay は、解像度/滑らかさ、およびポテンショメーター/ジョイスティックの動きに応答するモーターの能力を決定します。 ESC。書き込み(入力);
/ESC のステータスは、ジョイスティックのステータス/位置と同じになります}
コードを Arduino にアップロードし、すべてのハードウェア接続を再確認した後、バッテリーを ESC に接続し、すぐに Arduino をリセットします (
小さなリセット ボタンを押します)。
次に、すぐにポテンショメータ/ジョイスティックを 2 つの極端な位置のいずれかに置きます。これが最高の終点 (
モーターが最高速度で回転する位置) になります。
もう一度ビープ音が聞こえ、その後ポテンショメータ/ジョイスティックが完全にもう一方の端に向けられます。
これがローエンドになります (
この時点ではモーターは固定されています)。
再びビープ音が聞こえ、校正作業が完了します。 {
これは、ビデオ
プロジェクト デモで実証されています: ビデオ LinkNow、ポテンショメータ ノブ/アナログ ジョイスティックを上部/下部ポイントに移動すると、それに応じてブラシレス モーターが加速/減速します。
ヒント: テスト中は、モーター (アウターローターモーター) が全体的に回転するため、
手で保持できない場合も危険です。
テスト中に、モーターが非常に高速で回転しているときに、ロールペーパー スピナーが誤って飛び出してしまいました。何か問題がある場合は、私に連絡してください: hrithikbansal70
Comhrithikbansal。
これであなたの問題が解決し、今日何か新しいことを学べることを願っています。ありがとう!