FPGA回路生成【2】アクチュエータ制御部を作ってもらった#
Lチカ(LEDをチカチカさせるだけの電子工作品)がスムーズにできたので、今回はアクチュエータ制御部を作ってもらった。簡単で見栄えがするアクチュエータといえば、サーボモータ。ラジコンカーのハンドル切ったり、スピードを制御するデバイス。今回はFPGAからサーボモータに制御信号を送って、サーボモータを動かす回路を作った。
準備
サーボモータが1個ではつまらないので、3個同時制御するようにし、三相交流のように120度ずつずらして動くようにした。
実装
2.1 回路実装
サーボモータの駆動用電源はFPGAからは引っ張り出せないので、別電源とした。アースをFPGAのGNDに接続した。
2.2 Claudeへの実装指示
今回も簡単な指示でFPGAのフラッシュに書き込むところまでやってもらった。CLAUDE.mdの該当部分は以下のとおり。
試作3#
MIUZEIのMS18というマイクロサーボを3個制御する
サーボ端子:接続先
茶(GND):外部電源のGND と Tang Nano のGND
赤(+):外部の5V電源(ACアダプタ)
橙(信号):Tang Nano の Pin 26/27/28につなぐ
試作3の動作#
サーボA、サーボB、サーボCを制御する
サーボAの信号は26番端子、サーボBの信号は27番端子、サーボAの信号は28番端子に接続されている
各サーボは、-90度から+90度を3秒周期で往復する
各サーボは、1秒ずつ動作がズレている。位相でいうと120度ズレている
リセットしたときに、サーボの位置を全部0度にする
2.3 あっけなく動いてしまう
予想どおりなので、Lチカが動作した時ほどの感動はなかったが、次はどんなアクロバット動作をやらせてみようかという意欲が湧いてくる。
まとめ
次はセンサーを組み込んで、アクチュエーターとの連携動作を実装してみる。ソフトウェアでは制御できない(困難な)ものにしないと、FPGAに実装する意味がない。そろそろ本気モードに入ろう。