インドアプレーンとロボット

趣味のロボットとインドアプレーンを紹介します。 K O B A R A

おおきなTOKIO

2009-08-29 00:32:49 | RC 屋外飛行機
.


以前から試してみたかった、でっかいTOKIO

エルロンならなんとか調整すれば飛びそうな気もしますが

あえてラダー機で挑戦です。

重さも結構なものになって、バッテリー抜きで150g

大丈夫なんでしょうか??





飛行会案内

2009-08-22 09:58:27 | 飛行会
.


次回 飛行会 は  8月 29日 (土曜日)いつもの 白地小学校体育館です。

PM 7:00より  

お盆を過ぎて、朝夕は、少し涼しく感じられる日がありますが、当日はどうでしょう?

あと1週間 あるので、何か新作をと、思っていますが......


10F222受信機

2009-08-17 01:36:25 | 飛行機 技術情報
.


昨日の10F200に続いて10F222にも移植してみました、

そしてそのチップで、基板なしの受信機を組んで、動かしてみました


222受信機






プログラムです。変なところがあれば教えてください。



	
;
; 		 赤外線受信機プログラム 10F222 用
;		モーターは9段階 ラダーは17段階のPWM制御
;
;				2009/8/16    T.kobara
;
;
;    
; 	   rad←GP0[| ``U`` |]GP3←センサin
;  	     -   VSS[| 222 |]VDD +
; 	   rad←GP1[|___  __ |]GP2→FET(M)
;    
;
;
;
	LIST	P=10F222

	INCLUDE   P10F222.INC

	__CONFIG _MCLRE_OFF & _CP_OFF & _WDT_ON & _IOFSCS_4MHZ& _MCPU_OFF 

				
;  _MCLRE_OFF	=	;6番ピンをMCLRで使わない、GP3のI/O端子になる。

;  _CP_OFF		=	;コード・プロテクトしない。
				
;  _WDT_ON	=	;ウォッチドッグ・タイマを使う。

;  _IOFSCS_4MHZ	=	;内部発信機4Mhz駆動

;  _MCPU_OFF	=	;MCLR プルUP(MCLR使わないからどうでも良い)
	


		
C1	equ	10h		;カウンター
C2	equ	11h		;カウンター上位
MF	equ	12h		;前回センサレベルフラグ
RC	equ	13h		;ループ       カウンタ
CH	equ	14h		;チャンネル カウンタ
PWM	equ	15h		;pwm       カウンタ
SM	equ	16h		;スロットルメイン
RM	equ	17h		;ラダー R  メイン	
LM	equ	18h		;ラダー L  メイン
SS	equ	19h		;スロットルサブ
RS	equ	1Ah		;ラダー R  サブ
LS	equ	1Bh		;ラダー L  サブ
OUT	equ	1Ch		;出力バッファ
CH1	equ	1Dh		;ラダーデータ
CH3	equ	1Eh		;スロットルデータ


	org	0		;電源onスタート
	
	
	movwf	OSCCAL		;内部発信校正値の書き込み

	movlw	b'00001100'	;A/D入出力ポートの設定
	movwf 	ADCON0		;GP1,0共にI/Oデジタル設定

	movlw	b'00001000'	;入出力ポートの設定GP3のみ入力
	TRIS 	GPIO		;他は出力設定

	movlw	b'00001110'
	OPTION			;WDTプリスケーラ18ms×64=1.15s
	
	
	
;////////////////////////////////////////////////////////////

			;メインルーチン

MAIN	clrf	GPIO		;出力ポートクリア
	clrf	MF		;前回レベルフラグ   00
	clrf	RC		;ループ    カウンタ	 00  
	clrf	CH		;チャンネルカウンタ 00 
	movlw	d'8'
	movwf	PWM		;pwm     カウンタ 8
	clrf	SM		;スロットルメイン   00 
	clrf	RM		;ラダー R  メイン	00
	clrf	LM		;ラダー L  メイン   00
	clrf	SS		;スロットルサブ      00
	clrf	RS		;ラダー R  サブ	00
	clrf	LS		;ラダー L  サブ      00
	clrf	OUT		;出力バッファ  	00
	clrf	CH1		;ラダーデータ	00
	clrf	CH3		;スロットルデータ	00
	
	
	
	
MJ2	btfss	GPIO,3		;入力LOならループ	
	goto	LOOP
	
	movlw	d'250'
	movwf	C2		;カウンタ250セット
	
MJ1	btfss	GPIO,3		;入力LOならループ	
	goto	MJ2	

	nop	
	nop
	nop			;10us×250回=2.5ms
	nop
	nop	
			
	decfsz	C2,F		;C2-1=0なら先頭ブランク発見
	goto	MJ1
	
	goto	LOOP		;LOOP IN
			
	
;////////////////////////////////////////////////////////////
					

MJ3	btfsc	MF,0		;前回レベルフラグ0か?	
	goto	MJ7		;1なら立下りエッジ処理へ
	
	clrf	MF		;MF←00

MJ4	clrwdt			;WDT クリア
	incf	RC,F		;ループカウントUP


	
			;出力処理

MJ10	decfsz	PWM,F		;PWM0でないならMJ5へ
	goto	MJ5

	movf	SM,W
	movwf	SS		;0なら
	movf	RM,W		;各サブにセット
	movwf	RS
	movf	LM,W
	movwf	LS					
		
	movlw	d'8'
	movwf	PWM		;PWM  カウンタ 8
	
	
MJ6	clrf	OUT

	
	rrf	SS,F
	rlf	OUT,F		;2 各bitのセット
	rrf	RS,F
	rlf	OUT,F		;1
	rrf	LS,F
	rlf	OUT,F		;0

	movf	OUT,W
	movwf	GPIO		;OUTデータをポートに出力

	
			;ループ入り口

LOOP	btfss	GPIO,3		;入力 LO ならMJ3へ
	goto	MJ3		;LO の処理ルーチンへ

	bsf	MF,0		;MF←01

	
	btfss	RC,7		;RC 128 以上ならMJ4へ	
	goto	MJ4		;出力処理へ

	clrf	CH		;チャンネルカウンタ クリア
	
	goto	MJ10		;出力処理ルーチンへ

MJ5	nop
	nop
	nop			;時間あわせ
	nop
	nop
	goto	MJ6


			;立下りエッジ処理

MJ7	btfsc	CH,2		;CHの2bit 1ならMJ80へ
	goto	MJ80		;CH4以上はJMP

	btfss	CH,0		;CHの0bit 0ならMJ80へ
	goto	MJ80		;

	btfsc	CH,1		;CHの1bit 1ならMJ9へ
	goto	MJ9		;

	
	movf	RC,W		;前回RCとの平均化
	addwf	CH1,F		;
	bcf	STATUS,C		;(CH1+RC)÷2→CH1
	rrf	CH1,F		;
	
	movlw	d'18'		;
	subwf	CH1,W		;CH1-18=W
	andlw	b'00111111'	;3Fhでマスク0~64
	call	GETLM		;PWMパターン取得
	xorlw	b'11111111'	;パターンの逆転
	movwf	RM		;パターン格納
	
	movlw	d'30'		;
	subwf	CH1,W		;CH1-30=W
	andlw	b'00111111'	;3Fhでマスク0~64
	call	GETLM		;PWMパターン取得
	movwf	LM		;パターン格納

MJ80	clrf	RC		;ループカウンタ 00
	clrf	MF		;前回レベルフラグ00
	incf	CH,F		;CH+1→CH
	goto	MJ10
	

MJ9	movf	RC,W		;前回RCとの平均化
	addwf	CH3,F		;
	bcf	STATUS,C		;(CH3+RC)÷2→CH3
	rrf	CH3,F		;	

	movlw	d'16'		;
	subwf	CH3,W		;CH3-16=W
	andlw	b'00111111'	;3Fhでマスク0~64
	call	GETSM		;PWMパターン取得
	movwf	SM		;パターン格納
	goto	MJ80


;/////////////////////////////////////////////////////////////
	
	
GETSM	addwf	PCL,F		;プログラムカウンタにWデータ加算
	retlw	b'00000000'	;0
	retlw	b'00000000'	;1
	retlw	b'00000000'	;2
	retlw	b'00000000'	;3
	retlw	b'00000000'	;4
	retlw	b'00000000'	;5
	retlw	b'00000000'	;6
	retlw	b'00000000'	;7
	retlw	b'00000000'	;8
	retlw	b'00000000'	;9
	retlw	b'00000000'	;10
	retlw	b'00000000'	;11
	retlw	b'00000000'	;12
	retlw	b'00000000'	;13
	retlw	b'00000000'	;14
	retlw	b'00000000'	;15
	retlw	b'00000000'	;16
	retlw	b'00000000'	;17
	retlw	b'00000000'	;18
	retlw	b'00000000'	;19
	retlw	b'00000000'	;20
	retlw	b'00000000'	;21
	retlw	b'00000000'	;22
	retlw	b'00000000'	;23
	retlw	b'00000000'	;24
	retlw	b'00000001'	;25
	retlw	b'00000001'	;26
	retlw	b'00000011'	;27
	retlw	b'00000011'	;28
	retlw	b'00000111'	;29
	retlw	b'00000111'	;30
	retlw	b'00001111'	;31
	retlw	b'00001111'	;32
	retlw	b'00011111'	;33
	retlw	b'00011111'	;34
	retlw	b'00111111'	;35
	retlw	b'00111111'	;36
	retlw	b'01111111'	;37
	retlw	b'01111111'	;38
	retlw	b'11111111'	;39
	retlw	b'11111111'	;40
	retlw	b'11111111'	;41
	retlw	b'11111111'	;42
	retlw	b'11111111'	;43
	retlw	b'11111111'	;44
	retlw	b'11111111'	;45
	retlw	b'11111111'	;46
	retlw	b'11111111'	;47
	retlw	b'11111111'	;48
	retlw	b'11111111'	;49
	retlw	b'11111111'	;50
	retlw	b'11111111'	;51
	retlw	b'11111111'	;52
	retlw	b'11111111'	;53
	retlw	b'11111111'	;54
	retlw	b'11111111'	;55
	retlw	b'11111111'	;56
	retlw	b'11111111'	;57
	retlw	b'11111111'	;58
	retlw	b'11111111'	;59
	retlw	b'11111111'	;60
	retlw	b'11111111'	;61
	retlw	b'11111111'	;62
	retlw	b'11111111'	;63
	retlw	b'11111111'	;64
	retlw	b'11111111'	;65
		
;/////////////////////////////////////////////////////////////

GETLM	addwf	PCL,F		;プログラムカウンタにWデータ加算
	retlw	b'00000000'	;0
	retlw	b'00000000'	;1
	retlw	b'00000000'	;2
	retlw	b'00000000'	;3
	retlw	b'00000000'	;4
	retlw	b'00000000'	;5
	retlw	b'00000000'	;6
	retlw	b'00000000'	;7
	retlw	b'00000000'	;8
	retlw	b'00000000'	;9
	retlw	b'00000000'	;10
	retlw	b'00000000'	;11
	retlw	b'00000000'	;12
	retlw	b'00000000'	;13
	retlw	b'00000000'	;14
	retlw	b'00000000'	;15
	retlw	b'00000000'	;16
	retlw	b'00000000'	;17
	retlw	b'00000000'	;18
	retlw	b'00000000'	;19
	retlw	b'00000000'	;20
	retlw	b'00000000'	;21
	retlw	b'00000000'	;22
	retlw	b'00000000'	;23
	retlw	b'00000000'	;24
	retlw	b'00000000'	;25
	retlw	b'00000000'	;26
	retlw	b'00000000'	;27
	retlw	b'00000000'	;28
	retlw	b'00000001'	;29
	retlw	b'00000011'	;30
	retlw	b'00000111'	;31
	retlw	b'00001111'	;32
	retlw	b'00011111'	;33
	retlw	b'00111111'	;34
	retlw	b'01111111'	;35
	retlw	b'11111111'	;36
	retlw	b'11111111'	;37
	retlw	b'11111111'	;38
	retlw	b'11111111'	;39
	retlw	b'11111111'	;40
	retlw	b'11111111'	;41
	retlw	b'11111111'	;42
	retlw	b'11111111'	;43
	retlw	b'11111111'	;44
	retlw	b'11111111'	;45
	retlw	b'11111111'	;46
	retlw	b'11111111'	;47
	retlw	b'11111111'	;48
	retlw	b'11111111'	;49
	retlw	b'11111111'	;50
	retlw	b'11111111'	;51
	retlw	b'11111111'	;52
	retlw	b'11111111'	;53
	retlw	b'11111111'	;54
	retlw	b'11111111'	;55
	retlw	b'11111111'	;56
	retlw	b'11111111'	;57
	retlw	b'11111111'	;58
	retlw	b'11111111'	;59
	retlw	b'11111111'	;60
	retlw	b'11111111'	;61
	retlw	b'11111111'	;62
	retlw	b'11111111'	;63
	retlw	b'11111111'	;64
	retlw	b'11111111'	;65

;/////////////////////////////////////////////////////////////
	
	end




	
:020000040000FA
:1000000025000C0C2700080C06000E0C02006600F0
:10001000720073007400080C3500760077007800D9
:1000200079007A007B007C007D007E0066073C0A38
:10003000FA0C31006607160A0000000000000000FC
:100040000000F1021A0A3C0A1206490A7200040072
:10005000B302F502430A1602390017023A001802E9
:100060003B00080C35007C0039037C033A037C0319
:100070003B037C031C0226006607240A1205F307D3
:10008000270A7400290A0000000000000000000098
:10009000330A54065E0A14075E0A3406620A130223
:1000A000FD0103043D03120C9D003F0EAF09FF0F3D
:1000B00037001E0C9D003F0EAF0938007300720020
:1000C000B402290A1302FE0103043E03100C9E0031
:1000D0003F0E6C0936005E0AE201000800080008C5
:1000E00000080008000800080008000800080008D0
:1000F00000080008000800080008000800080008C0
:1001000000080008000800080008000801080108AD
:1001100003080308070807080F080F081F081F082F
:100120003F083F087F087F08FF08FF08FF08FF0817
:10013000FF08FF08FF08FF08FF08FF08FF08FF0887
:10014000FF08FF08FF08FF08FF08FF08FF08FF0877
:10015000FF08FF08FF08FF08FF08FF08FF08E2018B
:10016000000800080008000800080008000800084F
:10017000000800080008000800080008000800083F
:10018000000800080008000800080008000800082F
:100190000008000800080008000801080308070814
:1001A0000F081F083F087F08FF08FF08FF08FF0827
:1001B000FF08FF08FF08FF08FF08FF08FF08FF0807
:1001C000FF08FF08FF08FF08FF08FF08FF08FF08F7
:1001D000FF08FF08FF08FF08FF08FF08FF08FF08E7
:0401E000FF08FF080D
:021FFE00EE0FE4
:00000001FF


10F200受信機

2009-08-16 04:27:07 | 飛行機 技術情報
以前からやらなければと思っていた10F系のPICですが、

重い腰を上げて取り掛かってみることにしました、

とりあえず、以前12F629で作った受信機のプログラムを移植して

超小型の受信機として使えるようにしようと思います。

6ピンの米粒パッケージではテストに向かないのでかねてから買ってあった

DIPパッケージの10F200を使う事にしようと、PIC KIT-1の横にテストソケットを取り付けました。







試しに書き込みをしてみるとぜんぜんだめ、??

原因は、なんと10FシリーズのDIPパッケージは12F629なんかと端子の配置がぜんぜん違います。

書き込み機は10Fシリーズでも12Fと同じ端子配置????

せっかくのDIPなのに、変換基板が必要とはどんな考えをしているんでしょうね~~

仕方ないので、米粒チップ+変換基板でテスト用の、チップを作りました(ついでに222も)







それから何とか移植に成功して

(この間実はなが~~~~い時間がかかっているんですが)

下のように動き出しました~~ばんざ~い







2009.8.1飛行会

2009-08-02 11:01:31 | 飛行会
.


8月最初の飛行会

今回は高知県からわざわざmakkin1961さんこと仙頭さんがいらしてくれました。



高知県でも5~6人のメンバーと定期的に電動ヘリ中心の飛行会を開いているらしいです。

持ってこられたヘリはこれ、お~今流行の3軸ジャイロを使ったGAUI

ローター周りがすっきりして、カッコいいですね!



仙頭さん電子回路にも精通しておられるらしく、これはPICを使った、リポのバランサー、

セルごとの電圧をA/D変換して測って、電圧の高いセルだけを放電してそろえるらしいです、

もちろんバッテリーチェカーにも使えます。プログラムもハードも全て自作、すごい~




さらに男ジャイロも自作されてました、調整機能つきだから、オカマジャイロ??




他のメンバーが珍しい物を持ち込んでいました、これもワルケラ製

ヘリの操縦と同じ感覚で操縦できます、(さらにやさしいかも)

プロペラ4個が水平にならんで回っているだけなのに、

何でラダー方向の操縦がクイックに効くのか不思議??








Walkera F-117 Nighthawk





これは酒井さんの新作、超小型ダクトファン!




試験飛行は惜しい飛行でしたがちゃんと飛ぶまでビデオはお預けにしておきます




さらに基板無しの受信機も以前のカブより小型の機体を作って組み込んでいました