Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Control System (http://www.chiefdelphi.com/forums/forumdisplay.php?f=177)
-   -   MindSensors SD540C Issues (http://www.chiefdelphi.com/forums/showthread.php?t=154984)

buddybu 09-02-2017 00:56

MindSensors SD540C Issues
 
Let me introduce myself, I am the Programming Mentor for FRC Team 2903. One of our other mentors saw the MindSensor SD540C motor controllers and thought they would be an improvement over the Talon SRX CAN motor controllers we used last year, in regards to wiring and electronics layout.

I can agree with him on that portion. The rest of it, well read on.

The configuration tool downloaded never finds any of the motor controllers on our can bus and it crashes when we attempt to refresh. I discovered a command line utility located on the roboRIO in /usr/local/bin called clcp_sd540c, but soon discovered that, while it could see the controllers on the CAN bus, I didn't have enough information on how to program them. I looked around for documentation, but without finding any, I used a disassembler and reverse engineered the program to figure out the command line format:

clcp_sd540c scan
clcp_sd540c id <id> <new_id>

are the most important commands, although I also used the name command to rename the devices. Now that id's of the controllers had been modified so that I could have all 8 of them on the CAN bus, I was able to load some simple teleop code to drive with a joystick.

This is where the fun begins. The Talon SRX CAN motor controllers had very good support in the WPI library and could hook into the robot drive subsystem and we could simply use ArcadeDrive or TankDrive after creating the robotdrive object with the 4 motor controllers. Even after updating last year's robot with the current software, the Talons continued to work wonderfully.

The SD540C controllers, not so much. We had to configure them from the command line, and because the provided class has not been well integrated with WPILIB, we had create our own arcade and tank drive methods in order to even drive the robot. During our testing of the implemented drive methods, we ran into several problems with the controllers:

1. The voltage ramp up is not 0 by default as the documentation says. I am not sure what it was, but it was not 0. And even after setting it to 0, the controllers do not immediately apply the power to the motors. Setting the voltage ramp-up to 0 improved the situation from the default setting though. We did not measure the voltage output, and, if needed we can provide that data.

2. Setting the Stop mode to brake rather than the default coast, does not always stop the motors immediately, sometimes they continue to run for a second or two.

3. The motors whine furiously like they are not getting enough voltage. When they are at full power it's fine. I can provide a video which I believe has sound if desired. The electronics mentor seemed to think it was something to do with possibly underpowering the motors, but he didn't do any voltage testing. I can provide that if needed.

4. Frequently when starting, the motors run at a very high rate for a second or two, or until we press the drive control joystick. We haven't debugged that one too far yet.

5. SetInverse(true), does not reverse the direction of the motor controller. I noticed that MindSensors provided a Firmware update to fix that for the SD540 and SD540B controllers, I wonder if a firmware update is available for the SD540C and if it is available for download for manual installation with the command line utility described above.

Needless to say, we are quite disappointed at this point in the season, with only 2 weeks left in build season. We are already preparing to move back to the Talons as we know they suited our needs and will figure out another way to clean up their wiring.

If anyone has any experience with these controllers and can provide us with some possible investigation paths, we'll likely start the move to the Talons on Friday. The whining we can live with, but the ramp up speed, when we asked for 0 ramp-up is the biggest issue. The second one is the not stopping when power is removed from the controllers. Having SetInverse() not working, is an annoyance, but we work around it by sending the negative motor power to the controllers on that side of the robot.

I realize that we are missing some voltage information, but that can be easily gotten.

Thanks for reading!

flemdogmillion 09-02-2017 12:35

Re: MindSensors SD540C Issues
 
What's so bad about wiring the Talons?

buddybu 09-02-2017 12:52

Re: MindSensors SD540C Issues
 
Quote:

Originally Posted by flemdogmillion (Post 1642506)
What's so bad about wiring the Talons?

Thank you for your reply.

I didn't say the Talons were hard to wire, just that the SD540C controllers were more conducive to cleaner wire management. :) Since we are likely moving back to the Talons, the way we managed the wiring for the SD540C will also work quite well for the Talons.

flemdogmillion 09-02-2017 13:57

Re: MindSensors SD540C Issues
 
Quote:

Originally Posted by buddybu (Post 1642521)
Thank you for your reply.

I didn't say the Talons were hard to wire, just that the SD540C controllers were more conducive to cleaner wire management. :) Since we are likely moving back to the Talons, the way we managed the wiring for the SD540C will also work quite well for the Talons.

What made them better for wire management? I'm thinking I might be more interested in CAN if wire management got even easier.

bobbysq 09-02-2017 14:40

Re: MindSensors SD540C Issues
 
Quote:

Originally Posted by flemdogmillion (Post 1642563)
What made them better for wire management? I'm thinking I might be more interested in CAN if wire management got even easier.

I assume it's because nothing's permanently wired to the SD540 motor controllers. You can feel free to make CAN and power wires as short as you want without fear of having to blow $90 on a new motor controller.

Also, to answer OP's question, this may just be the reality of the motor controllers. SD540(B) controllers were found not to be very reliable, and were outclassed by the SPARK in every way. Based on other people's teardowns of the original SD540, I assume this motor controller is using very cheap construction methods and components, leading to these failures.

buddybu 09-02-2017 16:42

Re: MindSensors SD540C Issues
 
Quote:

Originally Posted by bobbysq (Post 1642584)
You can feel free to make CAN and power wires as short as you want without fear of having to blow $90 on a new motor controller.

Exactly.

[QUOTE-bobbysq;1642584]Also, to answer OP's question, this may just be the reality of the motor controllers. SD540(B) controllers were found not to be very reliable, and were outclassed by the SPARK in every way. Based on other people's teardowns of the original SD540, I assume this motor controller is using very cheap construction methods and components, leading to these failures.[/quote]

Thank you for this information, this is the first real information we've received. Do you have links to these teardowns that I can share with the electronics team? (I will also search, but if you have them at hand...)

bobbysq 09-02-2017 20:26

Re: MindSensors SD540C Issues
 
Quote:

Originally Posted by buddybu (Post 1642686)
Thank you for this information, this is the first real information we've received. Do you have links to these teardowns that I can share with the electronics team? (I will also search, but if you have them at hand...)

Here it is: https://www.amazon.com/review/R1JCF3...toys-and-games

These things could certainly have improved though.

buddybu 09-02-2017 22:13

Re: MindSensors SD540C Issues
 
Quote:

Originally Posted by bobbysq (Post 1642760)
Here it is: https://www.amazon.com/review/R1JCF3...toys-and-games

These things could certainly have improved though.

Based on our experience, I am not so sure about the improvement. These are brand new this year, so, the kinks may not have been fully worked out yet.


All times are GMT -5. The time now is 12:35.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi