Reaction Wheels NA-4RW0-G0-R2
Reaction Wheels NA-4RW0-G0-R2
Reaction Wheels NA-4RW0-G0-R2
n-avionics.com
Contents
Contents .................................................................................................................................................................................................................................................................. 3
1 Introduction ...................................................................................................................................................................................................................................................... 4
2 Feature Overview.......................................................................................................................................................................................................................................... 4
3 Product Configuration............................................................................................................................................................................................................................... 4
3.1 RW0 Properties ......................................................................................................................................................................................................................... 4
3.2 4RW0 Properties ...................................................................................................................................................................................................................... 5
4 Electrical Configuration ........................................................................................................................................................................................................................... 6
4.1 Connector Pinout .................................................................................................................................................................................................................... 6
4.2 Interface Selection Using User Accessible Resistors ....................................................................................................................................... 7
4.3 Signals ............................................................................................................................................................................................................................................. 7
4.3.1 Power Input ..................................................................................................................................................................................................................... 7
4.3.2 Enable Signal .................................................................................................................................................................................................................. 7
4.3.3 UART / SPI Signals ....................................................................................................................................................................................................... 7
4.3.4 Power Consumption .................................................................................................................................................................................................. 8
4.3.5 Temperature Range.................................................................................................................................................................................................... 8
4.3.6 Grounding......................................................................................................................................................................................................................... 8
5 Software Configuration ............................................................................................................................................................................................................................. 8
5.1 Switching from Binary Mode to CLI and Vice Versa ........................................................................................................................................ 9
5.2 Binary Protocol.......................................................................................................................................................................................................................... 9
5.2.1 Framing.............................................................................................................................................................................................................................10
5.2.2 Commands ...................................................................................................................................................................................................................... 11
5.2.3 Result Code ................................................................................................................................................................................................................... 12
5.2.4 CRC ..................................................................................................................................................................................................................................... 12
5.3 Command Line Interface (CLI) ..................................................................................................................................................................................... 13
5.3.1 Commands ..................................................................................................................................................................................................................... 14
5.4 Field Values ............................................................................................................................................................................................................................... 17
5.4.1 Last Reset Status ....................................................................................................................................................................................................... 17
5.4.2 Reaction Wheel State.............................................................................................................................................................................................. 17
5.4.3 Speed ................................................................................................................................................................................................................................. 18
5.4.4 Ramp Time ...................................................................................................................................................................................................................... 18
5.4.5 Current Limit Control Mode ............................................................................................................................................................................... 18
6 Layout ................................................................................................................................................................................................................................................................. 19
7 Mechanical interface ...............................................................................................................................................................................................................................20
7.1 RW0 ...............................................................................................................................................................................................................................................20
7.2 4RW0 ............................................................................................................................................................................................................................................. 21
8 Protection for Electrostatic Discharge Sensitive (ESDS) devices .............................................................................................................................. 22
8.1 General Handling ................................................................................................................................................................................................................. 22
8.2 Shipping and Storage ........................................................................................................................................................................................................ 22
9 Disclaimer ........................................................................................................................................................................................................................................................ 22
1 Introduction
NanoAvionics provides reaction/momentum wheels as a separate component (RW0) or an integral four- reaction wheels
redundant 3-axis control system (4RW0) to enable precision pointing of the small satellite.
2 Feature Overview
Interfaces: SPI / UART
DC Brushless Motor in a sealed housing
Sealed Design meaning no particle emissions or contamination of peripheral devices
IPC – A600H class 3 assembly
Mass of RW0: 137g, mass of 4RW0 system: 700g
Operational Temperature: -40 °C to +85 °C
4RW0 System Mechanical Design Complies with Most CubeSat structures
3 Product Configuration
Below are the product configuration details for one separate reaction wheel (RW0) and a four reaction wheels system
(4RW0).
4 Electrical Configuration
4.1 Connector Pinout
A 7-pin Molex connector is provided for the reaction wheel connection. The receptacle connector part numbers are Molex
51021-0700 for the housing and Molex 50058-8000 for the crimp pins.
4.3 Signals
4.3.1 Power Input
Table 4. Power Input Specification
Criteria Value
Absolute Maximum Voltage -0.3 ... +5.5 V
Operating Voltage +4.75 ... +5.25 V
Overvoltage / Fault protection 5.6 V Power Zener, Poly-fuse
4.3.6 Grounding
The wheel housing has no connection to GND signal. It should be grounded externally if required.
5 Software Configuration
This interface control document is valid for firmware version 3.129.
The device supports two types of interfaces:
Table 9. Interface Types
Interface type Description UART support SPI support
Binary Protocol For integration into other systems, default at system startup ✓ ✓
Command Line
Interface (CLI)
For fast prototyping and testing ✓ -
*-request and reply data fields are optional and their size can be equal to zero. Replay wait timeout should be more than
20 ms for all commands and depends on peripheral frequency if SPI is used. Also, the SPI master has to read a reply from
the device in no longer than 500 ms, otherwise an answer frame will be dropped.
5.2.1 Framing
Binary protocol uses HDLC-like framing. Each frame begins and ends with a flag byte, which is the binary sequence
01111110 (hexadecimal representation 0x7E). Device continuously checks for this flag, which is used for frame
synchronization. Only one flag byte is required between two frames. Two consecutive flag bytes constitute an empty
frame, which is silently discarded, and not counted as an error. Example:
The escape byte is 0x7D. Whenever a flag or escape byte appears in the message, it is escaped by 0x7D and the byte itself
is XOR-ed with 0x20. So, for example 0x7E becomes 0x7D 0x5E. Similarly 0x7D becomes 0x7D 0x5D. The receiver unsuffs
the escape byte and XORs the next byte with 0x20 again to get the original.
NOTE: Due to SPI specifics, one bit is transferred from slave to master, and one bit from master to slave, each clock cycle.
When master is sending new request packet, slave will respond with sequence of frame bytes (empty frames) until reply is
ready to transmit. Thus, master has to send empty frames to slave in order to receive replies from slave.
5.2.2 Commands
Command ID takes 1 byte. Possible values of some fields can be found in Section 5.4.
Table 12. Commands
Total length Total length
ID Description Request data Reply data
(bytes) (bytes)
1 reset MCU - 0 no reply 0
2 get last reset status* - 0 uin8_t 1
3 clear last reset status* - 0 - 0
int32_t currSpeed
get reaction wheel int32_t referenceSpeed
4 - 0 10
status uint8_t state
uint8_t clcMode
initialize reaction
5 - 0 - 0
wheel controller
int32_t speed
6 set reference speed 6 - 0
uint16_t rampTime
set current limit
7 uint8_t value 1 - 0
control mode
8 get temperature - 0 int32_t value 4
uint8_t lastResetStatus
int32_t mcuTemperature
float pressureSensorTemperature
float pressure
uint8_t rwState
uint8_t rwClcMode
int32_t rwCurrSpeed
int32_t rwRefSpeed
uint32_t numOfInvalidCrcPackets
uint32_t numOfInvalidLenPackets
uint32_t numOfInvalidCmdPackets
uint32_t numOfCmdExecutedRequests
9 get telemetry - 0 87
uint32_t numOfCmdReplies
uint32_t uartNumOfBytesWritten
uint32_t uartNumOfBytesRead
uint32_t uartNumOfParityErrors
uint32_t uartNumOfNoiseErrors
uint32_t uartNumOfFrameErrors
uint32_t uartNumOfRegisterOverrunErrors
uint32_t uartTotalNumOfErrors
uint32_t spiNumOfBytesWritten
uint32_t spiNumOfBytesRead
uint32_t spiNumOfRegisterOverrunErrors
uint32_t spiTotalNumOfErrors
10 ping - 0 - 0
uint32_t versionMajor
uint32_t versionBuildNumber
get system
11 - 0 uint32_t uid1 20
information
uint32_t uid2
uint32_t uid3
* - at startup user application should read last reset status and clear it. During operation this status must be read periodically
in order to detect any unexpected system reset and restore previous system configuration immediately.
5.2.4 CRC
CRC is calculated over payload before framing when transmitting and after framing on receiver side. CRC algorithm -
CRC16-CCITT. Specifications:
width - 16 bits;
polynomial - 0x1021;
reversed polynomial - 0x8408;
initial value - 0xFFFF.
0xff9f,0xefbe,0xdfdd,0xcffc,0xbf1b,0xaf3a,0x9f59,0x8f78,
0x9188,0x81a9,0xb1ca,0xa1eb,0xd10c,0xc12d,0xf14e,0xe16f,
0x1080,0x00a1,0x30c2,0x20e3,0x5004,0x4025,0x7046,0x6067,
0x83b9,0x9398,0xa3fb,0xb3da,0xc33d,0xd31c,0xe37f,0xf35e,
0x02b1,0x1290,0x22f3,0x32d2,0x4235,0x5214,0x6277,0x7256,
0xb5ea,0xa5cb,0x95a8,0x8589,0xf56e,0xe54f,0xd52c,0xc50d,
0x34e2,0x24c3,0x14a0,0x0481,0x7466,0x6447,0x5424,0x4405,
0xa7db,0xb7fa,0x8799,0x97b8,0xe75f,0xf77e,0xc71d,0xd73c,
0x26d3,0x36f2,0x0691,0x16b0,0x6657,0x7676,0x4615,0x5634,
0xd94c,0xc96d,0xf90e,0xe92f,0x99c8,0x89e9,0xb98a,0xa9ab,
0x5844,0x4865,0x7806,0x6827,0x18c0,0x08e1,0x3882,0x28a3,
0xcb7d,0xdb5c,0xeb3f,0xfb1e,0x8bf9,0x9bd8,0xabbb,0xbb9a,
0x4a75,0x5a54,0x6a37,0x7a16,0x0af1,0x1ad0,0x2ab3,0x3a92,
0xfd2e,0xed0f,0xdd6c,0xcd4d,0xbdaa,0xad8b,0x9de8,0x8dc9,
0x7c26,0x6c07,0x5c64,0x4c45,0x3ca2,0x2c83,0x1ce0,0x0cc1,
0xef1f,0xff3e,0xcf5d,0xdf7c,0xaf9b,0xbfba,0x8fd9,0x9ff8,
0x6e17,0x7e36,0x4e55,0x5e74,0x2e93,0x3eb2,0x0ed1,0x1ef0
};
If command provides some extra information, that information is returned before final result message. Example:
Some commands have optional or mandatory arguments/subcommands. See list of commands below. Possible values of
some fields can be found in Section 5.4.
5.3.1 Commands
ping
Description
Dummy command for interface testing. Always responds with OK.
Example
exit
Description
Exit CLI and return to binary protocol interface.
Example
Note: even if prompt sign > is returned, CLI will not execute any commands sent and device will respond only to binary
protocol requests.
reset
Description
Reset MCU. No answer is returned. Optional subcommands:
status - get last reset status; (decimal representation, bit values are listed in Section 5.4)
status clear - clear last reset status.
Example
temp
Description
Returns MCU temperature. Units - degrees Celsius.
Example
rw
Description
Reaction wheel control. Subcommands:
init - start initialization procedure. Needed to recover from error state.
state - returns reaction wheel internal state. Find list of states below.
status - get full reaction wheel status.
speed - get current and reference speeds.
speed <speed> [<ramp time>] - set new reference speed. Ramp time is optional, uses min value if not set.
clc - get current limit control mode.
clc [1|0] - set current limit control mode.
NOTE: if state is equal to 0 (error), no speed set command will take effect. To return to normal state user must send rw init
command. Error state is entered when motor lock is detected.
Example
telemetry
Description
Get full telemetry.
Example
help
Description
Print available commands and short help messages.
Example
5.4.3 Speed
Table 16. Speed
Min Max Unit
Clockwise 1000 65000 0.1 RPM
Counter-clockwise -65000 -1000 0.1 RPM
6 Layout
7 Mechanical interface
All dimensions are given in mm.
7.1 RW0
7.2 4RW0
4RW0 system is compatible with PC104 standard and is compliant with most cubesat structures.
9 Disclaimer
The information in this document is subject to change without notice and should not be construed as a commitment by
NanoAvionics, LLC. NanoAvionics assumes no responsibility for any errors that may appear in this document.