Darkside(リンクエラー修正しました)

名前

URL

タイトル

コメント

2018年6月27日(水) 21:28

試作してみよう

 重要な話を忘れていた。
 モータードライバーを自作するのは、モーター電圧7セルに市販ESCでは対応できないからだが、他にも自作には大きなメリットがある。それは、制御指令をデジタルデーターのまま与えられること。サーボパルスや電圧などのアナログを介することなく、モーター回転をデジタルで指示できる。もちろん、キャリブレーションも不用だ。
 更に、ドリル戦車は2モーター方式。これは、左右の回転数が一致しないと直進できないため、直進安定が悪いというデメリットがある。しかし、モーター回転をデジタルで指令したうえにブラシレスモーターは回転数を精密に制御できるのだから、左右の回転数をピタリと一致させることは難しくない。2モーター方式の弱点を補うことが可能であり、モーター2つ分のパワーを活用できるメリットが活きる。

 しかしそのためには、デジタル値を受け取らねばならない。
 dsPIC33FJ12MC202 は28ピンだが、I/O に使えないピンが多いうえに PWM という大物がピンを占有する。ホールセンサーも不可欠だ。つまり、ピン数に余裕が無い。
 そうなると、SPIは採用し難い。いっぽうで通信は遅くて構わないので、ここはI2Cだろう。I2Cはプロトコルが複雑で動作させるのに苦労するが、最悪ソフトウェアSPIでいい。その場合はI2C同様に信号2本で行けるから、I2C用の2本を流用すれば良い。

 当面の試験では、I2C用の17番ピンと18番ピンにはプッシュボタンを接続する。

 PWM のフォールト入力は、サンプルプログラムでは使用しない設定のようだ。本では使用しているが、別に使用する必要はない。ブラシありモーター用の自作アンプでも、そういう機能は組み込んでいない。今回は電流モニターは行う気だが、自作アンプの機能として実装するかどうかは別問題である。
 電流モニターは、モーターの負荷を確認する目的で使いたい。ブラシレスモーターは回転数を制御できるが、回転数が遅いことと負荷が大きいことはイコールではない。直接的に負荷を知るには、電流の方が分かり易い。それにどういう意味があるかと言えば、シフトチェンジの参考である。負荷が過大ならシフトダウン、というわけだ。

 余ったピンは汎用 I/O としてキープしておく。
 アナログ入力は3系統確保し、1つは試験時にモーター速度を指令するためにボリュームを接続する。

入力
出力
デジタル
アナログ
pin
番号
PicKIT4
pin番号
MCLR IN D リセット入力 1 1
AN0 IN A モーター速度 2
AN1 IN A 3
AN2 IN A 4
IC1 IN D ホールセンサー1 5
IC2 IN D ホールセンサー2 6
IC7 IN D ホールセンサー3 7
VSS D GND 8 3
OSI クロック水晶 9
OSO クロック水晶 10
PGD IN D ソフト書き込み用 11 4
PGC OUT D ソフト書き込み用 12 5
VDD D 3.3V 13 2
test OUT D LED試験 14

 本と異なり、マイクロチップサンプルはホールセンサー3本ともインプットキャプチャー(IC)している。修正は容易だったので、本と同じピンに割り当て直す。と言うより、元の割り当てだとI2Cと重複する。
 また、こっちで改造することもなくサンプルプログラムは最初から逆転対応になっている。
 公式サンプルはどうやら、公式が販売している評価用モータードライブ基板用らしい。となると、dsPIC の採用を検討しているメーカーが使うだろうから、適当な性能ではセールスにつながらない。モーターの性能を十分に引き出せる高性能なプログラムになっているのだろう。若干ヌケている部分はあるものの、正弦波駆動で正逆両方向対応と、豪華仕様。

入力
出力
デジタル
アナログ
pin
番号
AVDD A 3.3V 28
AVSS A GND 27
PWM 1L OUT D モータードライブ 26
PWM 1H OUT D モータードライブ 25
PWM 2L OUT D モータードライブ 24
PWM 2H OUT D モータードライブ 23
PWM 3L OUT D モータードライブ 22
PWM 3H OUT D モータードライブ 21
VDDcore IN 3.3Vに接続しない 20
VSS GND 19
SDA1 IN D SWITCH_S4 18
SCL1 IN D SWITCH_S3 17
test OUT D サーボパルス試験 16
test OUT D サーボパルス試験 15

 サンプルプログラムでは周辺ICの制御のためRB8(17番)とRB9(18番)をOUTで使っているが、それは必要なら14〜16番を使用する。周辺ICは独自実装なので、必要になるかどうかは分からない。

 ひとまず、このピンアサインを前提に、試験用基板を製作する。

written by higashino [ドリル戦車] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

Comments

TrackBacks

Darkside(リンクエラー修正しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4