-
Notifications
You must be signed in to change notification settings - Fork 0
Wiring
Read the general wiring guidelines below first.
This wiring schematics is to be used with the new SimInvent PCBs.

This wiring schematics is to be used with the Gagagu's older v2.0 PCBs. Use this if you have the older PCBs already. Not recommended for new builds.

Important
Some connections are not recommended to use connectors on at all. These include the AS5600 modules (encoders) and the IR endstop sensors inside the bottom of the frame (the two up/down sensors on the pitch axes are fine and can be used with standard dupont pin headers). Any glitches on these wires can cause the microcontroller to "crash" and send random impulses to the motors making the yoke "go wild". Or the encoders zero point can be reset with similar results. Just solder these wires directly to the pin or the connector hole! If using a standard hookup connector wire just lift the tab on the housing with a knife or small screwdriver, stick the bare metal part on the pin and solder. Use shrink tube to insulate.
The roll axis IR endstop sensors require three hookup wires each between the main PCB and each of the IR sensors. The IR sensors below the frame must be soldered to wire to ensure no glitching. If pin headers are attached to the module they need to be bent so far that a good connection with a standard pin connector is not guaranteed as the pin, as bent, gets shorter.

The roll patch panel serves to centrally connect all the wiring from the Left and Right IR sensors and the roll encoder of the Frame. A common cable is then routed via the cable chain to the main PCB. The advantages with using the patch panel is that all cables from the frame modules are easily connected at a central point which is mechanically stable, reducing the risk of the wires breaking over time by being constantly bent by motion.
This can be achieved by using the dedicated PCB or making your own perfboard solution.

Pin headers was used and you can use ready-made breadboard type hookup wires. JST XH headers is another great option.

The perfboard is made by stacking a number of pin headers close to each other. The top header is a 6 pin header with cabling to the main PCB, and the ones below are 3 and 2 pin headers for all of the frame connections.

This image is clearer of the internal connections

The image below show the perfboard connections and it just requires bridging with (a lot) of solder like so (image from backside)

There are four unused screw holes on the frame top useful for attaching zip ties or whatever. Drill a 3.5 mm hole in the perfboard corner and attach the perfboard with a M3 screw in one of those holes.
Connect the wires from both IR sensors as well as SD, SL and power connectors for the encoder module. I suggest making the cable to the main PCB by an ethernet cable, e.g cat5, but make sure it is flexible and consists of stranded wires (not solid core). The color coding used in the schematics above is from a Cat5 cable. Route the cat5 cable (or whatever you use) via the cable chain to the main PCB and connect there.
The encoder modules use I2C which requires two data wires, SD and SC for communication. As the Pro Micro microcontroller only has one I2C port, and the "address" of the AS5600 chips cannot be changed we need the TCA9548 module to do the switching between those encoders.
Note
By default, the module works on 3.3V (both power supply and signals). The resistor R1 needs to be removed (desoldered) to operate the module at 5V!

Important
The 24V cabling needs to be routed away from the other sensor and encoder wiring. Otherwise during rapid and oscillating movements of the FFB effects it may induce interference into the wiring and cause the encoders to reset their position which may cause them to pull full force into an endstop. The proposed layout will let all 24V cables to run along the outer edge of the board which solves this issue. Keep the 5V wiring away from the 24V wires whenever possible, especially the encoder data wiring.
Note all the 24V cables routed along the outer edge.

For all 24V cables I used 1.5

The motors are powered from the BTS7960 motor drivers.
- Run a 1.5
$mm^2$ (16 AWG) cable from the B+ and B- to the 24V power supply plus and minus poles respectively. Take care not to reverse polarity as the motors will inverse direction. Route these cables far away from the Arduino 5V system (see pictures). - Run a 1.5
$mm^2$ (16 AWG) cable from the M+ and M- to the motors soldering tabs. One of the soldering tabs is near a red dot marker which identifies the plus pole that mates with M+. M- goes to the other tab. Take care not to reverse polarity.
The termination of the 24V cables to the 24V power supply is done with banana connectors. XT60 connectors is a very good or even better alternative. Make sure to have female plugs on the supply casing and male plugs on the wire coming from the yoke! Make the 24V motor cable to the power supply long enough, I have it at around 70 cm in length.
Make sure the banana connectors are rated for 10A minimum, not all are! Please use a 10A fuse on the 24V cabling, and also a 6A fuse on the mains voltage side.

A switch for the 24V power reachable from the yoke front panel is needed, so you can easily power off the motors! This is in case something goes wrong, or the game itself is emitting forces wildly (like in a crash scenario).
Important
I highly recommend you never leave the yoke unattended with motor power enabled! Always switch off power! In case something goes wrong and the motors are pushing against an endstop, the motors may get very warm and may even cause a fire!
A 19x13 mm push-in rocker switch for 24V, 10A is used in the casing and connected with a 3 mm green LED lighting up when power is on. Mine is actually 125V 6A, but it seems fine.

It is wired like this. The resistor is somewhere in between 1.1 and 1.8 Kohm. I used 1.8KOhm for a gentle illumination.

The heatsinks as listed in the parts list will come with a 5V fan which is unusable to us. The USB connection cannot drive a fan. Instead the parts list lists a 24V fan controller (for two fans), and a 24V fan that will fit perfectly on the heatsinks.
The fan controller is powered by 24V on the Vin connections. The first fan is connected to F1+ and F1-. Make sure to not switch polarity on the fan, it may be destroyed by that. To make the controller work with our own settings set the slide switch to the position farthest away from the edge. With the fan attached, sensor cable attached and power on, drop the sensor in a glass of water with a temperature of 40 degrees celsius (or what you prefer), measured by a dip thermometer. Now slowly turn the trimpot until the fan just starts. Your fan controller is now calibrated!
This operation is best done before you mount everything on the yoke board.
If you want a fan for the roll axis also (may not be needed, as the pitch axis normally gets the most work), you have the option of using another independent fan controller for it, or using the F2 connections on the first fan controller.
One fan controller has a spot on the PCB standoff and is to be used for the pitch axis motor which is absolutely recommended.
If you opt for a separate controller for the second (optional) fan, you may mount that controller on top of the frame in a spare screw hole. Route 24V wiring for that fan via the cable chain.
Note
There is a possibility that the speed limiter function that rapidly enables/disables motor power may cause interference in the cable chain wiring if an extra 24V fan controller is mounted in the frame and fed by power through the cable chain. This is unverified at this point, and may not be a problem at all. But I think I should point out this possible problem. I do not currently run a separate fan controller for the roll heatsink and thus have no such problems. Please report your findings by raising an Issue or discuss this in the Discord channel if this becomes a problem.
Wiring is among the more demanding parts of the process of building the yoke. The cable lengths may be longer than what you find for ready-made pin header hookup cables usually used in DIY Arduino projects. So you are likely in a position where you need to make your own wiring. This may be of no problem if you have done this before, or may present a challenge. In any case, here are some guidelines of how this may be achieved.
Normal stranded (not solid core) 24 AWG (0.2 mm2) hookup wire can be found on Amazon, AliExpress and others. Ribbon cable can also be used, for instance in the yoke handle itself, connecting the buttons to the Yoke PCB.
If making your own wiring they can be held together by simply twisting them, using shrink tube or wire hosing.
In gagagu's original project screw terminals in the Main PCB is suggested. This is a valid choice, but I find it a bit fiddly to put all the small wires in the right place, they can come loose and cause short circuits and if you need to disassemble you must repeat this fiddly procedure again. A better approach is to use mechanically stable connectors which also will hold all the wires grouped together. There is also the choice of skipping connectors altogether and solder the wires into the connector holes directly. The choice is yours.
Pin headers with 2.54 mm (0.1") pitch is one choice for the Main PCB. The board is not moving, and the cables coming in can be secured and if this is the case this option is perfectly fine. The wires will then use pin header connectors and make a good connection.
The drawback with these connectors is that they are not mechanically stable and some wiggling will make them become sloppy and easy to glitch! However on the Main PCB board itself these connectors work pretty good.

There is also the (best) option to crimp these yourself. Getting a box of these (dupont) connectors also makes it possible to exchange the connector housing, e.g for the IR sensors that have three wires. Use a 3P housing and the wires are then lined up in the correct order, easy to connect and disconnect. (image from Amazon)

These types of connectors are a great choice. Mechanically stable and durable. However they require crimping, which in turn needs a special tool. If you intend to do more diy projects in the future then this is a very good investment. (image from Amazon)

If you plan to do more DIY projects you may opt to get a special tool for crimping. The Chinese variants are pretty good and not too expensive. Available on Amazon, AliExpress and other places. Just look up some YT videos of how this is done and you are set. (image from Amazon)

Great care must be taken so that wires are not bent too hard at small radius. The bigger the radius the better. For this reason a chain link was introduced in the design which effectively makes the cable management a breeze for all cables coming from the yoke handle and the carriage frame.