Ballast Controller v1

Communications

Support White Star I2C commands

Electrical Interface

Standard White Star Bus

Communications Requirements

  • Respond to queries
    • how much weight grams dropped (integer grams)
    • how much weight grams remaining (integer grams)
    • valve open (1) or closed (0)
  • Respond to commands
    • Drop X weight in grams (integer grams)
    • abort current drop
    • suspend current drop
    • close until further notice
    • open until further notice

Ballast Controller v1 As built

Ballast Controller Commands

Ballast Controller I2C Bus Address is 0x9

Ballast Controller Commands are:

Read a Register from Controller

Send Command BALLAST_REGISTER_SELECT value 9
Send BALLAST_REGISTER_ID as one byte
VALVE_STATUS_REGISTER  =  1
BALLAST_AMOUNT_REGISTER  =  2
INITIAL_BALLAST_REGISTER  =  3
Ballast Registers always return 2 bytes
1st Byte is MSB
2nd Byte is LSB
Calculate total value as ((MSB * 256) + LSB)
The Valve Status will equal 1 for OPEN and 2 for CLOSE.
The BALLAST_AMOUNT register contains amount of Ballast remaining.
The INITIAL_BALLAST register contains amount loaded by last BALLAST_LOAD_AMOUNT command.

Write Ballast Amount Value into Controller

Send Command BALLAST_LOAD_AMOUNT value 17
Send two byte Ballast value
Send MSB 1st then LSB
Calculate total value as ((MSB * 256) + LSB)

Command Ballasting to STOP

Send command BALLASTING_STOP value 18
Nothing more need be sent

Command Dump Remaining Ballast

Send command BALLAST_DUMP_ALL value 19
Nothing more need be sent

Command Drop an Amount of Ballast

Send command BALLAST_DROP_AMOUNT value 20
Send two byte Ballast value
Send MSB 1st then LSB
Calculate total value as ((MSB * 256) + LSB)
    

Psuedo-Algorythm For Ballast Timing

The Ballast System uses a simple ballast range method inwhich it calculates the number of seconds the valve must be open to drop 1 gram of ballast.

The value is set in a range test:

Greater than 2500 grams = 2.75 seconds per gram
Greater than 2000 grams = 2.80 seconds per gram
Greater than 1500 grams = 2.85 seconds per gram
Greater than 1000 grams = 2.95 seconds per gram
Greater than 0500 grams = 3.05 seconds per gram
Greater than 0000 grams = 3.15 seconds per gram

Ballast in excess of 3000 grams is out of range but will default = 2.6 seconds per gram

Additional test and value adjustment planned.

hardware/ballast/ballastcontroller/v1.txt · Last modified: 2011/01/06 02:13 by bradluyster
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki