前回まではWindowsPCを利用してモータを動かしました。今回から、プラットホームをラズパイにします。
環境
- Raspberry Pi 4 Model B 2GB
- Raspberry Pi OS with desktop。Release date: April 4th 2022
- EPOS4 Compact 24/1.5 CAN
- PiCAN2(MCP2151+MCP2561、16MHz)
PiCAN2はebayで購入しましたが、動きませんでした。アマゾンでも同様なボードを購入し認識はしましたがCANバスの送信エラーを起こし、動作はしませんでした。秋月電子通商でパーツを購入し、ブレッドボード上で組み立てたのを使っています。

PiCAN2の回路図(部品が載っている部分)です。MCP2515のデータシートの回路図そのものです。もともとの回路図はそのままでは動かないので、修正してあります(MCP2515の電源の記述がなかった。R3=4.7kの表記だが実際は47kが入っていた)。
(2022/05/8追記)
秋月でMCP2515を購入したとき、Webの画面に出てきたトランシーバをMCP2551だと思って購入しましたが、MCP2561でした。MCP2561/2は、リセット時の挙動がMCP2551とは異なります。調べると、まず、PiCAN2ボードのclockoutは信号が出ていて、正しく動いているようです。しかし、ラズパイ2/3ではパワーオン・リセット時に問題なくボードは正常に立ち上がるのですが、ラズパイ4はダメなようです。PiCAN3ボードではMCP2562が使われていて、リセットが正しく動作する配線になっています。
MCP2551とMCP2561/2では、パワーオン・リセットの説明は2/3が同じですが、MCP2561/2には文章が追加されています。今回、ブレッドボードで動作したのは、この追加の機能の差かもしれません。
なを、販売しているサイトには、The PiCAN board is fully compatible with the new Raspberry Pi 4 Model B.と書かれています。ラズパイ4にはV1.2からV1.4があります。newというのが何を指しているのか確認できていません。
なお、認識はしたが動作しなかったアマゾンで購入したボードのトランシーバはNXPの製品でした。クロックが8MHzというのも異なります。
接続
EPOS4のボードは、USB/RS232とCANバスのブリッジを搭載しています。
日記;回すだけIII ⑫ C++でプログラミング<その1 準備 (EPOS4)>ベータ版でも書きましたが、EPOS Studio 3.7ツールでチューニング、PDOマッピングをしておきます。
EPOS4のnodeIDは5に、ボード上のDIPスイッチで設定しました。通信速度はAutoです。
サンプル・ソフトを用意する
EPOS-Linux-Library-En.zipをmaxonからダウンロードします。筆者は、Windows PCでダウンロードしたのち解凍し、USBメモリでラズパイにコピーしました。
インストールは、EPOS Command Library Documentationの「9.2 Linux」から記述があります。