H19年度冬季メカトロニクス技術研修会 バイオメタルを使っ...
Transcript of H19年度冬季メカトロニクス技術研修会 バイオメタルを使っ...
H19年度冬季メカトロニクス技術研修会
バイオメタルを使った小型メカの製作
(PICを使った電子制御回路の製作とプログラミング)
説明順序とページ構成 ページ 1.目的(バイオメタル)について、サンプル品説明 1
2.しくみについて 1
3.基板組立完成品のについて 2
4.使用部品一覧について(部品配付) 3
5.主な部品の形状と説明 4,5
6.回路説明 6
7. ハンダ付け作業について 7
8. 部品組立 8
9. プログラムフロー説明 9
10. 動作試験用プログラムの説明 10-12
11. バイオメタルの加工
12, 簡易メカの工作
1.目的
近年,ロボット製作にラジコン模型で使われているサーボと呼ばれるモータを内蔵した角度
制御ユニットが使われる機会が多い。そこで、サーボの動力源であるモータに変わる動力源と
してバイオメタルと呼ばれる形状記憶合金を1チップマイクロプロセッサ(PIC)で制御し、
バイオメタルの特徴を理解すると共に活用の糸口とする。この研修を通して,簡単な電子回路の
基礎や制御プログラミング技術を理解すると共に機械要素との関連性を研修する。
注,PIC(Peripheral Interface Controller)はマイクロチップ社のワンチップマイクロプロセッサの総称
2.しくみ バイオメタルは、筋肉のように動く細い繊維状の金属で、通常は、柔らかくナイロンの糸の
ようにしなやかであるが、電流を流すとピアノ線のように強靱になり、強い力で収縮する。通
電をやめると再び柔らかくなり、もとの長さに戻る。繰り返し何度でも動かすことができ、温
風などで加熱しても同様な効果が得られるが今回は通電による制御をPICで構成したコンピ
ュータで行う。外部からのセンサ(スイッチ)回路で,センサの情報をプログラム処理して得
られた制御信号がMOS FETに伝わり,バイオメタルへの電流をON/OFF動作させることで
制御することができる。プログラム作成は,ポケコン搭載のPICアセンブラを用いることで
パソコンが不要である。
-1-
3. 完成基板の表と裏 部品面
ハンダ面
-2-
4.使用部品一覧
部品 規格 単価 数量
マイクロプロセッサ PIC 16F84A-20/P (IC1) 300 1
ICソケット DIP18ピン 10 1
プリント基板 サンハヤト10Kを4分割 100 1
抵抗器 3KΩ(1/6W) (R1) 3 1
発光ダイオード 赤色 (D1) 10 1
電解コンデンサ 47uF(極性あり) 25WV(C1) 40 1
セラミックコンデンサ 0.1uF(104と表示) DC25V(C2) 5 1
セラミック発振子 4MHz(X1) 40 1
FETドライバ TND012NM(Q1) 20 1
バイオメタル BMF150(セット品を2人で分ける) 1000 50cm
バイオメタル関連部品 小型圧着端子2、ハトメ2、バネ1、耐熱プーリ1 200 1セット
AC-DC電源 携帯電話電源を再利用 200 1
スイッチ パソコン部品を再利用 1
コネクタ 2極(3極) 50 1セット
ショートピン 3 3
ピンヘッダ 2×4、2×1、1×3 10 各1
スタンドオフ M3ナット、M3ナベねじ付き 10 2
-3-
5.主な部品の形状と記号
PIC ICソケット
抵抗器
電解コンデンサ
+
セラミックコンデンサ
-4-
セラミック発信子
発光ダイオード
FETドライバ
IN
GND
OUT
-5-
6.回路説明
1. PICの6番~9番ピン(PORTB0~3)は内部でプルアップされた入力ピンで、何も接続しない状態ではピンに電圧にHigh(1)が入力される。PICの9番ピンは外部のスイッチで0Vの
Low(0)レベル信号が入力されるとPICの10番ピンにサーボ用の動作確認信号が出力され
る。PICの6から8番はショートプラグによってバイオメタルへの通電時間を変更できる。
2. バイオメタルへの通電はPICの1番ピン(PORTA2)からQ1(MOS FETドライバ)によって行われる。通電時のモニタを行うためにPICの2番ピン(PORTA3)へ同じ信号を出力して発光ダ
イオードを点滅させている。
3. バイオメタルの長さが短いと抵抗値が小さいために駆動電圧を下げるか直列に抵抗を接続したり、通電時間を短時間にする必要がある。バイオメタルの反応を早くする意味でパルス状の電圧を時間
調節して加える(PWM パルス幅変調)が実用的だと思われる。
4. もとの状態に復帰する時間を短くする意味でバネとの併用は必要な構造となる。
!"
! # $ % & ' ( " )
!*!!!#!$!%!&!'!(
+1
,-
X1
Q-
./012345
6789:;<=>?
@A0BCD9EFGHI?
JK67I?LMN
+2
OPQC
R
+
S9TU4V
IC1
INGND
OUT
3W3.3KX
YZuF 0.1uF
TND012NM
PIC 16F84A
4Mhz
KD1
[\]^_
-6-
7.ハンダ付け作業と配線について
ハンダ付けの手順
Aでハンダ付けしようとする物を十分に温める。
Bでハンダごて近くのリード線やパターンに糸ハンダをつけて溶かす。
Cで糸ハンダを離した後,しばらくこてをそのままにしておき,ハンダを馴染ませる。
ハンダメッキについて ハンダ付けしようとする物にあらかじめハンダ付けをする作業を
ハンダメッキという。不安定な物どうしをハンダ付けするときや,ハンダがなじみにくい時
に行う作業。被覆線の場合、被覆を剥いだ3~5mm程度をハンダメッキしておくと良い。
3~5mmをあらかじめハンダ付け
配線について
1. リード線の処理
• 部品の長い余分な足を使って近くの部品と接続するように折り曲げてハンダ付けすると簡単に回路を構成できる。
• 足の数が多い部品は,1ピンだけハンダ付けし,ゆがみ,浮きが無いか確認してから残りをハンダ付けする。
-7-
!"
#$%&
'&()*
+
!"
'&()*,'&(
!"
#$%&
'&()*
- .
8.組立
1. ジャンパ2カ所、抵抗器1本
2. 18ピンICソケット(方向に注意)
3. コンデンサ×2個 電解コンデンサ(C1)の極性に注意
4. MOS FETドライバ、発光ダイオード(方向に注意)
5. ピンヘッダ、電源用ピンプラグ
6. 携帯電話電源のコードの先にコンタクトを接続(ハンダ付け後カシメ)し、電源用ソケットブラグに差し込む。(極性、方向に注意 差し込む前にテスタでプラ
ス,マイナスの極性を確認しておくと良い)
7. PICに動作確認用のプログラムをポケコンとライタを使って書き込む。
8. 動作確認用にサーボに接続して動作を確認する。
9. バイオメタルを作りたい物に合わせて必要な長さに切断し、両端にハトメと圧着端子を使って通電固定できるようにしてから動作させてみる。
10.後は各自、プログラムを変更するもよし、バネ等を使ったメカニズムに挑戦する
もよし。
-8-
9. プログラムフロー
-9-
スタート
初期設定
バイオメタルON
LED点灯
サーボデモ動作
スイッチOFF
0.05sec×設定時間
センサ(PORTB0~2)設定時間の読み込
み
バイオメタルOFF
LED消灯
センサ(PORTB3) スイッチON
1秒
9.動作試験(PICへのプログラム書き込み)
10 __CONFIG 0X3FF2 ;Xtalによる発信回路などPICの動作を指定
20 #INCLUDE "P16F84A.INC" ;P16F84A用の標準ラベル定義を読み込み
30SWTDATA EQU 0X10 ;変数エリア確保 PORTB入力データ保管
40PDATA EQU 0X11 ;変数エリア確保 サーボパルス幅データ保管
50TCN EQU 0X12 ;変数エリア確保 タイマーカウント用
60LTCN EQU 0X13 ;変数エリア確保 タイマー出力時間カウント
70COUNT EQU 0X14 ;変数エリア確保 バイオメタル通電時間
80LOOP EQU 0X15 ;変数エリア確保 バイオメタル通電時間
90 ORG 0X00
100 GOTO START
110START CALL INIT ;ポート設定など
120MAIN MOVLW 1 ;W=1
130 MOVWF COUNT ;COUNT=1
140 INCF PDATA,F ;パルス幅増加
150 MOVF PORTB,W ;入力ポートPORTB読み込みW=PORTB
160 MOVWF SWTDATA ;SWTDATA=W
170 BTFSS SWTDATA,3 ;入力PORTB3チェック
180 GOTO SERVO ;サーボ動作プログラムへ
190 BTFSS SWTDATA,0 ;入力PORTB3チェック
200 GOTO T3
210 MOVF COUNT,W ;W=COUNT
220 ADDLW 4 ;W=W+4
230 MOVWF COUNT ;COUNT=W
240T3 BTFSS SWTDATA,1 ;入力PORTB1チェック
250 GOTO T2
260 MOVFCOUNT,W ;W=COUNT
280 ADDLW 3 ;W=W+3
-10-
290 MOVWF COUNT ;COUNT=W
300T2 BTFSS SWTDATA,2 ;入力PORTB2チェック
310 GOTO T1
320 MOVF COUNT,W ;W=COUNT
330 ADDLW 2 ;W=W+2
340 MOVWF COUNT ;COUNT=W
350T1 BSF PORTA,2 ;バイオメタルON(COUNT*0.05sec)
360 BSF PORTA,3 ;発光ダイオードON
370 MOVF COUNT,W ;W=COUNT
380 MOVWF LOOP ;LOOP=W
390ONL CALL LWAIT
400 DECFSZ LOOP,F
410 GOTO ONL
420 BCF PORTA,2 ;バイオメタルOFF
430 BCF PORTA,3 ;発光ダイオードOFF
440 MOVLW 10 ;1sec
450 MOVWF LOOP
460OFL CALL LWAIT
470 DECFSZ LOOP,F
480 GOTO OFL
490 GOTO MAIN
500SERVO BSF PORTB,4 ;サーボパルスON
510 CALL WAIT ;基準パルス幅1msec
520 MOVF PDATA,W ;パルス幅増加分
530 MOVWF LOOP
540ONSL DECFSZ LOOP,F
550 GOTO ONSL
560 BCF PORTB,4 ;サーボパルスOFF
570 MOVLW 0X10 ;パルス間隔16msec
580 MOVWF LOOP
-11-
590OFSL CALL WAIT
600 DECFSZ LOOP,F
610 GOTO OFSL
620 GOTO MAIN
700INIT BSF STATUS,RP0 ; STATUSレジスタでバンク1に切り替え
710 MOVLW 0X10
720 MOVWF TRISA ;PORTA0-4は出力、4は入力に設定
730 MOVLW 0X0F
740 MOVWF TRISB ;PORTB0-3は入力、4-7は出力に設定
750 BCF OPTION_R,7 ;レジスタの7ビット目を0にしてBポートをプルアップに設定
760 BCF STATUS,RP0 ;STATUSレジスタでバンク0に切り替え
770 RETURN ; INITサブルーチン終了
780WAIT MOVLW 0XF9 ; 1mSのタイマ 4MHz 1マシンサイクル 1uS
800 MOVWF TCN ;1 TCN変数に249をセット
810TLOOP NOP ;249*1
820 DECFSZ TCN,F ;248+2 TCN-1を行い0になったら次の命令ジャンプ
830 GOTO TLOOP ;248*2 ラベルTLOOPに戻る
840 RETURN ;2
850LWAIT MOVLW 0X32 ;Wレジスタに50をセット(X) 0.05Sのタイマ(1msec*50)
870 MOVWF LTCN ;LTCN変数に50をセット
880LTLOOP CALL WAIT ;1mSのタイマ
890 DECFSZ LTCN,F ;LTCN-1を行い0になったら次の命令ジャンプ
900 GOTO LTLOOP ;ラベルLTLOOPに戻る
910 RETURN
1000 RETURN ;プログラムの終わり
-12-