can-gca2a-en
Differences
This shows you the differences between two versions of the page.
| — | can-gca2a-en [2024/09/26 10:54] (current) – created - external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== CAN-GC2a Universal 16 port I/O node for CANBUS ====== | ||
| + | [[english|{{ | ||
| + | {{ : | ||
| + | [[: | ||
| + | * [[: | ||
| + | * [[: | ||
| + | * [[: | ||
| + | * [[: | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ^Copyright Rob Versluis / Peter Giling^ | ||
| + | |||
| + | \\ | ||
| + | |||
| + | The CAN-GC2a is an alternative to the CAN-GC2 with the same capabilities communicating over the CANBUS. \\ | ||
| + | This unit uses an Arduino Nano(Every) microcontroller board, instead of the PIC processor.\\ | ||
| + | Since there is still some development going on, please keep coming back here.\\ | ||
| + | Interesting features are coming up.\\ | ||
| + | |||
| + | \\ | ||
| + | |||
| + | |||
| + | ===== The Board ===== | ||
| + | A jumper makes it possible to set terminator on the last board in the CANBUS chain.\\ | ||
| + | This jumper connects a 120 Ohm resistor to the CANBUS.\\ | ||
| + | White connectors at the back are compatible with all [[: | ||
| + | These interfaces are mostly electrical isolated from CANBUS by optocouplers.\\ | ||
| + | Power, as available in CANBUS-cable, | ||
| + | As a standard recommandation for all CAN systems, connection and disconnection of cables is not possible while system is running.\\ | ||
| + | Using this cheap and rigid d-type connector with locking screws will avoid that connectors drop off accidently.\\ | ||
| + | |||
| + | ===== Nano & Nano Every ===== | ||
| + | The Nano cannot use the A6 and A7 pins as output. (Port J4-9 and J4-10)\\ | ||
| + | Nano Every is able to use port 9 and 10 also as output.\\ | ||
| + | Only Every is supported.\\ | ||
| + | |||
| + | |||
| + | |||
| + | ===== X1 16MHz ===== | ||
| + | Recommended is to use a 16MHz crystal for the MCP2515 operating speed.\\ | ||
| + | |||
| + | |||
| + | |||
| + | ===== Improved supply ===== | ||
| + | More and more, switching power regulators come within reach of us railroad enthousiasts.\\ | ||
| + | The widely popular 7805 5V regulator can be replaced with a switching regelulator like R-78E-5.\\ | ||
| + | The costs are higher, but the advantage is a far better effiency in the power part of this board.\\ | ||
| + | The 1 Amp type can really ' | ||
| + | without getting serously hot.\\ | ||
| + | It is a big improvement, | ||
| + | | ||
| + | |||
| + | |||
| + | |||
| + | ===== The Arduino sketch ===== | ||
| + | For source code and compiling read this chapter: **[[: | ||
| + | |||
| + | ===== HEX Files ===== | ||
| + | ====Nano Every==== | ||
| + | * https:// | ||
| + | ===== The hardware ===== | ||
| + | \\ | ||
| + | ^ Files ^ | ||
| + | | {{ : | ||
| + | | {{ : | ||
| + | | {{ : | ||
| + | | {{ : | ||
| + | | {{ : | ||
| + | ^ N.B. Only complete ordered kits will be supported! | ||
| + | \\ | ||
| + | |||
| + | ====Connections==== | ||
| + | * [[: | ||
| + | * For connection with interfaces, see instructions in propriate interface. | ||
| + | |||
| + | |||
| + | \\ | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== Connector J3 10 pin header ===== | ||
| + | |< >| | ||
| + | ^ I/O port ^ Connector Pin ^ Remark | ||
| + | | +5V | 1 | | ||
| + | | GND | 2 | | ||
| + | | 1 | 3 | | ||
| + | | 2 | 4 | | ||
| + | | 3 | 5 | | ||
| + | | 4 | 6 | | ||
| + | | 5 | 7 | | ||
| + | | 6 | 8 | | ||
| + | | 7 | 9 | | ||
| + | | 8 | 10 | | ||
| + | \\ | ||
| + | ===== Connector J4 10 pin header ===== | ||
| + | |< >| | ||
| + | ^ I/O port ^ Connector Pin ^ Remark | ||
| + | | +5V | 1 | | | ||
| + | | GND | 2 | | | ||
| + | | 9 | 3 | input only on the Nano Classic((Use the Nano Every)) | ||
| + | | 10 | 4 | input only on the Nano Classic((Use the Nano Every)) | ||
| + | | 11 | 5 | | | ||
| + | | 12 | 6 | | | ||
| + | | 13 | 7 | | | ||
| + | | 14 | 8 | | | ||
| + | | 15 | 9 | | | ||
| + | | 16 | 10 | | | ||
| + | ===== Direct connection of leds to outputs===== | ||
| + | [[http:// | ||
| + | \\ | ||
| + | ===== Reed switches and hall sensors ===== | ||
| + | Read switches and hall sensors can be used as feed-back sensors.\\ | ||
| + | However, since the contact information inside the CAN-GC2a is arranged so that the unit is\\ | ||
| + | low sensitive for distorsions, | ||
| + | In addition to that, reed-contacts usually give more than 1 pulse when activated, known as ' | ||
| + | For this way of sensoring, a special pulse-extender will be available inside the firmware.\\ | ||
| + | This option is indicated as ' | ||
| + | \\ | ||
| + | |||
| + | ===== Hardware for CAN-GC2a ===== | ||
| + | |||
| + | Boards and complete kits are available from www.phgiling.net.\\ | ||
| + | The programming of the Arduino nano itself can be done via USB port.\\ | ||
| + | |||
| + | \\ | ||
| + | < | ||
| + | |||
| + | ===== Setup ===== | ||
| + | {{: | ||
| + | |||
| + | ====Reset EEPROM==== | ||
| + | Hold down the button at power on to reset/ | ||
| + | * port 1-8 switch with address 1-8 | ||
| + | * port 9-16 block with address 9-16 | ||
| + | The same can be achieved by sending a **[[: | ||
| + | |||
| + | ====Set==== | ||
| + | Set the first found change. This button must be pushed multiple if more then one port or setting is changed.\\ | ||
| + | The sequence of change check is: | ||
| + | - Ports | ||
| + | - Node configuration | ||
| + | - SoD | ||
| + | |||
| + | ====Set all==== | ||
| + | Set all ports and options.\\ | ||
| + | |||
| + | ====Save output state==== | ||
| + | Write the output state in EEPROM after detecting a **power off command** on the CANBUS.\\ | ||
| + | The outputs will be restored after the [[: | ||
| + | |||
| + | ====Short events==== | ||
| + | Ignore the event node number and compare the event number only.\\ | ||
| + | |||
| + | ====Long events==== | ||
| + | For long events the BUS variable on the interface tab of sensors, switches and other objects is used to address the module its node number.\\ | ||
| + | The address variable is equal to the one used with short events.\\ | ||
| + | |||
| + | |||
| + | ====SoD==== | ||
| + | **" | ||
| + | The [[: | ||
| + | The SoD address should be the same as set for the __**[[: | ||
| + | |||
| + | ====Node Nr.==== | ||
| + | For outputs with long events only.\\ | ||
| + | Inputs will use the **[[: | ||
| + | |||
| + | ====Port types==== | ||
| + | ^ Type ^^ Description ^ Recommendation ^ | ||
| + | | **IN** | Input | Normal input port. | Push buttons, feedback of servos/ | ||
| + | | **BK** | Block | Input with a 2 seconds delayed off. (±50ms) | Occupancy detectors. | | ||
| + | | **SW** | Switch | Continuous output. | Single coil switch drivers like servos. | | ||
| + | | **PU** | Pulse | Output with x ms activation time. (±50ms) | Note: A [[: | ||
| + | |||
| + | ====Pulse time==== | ||
| + | Activation time for pulse type outputs.\\ | ||
| + | |||
| + | ====Inv==== | ||
| + | Inverts the port.\\ | ||
| + | \\ | ||
| + | |||
| + | ====Test==== | ||
| + | Every port has a test button in which also the current state is displayed as a " | ||
| + | The state is only updated after pushing a test button.\\ | ||
| + | |||
| + | \\ | ||
| + | ====Usage==== | ||
| + | Shows the Rocrail object ID which is linked to this port.\\ | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ====LEDs==== | ||
| + | The information of the LEDs is explained on the firmware page: **[[: | ||
| + | |||
| + | |||
| + | \\ | ||
| + | =====Node Variables===== | ||
| + | ^ NV# ^ Purpose ^ | ||
| + | | 1 | General configuration | | ||
| + | | 2...17 | ||
| + | | 18 | CAN ID | | ||