Quartapounds SatNOGS Rotator v3.1


Fengyun 3C HRPT

MetOp-B HRPT

7 Likes

My rotator is now weather tested! it has been outside, 24/7 for the past two weeks, over numerous heavy rainstorms, fully functioning and 100% powered the entire time.

here are some pictures of my waterproofness. I have changed the satellite to a normal position instead of the skew in the pictures as well and the signal strength has greatly improved.

I have been tracking HRPT satellites with great success, very strong consistent signal, even from the birds that are a bit harder to track like FengYuns or MetOps.

I send the rotator back to the GOES 16 position for HRIT/LRIT when not tracking usually where it keeps the dish pointed well enough to maintain less than 200 viterbi rate error



5 Likes

I spent a lot of time this afternoon trying both Meridian Pass scripts… one I got communicating with Gpredict, and successfully controlling the motor… but it would randomly do unexpected things as I was testing it manually.

this one I couldn’t get to communicate with Gpredict or control the motors at all The "MERIDIAN FLIP" Fix for arduino software - repositioning rotator

NOAA 18 HRPT pass this afternoon. 39degree pass.

recent GOES 16 image. the rotator parks on GOES 16 when it’s not tracking.

4 Likes

GOES Hurricane Dorian Mesoscale GIF I made (with Satnogs rotator pointed at GOES East)

close up of Hurricane Dorian (GOES East Mesoscale)

HRPT tracked with the rotator

7 Likes

i did all the steps from that page, but the rotor dont start move, can help me
i do the test and this is the result
C:\hamlib-w32-3.3\bin>rotctld -m 202 -r COM3 -s 9600 -T 127.0.0.1 -t 4533 -C timeout=500 -C retry=0 -vvvvvvvvvvvvvvv
rotctld, Hamlib 3.3
Report bugs to hamlib-developer@lists.sourceforge.net

rot_init called
initrots3_easycomm called
rot_register (201)
rot_register (202)
rot_register (204)
rot_token_lookup called
rot_confparam_lookup called
rot_set_conf called
rot_confparam_lookup called
rot_set_conf: timeout=‘500’
frontrot_set_conf called
rot_token_lookup called
rot_confparam_lookup called
rot_set_conf called
rot_confparam_lookup called
rot_set_conf: retry=‘0’
frontrot_set_conf called
rot_open called
serial_open called
serial_setup called
Opened rot model 202, ‘EasycommII’
rig_strstatus called
Backend version: 0.4, Status: Beta
Connection opened from techsmith:65459
rotctl(d): p ‘’ ‘’ ‘’ ‘’
rot_get_position called
easycomm_rot_get_position called
easycomm_transaction called: AZ EL

serial_flush called
write_block called
write_block(): TX 7 bytes
0000 41 5a 20 45 4c 20 0a AZ EL .
read_string called
read_string(): RX 18 characters
0000 41 5a 2d 31 38 34 2e 35 20 45 4c 2d 31 38 30 2e AZ-184.5 EL-180.
0010 30 0a 0.
easycomm_transaction read_string: AZ-184.5 EL-180.0

easycomm_rot_get_position got response: AZ-184.5 EL-180.0

rotctl(d): P ‘150,68’ ‘0,92’ ‘’ ‘’
rot_set_position called
easycomm_rot_set_position called: 150.000000 0.000000
easycomm_transaction called: AZ150.0 EL0.0 UP000 XXX DN000 XXX

serial_flush called
write_block called
write_block(): TX 34 bytes
0000 41 5a 31 35 30 2e 30 20 45 4c 30 2e 30 20 55 50 AZ150.0 EL0.0 UP
0010 30 30 30 20 58 58 58 20 44 4e 30 30 30 20 58 58 000 XXX DN000 XX
0020 58 0a X.
rotctl(d): p ‘’ ‘’ ‘’ ‘’
rot_get_position called
easycomm_rot_get_position called
easycomm_transaction called: AZ EL

serial_flush called
write_block called
write_block(): TX 7 bytes
0000 41 5a 20 45 4c 20 0a AZ EL .
read_string called
read_string(): RX 18 characters
0000 41 5a 2d 31 38 34 2e 35 20 45 4c 2d 31 38 30 2e AZ-184.5 EL-180.
0010 30 0a 0.
easycomm_transaction read_string: AZ-184.5 EL-180.0

easycomm_rot_get_position got response: AZ-184.5 EL-180.0

Wanted to provide another update, the rotator has now been outside for the past 6 months straight.

I have not had ANY issues with the rotator, it has been 100% reliable, and I’ve found that my 3D printed PETG enclosure has worked very well…
temperatures here in Southern Ontario Canada have been as low as -20C and as high as 33C… heavy rain, winds, snow and ice have not stopped it from working.

11 Likes

Hello @quartapound, congrats on your work !
I also plan to build a rotator v3.1 and am also looking for a dish. You seem to use the TP-Link ANT2424B antenna, what did you have to modify to have it work on weather satellites ? I’m mostly interested in the 2.2-2.4GHz region but having the possibility to go down to weather satellites would be great, but probably these frequencies are too far apart.
Alternatively there would be ANT2424MD that seems to have a wider range from the specs (2.3-2.7GHz instead of 2.4-2.5GHz) and maybe as it has 2 orthogonal feeds it could be used to produce RHCP using a phasing line and a combiner.

that’s what I did, simply add a spacer to the front reflector. I get Viterbi error rate as low as 36 on GOES16 using XRIT decoder. works great. i got the MMNOX 24 dBi Parabolic Antenna (SHD-D-2400-9)

1 Like

when i start rotctld.bat this open a black window and after its close by it self, i dont know why?

Rotator in action during high winds

4 Likes

Awesome! Thanks for all your hard work and for posting this. This is exactly what I was looking for. I’m using this as a template for my SatNOGS rotator build v3.1 (stepper motor version).

1 Like

Hello
Beautiful video of the HRPT antenna with reception and decoding.
Finally using the Satnogs rotor it is possible to receive the hrpt.
To support the 24 db grid antenna I use the 5:18 gear stepper motor rotor which has a little more strength, but I see that even with the classic stepper motor you can use a counterweight to solve the problem.
I too will have to make a suitable counterweight. I was thinking of an aluminum square tube like you did and basically create some container with the 3d printer in order to put some weight on it.
For the meridian flip problem I currently have no problems because I use the modified satnogs firmware version.
Do you recommend the satcom software as a software or can you decode well even with the linux versions?
What pc do you recommend?

Hello and congratulations
IZ5RZR

1 Like

Heavy Storm, but the rotator works perfectly!

Iz5zr - I don’t have experience decoding with Linux. My understanding is you can’t decode all the HRPT satellites with Linux, and Satcom’s xHRPT is by far the best one out there. Some of the satellites require a fairly powerful PC for live decoding (fengyun and metop if I recall). They’re recommend 4 cores at 3ghz if I remember correctly

6 Likes

Hello, is the stl for the cover available?

I can’t find the Bottom file :frowning: … I waited too long to post this, sorry. I have the top available if you’d like. the bottom was a simple box, slightly smaller than the top, so that it slides into the top

Quartapounds SatNOGS 3.1 Top Cover.stl (469.3 KB)

2 Likes

Hi @remy. Nice pics ! I am finishing my rotator V3.1, I want to use a tripod too. Did you print yourself the red adapter for the tripod? Could you share with me the 3D model? I will appreciate your help.

1 Like

Hello all, I just started to build a 3.1 rotator with arduino CNC shield.
I could not find anywhere about the installation details of the mechanichal endstop swithcs.
Can anyone put a close up photo of where and how to mount to mechanical endstops so I can understand.?

Hi Aseyhan,
Try this link go to Assembly step 8, Bearing side with encoder and end-stop mounts.
There is a drawing that may help.File:A1032-1.png
Also this, Rotator 3.1 End stop switch mounting .
Steve

1 Like

Hello! My club is building a v3.1 rotator and following this guide (SatNOGS Arduino Uno/CNC Shield Based Rotator Controller - SatNOGS Wiki) for using an Arduino CNC Shield as a rotator controller, but we’ve been running into some issues with testing.

After starting the .bat file and opening up the Antenna module in GPredict, we tried to get our stepper motors to turn by changing the Azimuth and Elevation in the GPredict Rotator Control panel. However, the stepper motors didn’t move and we got connection timeout errors in hamlib. We also see a “Read: ERROR” message under Azimuth and Elevation in GPredict. Does anyone know what the problem could be?

image

This is what we’re seeing in hamlib:

C:\Users\anika\Desktop\Red\UA Space\hamlib-w64-3.3\hamlib-w64-3.3\bin>rotctld -m 202 -r COM5 -s 9600 -T 127.0.0.1 -t 4533 -C timeout=500 -C retry=0 -vvvvvvvv 1>pause
rotctld, Hamlib 3.3
Report bugs to hamlib-developer@lists.sourceforge.net

rot_init called
initrots3_easycomm called
rot_register (201)
rot_register (202)
rot_register (204)
rot_token_lookup called
rot_confparam_lookup called
rot_set_conf called
rot_confparam_lookup called
rot_set_conf: timeout=‘500’
frontrot_set_conf called
rot_token_lookup called
rot_confparam_lookup called
rot_set_conf called
rot_confparam_lookup called
rot_set_conf: retry=‘0’
frontrot_set_conf called
rot_open called
serial_open called
serial_setup called
rig_strstatus called
Backend version: 0.4, Status: Beta
Connection opened from LAPTOP-LS4D11VE:59701
rotctl(d): p ‘’ ‘’ ‘’ ‘’
rot_get_position called
easycomm_rot_get_position called
easycomm_transaction called: AZ EL

serial_flush called
write_block called
write_block(): TX 7 bytes
0000 41 5a 20 45 4c 20 0a AZ EL .
read_string called
read_string(): Timed out 0.908258 seconds after 0 chars
easycomm_transaction read_string failed with status -5
easycomm_rot_get_position got error: -5
rotctl(d): P ‘180.00’ ‘45.00’ ‘’ ‘’
rot_set_position called
easycomm_rot_set_position called: 180.000000 45.000000
easycomm_transaction called: AZ180.0 EL45.0 UP000 XXX DN000 XXX

serial_flush called
write_block called
write_block(): TX 35 bytes
0000 41 5a 31 38 30 2e 30 20 45 4c 34 35 2e 30 20 55 AZ180.0 EL45.0 U
0010 50 30 30 30 20 58 58 58 20 44 4e 30 30 30 20 58 P000 XXX DN000 X
0020 58 58 0a XX.
rotctl(d): p ‘’ ‘’ ‘’ ‘’
rot_get_position called
easycomm_rot_get_position called
easycomm_transaction called: AZ EL

serial_flush called
write_block called
write_block(): TX 7 bytes
0000 41 5a 20 45 4c 20 0a AZ EL .
read_string called
read_string(): Timed out 0.916899 seconds after 0 chars
easycomm_transaction read_string failed with status -5
easycomm_rot_get_position got error: -5
rotctl(d): p ‘’ ‘’ ‘’ ‘’
rot_get_position called
easycomm_rot_get_position called
easycomm_transaction called: AZ EL

serial_flush called
write_block called
write_block(): TX 7 bytes
0000 41 5a 20 45 4c 20 0a AZ EL .
read_string called
read_string(): Timed out 0.912913 seconds after 0 chars
easycomm_transaction read_string failed with status -5
easycomm_rot_get_position got error: -5
rotctl(d): S ‘’ ‘’ ‘’ ‘’
rot_stop called
easycomm_rot_stop called
easycomm_transaction called: SA SE

serial_flush called
write_block called
write_block(): TX 7 bytes
0000 53 41 20 53 45 20 0a SA SE .
read_string called
read_string(): Timed out 0.910071 seconds after 0 chars
easycomm_transaction read_string failed with status -5
rotctl(d): p ‘’ ‘’ ‘’ ‘’
rot_get_position called
easycomm_rot_get_position called
easycomm_transaction called: AZ EL

serial_flush called
write_block called
write_block(): TX 7 bytes
0000 41 5a 20 45 4c 20 0a AZ EL .
read_string called
read_string(): Timed out 0.914573 seconds after 0 chars
easycomm_transaction read_string failed with status -5
easycomm_rot_get_position got error: -5
Connection closed

Hi. I recently finished same project without a problem. I think your problem Can be because of a few things. First things came to my mind are:

-Are you sure the com port is right?

-how are you connecting to arduino: via usb of arduino or via rx tx gnd pins on cnc shield? If it is the second one you need to be sure you dont use rs 232 but TTL. A ftdi chipset usb-ttl converter works good for that. And also checking the pins can be good. Some cnc shield clones/versions have different pin layout then the one in the project. Like mine had x endstop on Y labeled end stop pins and Y endstop on Z pins.

Br.