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に書いてあります.
●30分のエコランレースにも出走
車体とモータ(コイルの巻き方は自由)はレギュレーション上,変更できませんが,ドライバ・ボードは自作もOKとなっています(今回は制御部のみ自作).
せっかくサーキットを走るので,レースカーっぽく広告も入れました.
差し当たって,完成!
ピンバック: 編集部 NT東京2023に出展 | FPGAマガジン公式