Top > ステッピングモータードライバ

広告

バイポーラ用ステッピングモータードライバの作製

ユニポーラの物は「ステッピングモーター」のページを参照してバイポーラ化して使う。

買う物

回路

A3983は便利なチップで、最低ステップパルスと方向の2つ信号を与えれば動くのでPICでも簡単に使える。
マイクロステップも設定可能。スリープなどの機能もある。35V,2AまでOKなので個人で使うモーターなら十分なもの。

以下に簡単なKiCADで描いた回路図を示す。

step_motor_sche.png

PICの12F629(または12F675)でコントロールするようにしている。
R1は100k、R4、R5は電流を制限するための抵抗なので使うモータによって変える必要がある。だいたい0.5Ωぐらいでワット数に注意が必要。
コンデンサは0.1uF程度の物を多用。C7はでかいのを付けておく。 A3983は小さくてピンピッチも狭いのでハンダ付けに注意が必要。抵抗などチップ部品を使うと全体的に小さくできる。

見えにくいけどR6〜R9はプルアップ抵抗

P3にモーターをつなぐ。OUT1A、OUT1Bが一つのコイル、OUT2A、OUT2Bがもう一つのコイルにつなぐ。

スリープもできるようにしているが使わないならつながなくてもいい。その時はプルアップしておく。ただし、スリープしないと止まっている時も電流が流れるため、消費電力を抑えたい場合はスリープする必要がある。その位置で保持したい場合はスリープしないほうがいい。

MS1とMS2でマイクロステップの設定を行う。両方Highにしておくと一番細かい

プリントパターン

KiCADで描いた上の回路のプリントパターン。実寸大

step_motor.png

印刷用

このようにチップ自体が小さく、部品点数も少ないので小さくプリント基板を作ることができる

テストプログラム

PIC12F675用のただ回すだけのプログラム。gpasmでアセンブルできる。

	list p=12f675
	include	p12f675.inc
	__CONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT
	__IDLOCS	H'0100'
	CBLOCK	H'20'
		CNT
	ENDC
;----Initial setting
	BCF		STATUS,RP0 ;Bank 0
	CLRF		GPIO       ;Init GPIO
	MOVLW	07h
	MOVWF	CMCON      ;digital IO
	BSF   	STATUS,RP0 ;Bank 1
	CLRF		ANSEL      ;Digital I/O
	MOVLW	B'00111000'        ;ポート0,1,2を出力、ポート3,4,5を入力
	MOVWF 	TRISIO     ;
	BCF		STATUS,RP0 ;Bank 0
	BSF		GPIO,0	;DIR
	BSF		GPIO,2	;SLEEP
L1:		;Drive loop
	CALL		W100
	BSF		GPIO,1	;STEP ON
	CALL		W100
	BCF		GPIO,1	;STEP OFF
	GOTO		L1
;---wait
W100:
	MOVLW	D'200'
	MOVWF	CNT
WL100:
	DECFSZ	CNT,F
	GOTO		WL100
	RETURN

	END

広告

添付ファイル: filestep_motor_driver.pdf.tgz 794件 [詳細] filestep_motor_sche.png 1746件 [詳細] filestep_motor.png 1108件 [詳細]

リロード   差分   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Wed, 18 Jan 2012 17:11:46 JST (4453d)