Close
0%
0%

Antenna tracker

3D printed antenna tracker on STM32

Public Chat
Similar projects worth following
For my FPV hobby I need antenna tracker. I tried Ardupilot antenna tracker but he works only with 2 way modems on 57600 baud. I found project “GhettoStation” https://github.com/KipK/Ghettostation/tree/master/GhettoStation but he on Atmel chip and Arduino. So I decided to make my own antenna tracker on STM32. I use code from ghetto station for calculation bearing and heading. I use Nema 17 motor to have 360 degree movement without gears.And one 20kg servo to move antenna up and down.

https://github.com/kiryam/antenna_tracker

Supported telemetry protocols:

- MavLink v2 (one directional mode)
- LTM https://quadmeup.com/ltm-light-telemetry-protocol/

Position step 0.2 degree (GhettoStation has only 1 degree)

  • 1 × 17hs4401 NEMA17 stepper motor
  • 1 × TMC2130 Stepper motor driver
  • 1 × 20x20 mm fan for driver cooling
  • 1 × ESP8266 for serial debug
  • 1 × 623ZZ tilt bearing

View all 11 components

  • Settings change using GUI.

    Ivannikov Kirill01/13/2019 at 15:18 0 comments

    Settings change using OLED screen.

    I did some work to refactor gui and add ability to change some settings from interface. It should be very useful at the field.

  • Settings in EEPROM and CLI settings edit

    Ivannikov Kirill01/05/2019 at 16:19 0 comments

    Today I've done EEPROM emulation inside FLASH (stm32f103 does not have EEPROM)

    Also implemented settings that can be edited from CLI

    Now I have commands:

    get <setting>
    set <setting> <value>
    dump


    After tracker starts, processor checking settings version and if it different from hex it just set default values.

    Now I have that settings can be tuned:

    set serial_baud 115200
    set gps_baud 9600

    In feature I will migrate all constants to settings value.

  • LTM telemetry and test using SITL

    Ivannikov Kirill12/31/2018 at 13:59 0 comments

    I've done LTM telemetry.

    Used SITL http://ardupilot.org/dev/docs/sitl-simulator-software-in-the-loop.html to emulator quadcopter.

    I managed vehicle using APL Planner 2.0

    And also I written simple converter that just listen MavLink v1 messages from simulator converts its to LTM and send it to serial port. https://github.com/kiryam/mavlink2LTM

    Check video:

    Need to improve follow algorithm (now it works like I have only 360 maximum movement limit.)

    Also I thinking about to do interpolation and movement prediction algorithm.

    I have some problems with parallel smooth moving pan and tilt. Because I have only one core I can't do this job in parallel. I can do it only in concurrency mode, but since I have very small timeouts while stepper moves (sometimes < 1ms) I can't efficient switch to another task (because context switch will require significant amount of ticks ). It makes CPU usage about 100% at fast movings. If I will have separate cores for movement and trajectory processing I can do pan and tilt in parallel.

    Very basic version almost done. I need to do settings tuning from CLI and It ready to testflight.

    Because in Russia right now not good wheather to flight I think I will do more improvements in this project.

  • Stepper heating

    Ivannikov Kirill12/30/2018 at 09:32 0 comments

    Just tested temperature of stepper and  driver.

    After one hour of working TMC2130 had temperature 88C. I checked datasheet and it is ok. (Overheat protection should started from 100 to 120 degree.) I think we doesn't need active cooling here. May be in future I add some additional holes in box.

    Different situation at stepper:

    72C not too bad for NEMA 17 stepper (depends on class working temperature is 105-180C) but since it is 3d printable 72 it is maximum for PTEG. I decided to add 40mm cooler fan.

    Image changes after one hour of work 41C.

  • Improvement for smooth movement

    Ivannikov Kirill12/27/2018 at 12:26 0 comments

    I spent some time to make moves smoothest. Because since i use stepper motors i had step skipping sometimes. So i decided to port Arduino stepper library to STM32. I had a little trouble with microsecond delays which has been used in Arduino library and I changed implementation a little. Now I can control speed acceleration and deceleration  of my stepper. Also I switched stepper driver from A4988 to TMC2130 and now I have silent precision and smooth bearing moves.
    I liked how it moves and think about to change 20kg servo to stepper with reductor.

View all 5 project logs

Enjoy this project?

Share

Discussions

Tsvetan Minchev wrote 03/24/2020 at 14:15 point

Hi Krill, Do you have a ready-made compiled version of the tracker and how it connects to the pin processor. Very impressive idea.

  Are you sure? yes | no

Mikhail wrote 01/14/2019 at 12:18 point

Very useful project, I would like to see more projects like this! Thx

  Are you sure? yes | no

openworldittechy wrote 12/28/2018 at 21:37 point

that is pretty damn smooth and quiet.  Have you got it tracking RSSI successfully yet?

  Are you sure? yes | no

Ivannikov Kirill wrote 12/30/2018 at 07:55 point

No, I don't have RSSI tacking yet.

Right now supported only one direction telemetry. Mavlink and LTM.

I completed simulation telemetry test, will provide additional info soon.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates