BASIC-Rの小技その1:PWM制御コマンドによるR/Cサーボ制御

BASIC-RのPWM制御命令は、本来はD/A変換器代わりに使用したり
パルス発生器として使用することが多いのですが
今回はサーボモータ(ミニスタジオ製MiniRB50)を制御する信号に
使用しました。回転角度制御は20mS周期でデューティを変えれば良いので
源クロック24MHz、分周比f/32でのクロックを、周期15000カウントで
ちょうど20mS周期になります。デューティは試行錯誤して12900幅と14500幅に
切替えたとき半回転するらしいことが判った(2SC1815でバッファしてます)ので
下記のように設定すると最大で180度近くサーボのホイールが回転します。
この回転位置でNCフライス加工機のスピンドルギアにロックを掛けたり、
解除したりすることができました。
BASIC-R45基板には使用できるPWMチャネルが2本あるので、2個のR/Cサーボを同時制御できます。
なお、PWMの出力ポートを出力に設定する必要があるので、先にポートの設定をしておきます。

'ポートの初期化
'-----------------------------------------------------------------
' PWM1 = TA4OUT :P8.0
' PWM0 = TA2OUT :P7.4

PD7 = &B00010000	'Direction = 1:OUTPUT 0:INPUT
PD8 = &B00000001	'Direction = 1:OUTPUT 0:INPUT

'PWM命令の書式
'------------------------------------------------------------------
' PWM ON [PWM(0-1)], [分周比(0=f/1,1=f/8,2=f/32)], [周期(1-65536)], [High幅(0-65535)]

CONST LOCK = 12900
CONST FREE = 14500
PWM ON 0, 2, 15000, LOCK  'スピンドルロック
PWM ON 0, 2, 15000, FREE  'スピンドルフリー

フライス加工機について

最近弊社でも、試作、少量製作用にと、NCフライス加工機を製作しました。
オリジナルマインドさんで調達したリニアアクチュエータに
自社製作3軸補間コントローラ、自社製作CAMソフトと、半分くらいは
オリジナル製品なのですが、スピンドルにキーレスチャックを
使用した為に、スピンドルロックが必要になり、市販のR/C用サーボと
BASIC-R45を組み合わせサーボコントロールを内蔵PWMで行いました。
実は3軸補間パルスコントローラもBASIC-Rで制御する予定でしたが
直接PCから、コマンドを送るほうが融通が利きそうなのでPCから
シリアルインターフェースでコマンドを送っています。
BASIC-R制御基板はスピンドルON/OFF、ロック制御、回転検出、ツール交換等を
行わせています。設計から一応の完成まで4ヶ月半掛かりました。
今、おもしろ半分で、アルミ材を切りまくっています。
(1mmのエンドミル3本くらい折りました)
これからも、専用のワークバイス、自動ツールチャンジャー等を製作、
装備する予定なので、まだ半年くらいはあれこれ手が掛かりそうです。

実験者:KW

[実験室に戻る]