View Single Post
  #12   Spotlight this post!  
Unread 10-12-2015, 10:34
techhelpbb's Avatar
techhelpbb techhelpbb is offline
Registered User
FRC #0011 (MORT - Team 11)
Team Role: Mentor
 
Join Date: Nov 2010
Rookie Year: 1997
Location: New Jersey
Posts: 1,624
techhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond repute
Re: SD540 Motor Controller (**VIDEO**)

Quote:
Originally Posted by philso View Post
Is it too much to ask if one of the Talon SRX's or Victor SP's to act as a point of reference?

As long as the temperature data is measured at the same output current, the value of the current sense resistor does not matter. The losses in the controller are related to the characteristics of the switch devices used (MOSFETS?), how they are driven by the circuitry in the controller, the switching frequency and the output current. As a user, one would only have control over the output current.
I don't have either to use as a reference currently.
AndyMark is sold out of the Victor SP.
I can get it here:
http://www.robotmarketplace.com/prod...-VICTORSP.html

At some point I have to point out that the more parts I have to accumulate on short notice the higher the unplanned cost to me of this exercise. I don't really need these chassis until well after build season outside of this. However I will entertain this because I probably will buy at least 2 of the Victor SP sooner or later. I do have the older gray Jaguar, black Jaguar, Victor 888 , Victor 884 and Talon SR (not the SRX).

Here are the constraints of doing this with a proper Arduino and the hardware I have planned:

1. The DS18B20 has variable bit resolution measurement. The more resolution the longer the readings take. I intend to run it at the fastest of 9bit resolution at 0.5C resolution. This means I need to wait likely more than 75ms to get a temperature from it. After issuing the request it can be configured to be non-blocking so I can go off and do other things then check back for the reading.

2. I will likely use either the A/D of the Arduino which for the Mega2560 is 16 channel analog muxed 10bit or something like the MCP3008/MCP3208 like that found on the Propeller ASC+ from Parallax. With the current sense resistors as I plan them this should give me something around a 0.1A resolution for the current. I would figure these are not super high-end A/D so some error is to be expected but most of the error I hope will cancel by being consistent across all measurements. The current sense resistors are high enough wattage that a complete stall shouldn't cause them to fail but likely will rail the current reading. I am going to assume we won't be trying to run the motors consistently at 95A or more.

3. The AdaFruit Data Logging shield provides a DS1307 RTC and access to SD card storage. I can also go down the route of this: https://www.parallax.com/product/27937

Since the current PDP model can only report current as fast as 25ms over the CAN bus connection to the RoboRIO, the only part of this I think is a bit slow is the DS18B20. No matter how fast my CPU/MCU that 75ms is pretty slow but thermally the heatsink mass is not so small that I think we need to be all that fast reading temperature.

4. My initial thought is to store the 2 temperatures and the 2 currents packed.
9 bits (temp) + 9 bits (temp) + 10 bits (current) + 10 bits (current) = 38 bits
Stored as 4 bytes and some bytes for any time stamps.
A trivial amount of code can unpack that and dump it into Excel.

Last edited by techhelpbb : 10-12-2015 at 11:25.
Reply With Quote