|Copyright Rob Versluis / Peter Giling|
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.
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.
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,
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 pcboard and parts positions|
|N.B. Only complete ordered kits will be supported!|
|LocoIO port||Pin #|
|LocoIO port||Pin #||remark|
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'.
Boards and complete kits are available from www.phgiling.net.
The programming of the Arduino nano itself can be done via USB port.
Hold down the button at power on to reset/initialize the EEPROM with following settings:
The same can be achieved by sending a Clear command.
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:
Set all ports and options.
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.
Ignore the event node number and compare the event number only.
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.
"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.
For outputs with long events only.
Inputs will use the CAN-GC2a node number for events.
|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.|
Activation time for pulse type outputs.
Inverts the port.
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.
Shows the Rocrail object ID which is linked to this port.
The information of the LEDs is explained on the firmware page: LEDs