2010年3月22日月曜日

センサーレスブラシレスDCモーターコントローラー(続)

スピンドルの回転数コントローラーを、以前作った三相信号発信器のインターフェース部分を流用して簡単に作った。

ロータリーエンコーダーで速度調整を行う。
0~100%をLCD上に表示する。

すでに稼動実績のあるものなので予定通り、あっさりと動いてくれた。
後悔しても仕方ないがもっと早くこうしておけばよかった。いい経験だ。




FreeRTOS でタイマー割り込みがうまく使えるのかどうか多少不安があったが、OSで使うタイマー1を避けて、タイマー2を使ったので、競合することもなく、しかもOSのタイムシェアリングの影響を見ることができないほど、サーボ信号は決められたとおりに出力してくれた。





左の画像は、出力0%のときで、デューティ比が5%の状態。








こちらは、同じく100%フルスロットル状態のデューティ比10%の状態。









さて、ようやく本題のモーターを回転させる準備ができたので、Hyperionモーターを取り出して、配線をする。

モーター駆動用電源は、12V4.5AのACアダプター。

午前中に秋葉に行って買ってきたPIC16F648Aにプログラムを入れる。

このとき、アセンブラを解析してみたら、驚いたことに、PICのPA4はまったく使っていない。PWM入力はPA3だった。しかも、よ~く内容を確認すると、どうやら、単純にON/OFFしか見ていない。

またしても、失敗。苦労して、サーボ信号を出力するものまで用意したというのに、結局こういう顛末か。ちゃんと調べておくんだった。

ということで、基板のタクトSWを押している間はモータが回転するという仕様のようだ。
これでは、目的のものとちょっと違うため、最終的にはオリジナルのソフトを用意する必要がでてきた。なんか遠回りばかり。

とりあえず、タクトSWを手で押して回転するかどうかは確認できるだろうから、それだけでもやっておこうと、作業を進める。

そして電源投入。。。。。

しかし、またしても動かない。

前回と同じく、一定の周期でモーターが起動しようとしているようだが、起動できないみたいだ。
テスターで電源の電圧と電流を測定してみた。電圧がドロップしているのか全然出ていない。電流はモーターの振動に合わせて脈を打っている。どうやら、このACアダプターでもこのモーターは回せないようだ。

手ごわいモーターだ。リチウム電池で駆動するものだから、瞬間的に相当大きな電流が流れる仕様なのだ。強力な電源をなんとか用意しなければ。

7 件のコメント:

  1. はじめまして
    BLmoter(センサーレス)で苦労されているようですね。
    私も最近、ドライブ基板を製作しました。
    確かに面倒です、ネットを参考にしてもソフトが貧弱で回転しません。ハードは基本的にはOKだと思いますが。
    一報くだされば、連絡します。

    返信削除
  2. lemonさん

    はじめまして。
    ドライブ基板作られたのですね。それは素晴らしいです。公開されておられるのでしたら、ぜひ参考にさせていただきたいです。

    > ネットを参考にしてもソフトが貧弱で回転しません。
    なるほどです。lemonさんのおっしゃるとおり、ソフト次第なのですね。

    私は、起動方法がなんとなくつかみかけてきましたので、時間をとって試してみようと思っています。起動ができたら、次はPWM、そして進角かな。

    まだまだ時間がかかりそうですね。

    返信削除
  3. こんばんは
    公開はしていません。

    難関は
     1.起動の方法
     2.UVWの切り替えタイミング
     以上が解決すれば簡単に回転します。

    ハードは簡単です。
    私は16F819とP-MOSとコンパレータだけです。
    電源は5Vで0.4A位です。
    回転数は5000rpmぐらいで回転しています。
    多分電圧を上げれば10000rpmは大丈夫だと思います。
    市販のICを手配しましたが必要なくなりました。
    (使いにくい)
    フォトカプラーは使わないほうが良いです。
    (応答時間が遅いです)
    回転したらPWMへの挑戦ですね。

    (MoterはDVD用のSPモータで、DISCを付けてます)
    5000rpmで回転したときは感激しますよ!
    風の音がすごいです。

    頑張って下さい。

    返信削除
  4. lemonさん

    早速のお返事、どうもありがとうございます。

    とても参考になります。それに実際に動かされた方からこうしてお話を聞かせていただくと、すごく心強いですね。

    頑張ってみます。

    返信削除
  5. こんにちは
    センサーレスの起動は意外と難しいです。
    始めは回転させる切り替えプログラムを作ると良いですね。
    ブルブルしている時に手で回転の反動を付ければプログラムが正常なら高速で回転始めます。
    (回転方向は何度か左右に回してみればかいてんを始めます)
    多分、飛行機のモータだと思いますのでプロペラなどを手で回転させれば初期の目的は達成すると思います。
    (エンジンは良く手で回していましたよね)

    モータが回転し始めれば色々な事が解ってきます。
    始動のシーケンスは慣性などが微妙に効いてきますから簡単ではありません
    それではまた

    返信削除
  6. こんにちは。

    まずは手ごわい起動からです。
    このモーターの仕様を見ると電流が10A以上流れるようです。

    菊水の電源(15V 2A)に、直接モーターの線をつなぐだけで、2A以上の電流が流れて、電圧がドロップしてしまいます。線をつないだ瞬間、モーターがブルッと動きます。

    次に、制御基板で動かそうとすると、電圧がドロップしすぎで、正常に動作できません。
    それで、PIC側とMOSFET側の電圧をフォトカプラで別電源にしました。フォトカプラはMOSFET用のドライバ内臓タイプでPWMで25kHzまで使えます。
    この改造後、PICは別の5V電源にして、MOSFET側に菊水の電源をつないでみましたが、電圧が低下しすぎてフォトカプラの出力が出ない(10V以上必要)ため、モーターはピクリともしません。

    次に、MOSFET側をPC用のATX電源12V13Aに変えたのですが、電源を入れた瞬間モーターがブルっと動いたと思ったら、電源の保護回路が働いて動きません。

    今は、起動時の電流を抑制する方法を考えているような状況です。

    なんとか、手回しで回転できるところまでこぎつければいいのですが。

    では。

    返信削除
  7. こんにち
    センサーレスは手強いですよ!
    どのモータも起動は大変です。
    (瞬間にはショートと同じですから大変な電流が流れます)
    最初から定格電圧をかけるなんて無謀です。
    (モータを破損させますよ)
    最低の電圧(5Vぐらいこれでも高いかもしれません)
    正常に回転を始めたら徐々に電圧を上げて下さい。
    モータは回転を始めれば電流が下がります。
    くれぐれも焼損しない様に。。。
    相変わらずフォトカプラーを使用しているのですね。
    私のアドバイスを無視しているのならこれでお終いです。

    返信削除