2010年3月24日水曜日

ブラシレスDCモーターの起動方法

ブラシレスDCモーターの起動方法が悪いのじゃないかという疑問がでてきた。

ネットでいろいろ探していたら、良いものを発見した。

3相全波ブラシレスDCモータ用センサレスドライバ

TOSHIBAが専用のドライバICを作っているようだが、これを買って使うということではない。
このICのデータシートを見ていたら、起動方法の説明が書いてあったのだ。

センサレスだと、モータがどの位置で停止しているのか分からない。だから、始動時に直流励磁し、その次に強制転流を行い、設定速度まで回転数を上げるとある。直流励磁は、3相のうち1つ、あるいは2つのコイルに電流を流してローターの開始位置を決めることのようだ。そして、位置決めができたところで、コイルを3相周波数で励磁して、回転させる。設定速度まであがるとセンサレスモードが有効になる。

これを読んでなるほど、と思い、早速、Hyperionモーターに対して直流励磁の簡単なテストを行うことにした。

回転したかどうか分かるように、シャフトにビニールテープを少し巻いた。そして、モーターから出ている3本の線のうち、2線に5Vの電圧を印加した。すると、クルッと回って止まった。2線の組み合わせをいろいろ変えて見た。すると違うポジションで止まることが確認できた。なるほど。フムフム。

この方法をうまく使えば起動できそうに思えてきた。5Vでちゃんと動いているのだから、電源容量の問題だけではないということが分かってきた。

次は、PICのプログラムを書いてみることにしよう。





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アダプターでもこのモーターは回せないようだ。

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

2010年3月21日日曜日

スピンドルモーターコントローラーをつくろうとしたが

R/C用のサーボに出力する信号と同じ信号を出力して、スピンドルモーターを回転させるためのコントローラーを作ろうと、簡単な回路図をおこした。

そして、ちゃんと動くかどうか、ブレッドボードに仮組みをしてみた。

予備のPIC16F648Aが1つあったので、これにプログラムを書き込んで試してみた。
しかし、いつものように動かない。おかしいなとテスターで調べていたら、PICを逆向きにつけていた。ああ、あんということだろうか。このあと、PICはプログラムの書き込みができなくなってしまった。

センサーレスブラシレスDCモーターコントローラー用のPICを外して試作をする。
はじめ、なんとなく信号がでていたのを確認できたのだが、プログラムを修正していくうちに、信号はでなくなるし、原因がどんどん分からなくなっていった。プログラムをなんども書き直してみた。どうしても動かないので単純にLEDを点滅させるものまでつくってみたが、これすら動かない。

どうしたことだろう。いよいよ徳切れか。

ひょっとしたら、このチップも書き込みはできているようだが、どこかが壊れているかもしれない。そう思って、別のチップに変更することにした。PIC16F648Aはもうないので、dsPIC33FJ32GP202-I/SPをつかうことに。

扱いにくいアセンブラから、C言語に。回路図も書き直して、ブレッドボードに配線を行った。さすがにピン数が18から28に増え、8bitから16bitになったこともあり、外付けの配線などが増えてくる。

一番初めはLEDの点灯回路から。しかし、これすら動かない。配線の間違いなどをいくつか修正。しかし、まだ点灯しない。MPLABからPickit2経由でデバッグモード動作させようと設定してみた。しかし以下のようなエラーが出て先に進まない。
Programming Target (2010/03/21 18:37:37)
PKWarn0003: Unexpected device ID: Please verify that a dsPIC33FJ32GP202 is correctly installed in the application. (Expected ID = 0xF0D0000, ID Read = 0x0)
Erasing Target
Programming Program Memory (0x0 - 0x37F)
PE Error: Using ICSP
Verifying Program Memory (0x0 - 0x37F)
PE Error: Using ICSP
PK2Error0027: Failed verify (Address = 0x0 - Expected Value 0x40200 - Value Read 0x0)
PICkit 2 Ready
ネットで調べたら、ブレッドボードじゃ動かないよというような英語のメッセージを見つけた。

そうか、簡単に済ませようとやってきたが、こういうデリケートなチップはブレッドボードを使うべきじゃないのか。

うーん、こんな簡単な回路を作りたいだけなのに、どうしてこうなんだろう。まるまる2日棒に振ってしまった。

次なる手は、すでに完成している三相信号発生器のPIC24Fのソフトを変更して試してみるか。これならすでに回路ができているから、信号線だけ取り出せばよい。もちろんソフトウェアは作らなければならないが。
それで確認ができたら、ちゃんとしたボードをつくることにしよう。

やらなければならないことが、山ほどあるのに、なんでこんなところで時間食っているんだろう。やっぱり徳がなくなってきたのかもしれない。困ったことだ。

MOS-FETの実験とコントローラ改造

さて、先日作ったブラシレスDCモーターコントローラーを動かすために、ブレッドボード上でフォトカプラの実験をいろいろと行った。

フォトカプラの出力をトランジスタでつくったプッシュプルのバッファを通してMOS-FETにつなぐ。

まずはじめにP-MOSをつないだところ、4Vまでは、きちんと出力がでているのを確認。しかし、供給する電圧を0Vからどんどん昇圧していくと、5Vを超えたあたりから電流が増え続け5V以上に上がらない。

画像には3本の輝線が出ているが、一番上がオシロ3Chで、これはフォトカプラの入力信号。一番下がオシロ2Chで、MOS-FETのゲート電圧。真ん中がオシロ1Chで、負荷抵抗の1/10電流値。
そして、MOS-FETの電源電圧が0Vで、負荷抵抗の電流が0Aの時の様子である。

MOS-FETの電源電圧は、菊水の実験用電源につないであるので、電圧は15Vまで可変可能。ここから少しずつ電圧を上げていく。


この画像は、電圧を4Vにしたときのもの。真ん中の輝線をみると0.6A程度まで電流が流れている。
ゲート電圧にあわせて電流が反転した状態で流れているのが確認できる。






この画像は電源電圧を5Vにしたときのもの。電流は0.8Aぐらい流れている。
MOS-FETのスイッチング動作がうまくできておらず、ほとんど通電状態のままである。

このまま電圧を上げようとすると、電流がどんどん増え続けるが実験用電源装置の電圧は5Vのままになる。


この次にN-MOSについて、同様な実験を行った。
しかしN-MOSはさらに状態がひどくて、MOS-FETがずっとON状態で電流が流れっぱなしになってしまう。

何が原因で、MOS-FETがおかしな動きをしているのか良く分からない。
スイッチングができていないということは、ゲートドライブがうまく機能していないのかもしれない。
ということで、少し大きめのトランジスタでゲートドライブをつくってみたり、ゲートOFF時の電流をグランドにバイパスためのトランジスタをつけてみたりしたが、状況は変わらず。


とりあえず、もう少し電流が流れても大丈夫なように容量の大きな電源と負荷抵抗を用意することにした。

秋葉に行き、デスクトップPC用の230W電源の中古をジャンク屋で500円で購入した。電源ケース書いてあるスペックは12Vが11A。
これともうひとつ、ノートPC用のACアダプターを別のジャンク屋で315円で購入。こちらのスペックは12V4.5Aと書かれている。
負荷として、10W50オームのセメント抵抗を2個購入した。

それから、先日購入できなかったIGBT用バッファつきのフォトカプラTLP351だが、結局購入した。
実験程度であればトランジスタをいくつかつないでみることも可能だけれど、IC1個で済むとなると使い勝手が良い。しかも、IGBT用だから、カプラの応答速度も速いはずだ。

・・・

このあと、フォトカプラTLP351でMOS-FETを動かしてみた。
このフォトカプラは、10V~30Vで動くのだが、それを見落としていて、5Vで実験していた。いくらやっても動作しないので、おかしいと思ったら、こういう無智なことをやっていた。
気を取り直し、電圧を12V、MOS-FETの負荷を50オームのセメント抵抗として、実験を再開。
あっさりと動いた。電流は0.24Aだから、ほとんどがセメント抵抗で消費されているようだ。
波形もほとんど遅延なく綺麗にスイッチングしている。良く見ると、MOS-FETのON時とOFF時に波打っているようだ。
試しに簡単にスナバ回路をつけてみたりしたが、効果がよくわからなかったので、次の機会にまわした。

ひとまず、これなら大丈夫そうなので、先日作ったブラシレスDCモーターコントローラーにTLP351を計6個追加する改造を行った。
基板の右よりに白い色でたてに6個ならんでいるのがTLP351だ。








ところで、このコントローラーには回転速度の信号を与える必要がある。信号はプロポなどと同じ仕様で動くようだ。20msec周期でデューティー比5%から10%の範囲でパルスを送る。5%でモーター停止、10%でフルスロットルということらしい。

このパルスをパルスジェネレーターで作ってもいいが、どうせ必要になるのだからと、そのコントローラーも作ることにした。

しかし、なぜMOS-FETがおかしな挙動をしていたのか、いまだ不明なのは気になる。
電圧を12Vにして、ダミー負荷50オームをつけて正常に動いたということは、実験の仕方に問題があったということだろうか?
それに、DCモーターは起動時にはほとんどショート状態になるはずだから、相当に電流が流れるはず。それについて、検討していないのでこの後の実験で問題が発生するのではないかと少し心配。

2010年3月20日土曜日

MDFボードを購入した

CNCの本体を作るにあたって、MDFボードを購入する必要があった。CNC用なので、なるべく厚みのあるほうが良いだろうと、20mm程度の厚みの板を探していた。
それで、近くのホームセンターなどに足を運んでみたりしたが、15mmぐらいまでなら売っていたが、それ以上はなかなか見つからなかった。
また、物が大きいので、どうやって運ぶかという点もすごく気になっていた。

ホームセンターになければ、通販ではどうだろうかと調べていたら、「エコモク」さんを発見した。お客様の声や作品写真など見て、なかなか良さそうだと思った。値段も他の通販よりも安い。さらに好都合なのは、浅草ということで、家から近い。これなら配送料をカットできそうだ。
早速、問い合わせてみた。在庫がなく、先に注文と入金を済ませて下さいとの返事をいただいた。銀行で代金を振り込んだ翌日にメールが届き、3日後の3月19日(金)の朝には引き取り可能だと連絡を頂いた。MDFは水に弱いので、天気がよければ19日に取りに行きますと返事をさせていただいた。

3月19日の朝8時、電話で今から取りに行きますと連絡。メトロを使って約30分後に到着。
少し心配したお天気は、その頃にはもうすっかりと青空が広がっていた。

ありがたいことに、到着したときには、すでにきちんと梱包まで出来上がっていた。伝票を受け取るのを忘れて表にでたら、あと追っかけて若い従業員の方が持ってきてくれた。丁寧にありがとうございましたと挨拶されて、こちらもありがとうございますと頭を下げた。とても感じのいい材木屋さんです。

写真のとおり、数日前に秋葉で購入した68kgを運べるキャリーカートにMDFボードを乗せて、台東区浅草から荒川区の家に向かって出発。

歩いたルートは以下のとおり。

大きな地図で見る

お天気も良く、朝のすがすがしい空気の中、コトコトというタイヤの音を鳴らしながら町の中を北に向かって歩いた。

約50分かけて、無事到着。さすがに、ひとつ手前の三ノ輪駅まで来たときには、疲れが出てきたが、案外いけるものだと思った。これぞ、究極のエコだ。

高い配送料を払うことなく、そして、歩くことで第2の心臓といわれるふくらはぎを動かして、運動不足も解消できて、超健康的。一石二鳥。

今回購入した、1800×900×21mmのMDF、いったいどれぐらいの重さなのか体重計ではかってみた。21kg。結構な重量があるものだ。キャリーカートがなかったら、大変だっただろうなと思った。


2010年3月14日日曜日

パワーMOS-FETのドライブ回路

秋葉の秋月にフォトカプラを買いに行った。

TLP351というIGBT用に受光部にアンプを内臓して、直接パワーMOS-FETをドライブできるようにしたものを購入する予定だったが、売り切れだった。

仕方なく、TLP621というアンプが入っていないタイプを購入。アンプ部分は手持ちのトランジスタで組むことにした。まあ、これも良い経験になるだろうからと、神々が私に与えてくださったことなのでしょう。快く受け入れることにした。

買い物から戻り、今度はいきなりプリント基板に作るのではなく、ブレッドボードで回路を検証した上で作ることにした。前回、失敗したので。

まずは、フォトカプラのパルス応答性を測定してみた。先日作ったパルスジェネレーターからパルス出力しフォトカプラの発光部に入れる、そして受光部の出力 波形を観測する。



TLP621は一般型フォトカプラのようなので、パルスがONからOFFになるときに、動作が遅い。20usecぐらい遅れて動作し、完全にOFFとなるまでにさらに30usecかかっていること分かった。
右の画像がそれで、パルスは100usecデューティ比50%、上が入力側1V/div、下が出力側5v/divになる。これを見ると、10kHz以上の周波数で動作は無理だと分かる。


次に、受光部に信号反転用のトランジスタ1個と後段にPNPトランジスタとNPNトランジスタを組み合わせたプッシュプル型のバッファをつくる。
ト ランジスタは、2SC1815と2SA1015を使った。
パワーMOS-FET本によると、パワーMOS-FETは入力容量が大きく、ちょうどコ ンデンサを扱うようなものだと書かれている。そして、テスト回路はコンデンサをつないで確認している。よって、負荷として0.01uFのコンデンサをつけ た。

パルスを見やすいように60usecデューティ比50%にした。バッファの効果なのか分からないが、出力パルスの波形は綺麗な方形波になり、ONからOFFに移るときの応答性も18usecの遅れ程度に改善されたように見える。その分、OFFからONの応答が若干遅れているかもしれないが、1usec以下だろうから影響はないに等しい。

次は、実際のMOS-FETをつないでダミー負荷で検証。


【参考書籍】

2010年3月7日日曜日

ブラシレスDCモータ、回転せず

ブラシレスモーターの駆動回路をつくった。

パワーMOS-FETは、2SJ477(60V,25A)と2SK2232(60V,25A)のペアにし、コンパレータは4回路入りのLM339に、PICは、16F648Aにするなど、入手可能なものに変更したが、そのほかについては、ほぼ図面通りに作った。

ボードが完成した後、PICKit2でプログラムを書き込む。PIC16F84AからPIC16F648はコンフィギュレーションを書き換えるだけで動く。これは、以前に周波数カウンターを作ったときに確認済み。

電源は、実験用の定電圧電源(DC0~15V、2A)を使い、単一5V駆動にした。

ボードが完成したので、電源を入れたが、モーターは回らない。電圧をチェックするが5V出ている。電流は、1A弱で針が小刻みに揺れている。
モーターを手で触ると、ほとんど分からない程度にブルブルと振動しているようだ。

オシロスコープでU、V、Wの各出力を見てみた。100ms周期で信号が出ている。ただし、電圧は3~4V程度だ。

ひょっとしたら、パルス信号を入力しないと動かないのかな?と思い、パルスジェネレータで、パルス幅1~2ms、周期100msの信号(プロポが出力する信号と同じ周期)をPA4に与えた。しかし、状況は変わらない。




何が悪いんだろうか?

ひょっとしたら、このモーターは5Vでは動かないのかな?データシートでは無負荷で8V、0.9Aと書いてあったから、もう少し電圧が必要なのかもしれない。でも、このボードは改造しないと5V以上は扱えない。

改造するとしたら、PICまわりの電源とMOS-FETの電源を絶縁するために、フォトカプラなどを入れる必要がある。フォトカプラは手持ちがないので、今日はこれ以上作業できない。



ところで、回路図のタクトSWはいったい何の目的のものだろうか?何度押しても何も変化がない。
PICのソースがアセンブラだったので、まだ解析していないから分からない。時間のあるときに見てみることにする。

CNCフライスのスピンドル関係のパーツなど

先週購入したスピンドル用のシャンクとBLDCモーターをつなぐ方法をいろいろ考えてみた。
結局、一番手間のかからない方法として、プーリーとプーリーベルトを使うことにした。

秋葉に行き、千石でプーリーとベルトを買った。市販のプーリーだから、軸径20mmのシャンク用はどこにも売ってない。散々考えた末、シャンクにねじ付のカラーをつけて、市販のプーリーをカラーにねじ止めすることを思いついた。アルミプーリーだから、ボール盤で簡単に穴あけができる。ただ、プーリーの形状が、くぼんでいたり、出っ張っていたりする部分があって、カラーと一体にしたいが、取り付けねじが長く空中に出る形なってしまう難点がある。

一方のモーター側だが、軸径2.3mmのモーターだったため、これも市販のプーリーがない。ここは少し手間がかかるが、市販の6mm軸用のプーリーに6mmの真鍮丸棒を差込み、その真ん中に2.3mmの穴を開け、モーター軸を取り付けるという方法をとることにした。これだと、真鍮丸棒の加工だけなので、手持ちのボール盤でなんとかなりそうだ。

それから、BLDCモーターのドライバーをネットで探していたら、ちょうどよさそうな資料を発見。

センサーレスブラシレスDCモータのドライバー製作(その1)

PIC16F84を使って、センサーレスを実現している。早速、この回路を参考につくってみることにした。回路図とアセンブラソースがそろっている。ありがたいことだ。
画像は、秋月で購入したパーツ。PICは手持ちのものを使う予定だから購入しなかった。

IOIOさんの「ブラシレスモータの制御」や、「手作りブラシレスモータ協会」のページも参考になる。
参考ついでに、以前からデジタル温度計が必要と思っていたので、秋月のキットも購入してしまった。

Microchipのアプリケーションノート「センサーレスBLDCモーターコントロール用 dsPIC30Fの使用」には、技術的な解説が詳しい。

明日、BLDCモータードライバーを作ってモーターを回してみようと思う。

2010年3月3日水曜日

CNCのパーツなど

バンドソーのブレードが届いた。

画像の下側2つが、BS-150用の木工用と軽金属用のブレード。
上側がプロクソン用の3.5mm幅ブレード。





こちらの画像は、スピンドル用の部品。Monotaroで購入。

ぺビーチャックとピロー型ユニット2つ。
6mm用コレットチャックがついたスピンドル軸とベアリングがついた保持するもの。
軸の部分をシャンクというらしいが、このシャンクだけで重量が1キロ近くある。想像していたよりも、かなり重たいものができあがりそうな予感。


これは、ホビー用のラジコンヘリコプターなどにつかわれているDCブラシレスモーター。

左がHyperionのX22S-3800、右が同じくHyperionのX22L-2860
大きさが分からなかったので2つ購入。型が古いらしく安かった。945円と1050円。送料が400円。

上のスピンドルよりも小さいので大丈夫かな。もう少し大きいものの方が良かったかも知れない。ただ、回転数がかなり大きいモーターらしいので、減速して使えば大丈夫でしょう。

しかし、どうやって、このモーターの2mmのシャフトと20mmものシャンクをつなごうかと思案中。
それと、センサーレスのブラシレスモーター用コントローラーが必要だから、それらの資料も探す必要がある。市販品も売っていたが、ここは回路の勉強のため、あえて自作の道を選択。