diff --git a/JLCPCB2024.html b/JLCPCB2024.html index 374b845..2cac12e 100644 --- a/JLCPCB2024.html +++ b/JLCPCB2024.html @@ -96,14 +96,107 @@

JLCPCB様より基板制作費のご支援をいただきました!

-
+

2023~2024シーズンに置きまして, JLCPCB様より基板制作費のご支援をいただきました! その際に作っていただいた基板について紹介します!また,記事の後半では実際にJLCPCB様に基板を発注する方法についてまとめましたので, PCB基板を使ってみたいけどやり方がわからない…という際に,参考にしてみてください.

※この記事には,一部宣伝・広告に類する内容が含まれております.

-

NHK学生ロボコン2024に向けて作成した基板の紹介

-

+

NHK学生ロボコン2024に向けて支援をいただきました!

+

今回、大幅な基板変更により基板を大量に発注する必要が出てきたので、JLCPCB様から支援していただきました。
+ 今回発注したものは以下の5種類の基板です。 +

+
    +
  • Driver基板(駆動部)
  • +
  • STM32F767ZIT6を使用した、NucleoF767ZI代用基板*
  • +
  • NucleoF767ZI代用基板の拡張基板
  • +
  • デジタルヒューズ基板(制御部)
  • +
  • Motor Driver基板(制御部)*
  • +
+

“*”がついているものは今回PCBAを使用しました。

+

PCBAを使用してみて

+

設定で時間がかかるものと思っていましたが、Kicadだとプラグインで簡単に出来ました。 + 私が今回発注に使用したファイルは以下の手順で生成しています。 + (使用環境 Windows11 Kicad7) +

+
    +
  1. プラグイン導入
  2. +

    プラグイン&コンテンツ マネージャーから「Fabrication Toolkit」を選択してインストール

    +
  3. 素子選択
  4. +

    以下のURLから素子を選定し、Kicadの回路図シンボルのフィールドにLCSCという欄を追加して、値に選定した素子のコードを入力する。 + 「JLCPCBの素子リストURL」 +

    +

    + *LCSCという欄を作りコードを入力しなくても、ファイル生成時に抵抗やコンデンサ等だと予測して出力してくれるみたいですが、たまに違うことや、実装に値段がかかる素子の場合もあるので注意が必要です。 +

    +
  5. ファイル生成
  6. +

    + 追加したプラグインのGenerateを選択。
    + →追加した素子のコードによって自動的に素子の位置情報などのファイルを勝手に生成してくれます。 +

    + +

    + 上のようにディレクトリ直下にフォルダが生成されその中に発注に必要なファイルがすべて入っています。 +

    +
+
感想
+

+ 正直こんなに簡単ならもう少し早く使ってもよかったですね。実装量が多くて人手が足りないと精神的にしんどくなるので。
+ 今回設計していた基板は設計初期ではPCBAを使用するつもりがなかったので、PCBAを採用する段階で使用する素子を変更したりしました。在庫がないものとかもあったので、PCBAを使用するなら初めからJLCPCBの素子リストから選択する方がいいですね。
+ 一番驚いたのは基本的な素子の値段が普通に買うより安いことです。実装する手数料とかで値段が上がる感じだったので、大量に同じ素子を使用する場合や、一つあたりの単価がかなり大きい素子(今回ならSTM32F767ZIT6)は手数料込みでも明らかに安く実装できたので、積極的に使っていきたいですね。(基本的な抵抗やコンデンサ等は手数料すらかからない物もある) +

+

軽い基板紹介

+
    +
  • Motor Driver基板(駆動部)
  • +

    + →小型のDCブラシモータ用のモータドライバです。
    + 縦刺しタイプで、3cellのリポバッテリーしか使用できませんが、定常60Aまで流すことが出来ます。小型化にこだわったので、サイズは28.5×50(mm)です。小さいことで8層の基板ですが、JLCPCBで発注すると通常の2層基板と変わらない値段(2ドル)で発注できます。 +

    +
  • Motor Driver基板(制御部)
  • +

    + →モータドライバ基板の駆動部を制御する基板です。
    + PWM信号を2つ各基板に供給しているものです。 +

    +

    + 以下のような感じで高さは多少ありますが全体はコンパクトに収まっています。
    + 写真の真ん中の基板はヒートシンクと、分電を担っている基板でこちらは別のタイミングでJLCPCB様に発注をかけたものです。 +

    +
  • STM32F767ZIT6を使用した、NucleoF767ZI代用基板
  • +

    + →今までRobohanで使用していたNUCLEOF767ZIT6の代用基板です。
    + 使用する機能が限られていたので、それら(CAN、Ethernet、LTCD、SDMMC等)を基板単体で使用できるようにした基板です。 +

    +
  • NucleoF767ZI代用基板の拡張基板
  • +

    + →自己位置推定を行うために、6軸のジャイロセンサ、3つの接地エンコーダを取れるようにしたものです。 + 6軸なのでyaw軸のフィルタは接地エンコーダの値も参照する必要があります。
    + 外部に基板を追加しなくても簡単に使えるので使い勝手はよくなったと思います。 +

    +
  • デジタルヒューズ基板(制御部)
  • +

    + →今までRobohanではブレーカー(バイメタルで熱変形して遮断するタイプ)を使用していたのですが、「電流によっては遮断までの時間が長い」という点から、こちら側で遮断できる電流を選択できるように基板を作りました。
    +

    +

    + 構成は簡単です。
    + マイコン等の電源用には市販のデジタルヒューズ(東芝のやつ)、モータ等の大電流用にはハイサイドのNchMosfetでのスイッチと、電流センサ、突入電流保護機能を追加して、大電流を比較的安全に遮断できるようにしました。
    + マイコンによる制御で遮断するので、こちらで細かく調整できるのがいいですね。
    + 一応、最悪の場合に備えて、車載用のヒューズも搭載しています。 + 以下のような感じで外部からオンオフすることが出来ます。 +

    +

    + 写真の下の基板は駆動するmosfet等が載っている基板で、こちらも別のタイミングでJLCPCB様に発注をかけたものです。 +

    +
+ +

おわりに

+

+ 今更ですが、8層まで50×50(mm)まで同じ値段で発注できるのはすごいことですね。 + 一度、サイズ超えてしまって発注しようとしたときの値段に驚いたことがありますが、本来それだけの値段がかかるものだと思って感謝しながら発注のボタンを押しています。しかし、使ってみて勝手が分かるので、将来個人で発注する必要がある時は大きいサイズの基板も発注してみたいですね。 +

+

+ 最後に、今回の学生ロボコンには残念ながら使用することが出来ませんでしたが、今後に生かすことの出来る基板を発注することが出来ました。 +

+

支援していただいたJLCPCB様、本当にありがとうございます。

JLCPCB様での基板発注の方法

@@ -112,7 +205,7 @@

JLCPCB様での基板発注の方法

JLCPCB様
diff --git a/css/style.css b/css/style.css index 638f4a4..552f1c8 100644 --- a/css/style.css +++ b/css/style.css @@ -445,6 +445,22 @@ main{ line-height: 1.5; } +.homesection h4{ + margin: 10px auto; + font-size: 20px; + line-height: 1.5; +} + +.homesection h5{ + margin: 0px auto; + font-size: 16px; + line-height: 1.0; +} + +.homesection small{ + font-size: 12px; +} + .homesection ul li { margin: 0.8rem 10px; display: block; @@ -570,3 +586,24 @@ main{ font-family: var(--font); color: #000000; } + +.jlc ul li { + margin: 1.0rem 2rem 0.4rem; + padding-left: 0px; + display: flow-root list-item; + list-style-type: disc; +} + +.jlc ol li { + margin: 1.0rem 2rem 0.4rem; + padding-left: 0px; +} + +.jlc ul p { + margin: 5px 2rem 8px; +} + +.jlc ol p { + margin: 5px 2rem 8px; + +} \ No newline at end of file