投稿

2025年度第基板発注第1弾!!

イメージ
   こんにちは、AirのGamuです。京滋奈ブロックで無事優勝を納め全国大会に行けることになりました。今回のブログはJLCPCB様に発注させていただく基板の紹介です。  5種類の基板をJLCPCB様に発注させていただきます。今回の発注でもJLCPCB様の機能の1つである、PCBAという基板の表面実装サービスを使うことになりました。本当に便利なのでオススメです。 メイン基板  まずはメイン基板です。今回の基板ではついにATmega2560から卒業することになりました。ATmega2560は初心者、中級者用のメインマイコンとしてはピン数の面などで非常におすすめできるものなのですが、処理速度の面では劣っています。Airは前回の基板でリポバッテリーを搭載しスピードが格段に速くなりました。結果、処理速度の遅さが顕著に動きに現れており、マイコンを変えようという結論になりました。  搭載するマイコンはTeensy4.1という処理速度がトップクラスに速いマイコンになります。以前はSTM32 F446REをチップ実装しようと考え設計していたのですが、Arduino系統ではないためプログラムの面で現状維持ができないのではないかという考えに至り、Teensyに変えることに決めました。来シーズンはF446REの開発がしたいなと思っています。  それ以外に搭載しているものは前回とあまり変わっていません。シンプルな構成となっています。 ボールセンサー基板  次はボールセンサー基板です。変更になった点はボールセンサー用のマイコンがついた点です。以前まではATmega2560のためピン数には非常に余裕があったのですが、Tennsy4.1に変更した影響でピン数が少し足りなくなってしまっていました。そこでボールセンサー用にサブマイコンを設計しました。    搭載するマイコンはATmega32u4です。ピン数が多く、情報がネットに大量にあったので採用しました。プログラム書き込み用のUSBはType-Cにしました。裏表がなく刺しやすいのは嬉しいです。 また、TeensyとATmega32u4では電圧レベルが違うため、メイン基板側でBSS138を用いてレベル変換回路を組んでいます。UnitV用に用いていたものを流用して...

2024年度基板発注第3弾!!

イメージ
  こんにちは、AirのGamuです。こんな時期まで回路設計しているの本当に意味がわかりません。今回のブログは発注した基板についてです。 発注した基板について  5種類の基板をJLCPCB様に発注させていただきます。今回、私(Gamu)が設計した基板を発注するのも3回目となりました。ここまでミスがそ個までないのでこのまま行きたいところです。今回の発注でもJLCPCB様の機能の1つである、PCBAという基板の表面実装サービスを使うことになりました。本当に便利なのでオススメです。 メイン基板  前回発注したものからあまり変わってはいません。私はデザインセンスがないので配線がいい感じにできず悲しいです。 IR基板  初めて発注した基板の幅が広すぎてメンテナンス性が酷かったのと、配線がぐちゃぐちゃだったので新たに作り直しました。割と幅を狭く作れて嬉しい感じです。 ラインセンサー基板  前回の基板はXHコネクタ8ピン*2でメイン基板と接続していたり、大きいサイズの抵抗を使用していた影響で幅が非常に広く、メンテナンス性が低かったです。そこでXHコネクタをFFCケーブル、抵抗をチップ抵抗に変更することでメンテナンス性を上げられるようにしました。また、以前からセンサーの数が足りないと感じていたのでマルチプレクサを用いて16個から24個に増やしました。マルチプレクサは2022シーズンで使用していたのですが、あまりにも設計が上手くいかず断念した記憶があるので今回はうまくいってほしいです。 電源基板  今回の基板ではついに乾電池8本から卒業し、リポバッテリーに変更しようと考えています。そのため電源基板を設計しなおしました。ヒューズの選定だったり、定格電圧を超える箇所がないかと不安要素が非常に多いですが、挑戦しようと思います。本当に燃えないことを祈るばかりです。 MD基板  リポバッテリーに変更するにあたって、今まで使用していたDRV8835では定格を超えてしまうようになってしまったので新たに設計しました。DRV8835からDRV8874に変更しようと考えています。これに関しては一応ユニバーサル基板で動作をすることを確認できたので、ちょっといけるかなって思ってます。また、8ピンXHでは設計上上手くいかなかったのでこれもFF...

2024年度基板発注第2弾!

イメージ
 こんにちは、AirのGamuです。前回のブログから大分時間が経ってしまいました。今回のブログは発注した基板についてです。 発注した基板について  2種類の基板をJLCPCB様に発注させていただきます。今回、私(Gamu)が設計した基板を発注するのも2回目となりました。まだまだ不慣れで不安なとこも多くありますが、どうにかなってほしいところです。 この発注ではAirとしては初めてJLCPCB様の機能の1つである、PCBAという基板の表面実装サービスを使うことになりました。本当に便利なのでオススメです。 メイン基板  まずはメイン基板についてです。前回発注した基板と大きく違う点は、ついにカメラの回路が載ったことです。  ATmega2560をメインマイコンとしてUnitV AI CameraとUARTを用いて通信します。ATmega2560の電圧レベルが+5V、UnitVの電圧レベルが+3.3Vで通信する2つにおいて電圧レベルが異なっていたので、bss138という電圧レベルを双方向で変換できるNchMosfetを用いてレベルシフト回路を組みました。また、この回路に用いる抵抗にチップ抵抗を使いました。小さくて設計しやすかったです。  以上のbss138、チップ抵抗をJLCPCB様に表面実装をしていただきます。非常に助かります。  また、前回載せ忘れていた補足センサー回路も載せました。ボールセンサーと全く同じ回路を組むだけでいいので意外と楽です。補足センサー自体は前回すでに作成したものがあったので、それを流用します。  ついでに基板の裏面にロゴも載せてみました。めちゃくちゃテンション上がるのでオススメです。 モータードライバー基板  次にモータードライバー基板についてです。  前回の発注でマイコンの電源が落ち、リセットされる現象を回避するためにパスコンを3つメイン基板に載せていました。ですがそれだけでは完全に対策することができなかったので、今回はモーターに対しての電圧ラインにも150μFのコンデンサーを1つづつ載せました。 載せた理由としては、ロボットが衝突する際などに電圧降下が発生し、マイコンへの供給電圧が低下して電源が落ちる可能性があると考えました。そのため、コンデンサーを追加するこ...

今年のチーム・展望について & 2024年度基板発注第1弾!

イメージ
こんにちは、Airです。前回のブログから大分時間が経ってしまいました。 今回のブログは今年のチーム・展望、発注した基板についてです。 今年のチームについて チームメンバーが去年より大幅に変更になりました。今まで回路を担当していたメンバーが大学受験のため、3Dプリンターを担当していたメンバー1人が学業に専念するためにチームから抜けることになりました。 そこでチームメンバーを募集したところ、新たにメンバーを2人勧誘することができました。新メンバーはどちらもプログラム担当に割り当てることになりました。それにより元々プログラムを担当していたリーダーが新たに回路設計と、新メンバーが育ち切るまでは教育とプログラムをすることになりました。 展望について 去年の全国大会では全体で8位、カメラ・ToF無しロボットの中では(多分)1位を取ることができました。これはプログラムをしっかり詰めることができていたことによる影響が最も大きいと考えています。 ただ、もっと上の順位を目指すことを考えるとハード面での違いが顕著に出ることを学びました。今年のロボットにはカメラを積み、乾電池からリポバッテリーに変更することを目標に、計画的に基板を作成していこうと考えています。 また、プログラム面についても新メンバーを早い段階から育成することができているので順調です。去年作成したロボットがすでに使える状態で残っているので、新人教育が容易でした。 今回発注した基板について 5つの基板をJLCPCB様に発注させていただきます。今回が初めての回路発注になるので、多めに見ていただけると幸いです。 メイン基板 まずはメイン基板です。メインマイコンにATmega2560、ジャイロセンサーにBNO055をそれぞれピンソケットに挿して使用します。 また、去年作成したロボットは相手と強く衝突すると簡単にマイコンの電源が落ち、リセットされてしまっていたので今年はパスコンを3つつけました。 ボールセンサー基板 次はボールセンサー基板です。TSSP4038を16個つけました。メイン基板とはピンヘッダを介してつながっています。 ラインセンサー基板 次にラインセンサー基板です。NJL7502lを16個載せています。今年は白色LEDから赤色LEDに変えました。 モータードライバー基板 次はモータードライバー基板です。DRV8835を4つ...

大会の振り返り & 2023年度基板発注第2弾!

イメージ
こんにちは、 Air です。 今回のブログはブロック大会の振り返りと、今回発注する基板についてについてです。 ブロック大会振り返り 1月に京滋奈ブロック大会がありました。結果は予選一位通過、総合三位でした。 この結果により、2024年度RCJ全国大会への推薦がいただけました!今後はより一層強いロボットの製作を進め、全国大会ではベスト8に残ることができるように全力を尽くします。 予選 予選では全試合勝利で、一位という結果になりました。全体的に安定した動作で、比較的綺麗に回り込みができていたと思います。ノード大会ではラインから出まくっていましたが、それも改善する事ができました。前日に実装していたライン際からのボールを掻き出す動きも好調で、ボールを一定の場所に留めない動きができました。また、これも前日に実装した回り込みの際にボールに対して姿勢制御をする動きもいい出来となっていて、捕捉確率がアップしたように思えました。 そのため、予選は軽々と通過する事ができました。 決勝 決勝では一勝一敗という結果になりました。決勝は不運の連続でした。 まず、決勝一試合目が同級生チームのEdgeでした。Edgeはやはり強く、一点だけは入れる事ができましたが圧倒されてしまいました。また、この試合でモタドラが一つ壊れました。原因は調査中ですが、前日にマイコンが発火したことによる影響だと考えています。 次の二試合目では序盤は点数を入れることができていましたが、モタドラが再度壊れてしまい、ギリギリな勝負となってしまいました。一点差で勝ち越すことはできましたが、後悔の残る結果となりました。 この後悔を次の糧として今後ロボットを開発していきます。 今回発注する基板について 今回発注する基板は全部で5つです。順に解説していきます。 メイン基板 メイン基板です。メインマイコンであるATmega2560とBNO055を挿します。 電源基板 電源基板です。Airのロボットとしては初めて載せることになります。電源の安定化のために開発しました。今回初めて製作するので上手く出来ている事を願うばかりです。 モータードライバー基板 モータードライバー基板です。既製品であるDRV8335というモータードライバーを4つ積み、ロボットの4輪オムニホイールを回します。 ボールセンサー基板 ボールセンサー基板です。TSSP403...

2023年度基板第二弾!

イメージ
今回は前回発注した基板に追加と間違っていた箇所があったため、それを修正した記事になります。前回の発注では、メイン基板とモータードライバーが間違っていました。 一つ目はメイン基盤についてです。 間違っていたこと・追加したことは ブザーをつけた BNO055の向きを変更した ピン番号の変更をした です。 ブザーは、ソフト版の要望で付け加えました。初期設定の確認や、動作の確認をこれまで感覚からしていたものから聴覚でできるようにするためらしいです。以前ブレッドボードで試した際は上手く行ったので、多分動作は大丈夫だと思っています。 BNOの向きについては、前回の基盤だとマイコンとBNOが当たってしまい、差し込むことができなかったので、今回は当たらないように作り変えました。 ピン番号に関して、ボールセンサーのピンに13ピンを一つ割り振ってしまっていたので、ArduinoのLEDピンと干渉してしまい、使用することができませんでした。そのため、ピン番号を別のピンに割り振りを変更しました。 ピン番号に関しては、arduinoの13ピンが本体付属のLEDと繋がっていることを忘れていて、ボールセンサーのピンに割り振ってしまい使えなくなっていたので、再度ピン番号を割り振り、作り直すことにしました。 Before: After: 2つ目はモータードライバーについてです。 間違っていたこと・追加したことは 規格が間違っていた ベタパターンを追加した です。 規格について、モータードライバーを発注したのが前回が初めて+できるだけ早く発注することだけを目標にしていたため、規格について考えるのを忘れていました。ユニバーサル基板を使用して繋げてみようとしてみましたが、悪あがきも虚しく、4個中2個のモータードライバーが動作せず、しかも動作したモーターもスピードがとても遅かったです。 悪あがきしたもの: ベタパターンについて、つけると動作が安定するということを聞いたことがあったので、基板の中で最も重要だと考えているモータードライバーでやってみました。ベタパターンは初めてですが、多分大丈夫だと思います。 そのため、モータードライバーの基板を再発注します。 After: 以上が今回発注する基板です。ミスしていたものは次からは細心の注意を払ったうえで発注をしていきたいです。

IRボールの角度を正確に出そう!

 皆さんこんにちは!Air所属のGamuです(Twitter: @Air_Gamu )。Twitterのフォローもして頂けると嬉しいです。  今回の内容は「IRボールの角度を正確に出そう!」です。 この記事はあくまで自分のやり方を綴っているだけなので、記事というか技術メモだと受け取ってもらいたいです。また、この方法は未完成であり、たまたま上手く行っただけな可能性があるので、間違ってい どうぞ最後まで見ていただけると嬉しいです。それでは始めていきます。 https://twitter.com/Air_Gamu/status/1692884184581484870 これは私のTwitterの投稿です。このプログラムではIRボールの角度を一度刻みで出しています。自分では中々に精度が出せていると思っています。今回はこれの解説をしていきます。  まずは私たちが使っているボールセンサーの紹介についてです。RCJで使用されているIRボールは赤外線を発光しています。ロボットはその赤外線を読み取るためにボールセンサーが必要です。IRセンサーにはTSSP4038✖️16個を使用しています。それを取り付ける基板は私たちAirのスポンサーであるJLCPCB様に発注をし作っていただきました。いつも品質の高い基板を作ってくださって、ありがとうございます。この機に一度JLCPCBを利用してみてはどうでしょうか?(リンク: jlcpcb.com/JPV )  基板に関しては前回のブログで解説をしています。よければ、見ていってください。IRセンサーに関しては全てデジタルで読み取っています。  次にプログラムの解説です。 1. IRセンサーで角度の読み取り:まずIRボールの大体の位置を出すことから始めます。私たちのロボットには16個のIRセンサーが等間隔に配置されています。間隔としては22.5度づつになります。まずはfor文を用いて1つのIRセンサーがそのfor文の中でどれくらいの回数見ているのかを数えます。私はとりあえず1000回読んでいます。しかし、それでは処理速度の問題などが出てくるので、将来的には833μsの間読み取ろうと考えています。 2. 全てのボールセンサーの値の比較:IRボールの大体の角度を導き出すために、IRボールを読み取った回数が多いIRセンサーを見つけたいので、読み取ったIRセン...