ステッピングモーターの制御Arduinoで学ぶ基礎からのモーター制御(7)(3/5 ページ)

» 2016年06月10日 07時00分 公開
[今岡通博MONOist]

Arduinoでステッピングモーターを駆動する

 先ほどはタクトスイッチを指で押し、ステッピングモーターを回してみました。タクトスイッチは金属同士の接触で電気を流すので、数アンペア程度の電流なら余裕でON/OFFが可能です。

 しかしArduinoのGPIOには、ステッピングモーターを駆動するだけの電流を流す能力はありません。そこでトランジスタの力を借りてステッピングモーターを駆動すだけの電流を増強する必要があります。そのためドライバー回路あるいはドライバーICが必要になります。

 次の図は今回実験に使っているステッピングモーター「55SPM25D7」のデーターシートから引用したものです。

photo 「55SPM25」シリーズのデータシート

 55SPM25D7のコイル間の抵抗は12Ωです。これを乾電池4個の電力(6V)を使って回すので、6 ÷ 12 = 0.5となり、0.5Aが流れる計算になります。直流ブラシ付きモーターを駆動した時に使ったトランジスタ「2SC2120Y」を4個使って回路を組んでみました。

Arduinoでステッピングモーターを駆動させる回路

 ステッピングモーターの駆動には、Arduino GPIOのD8、D9、D10、D11を使います。D11がステッピングモーターのXにつながるトランジスタを制御します。D10が-X、D9がYそしてD8が-Yです。コモン(COM)はステッピングモーター駆動用のプラス電源につなぎます。

 Arduinoの各GPIOから、トランジスタのベースにつながる抵抗の値は480Ωとしました。この抵抗値で、ステッピングモーターのコイルに流れる電流を調整します。この抵抗値の求め方は第2回の記事(基礎からのマイコンモーター制御(2):マブチモーターをArduinoで制御する)を参考にしてください。

 データシートによると駆動に必要な電力は「4W」とあります。0.5×6で3Wとなり多少足りません。取りあえず回転させるだけならばこれでも足りますが、定格通りの性能が必要な場合は、必要な電力を用意しなくてはなりません。

 駆動に最適な電力が4Wでコイルの抵抗が12Ωですから、

4=電流×電圧

電流=電圧/12

4=(V/12)*V

4=V*V/12

4*12=V*V

48=V*V

V=√48=6.928V


 となり、最適な電圧は7V弱となります。

ブレッドボードへの実装例 ブレッドボードへの実装例

 上の写真がブレッドボードへの実装例です。ブレッドボードは2枚連結して使っています。上のブレッドボードは先に試したタクトスイッチの回路を改造したもの、下のブレッドボードにはArduino Nanoのみを配置し、それぞれトランジスタのベースにつながる抵抗で2つのブレッドボード間を渡しています。ArduinoのGNDとモーター駆動用の電源のGNDは共通にしてください。

Copyright © ITmedia, Inc. All Rights Reserved.