【二足歩行ロボットの応用】歩く方向を制御してみよう?!
→機械工学の原理(力学的モーメント)とマイクロ
チップによるサーボモータ制御(電子工学)の利用
→ 既存の技術をどうマッチングするか,
できるだけ早く試してみたい
→ 3Dプリンティング技術を用いたアタッチメントの造形
研究代表者 研究期間 研究種目 課題番号 研究課題名
竹澤 聡 H27-H28 挑戦的萌芽 15K13901筒状折り畳み構造モデルを用いた車椅子コンパクト化設計支援の研究
竹澤 聡 H18-H20 基盤研究(C) 18560255筋電制御ロボティクス知的技術による滑り雪氷路面環境下の安定歩容に関する研究
《プログラムのテーマと関係する科学研究費》
本日の目的
• ロボット製作作業を通して,迅速設計および組立ての概念を体験してみましょう.パーツは全てお持ち帰り戴けます.
• ロボットと人間との2足歩行の原理にはどこに違いがあり、人間はいかに歩行という凄い能力を獲得しているかを知りましょう.
• Additive Manufacturing (足し算方式)の部品製造技術,3Dプリンターについて実際に体験し,知識や技術を深めましょう.
部品の確認 ※原則各1個ずつ• メカ・ダチョウキット(TAMIYA)• サーボモータ• コントローラ(部品提供)
• スポンジ 2個
• ドライバー(緑または赤)• ニッパー• ラジオペンチ• サーボ・アタッチメント
黒色(一部別色)• COG シューズ• Oscilator 尻尾
今回の講座では自作します
【超重要】 コントローラ端子とサーボモータとの取り付け向き
• サーボの端子は黄(信号)、オレンジ(電源)、茶(アース)の3色です。• 矢印の方向に茶色の線が来るように差し込みます。
• 取り付け向きを誤るとサーボモーターが損傷します。十分気をつけましょう。
茶色ライン
ここからは、コントローラ作製です
2通りで実習を行います。
a) 電子回路製作の経験者、得意な方は回路図に基づいてご作成ください。
b) 電子回路製作の経験があまりない方は講義資料および解説に基づいて一緒に作成しましょう。
部品の確認
NO 品 名 個数1 ブレッドボード(or ホール基板) 12 PIC12F675 13 8PIN DIP ICソケット 14 単連式ボリューム B特性 10kΩ 15 低ドロップ電圧レギュレータTA4805F(5V1A) 16 電解コンデンサー47uF16V 17 セラミックコンデンサー0.1uF 18 BH-9V-3A型電池ホルダー【BH-9V-3A】 19 9V 006P電池 110 GWSサーボモータ S03T/2BBMG/F(フタバ) 111 サーボ 延長ケーブル 3色並列・平行線 1
10月18日のミッション
1
2
A B C
1
2
A B C
GND
GNDGND
単三×4 V
GND
VDD1
GP5/CKI2
GP4/AN3/CKO3
GP3/RES4
GP2/AN25
GP1/AN16
GP0/AN07
VSS8
PIC12F675U
123
servo0
orange
123
CN0
GND
IN GN
DO
UT
TA4805SU
47μ16VC1
0.1μC2
GND
10kVR1
GNDGND
0.1μC3
BROWNRED
4-legs-Robot
Remote type
PIC12F675 or PIC12F683
Tale oscillating robot
ここを「切欠き」といいます。
ロボット動かすプログラム 1/4• ;------------------------------------------------------------------------• ; SERVO CONTROL TEST Program• ; • ; Microchip PIC12F683• ; Version 0.00 2004.DEC.28 PIC12F629 • ; Version 1.00 2005.JAN.16 PIC12F675 ADC• ;• ; Copyright 2000-2005 YS Design Studio.• ;------------------------------------------------------------------------• ; PIN Assign• ; <I>GPIO-0 ANALOG IN• ; <O>GPIO-1 NC • ; <O>GPIO-2 PWM PULSE OUT TO SERVO• ; <O>GPIO-3 NC• ; <O>GPIO-4 NC• ; <O>GPIO-5 NC • ;---------------------------------------------------------------------------
• list p=12f675• #include <p12f675.inc>•
• __CONFIG _CP_OFF & _CPD_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_OFF & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF
• ;---------------------------------------------------------------------------• ; Define• ;---------------------------------------------------------------------------• WORK_H EQU 0x20 ; WORKING COUNTER(H)• WORK_L EQU 0x21 ; WORKING COUNTER(L)
• WAIT1 EQU 0x22 ; • WAIT2 EQU 0x23 ;
• #define IO_PORT 0X01 ; GPIO5-0 {HSB} 01010 [LSB} 0=OUT / 1=IN
使用するPICを指定します.
ロボット動かすプログラム 2/4
• ;---------------------------------------------------------------------------• ; Power On vector• ;---------------------------------------------------------------------------
• ORG 0x00• goto main
• ;--------------------------------------------• ; Main• ;--------------------------------------------• ;----------------------------• ; Initialize PIC Microchip• ;----------------------------• main• movlw b'00000111' ;コンパレータ OFF CM2:CM0=111
• movwf CMCON ; CMCON = CM0/CM1/CM2 ON (COMPARATOR OFF)•
• bsf STATUS,RP0 ;バンク1を選択
• call 0x3FF ; OSCCAL• movwf OSCCAL ;
• movlw IO_PORT• movwf TRISIO ; Port I/O Set
• movlw B'10000001' ;• movwf OPTION_REG ;
• movlw B'01100001' ; • movwf ANSEL
• bcf STATUS,RP0 ;
• movlw B'00000000' ; • movwf ADCON0
• clrf GPIO ; Clear GPIO Port
PICを初期化します.
ロボット動かすプログラム 3/4
• ;-----------------------------------• ; Main Loop • ;-----------------------------------• main_loop•
• call WAIT20MS•
• call ADC• call HIGH_WIDTH
• goto main_loop
• ;--------------------------------------------• ; Sub Routine• ;--------------------------------------------
• ;--------------------------------------------• ; ADC• ;--------------------------------------------• ADC• bsf ADCON0,ADON ;ADC_ON
• call WAIT20US• call WAIT20US ;
• bsf ADCON0,GO ;ADC GO• ADC_WAIT• btfsc ADCON0,GO• goto ADC_WAIT
• bcf ADCON0,ADON ;ADC_OFF•
• movf ADRESH,W ;• movwf WORK_H ;
• movlw 0x00 ;IF =0 then =1 • subwf WORK_H,W• btfsc STATUS,Z• INCF WORK_H,1 ;
• return
AD変換をします
Main文です.サブルーチンが2個あ
ります.
ロボット動かすプログラム 4/4• ;--------------------• ; HIGH WIDTH• ;--------------------• HIGH_WIDTH
• movlw b'00000100'• movwf GPIO ;high
• movlw 0xF0 ;0x8C• movwf WORK_L
• high_width_loop2• decfsz WORK_L,F ;• goto high_width_loop2
• high_width_loop1• goto $+1• NOP• decfsz WORK_H,F ;• goto high_width_loop1
• clrf GPIO ;low• return• ;-------------------------• ; 20uS WAIT (CLOCK 4MHZ)• ;-------------------------• WAIT20US• movlw 0X04 ; 0X04(4Mhz)• movwf WAIT1 ;• wait_loop1• decfsz WAIT1,F ;• goto wait_loop1 ;• nop• nop• NOP• return ;
パルス幅を決めます.
20μsecのタイマー
本日の講座のまとめ
ロボットキットモデルを用いたラピッドプロト開発の考え方・アプローチを実体験いただきました。
3DものづくりとIoTが連動するものづくりについてマイコンを例にして体験いただきました。
今後、参加者が望む3DものづくりとIoTが連動する
新たなビジネスモデルの掘り起こしを活発に議論させて戴きたい。
アンケートの記入のご協力,よろしくお願い致します.