LoginSignup
3
1

More than 1 year has passed since last update.

CAN搭載Arduino互換マイコンボード「CANdino」作った話

Last updated at Posted at 2021-02-21

ArduinoでCAN通信の勉強をしたかったのですが、CANを使えるボードが値段が高すぎるし、ICも大きすぎるし場所をとってしまうのでマイコンボードを作る事にしました。

初めてマイコンボード自作に挑戦したので記事にしようと思います。

kicadデータはgithubのここから

※基盤発注は自己責任でお願いします。

1.目的

I2CのセンサデータをCANに流すインターフェースを作成するため、開発しました。
CAN通信を使った開発をするのに、安い既存のボードは大きすぎて場所をとります。せめて、ESP32-devkitcくらいのサイズのボードにします。

2.CANってなに?

CAN(Controller Area Network)は、車載で使われるデファクトスタンダードな通信方式です。
2本のBUSで相互通信を可能にする便利な奴です。
クルマのECU同士の通信に使われてるみたいです。
センサー値を直接CANに流せばCANバス中のどのECUでもデータを扱えるようになるため、分散処理に便利かなと思ってます。

3.仕様

個人的に作りたいと考えてるもののために仕様を考えます。

いろいろ詳しい目的があるのですが、このボードの使い道は別の記事に書きます。

・I2CとCAN以外の汎用IOを持たせ、カスタマイズできる
・I2C BUSとCAN BUSにスクリューターミナルや2.54mmピッチポスト(XH,PH,NH,etc...)を搭載可能
・マイコン側とCAN IC側で電源を分離可能(別電源は両方とも5Vのみサポート)
・EEPROMを抜き差し可
・車載システムで使われる電圧12Vを5V降圧機能
・小型軽量化のため、シリアル変換機は搭載せず
・DIPスイッチを搭載

4.回路図

ver3.png

5.配線図

回路ver3.png
タイトルなし3.png
タイトルなし5.png

6.部品表

部品名前 定格 評価
マイコン ATMEGA328PB-AN-ND Digi-Key 動作温度:-40℃~105℃ 最大動作電圧:6.0V アイドル時消費電流:23mA程度 VccとGNDピンDC最大電流:100mA 自動車のボンネットの温度は90℃ほどまで上がります。ボンネット近くで使用する場合もっと耐熱の高いものを用意する必要があります。
CANコントローラ MCP2515T-E/SOTR-ND Digi-Key 動作温度:-40℃~125℃ 最大定格電圧:7.0V 動作電流:5mA マイコンと同等以上の耐熱があるため、この部品を選びます。
CANトランシーバ MCP2561T-E/SNCT-ND Digi-Key 動作温度:-40℃~125℃ 最大定格電圧:7.0V 最大消費電流:70mA 150℃までの製品もありますが、マイコンが耐えられないので、125℃までの部品を選びます。
EEPROMAT93Cシリーズ 秋月電子 動作温度:-55℃~125℃ 最大定格電圧:6.25V 消費電流:5.0mA パッケージ:DIP パッケージをDIPにして、付け替えを可能にします。
三端子レギュレータ 低ドロップアウト電圧レギュレータ 5V800mA LD1117S50 秋月電子 動作温度:-40℃~125℃ 入力電圧:6.2~15V 出力最大電流:800mA SOT-223 上記の消費電流の合計は103mA しかし、I2Cデバイスの電源をマイコンボードから取ると想定して、安全率を8倍とします。 秋月電子でよいものが見つからず、こちらを選択しました。
三端子レギュレータ 296-17616-2-ND MC33275ST-5.0T3GOSTR-ND Digi-Key 代替案 出力最大電流が少なく、SOT-223のパッケージです。
ショットキーバリア ダイオード RSX101VAM-30 秋月電子 逆電圧:30V 平均方向電流:1A 順方向電圧:0.43V 動作保証:~100℃ほどまでは保証 パッケージ:TUMD2M 三端子レギュレータの保護回路用に選択します。 電圧降下が最小のものを選択しました。
青色チップLED OSBL1608 秋月電子 逆電圧:5V 最大電流:30mA 動作温度:-40℃~85℃ サイズ:1608 電源が来ているかどうかのLEDなので、信号機で発信として使われる、良いイメージの青色を選択しました。
チップ0Ω抵抗 1608(0603)チップ抵抗 0Ω RK73Z1JTTD 千石電子通商 定格電流:1A 動作温度:-55℃~155℃ 100℃ほどで、定格電力の60% サイズ:1608 三端子レギュレータは800mAまで出力できますが、使用電流は500mAまでとします。
チップ1kΩ抵抗 1608(0603)チップ抵抗 1KΩ RK73B1JTTD102J 千石電子通商 定格電力:1/10W 動作温度:-55℃~155℃ 100℃ほどで、定格電力の60% サイズ:1608 LED用抵抗です。1kΩ抵抗で 消費電力は5V*5mA = 25mW 定格電力は100mWなので安全率4倍です。
チップ10kΩ抵抗 1608(0603)チップ抵抗 10KΩ RK73B1JTTD103J 千石電子通商 定格電力:1/10W 動作温度:-55℃~155℃ 100℃ほどで、定格電力の60% サイズ:1608 プルアッププルダウン用抵抗です。 電流をほとんど使わないため、定格電力が低いものを選択しました。
チップ300Ω抵抗 1608(0603)チップ抵抗 300Ω RK73B1JTTD301J 千石電子通商 定格電力:1/10W 動作温度:-55℃~155℃ 100℃ほどで、定格電力の60% サイズ:1608 mcp2561のSPLITピン用の抵抗 出力電流が少ないため、定格電力が低くて問題ありません。
チップ56Ω終端抵抗3216(1206)チップ抵抗 56Ω RK73B2BTTD560J 千石電子通商 定格電力:1/4W 動作温度:-55℃~155℃ 100℃ほどで、定格電力の60% サイズ:3216 CANICの最大出力電流が70mA リセッシブ電圧が3.5Vとします。 終端抵抗が112Ωになるので、3.5V/112Ω 流れる電流は29.16mAここに電圧をかけると102mW 安全率が二倍とれている
セラミック発振子 CSTNE16M0V53C000R0 Digi-key 周波数:16Mhz 動作温度:-40℃~125℃ 入力電圧定格:6.0V 内臓容量:15pF+15pF Atmega328Pのデータシートの動作確認では、16Mhz 22pF+22pFと書いてありましたが、15pF+15pFでも動作は確認できています。 mcp2515でも動作確認済みです。
セラミック発振子(代替品) セラミック発振子(チップセラロック)16Mhz 秋月電子 上記と同じ村田製作所のセラミック発振子です。 ただし、動作温度は~85℃までです。
セラミックコンデンサ4700pF チップ積層セラミックコンデンサ 4700pF 50V 秋月電子 定格電圧:50V 動作温度:-55℃~125℃ 温度特性:100℃で4230pFに落ちる サイズ:1608 SPLITピン用のセラミックコンデンサです。 マイコンよりも耐熱が高いです。
セラミックコンデンサ0.1uF チップ積層セラミックコンデンサ 0.1μF50V X7R 1005 秋月電子 定格電圧:50V 動作温度:-55℃~125℃ 温度特性:100℃でキャパシティが-10% サイズ:1005 バイパスコンデンサです。
セラミックコンデンサ10uF チップ積層セラミックコンデンサ10μF 25V X7S 2012 秋月電子 定格電圧:25V 動作温度:-55℃~125℃ 温度特性:100℃で7.4uF サイズ:2012 電源IC用のリップル除去コンデンサです。
表面実装DIPswitch 表面実装DIPスイッチ4P KHSシリーズ 秋月電子 定格開閉電圧:24VDC 定格開閉電流:25mA 簡単に手に入る範囲でこちらを選びます。
表面実装タクトswitch 表面実装用タクトスイッチ TVAF06-A020B-R 秋月電子 定格電圧:DC12V 定格電流:50mA 使用温度:-20℃~70℃ 車載に搭載する場合、リセットは外部からかけると思われるため、最大70℃とします。

完成ボード

【サイズ】
縦:43.69mm
幅:26.44mm

IMG_0465.png

IMG_0464.png

※ジャンプされていますが、最新版では修正済みです。

最後に

プログラムは近いうちに記事にしようと思います。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1