FPGAで つくばサーキットを走った
製作途中のモータ
コイルを手巻きして作ったBLDC

 CQ出版にて販売しているミニカートのキットがあります(車体駆動部).

このカートは,コイルを手巻きして作るブラシレス・モータ(BLDC)を12~24V程度のバッテリで駆動して走らせます.

キットにはNUCLEOボードが付属しており,STM32マイコンでBLDCを制御します.

このキットを使ってFPGAでミニカートを走らせるために,アダプタとなるボードを自作しました(詳細はこちら).

●自作ボード

 FPGAボードとして,Tang Nano 9K(Sipeed)を使っています.もともとNUCLEOボードが載っていたところに,Tang Nano 9Kを載せるために変換基板を作りました.ADCなど足りない機能も変換基板に載せています.

▲ADC

 ボリューム(もしくはカートのアクセル)の抵抗値を読み取るために,A-D変換ICとしてMCP3008(マイクロチップテクノロジー)を使っています.FPGAとADCとはSPIっぽいプロトコルでお話します.

▲スイッチ類

 ボードの余ったスペースには,プッシュ・スイッチ×4とトグル・スイッチ×3を載せました.

▲7セグ

 デバッグ用に,4桁7セグLEDを載せました.ボリュームの読み取り値や回転速度を切替表示できるようにしてあります.ワイルドなので,トランジスタも抵抗も入れずFPGAから直接駆動します.

▲DC-DCコンバータ

 Tang Nano 9Kへ供給する5Vを生成するために,BP5293-50(ローム)を使っています.電源はドライバ・ボード(緑)から12Vが供給されています.

ガーバーデータも配布中
新旧のブロック図
組み立てたところ
火入れ
パッチとか…

●ドライバ・ボードはそのまま使う

 3相のHブリッジやゲート・ドライバICが載ったドライバ・ボード(緑)はそのまま使います.

 自作基板を通して,ホール・センサの信号をFPGAボードへ入力しています.

 やはり自作基板を通して,FPGAボードからゲート・ドライバICへ駆動信号を出力しています.

 アクセル開度(可変抵抗)を示すアナログ値は,自作基板上のADCに入力されます.これをAD変換した値をもとに,モータ駆動波形のDutyを変えています.

 BLDCの120°矩形波駆動は,ホール・センサ(3ビット)の現在値をもとに,6つのモードを切り替えることで行います.モードごとに,3相あるHブリッジの上側アームと下側アームのON/OFFの組み合わせが決まっています.詳細はFPGAマガジンNo.7に書いてあります.

元々はNUCLEO(白)が載っている

●30分のエコランレースにも出走

 車体とモータ(コイルの巻き方は自由)はレギュレーション上,変更できませんが,ドライバ・ボードは自作もOKとなっています(今回は制御部のみ自作).

 せっかくサーキットを走るので,レースカーっぽく広告も入れました.

差し当たって,完成!

●ドレミファ・インバータ?

PWM周波数は,あえて可聴域に設定しました.走っていると音でアクセル開度が分かるので,エコランでは結構都合がよかったです.

あいにくの雨でしたが,30分間走り切りました.

結果はこちら(No.29)

詳細はこちら

雨対策

1件のコメントがあります

コメントを残す