【まずはじめに】 加速/減速制御
パルスコントロールLSIを理解するために避けて通れない「加減速制御」についてまず説明したいと思います。もう知っているよという方は、読み飛ばしてもらっても構いません。
ステッピングモーターは「あきらめの早いモーター」で、重いものを急に動かそうとした場合、「いきなりそんな速い速度で、そんなに重いモノは動かせないよ・・・」と最初からあきらめてしまいます。(これが脱調という現象です。)
自動車に例えると、マニュアル車(最近は少なくなりましたが)を、いきなり5速に入れて発進しようとしてもエンストしてしまいます。
スピードを出すためには、1速→2速→3速と段々加速していきますよね。
ステッピングモーターもこれと同じようなことが言え、ある程度の速い速度でモノを動かそうとした場合、低い速度から加速してゆく必要があります。
逆に停止する場合も、スピードが出ていると急には止まれません。慣性モーメントの働きで、止めたい場所から行き過ぎてしまいます。
所定の位置でぴったり止めるには、やはり瞬時に停止できる速度(FL速度)まで減速してあげなければいけません。
できるだけ速く、かつ、きちんと位置決めするためには、加減速制御が必要なのです。
さらに、この加減速の特性が直線ではなく「S字状」にできれば・・・
動かすモノに対して、より優しく、衝撃を少なくしてあげられます。
水の入ったコップを載せた台を水平方向に左右に動かす場合を思い浮かべてみてください。
「図1」の動作パターンは直線加減速です。起動時、加速終了時、減速開始時、停止時に「角」ができることで、衝撃により大きく水が揺れてしまいます。できるだけ水を揺らさないようにするには、「図2」のようにS字カーブで加減速させるとベターです。
ステッピングモーターは様々なモノの搬送にも使われます。
多少手荒に扱っても問題ないモノもあるでしょうが、例えば半導体のウェーハの搬送ではどうでしょう。
「そ~っと」動かさないと少しの衝撃で高価なウェーハが駄目になってしまいます。
動かすモノに対して、より優しく運ぶ機能、それがS字加減速なのです。
パルスコントロールLSIってなに?
ステッピングモーターを動作させるためには、言うまでもなく何らかの「パルス信号を作り出すデバイスや回路」が必要です。
モーター制御(モーションコントロール)は、「CPU(1チップマイコン)」や「FPGA」などを使って開発するケースが多いと思いますので、それらを使って「加減速制御」ができるようにプログラムすればよいわけです!!
もちろん、それで十分であればよいのですが、でも、ちょっと待って!!
モーター制御に特化した専用LSIがあるのをご存知ですか?
それは、「パルスコントロールLSI」です。
呼び方はメーカー毎に、モーターコントロールIC、モーションコントロールLSI、パルスジェネレーターなど様々ですが意味は同じです。
日本パルスモーターのパルスコントロールLSIは、1985年にリリース以来、多くのお客様に育てていただいた歴史あるLSIです。
とあるユーザーのおはなし
- パルスコントロールLSI以外のデバイスを使ってモータ制御をされたご経験は? -
ウチでは経験ないよ。
なぜかって?「パルスコントロールLSIという便利なものを使うとすごく楽だから。」の一言に尽きるよ。
例えば、CPUだけでパルス信号を作り出す場合、聞くところによると、カウンターやタイマーを使ってポートをON/OFFさせるようなプログラムを作る、ということらしいけど・・・
一定周波数であればまだ楽なんだろうけど、加速/減速制御をさせるプログラムを作るには結構面倒な気がするね。
- 高性能なCPUも必要になってきますよね。 -
まぁ、最近のCPUは比較的安価で高性能なものが増えているので、直線状に加減速させる程度であればできなくはないと思う。
でも、これがS字状の加減速をさせたいとなると話は別。加速度/減速度が常に変化するようなプログラムを作ることになると思うんだけど、考えただけで「あ~、めんどくせ~」って感じ。
それを安価なCPUで実現しようものなら、モーターコントロール以外の処理が遅くなってきて、他になんもできね~、って。だからある程度高性能なCPUを使う必要は出てくるよ。たぶん・・・
パルスコントロールLSIを使うと、そのへんはCPUから簡単な設定データやコマンドを書き込むだけで全てやってくれるので、とっても楽だよ。
- 使うと楽、という具体的なメリットはどんなところですか? -
コストや開発期間などをトータル的に考えた場合、便利なものがあるんだったら使ってしまったほうがウチの会社としてメリットがあると判断しているんだよ。
コスト低減はもちろん必要だけど、限られた開発/設計人員でいかに早い時期に開発完了させて商品を世に送り出すか、ってことも今の時代、大切だよね。
- どうもありがとうございました。 -
CPU(1チップマイコン)でのパルス制御はほんとに大変…
さて、CPUでパルス制御をすると、どのように「めんどくさい」のでしょうか?
加減速制御を例にとって説明してみますと…
すこし専門的な話ですが、「速度が上がる=パルスの周期が短くなる」ということです。
「加速させる」という事は、パルス周期が段々と短くなるようにプログラムを作るわけです。
ここで大変なのは、ただパルス周期を短くするだけではダメで、きちんと計算してプログラムする必要があります。
ここの設定が加速度・減速度に関係しますのでテキトーに設定してはダメなんです。
そしてどれくらいパルス周期を短くできるかは、CPUの性能に影響します。
直線加減速でも結構「めんどくせ~」のです。
これが、S字加減速となると…「考えるのもイヤ」ですね。
けれど、努力家のあなたは試行錯誤し何日も残業しプログラムを書き、
ようやくCPUを使った加減速パルス出力ができるようになりました。
これで、やっとゆっくり休め・・・ません!
まだまだ、考えなければいけないことが沢山あります。
例えば、
・トータルで何パルス出力させるか、それもカウントしなければ。
・加速したはいいけど、残り何パルスになったら減速を始めるの?
・減速始めたはいいけど、初速度(FL速度)まで減速したらそこでぴったり停止できるの?
・出力するパルス数だけの設定では現在の位置は管理できないので、その場合は絶対値カウンターも必要だね。
・もし外部からの信号で強制的に停止させることがあり得る場合は、その信号処理はどうしよう・・・
これらをさらに、考えなければならないのです。
お疲れ様です…
パルスコントロールLSIを使えば、開発がとっても簡単!
以上のように、CPU(1チップマイコン)でソフトウェア開発を行う場合、頭を悩ませるのはプログラミングや処理速度だと思いますが、パルスコントロールLSIを使えば、煩わしい開発の手間をぐっと省けます。
パルスコントロールLSIを使うと、例えば基本的な位置決め制御をS字加減速で行う設定手順は
右のフローチャートのような感じです。 → → →
これだけです!!
いかがですか?簡単だと思いません?
これだけでS字加減速で位置決めができて、任意の場所でアップダウンカウンターを読み出せば、その時点の現在位置もわかるんです。
動作完了したらCPUに割り込みをかけて、終わったことを知らせてくれます。だから、CPUはパルスコントロールLSIにモーター制御を任せることができるので、その間自分は他の仕事ができるんです。
また、外部信号により強制停止させる場合は、専用の端子を使えばよいので楽です。
CPUは上司、パルスコントロールLSIは部下と考えるとわかりやすいですかね。
上司(CPU)が部下(パルスコントロールLSI)に対して、絶対の信頼感をもってデータと命令を与えることで仕事(モーター制御)を任せ、自分は他の仕事(処理)を行っている。部下は仕事が終わったら、終わったことを連絡し、次の仕事を待つ。
といった感じです。
また、開発工数の短縮以外にも、
・高い周波数のパルスを出力できる。
・モーター制御をLSIに任せられるので、CPUの負担が少ない。
・モーター制御に特化する事で高い動作信頼性を確保。
などのメリットがあります。
ちなみに、日本パルスモーターでは、パルス信号入力タイプのモータードライバーであれば、サーボモーターにも使用できる機種もラインナップしています。
【まとめ】 パルス制御デバイスの長所・短所
制御デバイス | 長所 | 短所 |
CPU 1チップマイコン |
・ローエンドで済むのであれば低コスト。 | ・プログラムを作るのが大変。 ・高速な動作、複雑な動作は難しい。 ・実際の動作が実現できるかテストが必要。 ・複雑な動作には高速なCPUが必要。(または、専用CPUが必要) ・モーター制御のために負荷がかかり、他の処理が遅くなる。 |
FPGA | ・用途に適した機能を自由に作れる。 ・プログラムの書き換えができ、修正などが比較的楽。 |
・プログラムを作るのが非常に大変。 ・用途に適した機能を自由に作れる反面、その用途に特化しがち(余計な機能は作りこまない)のため、他に応用が利きにくい。 ・コストが割高になるため、量産には向かない。 |
パルスコントロールLSI | ・モーター制御に関する機能が標準で内蔵しているので開発工数が短縮できる。(動作は検証済) ・モーター制御を専用LSIに任せられるのでCPUの負担が少なく、ローエンドのCPUを使用可能。 ・高い周波数のパルスを出力できる。 |
・機種によるが、CPUにくらべて、やや割高。 |
パルスコントロールLSIはすごく便利そうなんだけど、どうもコストが・・・
と思われている方もいらっしゃるかもしれませんが、昔に比べるとだいぶ安価になってきましたよ。
以下に紹介する 「PCD4600シリーズ」は、特にそのように思われているお客様にぜひご検討いただきたい製品です。
【エントリーにオススメ】 PCD4600シリーズの特長
初めてパルスコントロールLSIを使ってみようという初心者の方に最適なエントリー機種「PCD4600シリーズ」をご紹介します。
あまり高機能すぎなくても良い、基本的なことさえできれば良い、という方にもオススメします。
PCD4600シリーズは、従来機種「PCD4500シリーズ」を小型化し、電源電圧も3.3V単一化。機能もアップし、ますます使い易くなった後継機種です。
ステッピングモーターの多軸コントローラーを "小型" で "安価" に開発できます。
型名 | 軸数 | サイズ | 最高出力 周波数 |
電源電圧 | 資料 |
PCD4611A | 1 | 7 x 7 mm | 標準2.4Mpps (最大5Mpps) |
+3.0V~+3.6V | ・PCD46X1Aシリーズユーザーズマニュアル |
PCD4621A | 2 | 10 x 10 mm | |||
PCD4641A | 4 | 14 x 14 mm |
業界最小パッケージサイズ
1軸タイプ「PCD4611A」で「7mm × 7mm」
2軸タイプ「PCD4621A」で「10mm × 10mm」
4軸タイプ「PCD4641A」で「14mm × 14mm」
QFPタイプで業界最小パッケージを採用しました。
とにかく小さく多軸制御ボードを作りたい方に最適です。
アップダウンカウンター内蔵
アップダウンカウンターとは、出力パルス信号を(+)方向でカウントアップし、(-)方向でカウントダウンできる機能です。
このカウンターを読み出すことにより、読み出した「瞬間」の現在位置を知ることができます。
現在位置とその座標軸をCPUに渡すことで、他の装置との連携が容易に行えます。
※従来機種のPCD4500シリーズではダウンカウンターのみのため、現在位置を把握するには別途CPU管理が必要でした。
パルスコントロールLSIラインアップ
オススメ機種から、最高機能版まで日本パルスモーターでは多くのラインナップがあります。
機能性 | コスト | 特長 | |
PCD4600シリーズ | △ | ◎ | 必要最低限の機能を搭載したLSI。 まず初めはこのLSIから。非常に高いコストパフォーマンスでオススメです。 製品詳細 |
PCD2100シリーズ | ◯ | ◯ | 業界初の4線式シリアルバスを採用したパルスコントロールLSI。 7mm×7mmの小型パッケージ。 製品詳細 |
PCL6100シリーズ | ◯ | ◯ | サーボモーター対応ローコスト版パルスコントロールLSI。 各社サーボドライバーにも対応。 製品詳細 |
PCL6000シリーズ | ◎ | △ | パルスコントロールLSIの最高機能版。 直線/円弧補間、ソフトリミット、多様な原点復帰方法など、数々の機能を装備。 製品詳細 |
採用例
FA機器 | 半導体・液晶製造装置 | 医療・健康機器関連 | セキュリティ・OA・その他 |
射出成型機 マウンター レーザー加工機 巻線機 ディスペンサー X-Yステージ 編み機 紙加工機 テーピング機 食品加工機 ロボット 包装機 自動ハンダ付け装置 |
露光装置 成膜装置 エッチング 洗浄機 プロービング ポリッシング ダイシング ボンディング LSIテスター ハンドラー モールディング 外観検査装置 寸法測定装置 液晶ガラス加工 |
血液分析装置 液体分注機 CTスキャン MRI 検体装置 X線照射装置 試薬払い出し 分析前処理装置 電子顕微鏡 介護支援 |
監視カメラ 入退出管理 駐車場管理 3D業務用プリンター 業務用プリンター 複合機 レーザープリンター 印刷機 ラベル貼り機 カード搬送 銀行ATM ロッカー 仕分け装置 流体制御 アミューズメント機器 ホームオートメーション |