Project: TR hexagonal flat terminal with gimbal control and IMU feedback - OUWECAD/MOWE GitHub Wiki
##Table of Contents
Project Description
Connection
Results
Project Description
This array terminal is similar to the all-RX on build earlier with 7 of its receiver replaces with transmitters. The transmitter modules are distributed to cover most of the FoV.
The same gimbal is also used here. It is available on Amazon for $23.99. The gimbal acts as an active steering device or a displacement/mechanical disturbance emulator. We designed and 3D-printed special fixtures to fix the array to the gimbal and anchor both of them on an optical table. The two angle-based servo motors are controlled by a separate MOWE module that receives its commands from the array master module.
The array here, unlike the previous terminal, constantly scans the FoV and reports back digitized results above threshold, i.e., only the modules that received intensity above threshold are reported back at each scan. This helps increase the scan rate multiple folds. The array can be scanned up to 2000Hz or higher.
An inertial measurement unit (IMU) is affixed to the array to measure its attitude to be used in closed-loop regulation. THe sensor used is the famous MPU6050. It has an integrated gyroscope and accelerometer. THe IMU library is a modified version of the STM32_MPU6050lib-master library available online from Harinadha. I modified the library to work with ST HAL Peripheral library. The attitude measurement algorithm features a coule of filters and a complementary filter sensor fusion algorithms that was inspired from Pieter Jan. For some reason, the attitude measurement algorithm was not able to distinguish between horizontal movements. Only lateral movements were captured perfectly.
The array firmware is hosted in the folder Firmware_TR and the gimbal controller firmware is hosted in the folder Firmware_Gimbal. Below are some pictures for the terminal setup.

Connection
-
Master module P6 >> MPU6050 I2C (TX >> SCL, RX >> SDA, I2C 100KHz)
-
Master module P1 >> PC (921600 baudrate)
-
Master module P5 >> Servo controller module P1 (921600 baudrate)
-
Servo controller module P3 TX >> Yaw servo motor (PWM)
-
Servo controller module P4 TX >> Pitch servo motor (PWM)
Results
The following video recordings represent various experiments using the TR terminal with the all-RX terminal shown here. Click on each picture to open the video in YouTube.
- Passive Optical Beam Steering and Control: In this experiment the TR terminal steers it's beam by switching one or multiple of it's transmitter on and off and various patterns. The switching is all optical/electrical thus it's a passive switching and can be performed at very high rates. The beam can be monitored on the all-RX terminal and on the PC using the all-RX terminal Matlab script. When multiple transmitters are switched on at the same time the received power will go as expected. Both terminals here are hold in a fixed position.
- Closed-loop Passive Optical Switching & Beam Steering: Here, a simple closed loop system is implemented. The TR terminal is moved randomly to emulate random disturbance. IMU measurements of the TR terminal attitude are utilized to steer the optical beam toward the center of the all-RX array whenever possible.

