This is an old revision of the document!
Table of Contents
CAN-GC2a Universal 16/14 port I/O node for CANBUS
- CAN-GC1 | CAN-GC1e | CAN-GCLN | CAN-GC2 | CAN-GC2a | CAN-GC3 | CAN-GC4 | CAN-GC5 | CAN-GC6 | CAN-GC7 | CAN-GC8
Copyright Rob Versluis / Peter Giling |
---|
Firmware Copyright
Copyright© MERG and Rocrail.
Commercial use is prohibited.
The CAN-GC2a is an alternative to the CAN-GC20 with almost the same capabilities running on the mergCBUS open source CAN standard.
This unit uses an Arduino nano processor 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 pcboard
A jumper makes it possible to set terminator on the last board in the mergCBUS chain.
This jumper connects a 120 Ohm resistor to the mergCBUS.
White connectors at the back are compatible with all GCA(MGV)xx interfaces.
These interfaces are mostly electrical isolated from mergCBUS by optocouplers.
Power, as available in mergCBUS-cable, is only used for supply of mergCBUS board itself.
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.
Small difference with CAN-GC2
To be able to configure all 16 ports both as Input and Output, the Arduino nano needs a special type of processor.
This nano board, with Atmeg328PB processor is (YET) not easy to find.
The most available nano is with Atmega328P processor, which disables the A6 and A7 port to be set as output.
Even digital input is not directly possible, but the software will take care for that issue.
In practice, it turns out that port 9 and 10 are only available as digital input,
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 'transform' the 12-17V supply in the CAN network to 5 Volt and deliver 1 Amp continue load
without getting serously hot.
It is a big improvement, and the CAN-GC2a kit will contain that chip.
The hardware
The schematics |
The pcboard and parts positions |
The partslist |
Gerber files |
N.B. Only complete ordered kits will be supported! |
---|
Connections
- For connection with interfaces, see instructions in propriate interface.
Connector J3 10pin header
LocoIO port | Pin # |
---|---|
+5V | 1 |
GND | 2 |
1 | 3 |
2 | 4 |
3 | 5 |
4 | 6 |
5 | 7 |
6 | 8 |
7 | 9 |
8 | 10 |
Connector J4 10pin header
LocoIO port | Pin # | remark |
---|---|---|
+5V | 1 | |
GND | 2 | |
9 | 3 | input only |
10 | 4 | input only |
11 | 5 | |
12 | 6 | |
13 | 7 | |
14 | 8 | |
15 | 9 | |
16 | 10 |
Direct connection of leds to outputs
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, the minimum pulse lenght should be at least 50 miliSecs to be accepted (0.05 second).
In addition to that, reed-contacts usually give more than 1 pulse when activated, known as 'contact dender'.
For this way of sensoring, a special pulse-extender will be available inside the firmware.
This option is indicated as 'BK'.
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/initialize the EEPROM with following settings:
- port 1-8 switch with address 1-8
- port 9-16 block with address 9-16
The same can be achieved by sending a Clear command.
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 mergCBUS.
The outputs will be restored after the CAN-GC2a is powered on.
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
"Start of Day"
The CAN-GC2a will report the status of every input after receiving an accessory command with this address. (Short event)
The SoD address should be the same as set for the Controller and can be tested with the SoD button.
Node Nr.
For outputs with long events only.
Inputs will use the CAN-GC2a node number for events.
Port types
Type | Description | Recommendation | |
---|---|---|---|
IN | Input | Normal input port. | Push buttons, feedback of servos/points and hall sensors. |
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 software timed off is not possible with mergCBUS; It is realized in the hardware. |
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 "1" or "0".
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: LEDs
Node Variables
NV# | Purpose |
---|---|
1 | General configuration |
2…17 | Port configuration |
18 | CAN ID |