2018年06月09日
No.15 モータドライバTB6643KQ過電流検出回路【テオヤンセンさんの動く城】
こんにちわ!
モータードライバTB6643KQを10.7 [ V ]でモーターを駆動しようとしているのですが、音がなりながらなかなか回ってくれません。
その原因と対策を考察していきたいと思います。
ハンディオシロを購入しました。
Quimat から出ています格安オシロのDSO Shellってやつです。
なんかよくわかってませんが、たぶん正規品は組み立てキットで、それを組み立てて販売しているものだと思われます。
計測器具まで自分で組み始めると、電源装置などを持っていない自分だと、何を信じていいのかわからなくなりそうだったので、組み立て品でぱっと買えるものを選びました。
アマゾンの以下の商品です。
あ!ちなみについてくる説明書は英語です。いじり倒して壊しても、4000円なら、凹む時間も短そうなので、よくわからないまま使っています。
基本的にはボタンを押す、ADJのつまみを回す。という操作でいろいろ調整していきます。
ボタンの左から順番に、縦軸のスケール、横軸のスケール、トリガー(一定周期のプロットを静止して表示するため)の設定、HOLDの順番になっています。
HOLD中に、縦軸のスケールの設定から抜けてから、ADJを回すと原点が上下移動。同様に横軸のスケールの設定から抜けてからADJを回すと原点が左右に移動となります。
4000円程度で、電気の流れが見えるってすごいですよね。
高専の頃に先生が壊して新品100万円のオシロを壊して、20万の中古を買ったって聞いてからというもの、オシロスコープは高級品だとばかり思っていたので、自分で手に入れるなんて、考えてもみませんでした。
まぁ、働きだしたので多少背伸びすれば先生がおっしゃってた中古オシロだったら買えるんですけどね。
ただ、食べていくのに困るだけで!
さて、そのオシロスコープで前の記事のモータードライブ回路が動かない原因を究明していきます。
まずは、ATTiny2313のPWMの波形を確認しましょう。
以下は、3.3V駆動のATTinyを128/255=0.50196...のデューティー比で出力した波形です。
画像を撮っているときにいじりながら勉強していたので、1Cycleの時間が見にくいですが、僕はこれを16.7[msec]と読みました。
表示では、Cycleは15[ msec ]、Dutyが50.2[ % ]、Vmaxが3.32[ V ]でCycleについては微妙ですが、他は大体いいんではないでしょうか?結構きれいな矩形波がでてるんですね。
ちょっと感動です。
次はTB6643KQの出力波形です。
入力されるのは、先ほどのDuty比が50[ % ] のPWM波形です。
こちらは大体4 [ usec ]くらいでON,OFFを4~5回繰り返すのを、120[ usec ]周期で繰り返していますね。
モータードライブ用に昇圧回路を組んで、10.7[ V ]を供給しているはずが、8.27[ V ]がピークになっています。
以下にTB6643KQのデータシート内、過電流保護回路の部分を載せます。
この回路が作動することは、基本的には推奨されておらず、
「4.5~8 [ A ]を超える電流を5.1 [ usec ]を超える時間、出力している場合、出力をOFF(高インピーダンス)にする。
通常動作に復帰するには、入力端子を両方ともLレベルにする。」
とあります。
オシロスコープの読み違いが、正直1.1[ usec ]程度はあると思います。つまり、5.1[usec]周期でON,OFFを繰り返しているとも考えられます。
前述のように、
1.TB6643の電源電圧よりも出力電圧の最大値が小さいこと
2.5.1[ usec ]周期でoffが繰り返される
の2点から、モーターの始動電流によって、過電流保護回路が作動しているものと推察されます。
ただ、0.12[ msec ]周期でこの現象が繰り返されるのはよくわかりません。
PWMの波形を見る限り、一旦作動した過電流検出回路はPWM波形の立下り後0.1 [ usec ]のタイミングまで作動し続けるはずなんですよね…。
0.12[msec]ごとにプログラムがループしてるんでしょうか?
さらに、Duty比100 [ % ]のモーター出力を載せます。
こちらは、過電流検出回路が発生する周期が56 [usec]程度とDuty比50 [ % ]に比べて短くなっています。
この辺がヒントになる気がします。
とりあえず、ATTinyのデータシートを読み込もうと思います…。
そもそもPWMを使って駆動しようとしていたのは、過電流検出回路にかからないように、TB6643KQから出力される電圧を下げようとしたからです。
しかし、ATTiny2313のPWMの出力波形が、そのままTB6643KQの出力波形になろうとして、過電流検出回路に引っかかってしまています。
これは、TB6643KQの分解能が優秀だからです。(もうちょっと、ATTiny2313のデータシートを読み込んで確認しよと思っています。)
とりあえずは、PWM回路を直接TB6643KQに入れるのではなく、ローパスフィルタにより平滑化して入れてみようと思います。
モータードライバTB6643KQを10.7 [ V ]でモーターを駆動しようとしているのですが、音がなりながらなかなか回ってくれません。
その原因と対策を考察していきたいと思います。
1.オシロスコープ
ハンディオシロを購入しました。
Quimat から出ています格安オシロのDSO Shellってやつです。
なんかよくわかってませんが、たぶん正規品は組み立てキットで、それを組み立てて販売しているものだと思われます。
計測器具まで自分で組み始めると、電源装置などを持っていない自分だと、何を信じていいのかわからなくなりそうだったので、組み立て品でぱっと買えるものを選びました。
アマゾンの以下の商品です。
Quimat 2.4"TFT デジタル オシロスコープ(組立完成品) 0-200KHz 5mV/Div-20V/Div感度 プローブ付き 9V DC DSOオシロスコープ Q15001 新品価格 |
あ!ちなみについてくる説明書は英語です。いじり倒して壊しても、4000円なら、凹む時間も短そうなので、よくわからないまま使っています。
基本的にはボタンを押す、ADJのつまみを回す。という操作でいろいろ調整していきます。
ボタンの左から順番に、縦軸のスケール、横軸のスケール、トリガー(一定周期のプロットを静止して表示するため)の設定、HOLDの順番になっています。
HOLD中に、縦軸のスケールの設定から抜けてから、ADJを回すと原点が上下移動。同様に横軸のスケールの設定から抜けてからADJを回すと原点が左右に移動となります。
4000円程度で、電気の流れが見えるってすごいですよね。
高専の頃に先生が壊して新品100万円のオシロを壊して、20万の中古を買ったって聞いてからというもの、オシロスコープは高級品だとばかり思っていたので、自分で手に入れるなんて、考えてもみませんでした。
まぁ、働きだしたので多少背伸びすれば先生がおっしゃってた中古オシロだったら買えるんですけどね。
ただ、食べていくのに困るだけで!
さて、そのオシロスコープで前の記事のモータードライブ回路が動かない原因を究明していきます。
2.ATTiny2313のPWM波形
まずは、ATTiny2313のPWMの波形を確認しましょう。
以下は、3.3V駆動のATTinyを128/255=0.50196...のデューティー比で出力した波形です。
画像を撮っているときにいじりながら勉強していたので、1Cycleの時間が見にくいですが、僕はこれを16.7[msec]と読みました。
表示では、Cycleは15[ msec ]、Dutyが50.2[ % ]、Vmaxが3.32[ V ]でCycleについては微妙ですが、他は大体いいんではないでしょうか?結構きれいな矩形波がでてるんですね。
ちょっと感動です。
3.TB6643KQの出力波形
次はTB6643KQの出力波形です。
入力されるのは、先ほどのDuty比が50[ % ] のPWM波形です。
こちらは大体4 [ usec ]くらいでON,OFFを4~5回繰り返すのを、120[ usec ]周期で繰り返していますね。
モータードライブ用に昇圧回路を組んで、10.7[ V ]を供給しているはずが、8.27[ V ]がピークになっています。
4.TB6643KQの過電流検出回路
以下にTB6643KQのデータシート内、過電流保護回路の部分を載せます。
この回路が作動することは、基本的には推奨されておらず、
「4.5~8 [ A ]を超える電流を5.1 [ usec ]を超える時間、出力している場合、出力をOFF(高インピーダンス)にする。
通常動作に復帰するには、入力端子を両方ともLレベルにする。」
とあります。
5.考察
オシロスコープの読み違いが、正直1.1[ usec ]程度はあると思います。つまり、5.1[usec]周期でON,OFFを繰り返しているとも考えられます。
前述のように、
1.TB6643の電源電圧よりも出力電圧の最大値が小さいこと
2.5.1[ usec ]周期でoffが繰り返される
の2点から、モーターの始動電流によって、過電流保護回路が作動しているものと推察されます。
ただ、0.12[ msec ]周期でこの現象が繰り返されるのはよくわかりません。
PWMの波形を見る限り、一旦作動した過電流検出回路はPWM波形の立下り後0.1 [ usec ]のタイミングまで作動し続けるはずなんですよね…。
0.12[msec]ごとにプログラムがループしてるんでしょうか?
さらに、Duty比100 [ % ]のモーター出力を載せます。
こちらは、過電流検出回路が発生する周期が56 [usec]程度とDuty比50 [ % ]に比べて短くなっています。
この辺がヒントになる気がします。
とりあえず、ATTinyのデータシートを読み込もうと思います…。
6.対策
そもそもPWMを使って駆動しようとしていたのは、過電流検出回路にかからないように、TB6643KQから出力される電圧を下げようとしたからです。
しかし、ATTiny2313のPWMの出力波形が、そのままTB6643KQの出力波形になろうとして、過電流検出回路に引っかかってしまています。
これは、TB6643KQの分解能が優秀だからです。(もうちょっと、ATTiny2313のデータシートを読み込んで確認しよと思っています。)
とりあえずは、PWM回路を直接TB6643KQに入れるのではなく、ローパスフィルタにより平滑化して入れてみようと思います。
【このカテゴリーの最新記事】
-
no image
-
no image
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/7756635
この記事へのトラックバック