へっぽこ元ロボコニスト

ロボコンに燃え尽きた自分が日々の出来事を書くだけのブログです twitter:@mozyanari_tech

MENU

2020/7/7(STM32F303K86Tの自作ボードにおける書き込み部分の回路)


スポンサーリンク

社会人になってもロボコン

大学院生活も終わり社会人になりました
コロナのせいで同期にも全く会えず、「あれ社会人ってこんなんやったけ?先輩に聞いてたのと違うぞ?」と思いながら日々を過ごしていました
(先輩に聞いていた社会人生活だと研修で女子と出会って色々あるはずでは?)

そしてコロナが少し収まりかけたころ、ようやく寮に入って同期に会えました
その中に寮で川ロボに参加している人がいて、話を聞いているとメカはやっているけど回路と制御は何も入れていないということでした

そこで「自分がやってもいい?」と聞くと「いいよ」という返事をもらったので社会人でもロボコンをやることになりました
(こういうことしてるから彼女が出来ないんだぞ)
(あと、今年の川ロボは無くなったのに、出会ってから1か月でボード設計を終わらせたので若干引かれました)

どういう回路が欲しいのかと聞くと以下の要望が出てきました

  1. アームの部分をエンコーダとポテンショメータでPID制御をして欲しい
  2. モータドライバ1つで380モータを4つ回してほしい
  3. 回路やケーブル含めて300g以下にして欲しい

初めて聞いたとき1つ目の要望しか理解できませんでした
川ロボは380モータしか使用できないらしく、そのために380モータを一つの軸に並列で繋いでトルクを稼ぐらしいです
また、重量制限も厳しく300g以下じゃないと現在の機体では重量オーバーになるらしいです

特に最後の要望は初めて聞きました
回路に重量制限がある世界線は初めてです

以上の要望から今回はマイコンとMDボードの二つを作成することになりました
ただMDはモータ線や大きめのFETを使うことからマイコンボードは出来るだけ軽くする必要があります

そこで秋月のSTM32F303K86Tのチップを自作ボードを組み込むことでマイコン部分を作成します
akizukidenshi.com
川ロボが終わったらgithubごと公開する予定ですが、今は抜粋しながら解説します

書き込み部

STMの評価ボードではプログラムを書き込む場合はUSBケーブルで評価ボードを繋げば簡単に書き込みできます
チップからやる場合はまず、ST-Linkを用意します
秋月で買える公式のST-Linkや中華でも買うことが出来ます
akizukidenshi.com www.amazon.co.jp

また、アクロバットな方法としては評価ボードに乗っているST-Linkを利用するというものもあります
一度やってみましたがジャンパーがめんどくさかったので一度しかしたことがありません
yuppi5.hateblo.jp

繋ぐピンですが以下のページを参考にして繋ぎました
ruru-log.hatenablog.com blog.goo.ne.jp

また、このチップの評価ボードの回路図も参考にしました https://www.st.com/resource/en/user_manual/dm00231744-stm32-nucleo32-boards-mb1180-stmicroelectronics.pdf

以下が実際につないでみた図です
f:id:masanari7430:20200707231454p:plain f:id:masanari7430:20200707231349p:plain f:id:masanari7430:20200707231419p:plain

4ピンのNRSTはスイッチとコンデンサを接続することでリセットを手動でかけることが出来ます
このつなぎ方は公式リファレンスにも載っています
akizukidenshi.com f:id:masanari7430:20200707232939p:plain

23ピンのPA13にはSWDIO、24ピンのPA14にはSWCLKを接続します
(これらを10kの抵抗で吊っていますがたぶんなくても動きます。どっかのページで吊ってあるのを見てなんとなく入れているだけです)

そしてこれらのピンをST-Linkにつなぎます
この時中華ST-Linkだと電流が足りないことがあったので、電源はマイコンの方で用意してGNDとこれらの信号線を繋ぎました
プログラムは今はSTMCubeIDEがあるので繋げば書き込めるでしょう
今回は回路図だけの解説にとどめます

注意点・疑問点

これは書き込むためだけの線だから出力ピン出してもいいかなと思いますが、この方がはまっているようにこれらのピンはGPIOやPWMに設定しない方が無難です
ajinori3.hatenablog.com

また、今回のつなぎ方はSWDという方法で接続しています
以下のページと一つ上のはまった方のページを見ると、必要なのはSWDIOとSWCLKのみでNRSTに関する言及は何もありません
qiita.com なのでもしかしたらNRSTはなしでも書き込めてデバックが出来るのではと思っています
(今回作成する基板でNRSTをなしでやってみてまた追記します)