Go to Post My advice is anytime your intuition tells you something, double check it with physics. - tennispro9911 [more]
Home
Go Back   Chief Delphi > Technical > Electrical > CAN
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 20-01-2012, 15:09
craigboez's Avatar
craigboez craigboez is offline
Mechanical Engineer
AKA: Craig Boezwinkle
FRC #2811 (StormBots)
Team Role: Mentor
 
Join Date: Oct 2008
Rookie Year: 2009
Location: Chicago, IL
Posts: 217
craigboez is just really nicecraigboez is just really nicecraigboez is just really nicecraigboez is just really nicecraigboez is just really nice
Black Jaguar CAN Message Identifier Help

Hello all

At work I've purchased a Black Jaguar to use for a non-FIRST application. It will control a motor running a small pump, and I need to control the speed of the motor to regulate pump flow output. This is an open loop application, so no feedback from any sensors.

I'm using a Parker IQAN module as my system controller, so the plan was to generate a message within IQAN and send it to the Jaguar. I was hoping that I'd be able to look through all the documentation and figure out how to format that message, but I'm having trouble doing so.

So far I've been able to determine this: It's a 32 bit message divided into 5 fields. Bits 31-29 are RSVD, 28-24 are Device Type, 23-16 are Manufacturer, 15-6 are API, and 5-0 are Device Number. I'm trying to figure out what values each field needs so that I can send messages to set the speed. These details seem to be hidden away in the various library files that FIRST provides, or at least sufficiently hidden so that I can't find them.

Can anybody point me in the right direction?
Reply With Quote
  #2   Spotlight this post!  
Unread 20-01-2012, 16:06
dyanoshak dyanoshak is offline
Registered User
AKA: David Yanoshak
FRC #2158 (ausTIN CANs)
Team Role: Mentor
 
Join Date: Dec 2007
Rookie Year: 2007
Location: Austin, TX
Posts: 189
dyanoshak has a reputation beyond reputedyanoshak has a reputation beyond reputedyanoshak has a reputation beyond reputedyanoshak has a reputation beyond reputedyanoshak has a reputation beyond reputedyanoshak has a reputation beyond reputedyanoshak has a reputation beyond reputedyanoshak has a reputation beyond reputedyanoshak has a reputation beyond reputedyanoshak has a reputation beyond reputedyanoshak has a reputation beyond repute
Re: Black Jaguar CAN Message Identifier Help

Here is a link to the CD that comes with the Jaguar (BDC24) reference design kit: http://www.ti.com/tool/rdk-bdc24-cd.

You'll have to create a free My TI account to download it (annoying... but it has to do with software export compliance). Once you do, you'll find a a file on the CD called "SW-RDK-BDC24-UG-xxxx.pdf" (the xxxx is the release version).

That document will describe the CAN API for Jaguar. You will also find a self extracting zip file "SW-RDK-BDC24-xxxx.exe" that will unzip the source code for Jaguar on your system. It might be helpful to see the Jaguar source code to see how things work in the Jaguar. It also might help to look at the BDC-COMM source too. It is communicating over serial to the Black Jaguar, but the API calls are the same.

Hope this helps!

-David
Reply With Quote
  #3   Spotlight this post!  
Unread 20-01-2012, 19:10
craigboez's Avatar
craigboez craigboez is offline
Mechanical Engineer
AKA: Craig Boezwinkle
FRC #2811 (StormBots)
Team Role: Mentor
 
Join Date: Oct 2008
Rookie Year: 2009
Location: Chicago, IL
Posts: 217
craigboez is just really nicecraigboez is just really nicecraigboez is just really nicecraigboez is just really nicecraigboez is just really nice
Re: Black Jaguar CAN Message Identifier Help

Thanks David this helps a lot. As a quick example, if I want to send the Jag a series of CAN messages to run at a certain voltage I'm assuming I'll do the following:

1. Enable Voltage Mode by sending an "empty" message with the identifier 0x2020001.
2. Send a Voltage Set message with the identifier of 0x2020081 and 3 bytes of data. The first 16-bits will specify the setpoint and the next 8 will be 0 since I have no sync group.

Then, if I want the Jag to report back as to what it's voltage output is, I would:

3. Send an "empty" Status Output Voltage message with identifier 0x2021681.
4. When the motor gets this message, it will create a message of it's own and send it back along with 2 bytes of data. The response message will have the same identifier as the request, 0x2021681, and the first 8 bits of data will be the whole number and the next 8 bits will be the fractional part of the voltage.


As for the identifier format, I'm assuming the following:

Device type will always be motor controller, so Byte 3 will always mask to 0x02000000.
Mfg will always be TI, so Byte 2 will always mask to 0x00020000.
API will vary based on the message type.
I haven't adjusted the default Device Number for my Jag, so the last 5 bits of every message will be 000001.

Does this all sound correct?
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 02:54.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


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