zs6buj / AntTracker

Antenna Tracker for tracking a moving model aircraft or drone with a small high-gain UHF or SHF antenna
GNU General Public License v3.0
155 stars 42 forks source link

Antenna Track Model-3D #85

Open LZ-3D opened 2 months ago

LZ-3D commented 2 months ago

Hi, I'm Luca, I've been working on my antenna track project for several months, now that it's time to program it I came across your project.

So I'll show you my results, 3D modeling of the antenna.

For control I use an esp32 tft display, with gpio expansion and two drivers for nema17 with minimum and maximum limit switches.

the goal is to make the most of the MLRS telemetry for tracking, and capture the analog or digital video signal as best as possible and send the telemetry to the PC with Mission Planner via wifi.

My project is not yet public but it will be soon.

now I try your code, I'd like to collaborate with you.

aaa

bbb

zs6buj commented 2 months ago

Hi Luca, your project looks very nice and of course I would like to collaborate with you. You say you have limit switches on the steppers, so we might need more available gpio pins on the mpu. The moba library I use can set and remember an arbitrary "start" position within a session, so strictly speaking we don't need limit switches. Also, sometimes the shortest angular distance to the desired angle is sometimes the opposite direction past where the limit switch would be.

I look forward to hear from you.

LZ-3D commented 1 month ago

I put the limit switches because if the belt slips on the pulley the motor is convinced that it is in a position that in reality is not exact, so if it presses the limit switch the max. and min. limit are calculated again.

for the gpio ports I use MCP23017 16 EXPANDER and for the display it is the one with esp32 the model is 2432S028 at the moment your code compiles correctly, in the next few days I will connect everything and try it, the project is continuously updated. IMG_20240927_124402 IMG_20240927_124417 IMG-20240927-WA0020

zs6buj commented 1 month ago

Looks like you know what you need to do. I assume the two helical antennas are for video, and the Maxon is for control, maybe 900 MHz? Very nice. Let me know how it goes.

LZ-3D commented 1 month ago

there are some protocols in your sketch that don't work, at the moment I abandoned the display with esp, because it has few gpio, so I redid everything as in the photo, I also eliminated the stepper motors, I'm waiting for the 30kg servos. I'll keep you updated. IMG_20241009_233845

zs6buj commented 1 month ago

Thank you for the feedback. It would be useful if you could provide details and debugging data about which protocols don't work.

TomBeaucourt commented 6 days ago

Hey @LZ-3D I could use some help. I'm really not comfortable with Visual Studio Code. I need to flash my Liygo TDisplay S3 with this firmware. Could you help me? :) (Here’s my Discord if needed: tom.rev.moe)

zs6buj commented 5 days ago

Hi Tom, my apologies. We are moving house and I also don't have fibre connected up yet. MobaTools may not yet have support for some boards. The library has some nice features that I use in the tracker software, but i understand the developer is quite busy on another project.

VSCode has a bit of a learning curve, but it is an all-round great IDE for cpp. You could post specific questions here and I will try to get back to you, but I can't promise immediate answers. By the way, you can also try posting questions on co-pilot. It is surprisingly perceptive.

TomBeaucourt commented 5 days ago

Oh, thank you so much for your response! I apologize for the inconvenience. Yes, I ask questions to ChatGPT and Copilot to help me out. I also ordered the ESP32 Devkit that you mentioned in the code. At least, if I can't get it to work with the LilyGO, I’ll be confident that it will work with this one, as I need to deliver a functional project soon. I'll do my best to make it work. Thanks a lot for your help, and good luck with your move! 😊

TomBeaucourt commented 5 days ago

Quick question: is it possible to switch ELRS targets using a button? For example, to allow a friend to use my station? And if yes, can the buttons also be used for other menus? For now, I haven’t seen any buttons in the 3D model. As for the amount of data to display, is a 1-inch screen sufficient, or should I use two?

zs6buj commented 5 days ago

A 096 inch OLED display is enough to display basics, but a bigger display supports a HUD. Sure you could use a switch like you describe, by adding a bit of code.

TomBeaucourt commented 3 days ago

Hello, how are you? On my side, I’ve made a lot of progress! I now have functional telemetry, servo control, and even a display ;) However, I’m encountering some issues with the servos. During the self-test, the angles are incorrect, and I exceed the physical limits of my structure. Of course, I stop the system before the servos are forced too much.

I’ve tried adjusting various values, disabling reverse settings, etc., but nothing seems to fix it. Maybe I’m missing a parameter? I’m using 270-degree servos for azimuth, but for elevation, it’s not possible—it needs to be limited to only 150 degrees.

Do you have any advice or ideas?

zs6buj commented 3 days ago

Hi Tom, nice progress!

Let's ponder the question of servo reach for a moment. Imagine the 360 degree field around the tracker is split into an arbitrary front-field, the field in front where your UAV starts its flight, and the back-field, where it might possibly venture.

Consider way to point the antenna in the back-field, shaped like half a hemisphere. If our azimuth servo can move 360 degrees, the elevation servo only ever needs to move 90 degrees. Indeed, it should never move more than 90 degrees. This is one possible working configuration.

However, if the azimuth servo moves 180 degrees, and the elevation servo also moves 180 degrees, to reach the back-field the elevation servo must flip the antenna over to that field. This is the second possible working configuration.

Sometimes the physical servos are mounted such that their action is reversed. This is not a problem becuase we simply 'reverse the reverse' in software independently of what I said above.

In summary, given your servos' physical reach, I would choose the second working configuration.

TomBeaucourt commented 2 days ago

Hello, I tried again all day but nothing new. I understood the idea of both sides, but now my problem is that during the motor testing phase, the maximum limits are not being respected. Also, when I go into the motor file, the variables are not being taken into account—azMidFront and elStart aren't even recognized. I must be really bad at this, it's unbelievable :/

Have a nice day and thank you very much. image image image image