Comments
Description
Transcript
H 8 マイコンを用いた 直流モータの PWM 制御
広島国際学院大学研究報告,第44巻(2011),49~55 49 H 8 マイコンを用いた 直流モータの PWM 制御 松尾 邦昭 (平成23年10月 5 日受理) A Method of PWM Control for a DC Motor using an H8 Microcontroller Kuniaki MATSUO (Received October 5, 2011) In this brief report, one method of PWM(Pulse Width Modulation) for controlling a DC(Direct Current)motor will be described and demonstrated. This method uses an H8 microcontroller manufactured by Renesas Electronics Corporation in Japan. The H8 family of microcontrollers is quite well-known for having the largest market share of embedded microcontrollers in the electronics industries worldwide. In this study, an H8/3048F microcontroller will be used and the test circuit will be shown. The experimental results will be presented in a graph, and a comparison with a PIC (Peripheral Interface Controller) will be discussed. Keyword:H8 microcontroller, DC motor, PWM, PIC, FET IRF3703, C program, threshold level. [1] はじめに この技術レポートでは,ルネサスエレクトロニクス社の製品である H 8 マイクロコンピュータ を使った直流モータの速度制御について報告する。実験回路とグラフにして示した実験結果を元に データについて考察する。また,従来から研究室にて使用している PIC(Peripheral Interface Controller)との比較も議論する。 マイクロコンピュータ H 8 は色々な日本の企業が開発した製品であり,今でもその元々の会社 が開発した経緯が今なお色濃く残っている。現在の H 8 マイコンはルネサスエレクトロニクス社 の製品であるが,このルネサスエレクトロニクスは,2010年 4 月ルネサステクノロジ社と,NEC 50 松尾 邦昭 エレクトロニクス社が合併して誕生した会社である。またルネサステクノロジ社自体も,2003年 4 月に,日立の半導体部門と,三菱電機の半導体部門が合併したものであり,このような理由でルネ サスエレクトロニクス社製マイコンにはたくさんの種類があり,携わった企業の特色が大きくみら れる。 たくさんの種類の H 8 マイコンの中でも,特に H 8 /3048F は H 8 /300H シリーズの代表的な機 種であり,その使いやすさ,価格の安さ,機能の豊富さ,またその為に出版された書籍の多さのた め,たくさんの人に人気がある。また市販のボードも秋月電子通商や AW 電子から販売されてい る。 [2] H8/3048F マイコン 本実験で使用したマイコンは H 8 /3048F である。マイコン自体は15mm×15mmのサイズを持 ち,周りに100本の入出力ピンと制御ピンを備えている。ハード的には128KB (フラッシュメモリ), 4 KB の RAM,AD/DA 変換機能,各種タイマー,シリアル通信インターフェイス(SCI)機能等 を備えている。それらポート等の使い方,ピン番号の詳細は参考文献1)に詳しく掲載されている ので参照していただきたい。その中でも特に,ポート 2 ,ポート 4 ,ポート 5 は入力端子として使 用する場合にはプルアップ機能を内蔵しており,その機能を使用するかしないかは自由に設定でき る。また,ポート 7 は入力専用で 8 ビットの入力端子を持つ。注意しておかないといけない事は全 てのポートが 8 ビット長ではないことである。また,16[MHz]のクロックも内蔵されており, 前述の秋月電子等から販売されている取付用基板を使用し,パソコンに接続するとプログラムの作 成からデバイスへのデータ転送まで簡単にできる。 [3] PIC マイコンとの比較 PIC(ピック)マイコンというのは“Peripheral Interface Controller”の略で,米マイクロチッ プテクノロジー社が開発した超小型マイクロコンピュータである。PIC のパッケージは 8 ピンや18 ピンという TTL のような小型サイズもあり,手のひらに乗るような小型の電子機器にマイコンを 搭載するには,最も身近なデバイスであると言える。数多くある種類の中でも,PIC16F873は比較 的プログラムメモリ,ワークメモリ等が充実しており,たいへん使いやすいデバイスで,「First PICk」と呼ばれる実験基板がガイドブックとともに,(株)マイクロアプリケーションラボラト リー社から発売されている(参考文献2)。この実験基板を用いると簡単にデータ転送ができる点 は H 8 マイコンと同様である。PIC の大きな特徴の一つは,プログラムメモリ領域とワークメモリ 領域が独立しているところで,このアーキテクチャはハーバードアーキテクチャと呼ばれ米国ハー バード大学で考案された CPU 構造である。ロボットの制御などにたいへん使いやすいPIC16F873 は外部発振器を必要とするが,入出力ポートはAポート,Bポート,Cポートの 3 ポートを備えて いる。簡単な機械等の制御を必要とする場合などはアセンブリ言語でプログラムを作成し,市販の アセンブラーで機械語に変換後 PIC に転送する。たくさんの入出力データを扱い多くの複雑な データを処理しようとする場合は C 言語でプログラムを書くこともできる(参考文献 3 , 4 )。し かしながら多くの複雑なデータを 3 つの入出力ポートで処理しようとすると無理な面が出てくるで あろう。その点 H 8 マイコンは発振器を内蔵し,多くの機能を有し,たくさんのポートを持ってお り,入力専用の端子を備えプルアップ機能も有するという特徴を持つ。 H 8 マイコンを用いた直流モータの PWM 制御 51 [4] A/D 変換 アナログ信号をデジタル信号に変換することを A/D 変換と呼び,A/D 変換器は,アナログ信号 を一定時間周期でサンプリングして,これを量子化した後,符号化してメモリ等に格納する。A/D 変換器には計数方式と比較方式(逐次比較方式)があり,計数方式には二重積分形が,比較方式に は並列比較形がある。ちなみに H 8 マイコンに内蔵されている A/D 変換器は比較方式で,これら 一連の信号処理を行うのが A/D コンバーターと呼ばれているものである。例えば 0[V]~ 5[V] の入力電圧をマイコンに入力する場合,電圧は切れ目のない連続したデータのアナログ信号であ る。H 8/3048F マイコンは10ビットの分解機能を持っており,入力されたアナログ信号電圧が10 ビットのデジタル信号に変換できるということを意味し,0[V]が0000000000Bの 2 進数で,5[V] が1111111111Bの 2 進数で表現できる。この電圧の分解能を考えると, 1 ビットが₀.₀₀₄₈₈[V]に なっていることが分かる。H8/3048F マイコンには10ビット 8 チャンネルの A/D コンバーターが 用意されている。 [5] PWM 回路と PWM 速度制御技術 PWM(Pulse Width Modulation)回路とは,周期一定の入力信号の大きさに応じてパルス幅の デュ-ティ・サイクル(パルス幅の H と L の比)を変え,直流モータの速度等を制御する回路で ある。直流モータの速度制御には,従来から端子電圧の可変,電機子回路に挿入される直列抵抗値 の可変,界磁強度の可変と多種ある。これらの従来からある制御に対して,これはスイッチング制 御とも呼べる。従って,パワー・トランジスタや FET を使用することができ,それらの飽和領域 で使用する為,電力ロスが軽減され,トランジスタも FET もそれ程発熱しない。更に必要な時間 だけ通電するのでモータ・ドライブ回路全体の効率が上がる。 PWM パルス制御法は,電圧パルスがオンの時だけモータに電流を流し,それ以外の時は休んで いるので,その間ではトランジスタや FET には電流が流れない。ここで気を付けたいことは, モータもコイルで作られている限り,そこには必ず何がしかのインダクタンスが存在し,これにパ ルスオフ時の自己誘導作用が発生し,大きな逆起電力を誘発する。これは,制御用トランジスタ・ FET を破壊するだけでなく,大きな雑音を周囲に巻き散らし,ひいては大きな電磁波被害となる ことがある。これを解決するのが環流ダイオード(フライホイールダイオード)である。このダイ オードの働きは,パルスオフ時にコイル内に蓄えられたエネルギーをモータに流す事が出来ること である。その結果モータ電流が連続的となりエネルギー効率が上がり,なおかつモータの回転もス ムーズになる。 [6] モータの PWM 速度制御実験回路 図1は今回使用したモータ駆動回路の 回路図である。H 8 マイコンへの入力は 0[V]~ 5[V]の電圧で,出力は波高 値 5[V]の PWM 波である。それらの パルス波は FET のゲートへの入力とな り,またゲートは入力電荷放電用の抵抗 で接地されている。前述のようにモータ には並列に環流ダイオードが逆向きで接 図 1 モーター駆動回路 52 松尾 邦昭 続されており,モータへの電流がスムーズに流れるようになっている(参考文献 5 )。 [7] プログラム 下記は今回の実験に使用した C 言語で記述されたプログラムである。最初の数行はマイコンの 動作に必要な種々の設定が羅列され,プログラム中 while⑴部分から AD 変換と PWM 波生成のた めのプログラムが書かれている。なお//はコメントの部分である。 H 8 マイコンを用いた直流モータの PWM 制御 53 今回の実験では,A/D 変換後の信号を PWM 波に変換する場合のしきい値(threshold level) を16進数表現で表 2 のように 8 レベルに設定した。これら16進数 0x0f,0x2f 等は C 言語プログラ ム中に見られる。結果的には 0[V]~ 5[V]の入力電圧を 8 種類のオン時間長を持つパルス波に 54 松尾 邦昭 変換したことになる。さらなる木目の細かいレベルの選択は,入力電圧と PWM 出力波のオン時間 の関係がもっとスムーズなものになると考えられる。 表2 [8] 実験結果 表 3 は今回の実験結果である。 表3 図2 H 8 マイコンを用いた直流モータの PWM 制御 55 プログラム中でのしきい値を16進数表現で表 3 第一列のように設定した。それに対する入力電圧 は第二列のように,また PWM パルス ON 幅長,モーターに備え付けられているロータリーエン コーダー出力波形から計算した出力周波数のデータは表 3 のようになった。なお,PWM パルス波 の周期は₄.₀[µs]である。それらの数値をグラフで表現したものもが図 2 である。横軸にマイコ ン入力電圧を,縦軸に PWM パルス幅とエンコーダー出力周波数を記載している。入力電圧に対し て少し線形性に欠けることが分かる。これはプログラム中,16進数表現のしきい値の選択に起因し ていると考えられる。 [9] まとめ この技術レポートでは,ルネサス社製マイコンH 8 /3048Fを使って直流モータの速度制御の詳細 を報告した。入力電圧は H 8 /3048F マイコン内において,あらかじめメモリに格納された A/D 変 換プログラムと PWM 波生成プログラムにより変換される。さらにマイコンから出力された信号は FET IRF3703 に供給され,直流モータの電流を制御する。A/D 変換後の信号を PWM 波に変換す る場合のしきい値(threshold level)の設定状況により入力電圧と PWM 出力波形がさらにスムー ズなものになると考えられる。 参 考 文 献 1) 「C 言語による H 8 マイコン プログラミング入門」 横山直隆 技術評論社 2009年 2) 「First PICk」小川晃 マイクロアプリケーションラボラトリー 2007年 3) 「PIC マイコンではじめる 作って遊べるロボット」 後閑哲也 技術評論社 2006年 4) 「おもしろい PIC マイコン」 中尾真治 オーム社 2004年 5) 「わかる! 電子工作の基本100」 遠藤敏夫 秀和システム 2010年 謝 辞 本研究は平成23年度広島国際学院大学特別教育費としての助成金を受けたものである。ここに記 して感謝の意を表する。