- Notifications
You must be signed in to change notification settings - Fork0
araobp/can-bus
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Printed circuit design for CAN node
(I have not tested the printed circuit board yet, because I have been too busy in other priority works)
I want to develop very cheap and low power sensor/actuator network with electronic parts sold inAkizuki-Denshi, Tokyo.
Most of parts I use are DIP.
I pursue seamless communications between CAN-bus and MQTT-bus:
The CAN node consists of one base board and one expansion board.
See this page for expansion boards:EXPANSION BOARDS.
Parameter | Value | Note |
---|---|---|
PIC16F1 MCU clock | 32MHz(Internal OSC 8MHz * 4 PLL) | |
UART baud rate | 9600bps (fixed) | Full-duplex wire-rate is not supported |
SPI clock | 2MHz (fixed) | |
CAN speed | Max. 250kHz (default 125kHz) | |
Oscillator for CAN controller | 8MHz (ceramic) | Murata Ceralock |
Expansion board | 8 pins connected to PIC MCU |
This implementation supports CAN Standard Frame only (does not support Extended Frame). For home networking, 11bit Standard Identifier suffices.
=>FORMAT
This implementation supports CAN adapter functionality for PC and Android.
/// UART2CAN HELP (version 0.11 March 19, 2018) ///[Set standard identifier] @i<standard identifier>[Set output mode] {debug: @vd, verbose: @vv, normal: @vn}[Enable operation mode] {loopback: @ol, normal: @on} with SID: @ols or @ons[Set mask] @m<n><mask(SID10 ~ SID0)>[Set filter] @f<n><filter(SID10 ~ SID0)>[Set baud rate] @b<bpr>[Abort all pending transmissions] @a[Dump masks and filters] @F[Dump registers] @D[Send message] <message>[Send message beginning with '@' character] @<@message>[Receive message] <message> will be output[Show this help]: @h
For example, to receive messages with SID 5, 10 and 15, set masks and filters to the CAN adapter as follows:
@m02047 --> RXM0 0b11111111111@f05 --> RXF0 0b00000000101 (SID 5 message to RXB0)@f110 --> RXF1 0b00000001010 (SID 10 message to RXB0)@m12047 --> RXM1 0b11111111111@f215 --> RXF2 0b00000001111 (SID 15 message to RXB1)
- MicrochipMPLAB-X IDE with MCC plugin.
- FreeCAD
- KiCAD
- 3D printer BIQU Magician
- RaspberryPi
- Purchased CAN adaptors from Amazon.
- Evaluate CAN ==>EVALUATION.
- Developed my original ASCII-based protocol over serial for MCP2515. The protocol is mainly for evaluating MCP2515.
At first, I usethis universal board to make a prototype of the CAN adaptor:
I have finished the first prototype (Marth 25-27, 2018). I have made three boards, and it took eight hours.
3D printed enclosure for CAN node
- Purchase three pairs of MCP2515 and MCP2561 in Akihabara.
- Develop my original CAN adaptor board.
- DevelopCAN-MQTT gateway on RasPi
and OpenWrt. - Developa 3D-printed DIN rail enclosure for the board by usingFreeCAD.
Mount all of them on DIN rail (incl. RasPi).AddSLCAN that is ASCII-based protocol for SocketCAN.
- EvaluatePIC16F18326 that is cheaper than PIC16F1825 and supports two MSSPs.
- Use KiCAD to redesign the circuit for PIC16F18326.
- Adopt moduler architecture: base board and sensor/actuator building blocks.
- Support sensors and actuators: doppler sensor, CdS, servo motor etc.