H8マイコンによるコントローラ(回路設計)
Last update: <2017/03/01 18:17:26 +0900>
ここでは,コントローラの回路設計について詳細を述べる.2章で述べてきたように,コントローラはマイコン,AD変換部,モータアンプ,電源という構成要素から成り立っている.周辺の構成要素からマイコンに至るまでを順に解説していく.
- AD変換部の回路
AD変換チップであるMCP3208は,図3.1のようなピン配置を備えている.各ピンの役割を見ていく.
図3.1.MCP3208のピンアサイン(MCP3204/3208データシートより引用)
- 9pin DGND
基準電位である.DGNDとあるのは,論理回路系のGNDであることを意味している.
- 16pin VDD
いわゆる論理回路系の電源である.ここではマイコンボードと同じ5Vを入力する.
- 15pin VREF
AD変換に利用される基準電位である.この基準電位に基づいてアナログ−ディジタル変換されるわけであり,たとえば0Vから3Vの信号をAD変換したいのであれば,基準電位から3Vの電圧を入力する.ここではVDDと同じ5Vを入力している.なお,基準電位がノイズを受けると,AD変換の結果に直撃を受けるため,ノイズ防止のためコンデンサを配置している.ポテンショメータの電源はこちらからとる.
- 14pin AGND
アナログ入力用の基準電位である.AD変換回路は,ディジタル回路とアナログ回路が内在する回路であり,厳密に言うとアナログ回路とディジタル回路は電気的に切り離されるのが望ましい.ディジタル回路と同じGNDを共有すると,ディジタル回路に電圧変動がある場合,影響を直に受けるからである.論理回路で,LからHに変化したゲートが多いと,GNDが電圧変動する.この電圧変動をAD変換に持ち込むと,基準電位が揺れるため,正しいディジタル値が得られない.このため,AD変換ではAGNDを別にとっている.
ポテンショメータの基準電位はこちらから取る.また,電気的に分離させたいが,ポテンショメータの電源を5V供給するため,基本的にDGNDと同じにする.AGNDにノイズを持ち込まないようにするため,1μH程度のインダクタでお互いを接続しておく.(効果のほどは不明であるが,回路に造詣の深い学生の助言による)
- 1pin〜8pin CH0〜CH7
AD変換の対象となるアナログ入力である.ここではCH0からCH2をポテンショメータからの入力とする.使わない端子はノイズ防止のため,AGNDに接続しておく.使わない端子は放置せず,基準電位に接続するのは鉄則である.
- 13pin CLK
AD変換チップのクロック信号である.外部からクロックが入力されると,そのタイミングでAD変換したり,データを送信したりする.一定の速度のCLKを入れ続けてもよいが,マイコン側から適宜タイミングを見計らってON/OFFを繰り返すほうが制御しやすい.
- 10pin ~CS/SHDN
チップセレクト,シャットダウンの略である.チップセレクトは負論理なので,この端子にLがくればチップセレクト,Hがくればシャットダウンである.チップセレクトというのは名前のとおり,このICが選択されている状態である.ここでは一つしか使わないので,常にHでも問題ない.
- 11pin DIN
- 12pin DOUT
ディジタルイン,ディジタルアウトの略である.部品選定ですでに述べたとおり,このAD変換チップは外部との接続としてシリアル通信インタフェース(SPI)を持っている.この通信のための信号線である.CLKのタイミングでHとLを繰り返し,データを1ビットずつ送受信するわけである.ディジタルインはAD変換チップからみて入力,ディジタルアウトはAD変換チップからみて出力である.
AD変換チップを利用するために,以上の項目を整理すると次のようになる.
- (a) 電源として5Vを供給する.基準電位は電源からとる.
- (b) GNDはアナログ系とディジタル系を分け,1μH程度のインダクタで接続しておく.
- (c) ポテンショメータの入力はCH0〜CH2を使う.使わないピンはアナログ系GNDに接続する.
- (d) ポテンショメータの電源は基準電位VREF,アナログ系基準電位AGNDを使う.
- (e) マイコンとの通信のため,4本の信号線(CLK,~CS,DIN,DOUT)をマイコンと接続する.
以上のことを踏まえて回路を設計すると,図3.2のようになる.AD変換の対象となるポテンショメータの信号は1kΩと0.1μFのフィルタでAD変換器に入力される.AD変換器の電源入力は,マイコン等の論理回路系から流用するが,100μFの電解コンデンサや0.1μFでディジタルノイズ混入を防いでいる.AGNDは0.1μHのインダクタで論理回路系のVGNDに接地する.
図3.2.MCP3208を用いたAD変換部の周辺回路
- モータアンプ部
- PWM制御とは
PWM制御とはPulse Width Modulation(パルス幅変調)の略で,信号の強弱をパルス幅の大きさで 出力する手法である.モータの回転を制御する場合,もっとも簡単な方法は印加電圧を上下させることである.印加電圧を変更することによって,モータに流れる電流の量が変化し,モータ出力が 変化する,というわけである.PWM制御では,印加電圧を制御するのではなく,印加電圧のONの長さとOFFの長さの比(デューティ比という)を変更することによって電流の量を制御することになる(図3.3).
図3.3.PWM制御とデューティー比
ここでは,2種類のモータアンプ(L6203,TA8429)によるPWM制御の回路構成と実例について説明する.
- L6203によるPWM制御
L6203はSTマイクロエレクトロニクス製のDCモータフルブリッジドライバICである(図3.4).アンプ系の電源は最大52V,制御系の信号はTTLレベルである.
図3.4:L6203 DCモータフルブリッジドライバ
図3.5:L6203のピンアサイン[3]
図3.5に示される構成ピンについて見ていく.
- 2pin Vs
このモータドライバの電源を供給する.ここではモータ用電源である24Vを印加することになる.
- 6pin GND
モータ制御系の基準電位を設ける.このGNDはディジタル系GNDとは切り離されているが,1μH程度のインダクタで接続しておく.
- 11pin ENABLE
ドライバのイネーブル信号を入力する.この端子がHになっていないと,このドライバは仕事をしない.
- 10pin SENSE
モータに流れる電流を,ブリッジの状態を監視することで検出し,電流のフィードバック制御に利用する.今回は使わないので,GNDに接続する.
- 11pin Vref
L6203内部の電源電圧の監視用である.回路内で消費電流が多くなったときの電圧降下を検出する.今回は利用しないのでマニュアルどおり0.22μFでGND接続する.
- 4pin,8pin BOOT1,BOOT2
L6203はMOSFETで構成されており,図3.6のような構成となっている.AやCに接続されているFETを駆動させるには,ソース電圧VSに近い電圧をゲートに入力しなければならない.この高い電圧を確保するため,チャージポンプと呼ばれる充電回路を内蔵している.ブートストラップ用コンデンサ(CBOOT1,CBOOT2)のおかげで,高い電圧を維持できるわけである.データシートでは0.015μFのコンデンサをブートストラップ用につけることを推奨している.
図3.6.L6203の構成図(L6201,L6202-L6203 DataSheetより)
図3.7.L6203の真理値表(L6201,L6202-L6203 DataSheetより)
- 5pin,7pin IN1,IN2
- 3pin,1pin OUT1,OUT2
名前のとおりINが制御入力端子,OUTがモータへの出力端子である. INはTTLレベル,OUTはモータ電源VSの大きさである.図3.7にIN1,IN2と出力の真理値表を示す.ENABLEがH,サーマルシャットダウン(温度保護回路)がH(正常)のとき,次のようになる.
- (a).IN1=L IN2=L の時,A=OFF B=ON C=OFF D=ONとなり,OUT1=L OUT2=L
- (b).IN1=L IN2=H の時,A=OFF B=ON C=ON D=OFFとなり,OUT1=L OUT2=H
- (c).IN1=H IN2=L の時,A=ON B=OFF C=OFF D=ONとなり,OUT1=H OUT2=L
- (c).IN1=H IN2=H の時,A=ON B=OFF C=ON D=OFFとなり,OUT1=H OUT2=H
(b)の場合は,BとCにつながれたFETがONになり,Vs→CのFET→OUT2→モータ→OUT1→BのFET→GNDと順で電流が流れる.(c)の場合は電流の流れが逆になるのは明らかだろう.(a)(d)の場合はモータには電流が流れない.ちなみに,(a)の場合はモータの端子がGNDレベルになり停止,(d)の場合は両端がVsレベルになり停止となる.ENABLEをLにする停止もよいが,モータの端子がGNDにもVsにもならず解放状態となるため,モータは惰性で回り続ける可能性がある.
ここまで整理すると,IN1,IN2は通常はHレベルにしておき,OUT1→OUT2に電流を流す場合はIN2をLに,OUT2→OUT1に電流を流す場合はIN1をHにすればよい.
制御入力端子としてIN1,IN2を使うことは説明したとおりだが,マイコンが 生成するPWM信号をIN1,IN2に振り分ける場合,別途,論理回路が必要となる.そこでマイコン側がPWM信号と回転の向きを表すDIR信号を出力する場合,IN1,IN2に振り分ける回路を考えてみよう.回転の向きを以下のように定義する.
モータ回転の向き
- 正転:OUT2→OUT1に電流を流す方向で,DIRをLとする,
- 逆転:OUT1→OUT2に電流を流す向きで,DIRをHとする.
正転(DIR=L)の場合は,IN1をLにすればよいので,PWM信号を反転させてIN1に入れればよい.IN2はHのままである.逆転(DIR=H)の場合は,PWM信号を反転させてIN2に入れる.IN1はHのままである.真理値表を書くと次のようになる.
表3.1.真理値表
真理値表より論理式は次のようになる.
(3.1)
(3.2)
したがって、論理回路は以下のようになる.
図3.8.NANDとNOTによる制御信号変換回路
NANDとNOTは標準ロジックICの7400シリーズを用いるが,ゲートの種類をなるべく減らしたいため,NOTをNANDで表現すると次のようになる.
図3.9.NANDゲートだけによる制御信号変換回路
図3.10.L6203とPWM,DIR信号によるモータ1台の制御回路
以上のことから,L6203による制御回路は図3.10のようになる.DIRやPWMは図3.9回路を経てL6203のIN1,IN2に入力される.L6203のロジックは5V駆動,モータアンプは24V駆動で,電源にはコンデンサを配置しておく.Vrefは0.22μFでGNDに接地する.またBOOT1,BOOT2にはブートストラップ用のコンデンサを配置している.OUT1,OUT2の間には,余分な発振をおさえるスナバ回路を配置し,モータの逆起電力を逃がすため,ファーストリカバリダイオードを利用する.
- TA8429HによるPWM制御
TA8429Hは東芝セミコンダクタ製のDCモータフルブリッジドライバICである(図3.11).アンプ系の電源は最大27Vである.
図3.11:TA8429H DCモータフルブリッジドライバ
図3.12:TA8429Hの内部構成(東芝バイポーラ形リニア集積回路 シリコン モノリシックTA8429Hデータシートより)
図3.12に示される構成ピンについて見ていく.
- 10pin Vs
モータドライバ用の電源である.定格は30Vで,ここでは24Vを印加することになる.
- 11pin Vcc
モータドライバ用の論理回路系電源で,Vsとは電気的に分離されている.定格は30Vだが,ここではマイコンボードと同じ5 Vを印加することになる.
- 6pin GND
接地端子である.モータドライバ側のGNDはディジタル系GNDとは切り離されているが,1μH程度のインダクタで接続しておく.
- 12pin ST
スタンバイの略である.負論理でLが入力されればモータドライバスタンバイ状態になり,出力はすべて解放状態となる.したがって,モータは惰性で回り続ける可能性がある.
- 1pin,2pin IN1,IN2
- 4pin,8pin OUT1,OUT2
INが制御信号の入力端子,OUTがモータへの出力端子である.INは論理回路系電源であるVccレベル,OUTはモータ電源VSの大きさである.図3.13にIN1,IN2と出力の真理値表を示す.前述したようにSTがLの場合はスタンバイ状態で動作しない.STがHの場合,動作可能となる.
図3.13.TA8429Hの真理値表(東芝バイポーラ形リニア集積回路 シリコン モノリシックTA8429Hデータシートより)
前述したL6203と同じように場合わけしてみる.
- (a).IN1=L IN2=L の時 OUT1=L OUT2=L
- (b).IN1=L IN2=H の時 OUT1=L OUT2=H
- (c).IN1=H IN2=L の時 OUT1=H OUT2=L
- (d).IN1=H IN2=H の時 OUT1=H OUT2=H
(b)(c)の場合,出力端子に電位差が生じ,(b)の場合はOUT2→OUT1へ,(c)の場合はOUT1→OUT2に電流が流れる.向きはL6203と同じである.(a)(d)の場合はいずれも停止するが,(a)の場合だけは解放状態の停止のため,L6203とは異なる(L6203のENABLE→Lと同じ状態).
真理値表を見れば,機能的にはL6203と同じであるため,制御信号の変換回路も図3.9と全く同じものを流用可能である.
図3.14.TA8429HとPWM,DIR信号によるモータ1台の制御回路
以上のことから,TA8429Hによる制御回路は図3.14のようになる.DIRやPWMは図3.9の回路を経てL6203のIN1,IN2に入力される.DIRやPWMがノイズの影響を受けやすかったため,本来ならフォトカプラなどで電気的に絶縁しなければならないところ,1kΩでプルダウンしている.電源付近には大きめの容量のコンデンサを配置し,急激な電圧変動に耐えるようにする.OUT1,OUT2にはモータが発する逆起電力を逃がすため,ファーストリカバリダイオードで接地している.
- TA8429HによるPWM制御の補遺
TA8429Hを前述の回路を用いて実際に利用すると,驚くほど発熱量が大きい.部品の表面温度を測定してみると,100度を超える高熱を発しており,決して直接触れてはいけないほど熱くなる.ヒートシンクを付けても改善されないため,原因を探ってみた.以降は制作には関係ないが,原因探求の試みとして補遺しておく.
TA8429Hの発熱については,他のウェブページの制作記録にも同様の指摘があり,部品自体の仕様なのではないかとも考えられる.図3.15にはTA8429Hの内部回路を示す.CONTROL LOGICの詳細が明らかではないのでわからないが,可能性として,AとBの回路が一瞬だけ同時にアクティブになり,短絡電流が流れて発熱しているのではないかとも考えられる.例えば, Aの回路がON,BがOFF,CがOFF,DがONの場合,OUT1からOUT2に電流が流れることになる.この状態から停止する場合, AをOFF,BをONとすればブレーキとなる.このとき, AがOFFになるより,一瞬でもBがONになるのが速ければ,瞬間的に短絡電流が流れるというわけである.
図3.15.TA8429Hのブリッジ回路(東芝バイポーラ形リニア集積回路 シリコン モノリシックTA8429Hデータシートより)
この状態を避けるため,あえてブレーキを使わず,図3.13の真理値表でのストップ状態を使用してみた.PWMとDIRによる真理値表は次のように整理されるだろう.すなわちIN1とIN2が両方ともH(ブレーキ状態)になることを避け,代わりに両方ともL(ストップ状態)になるように設計するのである.
表3.2.TA8429Hでストップ状態を用いるための真理値表
真理値表から論理式を立てると式(3.3)(3.4)のようになるだろう.
(3.3)
(3.4)
この論理式から論理回路を作成すると図3.16になる.
図3.16.ANDとNOTによる制御信号変換回路
この変換回路にて動作させてみたところ,発熱は起こらなかったが,出力が弱くなり使用に耐えない状態となった.おそらくPWM発振の周期内で,動作と停止の繰返しが生じるが,出力の状態が変わりきらない(急にとまらない,急にうごかない)ものと思われる.したがって,この回路では正しい性能は得られないことが明らかとなった.
なお,ANDゲートは7400シリーズの7408,NANDゲートは7400を利用しており,図3.8の元の回路に戻すためには7408を7400に差し替え,DIRを反転させればよい.
- H8マイコンのインタフェース
利用するH8-3069マイコンボードは,外部とのインタフェースとして図3.17のようなコネクタを備えている.DB9pinはPCとのシリアル通信に用いられる.RJ45はLANインタフェースで今回使用しない.DCジャックにはDC5V電源を印加する必要がある.その他に, CN1,CN2の40ピン端子が用意されており,信号をじかに入出力することができる.以下,CN1,CN2を見てみる.
図3.17.H8-3069マイコンボードの端子配置図(H8-3069ネット対応マイコン付属マニュアル,秋月電子)
表3.3はCN1,CN2のピン配置表である.重要なピンから見ていく.
- CN2:1pin GND
この回路の基準電位であるとともに,全回路の基準電位となる.
- CN2:2pin +5V
ハプティックコントローラの論理回路系(TTL系)の電源となる.マイコンボードから供給されるので,別途5Vを用意する必要はない.
- CN1: 27pin TIOCA0
タイマを使ったPWM信号の出力ピンである.詳しくはH8-3069ハードウエアマニュアルの16ビットタイマを参照されたい.この出力は制御回路変換回路(図3.8)を通してモータアンプに入力されるわけである.モータ1台に対して,PWM信号が1つ必要である.ここでは1台目のモータをモータ1とし,それに対する信号をPWM1と呼ぶ.
- CN1: 29pin TIOCA1
同上である.この出力がモータ2の強弱に関係する.PWM2と呼ぶ.
- CN1: 31pin TIOCA2
同上である.この出力がモータ3の強弱に関係する.PWM3と呼ぶ.
表3.3.H8-3069マイコンボードのピン配置表(H8-3069ネット対応マイコン付属マニュアル,秋月電子)
モータの強弱をPWM1〜PWM3で表現するわけであるが,モータには回転の極性があり,正転/反転を別の信号で表現する.詳細は3.2.2で述べている.正転,反転用の信号を出力するため,本マイコンボードで利用可能なポートについて調べてみたところ, P3,P4,P7であることから(他のポートはメモリアクセスやLANアクセスなどで使用不可),P4を利用することにした.
- CN2: 9pin P44
モータ1の回転する向きを正転Lと反転Hの信号で出力する.以降,DIR1と呼ぶ.
- CN2: 10pin P45
同上である.DIR2と呼ぶ.
- CN2: 11pin P46
同上である.DIR3と呼ぶ.
AD変換器(MCP3208)とのデータ授受において,4本の信号線が必要となる.ここではP4の下位4ビットに割り当てている.
- CN2: 5pin P40
AD変換器のクロック信号(CLK)に接続する.
- CN2: 6pin P41
AD変換器のチップセレクト(~CS)に接続する.
- CN2: 7pin P42
AD変換器のディジタルアウト(DOUT)に接続する.マイコンから見れば入力となる.
- CN2: 8pin P43
AD変換器のディジタルイン(DIN)に接続する.マイコンから見れば出力となる.
マイコンに内蔵されているAD変換機能は,今回は利用しないが,今後利用する場合のことを考えて,予約しておく.
- CN1: 12〜19pin AN0, AN1, AN2, AN3, AN4, AN5, AN6, AN7
マイコン内蔵AD変換器のアナログ入力で,予約とする.
以上のことから,マイコン周辺の 接続回路図は図3.18のようになる.
図3.18.H8-3069周辺の外部インタフェース回路
L6203を用いて,これまでの回路を統合したものを図3.19,プリント基板として設計したものを図3.20,図3.21に添付する.

図3.19.H8マイコンとL6203によるコントローラ回路図(画像クリックで拡大)
図3.20.プリント基板のパターン(実習において,初心者でも半田付けしやすいように,大きなパターンで設計してある)
図3.21.プリント基板のシルク側パターン
- 他の外部回路設計
電源やスイッチ周りの回路については図3.22のとおりである. AC100Vはヒューズ,スイッチを介して,定電圧電源PS3N-F24A1Nに入力される.この配線は初心者がやってはならない.また,この配線部分をむき出しにすると,感電の恐れがあるので注意が必要である.ヒューズは125V3A程度で十分である.定電圧電源から取り出した24Vは,スイッチを介してモータアンプの電源部分に接続する.また,同じく24VをDC-DCコンバータに接続し,5Vを取り出す.
図3.22.電源部配線図
図3.23はHRD051R5Eの推奨回路である.左側が入力,右側が5V出力である.
図3.23.HRD051R5EによるDC−DCコンバータ回路
戻る