CANトランシーバ(MCP2562)を使った電子工作をやってみましょう!
ここでは、IoTマイコンとして人気が高い、ESP32とCANトランシーバ,MCP2562の結線方法を紹介します。
もくじ
対象者
- ESP32を使って、CAN通信を体験してみたい
- CAN通信に必要なパーツを知りたい
- MCP2562の使い方(接続方法)を知りたい
人気IoTマイコンESP32とは
ESP32は、中国の上海に拠点を置くEspressif System社が2016年に開発した、低価格のIoTマイコンです。
①低消費電力、②無線機能(Wifi, bluetooth)を標準装備したことで、いっきに有名になりました。
通常のマイコン機能も装備しているので、バラエティに富んだ電子工作が作れます。
何と言っても、Arduino IDEをはじめとした開発環境も整備されているため、色々な言語に対応しています。
今回紹介するCAN通信機能もESP32に内臓されています。
ESP32開発環境の紹介は、私の他の記事でも紹介しているのでご覧ください。
追加購入部品
今回は、ESP32と相性がいいCANトランシーバのMCP2562をチョイスします。
抵抗とコンデンサー込みでも300円あればCAN通信を体験できます。
(この記事では、 秋月電子での購入を想定しています。)
製品名 | 価格 |
---|---|
CANトランシーバ MCP2562FD-E/P 1個 | ¥90 |
絶縁ラジアルリード型積層セラミックコンデンサー 0.1μF50V2.54mm (10個入) |
¥100 |
トラカーボン抵抗(炭素皮膜抵抗) 1/4W120kΩ (100本入) |
¥100 |
接続方法
下記の写真の通りESP32とMCP2562を接続します。GPIO_x, GPIO_yは、ESPのGPIOであればどのピンでも大丈夫です。
( ソフトウェア上でピン情報を記載すれば大丈夫です。)
CAN-H, CAN-Lの電線が長くなる場合は、電線をツイストしてください。CAN通信は、他の電界ノイズに弱いため、基本的にはツイストさせます。抵抗(終端抵抗)は、120Ωを使用する必要があります。
参考先: MCP2562 データシート
CAN通信とは?
CAN通信は、主に自動車に搭載されたマイコン同士が通信するのに使われる技術で、2本のツイスト線に繋がったマイコン同士が電圧(1.5V〜3.5V)を変動させて情報を伝達します。
例えば、ドライバーが車を運転している時に、ブレーキ関連の機能をコントロールするマイコンがメータのマイコンに車速情報をCANで送ります。
CAN情報を受けたメータはどのぐらいのスピードで運転しているかをドライバーに通知できます。(実際はもっと複雑なんですが、イメージしていただければOKです。)
参考先:CAN通信 wikipedia
CAN通信をするためには、CANトランシーバとCANコントローラが必要ですが、ESP32の中にCANコントローラが内臓されているので、CANトランシーバだけ別途用意すれば、CAN通信に必要なハードウェアの準備は完了です。
CANコントローラとは?
-CANプロトコルの機能
CANトランシーバとは?
-CANコントローラが作ったデジタル情報をアナログに変換して他のマイコンに送受信する機能
参考先:はじめてのCAN
まとめ
この記事では、CAN通信に必要なパーツおよび,ESPと接続するための回路をご紹介した。
MCP2562のCANトランシバーを追加するだけでCAN通信ができるようになります。
比較的に低予算で電子工作できますので、是非やってみてください。