workshop Nak
HOME 製品一覧 書籍案内 ご利用案内 お問い合わせフォーム ブログ 更新履歴
www.wsnak.com

既刊
C言語で作るPIC電子工作
ガーデニングとホーム・セキュリティの電子工作入門
PICによるホーム・コントロール工作入門
マイコンの1線 2線 3線インターフェース活用入門
Windowsで制御するPICマイコン機器
好評発売中

クリックで拡大
動かして学ぶCAN通信 (マイコン活用シリーズ)
AVR、PIC、Arduinoを使ったCANコントローラとの接続とプログラミング

CQ出版株式会社 刊 
B5変型判 200ページ
JANコード:JAN9784789842143
定価2,730円(税込)
10/02/06発売開始

●CQ出版書籍案内ページ
http://shop.cqpub.co.jp/hanbai/books/42/42141.html

●CQ出版社 本書のサポートサイト
http://mycomputer.cqpub.co.jp/can0/
PIC、Arduino、C#のソースファイルや誤記訂正や注意事項などの情報をアップしてあります。
Arduino版(Arduino+#258基板)のCANブリッジ(第8章)、CANバスモニタ(第7章)、組み合わせノード制御(第9章)のスケッチ(プログラム)もアップしました。

●サポートブログ アーカイブ
http://www.eleki-jack.com/mycom2/pic/cat184/can_2/
第10章のArduino版プログラムの補足記事などがあります。
自作ライブラリ(スイッチ制御、タイマなど)の作成記事も掲載しています。

内容

CANコントローラにマイクロチップ社のMCP2515を使ってマイコンでCAN通信を行います。マイコンは主にPICを使用しますが、AVR、Arduinoを使った製作例、プログラムについても触れます。

プログラムは汎用性が高いため、少しの修正で各種Cコンパイラ、H8など他CPUにも比較的簡単に応用が可能です。

PCからCANノードを操作したり、簡単なCANバスモニタも製作します。Windowsアプリケーションはマイクロソフト社無償版のVisualStudioのC#で作成しています。

本書では当WEBサイトで販売している基板を使用しています。

#219 PIC CANコントローラ
#221 I2C/SPI/CANLCDボード
#217 SPI-CANブリッジ
#220 SPI-CANブリッジ2
#258 Arduino用CAN+FETボード
#222 I2C/SPI制御リレーボード(CANコントローラのホストとして流用)

ほか

注意:スケッチ名について

PIC18F4580の記事を掲載しました。
CQブログ記事
(11/04/09)


<目次>

はじめに

 信頼性の高い通信を行う
第1章 中距離マイコン間インターフェースCANとは

 CAN専用コントローラを用いて各種マイコンから活用を図る
第2章 CANコントローラMCP2515の機能
 2-1 CANコントローラの概要
 2-2 MCP2515のレジスタの概要
 2-3 CANコントローラへのアクセス(SPI通信)
 2-4 MCP2515のレジスタ
 2-5 CANコントローラの機能

 実際にノード間で通信を行う
第3章 CANノード(ハードウェア)の製作
 3-1 製作する機器
 3-2 PIC CANコントローラ(#219)
 3-3 CAN制御LCDボード(#221)
 3-4 SPI-CANブリッジ(#217, #220)
 3-5 リレー・ボード(#222)
 Column…3-1 シリアル - RS-232C - USB変換
 Column…3-2 モジュラ・ケーブル・アダプタ(#231)

 MCP2515のレジスタを使いこなす
第4章 CANコントローラの制御プログラム
 4-1 はじめに
 4-2 MCP2515ドライバ関数,マクロのコード
 4-3 ドライバ関数,マクロの使用法
 Column…4-1 ビット・フィールドのアドレス設定
 Column…4-2 Cコンパイラについて

 CANドライバの使用例
第5章 基本動作の確認
 5-1 基本的な送受信の確認…プロジェクト001
 5-2 双方向の送受信の確認…プロジェクト002
 5-3 データ・フィールドを伴うメッセージの送受信の確認…プロジェクト003A/B
 5-4 メッセージ振り分けの確認…プロジェクト004
 Column…5-1 アービトレーションの確認

 WinAVR環境でプログラミング
第6章 AVRでMCP2515コントローラを使う
 6-1 実験回路
 6-2 CAN通信の実験
 6-3 WinAVRによるプログラミング
 6-4 tiny2313版でのノードの製作
 Column…6-1 ブレッドボード用の小物

 CANのバスのやり取りを可視化する
第7章 簡易CANバス・モニタの製作
 7-1 バス・モニタの機能
 7-2 制御ソフトウェア
 7-3 制御ソフトウェアのプログラム
 7-4 CCS-Cのシリアル送信ドライバ
 7-5 CCS-Cのシリアル受信ドライバ
 7-6 バス・モニタ制御用のWindowsアプリケーション
 Column…7-1 NI社のCANデバイス

 CAN機器の応用装置を作る
第8章 シリアル-CANブリッジの製作
 8-1 シリアル-CANブリッジの機能
 8-2 制御ソフトウェア
 8-3 制御ソフトウェアのプログラム
 8-4 CANブリッジ制御用Windowsアプリケーション

 複数のノードを一つのCANバスにつないで互いに通信
第9章 組み合わせ応用例
 9-1 機器の構成
 9-2 各ノードの機能定
 9-3 ノード1 ホスト・インターフェースのプログラミング
 9-4 ノード2 表示器のプログラミング
 9-5 ノード3 温度測定のプログラミング
 9-6 ノード4 リレーのプログラミング
 9-7 ノード1 ホスト・インターフェース制御用Windowsアプリケーション
 Column…9-1 電源分配ボード

 オープン・ハードウェアのプラットホームで動かす
第10章 ArduinoでCAN制御
 10-1 Arduinoについて
 10-2 Arduinoの使い方
 10-3 Arduinoプログラミングの基本
 10-4 CAN対応の拡張ボード(#258)の製作
 10-5 CAN制御プログラム
 10-6 Arduino使用のCANノードの製作
 Appendix A MCP2515のレジスタ(一部除く)の構造と ビット・マッピングの一覧
 Appendix B MCP2515で複数バイトで構成される, 送受信バッファ,フィルタ/マスク・バッファの ID領域の構造とビット・マッピングの一覧
 Appendix C MCP2515制御ドライバ 関数,マクロ一覧
 Appendix D Windowsアプリケーションのコントロール定義

    注意:スケッチについて(10/03/30)

    書籍執筆時のスケッチブック(IDE)のバージョンは0014です。1年以上まえのバージョンで、最新のバージョンではファイル名の命名規則などが変更になり、そのまま使用できません。記事の内容は0014を元に書かれていますので、適宜読み替えてください。

    変更点

    1. ファイル名に"-"(マイナス)が使えない。"_"(アンダスコア)はok
    2. ファイル名の先頭に数字が使えない
    3. 文字コードはUTF-8に要変換

    具体的には

     ×フォルダ名:"258-N1"、スケッチ名:"258-N1.pde"

     ○フォルダ名:"P258_N1"、スケッチ名:"P258_N1.pde"

    のようになります。なお、フォルダ名とスケッチ名は拡張子を除き、同一である必要があります。

    また、文字コードはシフトJISではなく、UTF-8に変更する必要があります。秀丸エディタなどを使えば変換できます。

    変更済みのファイルはサポートサイトにアップしてあります。

    workshop Nak
    HOME 製品一覧 書籍案内 ブログ ページの先頭
    www.wsnak.com