Getting Started with T-STorM32: Difference between revisions

From STorM32-BGC Wiki
Jump to navigation Jump to search
Line 59: Line 59:




:[[File:Tstorm32-gui-switchtoencoders.jpg]]
:[[File:Tstorm32-gui-switchtoencoders.jpg|none|360px]]
 
 
:[[File:Tstorm32-gui-basicconfiguration.jpg|none|360px]]





Revision as of 09:17, 15 March 2017

This is a first attempt of a documentation for the T-STorM32. Will be relatively disorganized at first.

Concept

The encoder support builds on the NT concept, and especially on the possibility of connecting separate NT motor modules to the NT bus. T-STorM32 makes use of dedicated NT motor modules, which include encoders. They shall be called NT motor-encoder modules (or should we call them TNT motor modules ?).

The T-STorM32's concept consists of a main controller board and three NT motor-encoder modules, one for each axis. The motor drivers on the main STorM32 board cannot be used, and unlike with Basecam/Alexmos, it is also not possible to connect encoders to the main STorM32 board. The NT motor-encoder modules are connected to the NT bus, and battery power. The NTX bus has thus been introduced, which carries both the NT bus signals and the battery power lines.

The concept, also sketching a typical wiring scheme, thus looks as this:

Tstorm32-wiring-scheme-sketch.jpg

From the perspective of the main controller, the NT motor-encoder module and motor associated to one axis is regarded as one combined unit. This implies a two-step setup procedure: First the "NT motor-encoder module + motor" unit is configured, and then the firmware in the main controller board.

Ordering Information

Things to have at minimum:

  • STorM32-BGC board
  • NT IMU module and matching cable
  • three NT Motor-Encoder modules and matching cables
  • USB-to-serial adapter

The need for the STorM32 board, the NT IMU module, and the three NT motor-encoder modules should be obvious from the concept scheme. The USB-to-serial adapter is required for upgrading the STorM32 main board to the latest firmware. It is however also extremely useful for employing the Live Recording feature.

Supported Gimbals

T-STorM32 currently supports the following setups:

  • 3-axis with camera IMU: One NT IMU, mounted to the camera, and three NT motor-encoder modules.

The T-STorM32 allows connecting a 2nd IMU (IMU2). However, its data are read but not used at all. It's there only to help e.g. with vibration analyses. Connecting a 3rd IMU (IMU3) doesn't harm, but it is ignored completely, i.e. not even its data are read.

NT Motor-Encoder Module Configuration

As mentioned before the combination of a NT motor-encoder module with its motor is treated as one unit. This makes sense logically, and has its advantages, but also its disadvantage.

At first one thus has to configure the NT motor-encoder modules, for each axis. Two parameters need to be set, namely the number of motor poles, and the offset between mechanical and electrical angle. These values are stored permanently in the NT motor-encoder module, and need never be modified again, unless of course the unit is modified. For DIY builds one also needs to check beforehand that the magnet and encoder are located properly, i.e., that the distance between them results in appropriate signal strengths and that they are centered properly. In addition, the NT motor-encoder module firmware includes options to run various test sequences, which provide detailed information on the motor properties and performance.

Important: For this configuration, the motor should be unloaded. In particular, it must not be installed in the gimbal.

Currently, this configuration is not possible via the GUI, but requires the use of a standard terminal, such as HTerm. It can be done in two ways:

  • The NT motor-encoder module is connected to a STorM32 main board (via the NT bus), and the STorM32 main board is connected to a PC, either via the main board's USB port or the UART port. In that case the main board has first to be put into a pass-through mode by sending a special command to it. It then works as tunnel connecting the PC with the NT module.
  • The NT motor-encoder module is connected on its NT port directly to a PC via a USB-TTL adapter, pretty much as one would do for Live Recording, except that now both the Tx and Rx lines need to be connected to the US-TTL adapter.

In the following we will assume the first approach:

  1. Start the terminal and connect it to the STorM32 board. Power the NT motor-encoder module with a battery.
  2. Open the tunnel to the NT module you want to talk to by sending 'xQTcNTQMODE' plus the ID of the NT module as double-digit. For instance, to talk to the pitch motor module with ID = 4, you send 'xQTcNTQMODE04' (without the '). The STorM32 board goes into tunnel mode, which can be recognized by a dark green LED and fast-blinking red LED, and the addressed NT module starts its qmode. On the terminal you should see a welcome line such as 'Hello, I'm MOTORPITCH', and the indicator '>'.
  3. Check encoder distance: Run the command 'rrange;'. The adcx and adcy values should be in the range of 6000 ... 15000, and no errors should have occurred.
  4. Determine the number of motor pole pairs: Run the command 'rpp;'. The motor makes one turn. The result is displayed in the terminal. The number can be positive or negative, which accounts for the motor spin direction, which depends on how the motor phases are connected to the NT motor-encoder module.
  5. Determine the offset: Run the command 'rofs;'. The motor makes about 4 turns in one direction and 4turns in the opposite direction. The result is displayed.
  6. Store the results: Run the command 'store;'. The just determined number of motor poles and offset are stored permanently in the NT module. You can double check by running "getsetup;".
  7. Finish the tunnel mode: Run the command '@Q'. This brings both the NT module and the STorM32 main board back to normal operation. This takes few seconds.

With these steps the NT motor-encoder module + motor unit is fully operational and ready to go. It can now be installed in the gimbal.

Basic Controller Configuration

With all three NT motor-encoder modules configured, and the gimbal fully assembled, the basic configuration can be completed. These steps can be conveniently done using the GUI. Three parameter sets need to be determined, the orientation of the camera IMU (IMU1), the zero position of the encoders for each axis, and the motor spin direction for each axis. The corresponding parameter fields are located on the [GUI:Gimbal Configuration] tab.


Tstorm32-gui-switchtoencoders.jpg


Tstorm32-gui-basicconfiguration.jpg


File:Tstorm32-gui-basicconfiguration.jpg

First Startup

After the above steps were completed, the gimbal can be started up.

At startup, the controller goes through some initialization steps, which typically takes just a few seconds. Note that the gimbal should not be moved until the initialization is finished, and the controller has reached normal operation. This is indicated by the green LED going solid, and - if enabled - by a beep.

Initialization Steps: SETTLE - CALIBRATE - FASTLEVEL - NORMAL

  • SETTLE: In order to calibrate, the gimbal has to be stable, it should not be moved. For a copter this is simple as the copter is on the ground. A handheld device needs to be put to rest for a few seconds.
  • CALIBRATE: Calibrates the sensors. Takes a second or so.
  • FASTLEVEL: The controller moves the camera into level position.
  • NORMAL: This is the final stage; the gimbal is fully operational. Whatever you do, the camera should remain now stable.

Led Signals: The progress of the initialization is also indicated by the green LED on the board: During initialization it flashes with varying frequency. When initialization has finished and NORMAL state been reached, it goes solid. If beeps are activated, then the motors will emit a sound. The current state of the controller can also be seen in the status line of the GUI, or the Data Display. The red LED always blinks with a frequency of 1 Hz, except in certain fault conditions or special states, in which case it blinks very fast.

Operational Range: You can pitch and yaw the camera indefinitely. The roll angle is maximal +-80° or so. Larger roll angles are not possible since then the pitch and yaw axes become aligned, leading to gimbal lock.

WARNING: At this point the PID values are not yet tuned, which would be the next step. That means that the gimbal can start to undergo wild shakes, which can harm camera and/or gimbal.

The following procedure is suggested: Disable both the roll and yaw motor at first, and have only the pitch motor enabled. Power up the gimbal, but be prepared to intercept the gimbal at any time with your hands in case of too violent shakes. Tune the pitch axis to the extend that it doesn't freak out. Repeat for the roll and yaw axes.

Basic Tuning