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 | | ||