1. For downloading SimTools plugins you need a Download Package. Get it with virtual coins that you receive for forum activity or Buy Download Package - We have a zero Spam tolerance so read our forum rules first.

    Buy Now a Download Plan!
  2. Do not try to cheat our system and do not post an unnecessary amount of useless posts only to earn credits here. We have a zero spam tolerance policy and this will cause a ban of your user account. Otherwise we wish you a pleasant stay here! Read the forum rules
  3. We have a few rules which you need to read and accept before posting anything here! Following these rules will keep the forum clean and your stay pleasant. Do not follow these rules can lead to permanent exclusion from this website: Read the forum rules.
    Are you a company? Read our company rules

2DOF Build Log Thread

Discussion in 'DIY Motion Simulator Projects' started by Tim McGuire, Oct 27, 2015.

  1. Tim McGuire

    Tim McGuire "Forever a work in progress"

    Joined:
    Jul 26, 2015
    Messages:
    260
    Occupation:
    Electrical/Electronics Engineer
    Location:
    Canada
    Balance:
    2,014Coins
    Ratings:
    +306 / 1 / -0
    My Motion Simulator:
    3DOF, DC motor
    While I'm still annoyed at Logitech, it looks like I jumped the gun too quickly about what the problem with the wheel was. I disassembled it and took a look, and it seems that they've switched from an optical encoder to a hall effect sensor. My problem had all of the symptoms of the classic encoder slip though, so I suspect that the magnet mounted on the servo shaft might be losing grip in the same way. I put some glue between the stepper shaft and the magnet, so I'll update you guys when I find out if this fixed the problem or not. Pics to come too.
    • Informative Informative x 2
  2. Tim McGuire

    Tim McGuire "Forever a work in progress"

    Joined:
    Jul 26, 2015
    Messages:
    260
    Occupation:
    Electrical/Electronics Engineer
    Location:
    Canada
    Balance:
    2,014Coins
    Ratings:
    +306 / 1 / -0
    My Motion Simulator:
    3DOF, DC motor
    Dissasembly:
    IMG_4293.JPG IMG_4294.JPG IMG_4295.JPG IMG_4296.JPG

    Hall Effect Sensor:
    IMG_4298.JPG IMG_4299.JPG

    Glued:
    IMG_4300.JPG

    Sadly this seems to have done nothing to fix my problem :(, and I e-mailed support more than a week ago and STILL no RMA... How expensive are Fanatec/DD Wheels again?

    Attached Files:

  3. PiaMan

    PiaMan Active Member

    Joined:
    Aug 2, 2015
    Messages:
    194
    Location:
    Saskatchewan, CANADA
    Balance:
    561Coins
    Ratings:
    +130 / 2 / -0
    My Motion Simulator:
    3DOF, DC motor, SCN5, Arduino
    Cost me around 1600CAD for large mige open sim wheel pre tested kit. Certainly well worth it in my opinion. I went g27 to t300 to dd and each was a big step up.
    • Informative Informative x 2
  4. Kirk

    Kirk Member

    Joined:
    May 19, 2014
    Messages:
    92
    Occupation:
    Sr Software Engineer
    Location:
    Texas
    Balance:
    15,033Coins
    Ratings:
    +113 / 2 / -0
    My Motion Simulator:
    2DOF, DC motor
    Is it possible to attach your scope to the chip? You mentioned this happens during rapid FFB, I'm wondering if noise from the motor is seeping into the power (and thus output) of that chip.

    But the absolute first thing I'd do is try it on another computer. Logitech, I love their mice, but their drivers are finicky as hell. For instance, I have a pair of 3D mice (both made by 3Dconexion, owned by Logitech) that don't work correctly when my Logitech G27 wheel is attached or my Logitech G13 keyboard, and the G13 is incompatible with most of my gamepads. So when I switch between physical design work and electronic design and gaming, I have a bit of plug shuffling to do. I don't have this problem with other equipment, my 3D printer is always attached, as are my Altera Byte Blaster and Xylinx programmer and logic analyzer.

    Hall effect is generally very reliable, arguably better than optical in small form factor configurations. It is likely that hall effect chip is putting out quadrature data (a lot of them do, and it would have been the logical choice when replacing an optical encoder), meaning you can probably view it just fine on your analog scope. If you don't see ringing when the error happens, I'd bet 100% it's a software issue.

    If you DO see ringing, add a filter cap on the board. I'm really surprised they didn't use them, those long wires can act a lot like antenna when they are near motors.
    • Like Like x 1
  5. Kirk

    Kirk Member

    Joined:
    May 19, 2014
    Messages:
    92
    Occupation:
    Sr Software Engineer
    Location:
    Texas
    Balance:
    15,033Coins
    Ratings:
    +113 / 2 / -0
    My Motion Simulator:
    2DOF, DC motor
    One last thing is to examine the actual power coming from the power brick. Another thing about FFB is it's going to be a large draw. If you scope it and see the voltage drop when the error happens, the power brick might be starting to fail (not delivering enough current). This shouldn't cause a problem, BUT if they went cheap on their design, that drop could be reflected in the digital voltages as well, leading to unhappiness.
    • Like Like x 1
  6. Tim McGuire

    Tim McGuire "Forever a work in progress"

    Joined:
    Jul 26, 2015
    Messages:
    260
    Occupation:
    Electrical/Electronics Engineer
    Location:
    Canada
    Balance:
    2,014Coins
    Ratings:
    +306 / 1 / -0
    My Motion Simulator:
    3DOF, DC motor
    @Kirk , Thanks for the tips. I'll try it out on my laptop at home, I'm hoping that that's the problem because that would be the easiest for me to fix haha. My COM ports have been acting a bit funny lately (I was trying to use my MSP programmer earlier and it wasn't able to connect properly.

    I could probe out the IC/PSU with the scope too. It's almost like the wheel just stops tracking when forced against the FFB, then resumes tracking when let off, but the wheel has now shifted 30 degrees without the sensor picking that up. If it's the power brick I'm going to be mighty displeased...
  7. Tim McGuire

    Tim McGuire "Forever a work in progress"

    Joined:
    Jul 26, 2015
    Messages:
    260
    Occupation:
    Electrical/Electronics Engineer
    Location:
    Canada
    Balance:
    2,014Coins
    Ratings:
    +306 / 1 / -0
    My Motion Simulator:
    3DOF, DC motor
    Yep, definitely a hardware issue. I tried it on my laptop and it's still behaving the same way. Somehow I don't think it's a supply voltage thing either. I haven't torn the line open and looked for voltage droops yet, but there's an LED on the outside of the wheel and it's not dimming at all when I replicate the glitch. I could be completely wrong though, they may operate off of different voltage rails and the LED one might not be starving when I force the wheel.
  8. Kirk

    Kirk Member

    Joined:
    May 19, 2014
    Messages:
    92
    Occupation:
    Sr Software Engineer
    Location:
    Texas
    Balance:
    15,033Coins
    Ratings:
    +113 / 2 / -0
    My Motion Simulator:
    2DOF, DC motor
    I'm very interested in seeing if you were able to probe the output of the hall effect chip. I believe they will have used pull-up resistors on the other side of that long cable, I'd probe there (not on the side with the sensor). For kicks, I'd also try pulling one of the leads off the motor, and see if it EVER looses sync if the motor isn't actually powered (I don't think it will).

    I have a G27, but never pulled it apart. It's an older unit, probably still has the original type encoder, so might not be much help.
  9. Tim McGuire

    Tim McGuire "Forever a work in progress"

    Joined:
    Jul 26, 2015
    Messages:
    260
    Occupation:
    Electrical/Electronics Engineer
    Location:
    Canada
    Balance:
    2,014Coins
    Ratings:
    +306 / 1 / -0
    My Motion Simulator:
    3DOF, DC motor
    I haven't had time to do it yet, but if I get the chance before it gets sent out to warranty I'll definitely let you know how it goes.
    After some digging for the part number, I found this:

    https://www.melexis.com/en/product/MLX90363/Triaxis-Programmable-Position-Sensor-IC-SPI

    Interesting choice of sensor, I haven't heard of Melexis before. It's programmable, and only communicates through SPI, so replacing the IC probably wouldn't work. It also seems like the device is most likely hooked up as a slave to the central MCU (page 16 of the datasheet), which should request position data for every update. My scope doesn't have single shot capture, so I'm not sure how well I'd be able to look at an intermittent SPI message. I could try pulling the plug on one of the motors. I might also try shielding the signal cables coming from the stepper (maybe the counter drive is causing some EMI?).
  10. Kirk

    Kirk Member

    Joined:
    May 19, 2014
    Messages:
    92
    Occupation:
    Sr Software Engineer
    Location:
    Texas
    Balance:
    15,033Coins
    Ratings:
    +113 / 2 / -0
    My Motion Simulator:
    2DOF, DC motor
    Wow. Wasn't expecting SPI. SPI isn't a differential signal. It's not a choice I would have made.

    I have a "Pixie" that has the option of using SPI. I can't use it on the PTZ (pan-tilt-zoom) platform, because the servos make it loose it's shit, so I have to use generic serial. The cables only 3 inches long, and the servos can run off a pair of AA batteries, very low power hobby servos.

    You can use an Arduino to capture SPI data between two devices, I wouldn't use a scope. If you do this, I'd recommend simply serial debug printing any packets that fail the CRC-8 check. They are apparently only using 64kbps (1000 messages / sec, each message 8 bytes long, with the 8th being the CRC-8), but that's still way more data than you'd want to serial print.

    As I mentioned, I'd also try pulling one of the leads off the motor, and see if it EVER looses sync if the motor isn't actually powered (I don't think it will). If it looses sync without the motor powered, it can't be EMI.

    If it's probably EMI, I'd probe the SPI data for CRC errors at the micro side (not at the sensor side). If you get CRC errors, I'd try DIY shielding their cable with some aluminum foil and attaching both ends to ground, or jury rig differential signaling (arduino chips can do this, but the manly way is with FETs :)).

    I'm beginning to really appreciate the fact that my G27 is one of the older ones. Fix most of it's problems with a Dust Buster (canned air).

    (save some typing, I've included the CRC8 table from the data sheet here, just remember to start with 0xFF in the value.)

    static const unsigned char crc8[256] =
    {
    0x00, 0x2F, 0x5E, 0x71, 0xBC, 0x93, 0xE2, 0xCD,
    0x57, 0x78, 0x09, 0x26, 0xEB, 0xC4, 0xB5, 0x9A,
    0xAE, 0x81, 0xF0, 0xDF, 0x12, 0x3D, 0x4C, 0x63,
    0xF9, 0xD6, 0xA7, 0x88, 0x45, 0x6A, 0x1B, 0x34,
    0x73, 0x5C, 0x2D, 0x02, 0xCF, 0xE0, 0x91, 0xBE,
    0x24, 0x0B, 0x7A, 0x55, 0x98, 0xB7, 0xC6, 0xE9,
    0xDD, 0xF2, 0x83, 0xAC, 0x61, 0x4E, 0x3F, 0x10,
    0x8A, 0xA5, 0xD4, 0xFB, 0x36, 0x19, 0x68, 0x47,
    0xE6, 0xC9, 0xB8, 0x97, 0x5A, 0x75, 0x04, 0x2B,
    0xB1, 0x9E, 0xEF, 0xC0, 0x0D, 0x22, 0x53, 0x7C,
    0x48, 0x67, 0x16, 0x39, 0xF4, 0xDB, 0xAA, 0x85,
    0x1F, 0x30, 0x41, 0x6E, 0xA3, 0x8C, 0xFD, 0xD2,
    0x95, 0xBA, 0xCB, 0xE4, 0x29, 0x06, 0x77, 0x58,
    0xC2, 0xED, 0x9C, 0xB3, 0x7E, 0x51, 0x20, 0x0F,
    0x3B, 0x14, 0x65, 0x4A, 0x87, 0xA8, 0xD9, 0xF6,
    0x6C, 0x43, 0x32, 0x1D, 0xD0, 0xFF, 0x8E, 0xA1,
    0xE3, 0xCC, 0xBD, 0x92, 0x5F, 0x70, 0x01, 0x2E,
    0xB4, 0x9B, 0xEA, 0xC5, 0x08, 0x27, 0x56, 0x79,
    0x4D, 0x62, 0x13, 0x3C, 0xF1, 0xDE, 0xAF, 0x80,
    0x1A, 0x35, 0x44, 0x6B, 0xA6, 0x89, 0xF8, 0xD7,
    0x90, 0xBF, 0xCE, 0xE1, 0x2C, 0x03, 0x72, 0x5D,
    0xC7, 0xE8, 0x99, 0xB6, 0x7B, 0x54, 0x25, 0x0A,
    0x3E, 0x11, 0x60, 0x4F, 0x82, 0xAD, 0xDC, 0xF3,
    0x69, 0x46, 0x37, 0x18, 0xD5, 0xFA, 0x8B, 0xA4,
    0x05, 0x2A, 0x5B, 0x74, 0xB9, 0x96, 0xE7, 0xC8,
    0x52, 0x7D, 0x0C, 0x23, 0xEE, 0xC1, 0xB0, 0x9F,
    0xAB, 0x84, 0xF5, 0xDA, 0x17, 0x38, 0x49, 0x66,
    0xFC, 0xD3, 0xA2, 0x8D, 0x40, 0x6F, 0x1E, 0x31,
    0x76, 0x59, 0x28, 0x07, 0xCA, 0xE5, 0x94, 0xBB,
    0x21, 0x0E, 0x7F, 0x50, 0x9D, 0xB2, 0xC3, 0xEC,
    0xD8, 0xF7, 0x86, 0xA9, 0x64, 0x4B, 0x3A, 0x15,
    0x8F, 0xA0, 0xD1, 0xFE, 0x33, 0x1C, 0x6D, 0x42
    };

    (edit: <code> tag doesn't appear to work?)
    • Useful Useful x 1
  11. Tim McGuire

    Tim McGuire "Forever a work in progress"

    Joined:
    Jul 26, 2015
    Messages:
    260
    Occupation:
    Electrical/Electronics Engineer
    Location:
    Canada
    Balance:
    2,014Coins
    Ratings:
    +306 / 1 / -0
    My Motion Simulator:
    3DOF, DC motor
    Alright, I've done some more testing. With the sensor-side motor unplugged, it retains its tracking properly, but if I plug it back in and unplug the non-sensor side motor, it loses its tracking in the same way it did before. Interesting to note is that when it loses tracking, the motor seems to shut off altogether until tracking is re-established.

    I agree about the SPI being a strange choice. I would have thought CAN or some other differential signalling mode would have been better for an environment like that.

    I probed the supply lines for the IC, and I can't really see any drops in the +5V supply rail as I'm doing it. When I look at the motor power rail, when the tracking cuts it doesn't seem like the motor is actually losing drive voltage/signal for the duration of the cut (the PWM signal stays saturated at 100% duty cycle), but it loses all torque/power for the duration of the tracking loss, which means it might actually be a fault with the motor (?). I can't really think of a failure mode that would cause a servo to temporarily lose torque when power is still being applied though. Another note is that when I had only the one motor plugged in, I noticed that when the motor cuts tracking/power it's accompanied by an audible click.

    If I probe the SPI line, my scope is just barely fast enough to see a cat's eye, and there's not really any ringing to speak of. When I turn the wheel, I can pretty clearly see the message portion of the frame cycling upwards/downwards in binary depending on which direction I turn. When I force the tracking to quit it doesn't seem like the data stops changing, then again it happens so fast I can't really tell by eye. I'd need a logic analyzer or something with single shot capture for that.

    Unfortunately the only arduino I have on hand isn't playing nice with my COM ports right now, so I can't decode the messages for now.

    edit: I also rigged up a shield but that didn't help either.
    Last edited: Jun 21, 2016
  12. Kirk

    Kirk Member

    Joined:
    May 19, 2014
    Messages:
    92
    Occupation:
    Sr Software Engineer
    Location:
    Texas
    Balance:
    15,033Coins
    Ratings:
    +113 / 2 / -0
    My Motion Simulator:
    2DOF, DC motor
    I had assumed EMI, especially with those symptoms... But without any ringing, it really can't be.

    Reading full voltage at the motor... I wonder if the clicking is a thermal fuse inside the motor housing? That would explain a lot...

    The only other thing that springs to mind (but wouldn't explain the "click") is if the motor driver went into a thermal current limit, but I highly doubt that.

    Full voltage at the motor... It's got to be a thermal fuse (overload protector). Getting inside that kind of motor is a drag (a bit like the Nerf motors, they are pressed together at the factory. I had to rewind one, it's not an experience I'd ever willingly repeat.)

    A while back, a forum member replaced the FFB motor on his G27. He did it to substantially improve FFB, a truly noble cause. While a great deal of work went into determining HOW to do it, now that all the hard stuff has been navigated, the actual replacement work didn't seem unreasonably difficult.

    If you can't get Logitech to make things right, I'd seriously consider that mod. Besides, for the amount of improved FFB, as compared to cost, that mod is nearly a must have (on my todo list, right after improving the pedals)

    Edit: I was thinking of Pit's mod, but that was a Thrustmaster, not a Logitech. :(
    Last edited: Jun 21, 2016
  13. Tim McGuire

    Tim McGuire "Forever a work in progress"

    Joined:
    Jul 26, 2015
    Messages:
    260
    Occupation:
    Electrical/Electronics Engineer
    Location:
    Canada
    Balance:
    2,014Coins
    Ratings:
    +306 / 1 / -0
    My Motion Simulator:
    3DOF, DC motor
    A thermal fuse would certainly make sense, although I still wonder why it would lose tracking when the motor shuts off. I've seen replacement servo kits for more FFB power, but they're quite pricey, so that'll be my last ditch option if I can't get them to RMA it. I don't see why they wouldn't RMA it at this point, the process is just painfully slow because the reps usually take at least 3 business days to respond to e-mails (still waiting on a response from last Thursday).
  14. Kirk

    Kirk Member

    Joined:
    May 19, 2014
    Messages:
    92
    Occupation:
    Sr Software Engineer
    Location:
    Texas
    Balance:
    15,033Coins
    Ratings:
    +113 / 2 / -0
    My Motion Simulator:
    2DOF, DC motor
    You are of course correct, it shouldn't make it loose tracking. I think RMA might be your only recourse. :(
  15. Tim McGuire

    Tim McGuire "Forever a work in progress"

    Joined:
    Jul 26, 2015
    Messages:
    260
    Occupation:
    Electrical/Electronics Engineer
    Location:
    Canada
    Balance:
    2,014Coins
    Ratings:
    +306 / 1 / -0
    My Motion Simulator:
    3DOF, DC motor
    Well I just sent my warranty info to them so hopefully I can have a new wheel back by mid-late July. Thanks for the help with the debugging though!
    • Like Like x 1
  16. Tim McGuire

    Tim McGuire "Forever a work in progress"

    Joined:
    Jul 26, 2015
    Messages:
    260
    Occupation:
    Electrical/Electronics Engineer
    Location:
    Canada
    Balance:
    2,014Coins
    Ratings:
    +306 / 1 / -0
    My Motion Simulator:
    3DOF, DC motor
    Made some updates to my Heave module design. I found linear bearings that'd fit much better, and was able to make the module considerably smaller. I was also able to find cheap assist springs with a near-optimal spring rate, and long length, which now sit over 1/2'' threaded rod, with jam nuts to give adjustable pretension. I also added bump stops to the linear bearing slides and threaded rod to prevent the platform from moving past the motor's safe limits.

    Capture.PNG

    The overall dimensions of the module are 16''x16''x 8.5'' (40cm x 40cm x 21.5cm), and it should provide approximately 2'' (60mm) of total heave travel (1'' in either direction), at a speed of about 235mm/s with the 50:1 box. I'm planning on using the CNC milling machines and lathes at the University shop to do this one, but theoretically if you substitute the custom bearing slides for off-the-shelf ones, it could be made with standard tools.

    Links for the Bearings/Springs:

    $35US for 4 flange mount linear bearings.
    http://www.aliexpress.com/item/10pc..._1&btsid=853a6332-8d3c-4a4a-8ae6-e1b128b78a39

    $32 for 4x 8'', 30.5lbs/in die springs:
    https://www.leespring.com//product_spec.asp?springType=C&partnum=LHL750A15

    On another note, I finally got around to sanding/painting my frame (minus the base, because I'm making a new one sometime soon.
    Paint+Sand.JPG
    • Like Like x 1
  17. Tim McGuire

    Tim McGuire "Forever a work in progress"

    Joined:
    Jul 26, 2015
    Messages:
    260
    Occupation:
    Electrical/Electronics Engineer
    Location:
    Canada
    Balance:
    2,014Coins
    Ratings:
    +306 / 1 / -0
    My Motion Simulator:
    3DOF, DC motor
    More slow progress. I still have no G27, but I've been keeping busy. I've started turning the electronics from an ugly mess into a slightly less ugly mess. Taking some inspiration from scalhoun's wonderful case mod, I'm going to stick this little electronics subassembly into this case: http://www.newegg.ca/Product/Product.aspx?Item=N82E16811147246
    The case has plenty of room to panel-mount connectors, and it's got a few USB ports on it that I can use to connect to my host PC, as well as run a passthrough for any controllers (g27, flightstick, etc.), more to come on that much later.

    IMG_4407.JPG

    I drilled out the rivets holding the drive cages in to give myself some more room. IMG_4398.JPG
    I also hand-soldered a very ugly breakout board for power to the MMs as well as 12V to the fans. (Don't worry, I covered the bottom of the board with hot-glue, so no shorting will happen with the PSU cases.
    IMG_4359.JPG
    I'm still not quite happy with how neat the assembly looks, I'd rather be using terminal strips than bolts and nuts to hold down the power lines going to the MMs. But my budget is really limited right now, so I'm working with what I have.
    IMG_4405.JPG

    Attached Files:

    • Like Like x 1
  18. Tim McGuire

    Tim McGuire "Forever a work in progress"

    Joined:
    Jul 26, 2015
    Messages:
    260
    Occupation:
    Electrical/Electronics Engineer
    Location:
    Canada
    Balance:
    2,014Coins
    Ratings:
    +306 / 1 / -0
    My Motion Simulator:
    3DOF, DC motor
    I also got around to sketching out my concept for a folding base frame. I want my sim to be more easily transportable, and take up less space when I'm not using it, but I'm not sure if I want to sacrifice the leverage of the shoulder-mount design. With that in mind, I came up with this:

    detail1.PNG
    detail4.PNG
    The structure is nothing fancy, just steel, with some sheet metal brackets that I plan to bolt the arms to when they need to be secured. I plan on using http://www.mcmaster.com/#1526a71/=13bcysx for the hinges. The idea is that the bracket should support all of the weight once the arms have swung into position, so theoretically the hinge shouldn't have to bear much load.

    A couple of pics of it under the seat frame for scale:
    profile.PNG
    Folded1.PNG
    In the end I want to put the whole thing on castor wheels, and have screw-down feet to hold it still while in motion. As always, any design insights/advice are greatly appreciated.

    Attached Files:

    • Creative Creative x 2
    Last edited: Jul 17, 2016
  19. Tim McGuire

    Tim McGuire "Forever a work in progress"

    Joined:
    Jul 26, 2015
    Messages:
    260
    Occupation:
    Electrical/Electronics Engineer
    Location:
    Canada
    Balance:
    2,014Coins
    Ratings:
    +306 / 1 / -0
    My Motion Simulator:
    3DOF, DC motor
    Some more slow progress on new wiring:

    IMG_4465.JPG IMG_4466.JPG IMG_4467.JPG
    I made up some new cables to take power from the enclosure to the motors. I used some heatshrink and cable braid to make them look a little prettier, and I used the same connectors I linked previously to carry signal. For the power connection, I used these: http://www.andersonpower.com/us/en/products/powerpole/index.aspx . They come highly rated by my co-workers (they work with high current quite a lot, so I trust their recommendation). They're small, and you can buy contacts for the PP15/45 shells that are rated for 45 amps continuous. They're a tad pricy if you order them from "legit" sources, but you can easily find them on ebay (with the usual caveats about being careful about quality).

    I'm running both the signal lines for the pots, as well as the motor power through the same cable for simplicity, I'm hoping the power lines don't end up interfering too much with the pot feedback line.
  20. Nick Moxley

    Nick Moxley Well-Known Member

    Joined:
    Dec 13, 2013
    Messages:
    2,786
    Occupation:
    Owner/Operator- Moxleys Rantals
    Location:
    Winnipeg Manitoba Canada
    Balance:
    17,401Coins
    Ratings:
    +2,497 / 30 / -2
    My Motion Simulator:
    2DOF, 3DOF, DC motor, JRK
    If your looking for really cheap plugs that can take the juice. Look into Deans connector's....you can score a 10 pack for under 2-3$ and they will take 50A all day long if needed.