Components and supplies
Stepper motor
Arduino MKR1000
Ball bearing
Tools and machines
3D Printer (generic)
Project description
Code
Code for satellite tracker
Configure tracker_main to your situation and upload to Arduino MKR 1000 WiFi
Downloadable files
Stepper motor hookup
Arduino | Stepper controller Azimuth: 2 -> 1 3 -> 2 4 -> 3 5 -> 4 Elevation: 9 -> 1 10 -> 2 11 -> 3 12 -> 4
Stepper motor hookup
Stepper motor hookup
Arduino | Stepper controller Azimuth: 2 -> 1 3 -> 2 4 -> 3 5 -> 4 Elevation: 9 -> 1 10 -> 2 11 -> 3 12 -> 4
Stepper motor hookup
Documentation
Satellite tracking antenna model
Print the satellite dish and stand using PLA.
https://www.thingiverse.com/thing:4541354
Satellite tracking antenna model
Print the satellite dish and stand using PLA.
https://www.thingiverse.com/thing:4541354
Comments
Only logged in users can leave comments
diansafari
a year ago
Very nice work and great project. does the code will work with esp32?
Anonymous user
2 years ago
Could you please explain how you determine the AZ and EL? You say you put the dish in stand-by first, but how do you determine what is stand by? Once you achieve stand-by I guess you can count stepper motor steps to determine AZ and EL.
Anonymous user
2 years ago
I love this project. I'm trying to replicate it. I just got my azimuth motor to work. To set the AZ=0 position, I run a calibration function. I first line up a reference mark on the dish's base to point North. The calibration function first asks if you want to rotate the motor 180deg left or 180deg right. Let's say the dish actually points to AZ 120deg. I tell it rotate left 180. That clearly overshot the zero point, so I tell it move back to the right -- but this time, I have it goes 90deg. That overshot to0, so I tell it to rotate left again, but this time it only rotates 45deg. Thru a series of L,R,L,L,R movements (halving the angle each time) I quickly converge onto the zero mark. I'll do a similar calibration for AL. Once both motors are coded, I'll try to print the dish. I'm still a little confused about assembling it.
Anonymous user
2 years ago
I do not have a gyro on *my* implementation. I'm not sure which vid window you're referring to. Perhaps Alex's video?
Anonymous user
2 years ago
Hello MACE. Have you added a gyroscope to your project? In the video window I see that data. Can you tell me how you did it?
alex_chang
2 years ago
The standby position is set to AZ = 0 and EL = 20, this is actually based on the standby position of the real dish in the background of the video. The steppers have no way of knowing what position they start at so you actually have to manually move them to make sure they start at the right position.
Anonymous user
2 years ago
Very nice work! Thank you. Just started printing. Needed to resize the dish as I can only print a maximum of a 15cm cube. I hope the proportions will still fit and look cool. As I have no MKR Wifi 1010 in stock I'll try to use an ESP8266 Wemos D1 or Nodemcu board.
Anonymous user
2 years ago
Awesome projcet, was thinking months ago o f how to make one, but what can I use instead of the arduino mkr wifi 1010? I can't find it in my country, Peru, and shipping takes time due Covid-19, can it be done using and arduino with wifi shield? I am already printing the parts and got the stepper motors!
Anonymous user
2 years ago
@alex_chang, off topic but please permit me. While I wait for the 3D printing parts to arrive (_nearly_ a week now), I took your ideas to build a peer Stratum server (with a GPS/u-blox and ETH/Wiznet) on a Nano having tested **your** NTP client code on MKR1000. Your project has turned into a BOGO (Build One Get One by-product) for me. Thx again for the ideas and support.
alex_chang
2 years ago
Awesome that you are going to try it out! One thing to watch out for is: I used the real time clock (RTC) on the MKR 1000 to keep the time. The Arduino Uno doesn't have an RTC built in so you'll have to get something like this: https://www.adafruit.com/product/3013 Let me know if you have any other questions and keep me posted!
Anonymous user
2 years ago
@alex_chang, excellent project! Quick question while I wait a day (or two) for the 3D printing tasks to complete!! I understand the sourcing options for hardware but couldn't we do it with a single stepper motor controller board (different model/make, of course) instead of two? Great job leveraging OSS libraries especially with TLE data - makes the project truly **versatile**, IMHO. Thanks.
alex_chang
2 years ago
Thanks for the kind words! My stepper motors came with the separate control boards for each motor, but I'm sure you can also make it work with something like this: https://www.adafruit.com/product/1438 Let me know how the project goes for you!
Anonymous user
2 years ago
Alex , Weldone
Anonymous user
2 years ago
Hello Alex, This note is to confirm that thanks to your guidance, I was able to track a satellite using your STL files and code!!! My personal observation (since I have negligible mechanical engineering skills) is that the azimuth stepper motor should be hosted on the base column for: - better stability by constraining angular forces - easier to level the platform Perhaps this thought would fall foul of the project idea to emulate the real world radio antenna you chose. Also, I'll post a wish list for bells & whistles at your GitHub site later. Best of all, I don't have to look at code output to check for weather satellite overpass. I'll just look at the model you have designed! Kind regards.
alex_chang
2 years ago
Hi Matha, I'm so glad to hear you got it working! I'm also not a mechanical engineer, which is why the mechanical design is a bit wonky haha. Looking forward to your feedback on the code, there are definitely things that could be better there too.
Anonymous user
2 years ago
Hello Alex, Could you please comment on where to apply **glue** to the 3D printed parts? You can use the STL filenames for parts, if you wish, to describe the spots for the glue. Examples: - How to make the Base stable with respect to the Stand? - Do the MotorAxel and Axel have to be glued to the Counterweight? - Do Lid1 & Lid2 have to be glued to the Counterweight without any internal filling? Also, how are the stepper motors "bolted" to the corresponding attachments? Thanks!
Anonymous user
2 years ago
Darn! In my rush to get going, I sawed of the stepper motor screw tabs (never used these earlier for other minor projects too!). The motors, driver boards and ball bearing are the same type as yours (for obvious reasons). Ran the code yesterday without the motors plugged in. I spent some time fiddling with good tracking candidates (apart from ISS, of course) with my interest in GOES (to download data) and GPS (to understand why FIXes go away). I'll glue the parts together today. I'll send you an update later. Again many, many thanks.
alex_chang
2 years ago
Hi Matha, Yes I glued the axels to the counter weight. The stepper motors are glued onto the base. I don't know if you got the same ball bearing as I did for the connection from the stand to the base, but I basically glued the center of the ball bearing to stand and the top to the bottom of the base. The lids to the counterweight just snap into place, I put a couple of extra ball bearings in there to balance out the dish. If you have the same stepper motors as me you'll have to snip off the screw tabs for the azimuth motor. You can screw in the elevation motor though. Hopefully this clears things up a bit, let me know if you have any more questions!
topcat3
2 years ago
Completed the build 5th April 2021. Needed a few adjustments especially to the physical build. I thinks its been the largest item(s) I have printed on my 3D printer and the dish looks really cool. I painted the main structure black and the dish silver. I am not sure if you mentioned the name of the real dish but I would like to find out where it is now I have a working model of it. Many thanks for the project, Tony Basingstoke, UK
alex_chang
2 years ago
Hi Tony, That's awesome that you built it! The dish is based off of the SED system satellite dish in Saskatoon, Saskatchewan, Canada. Here are the coordinates for the real dish: 52.139416, -106.625936. The Canadian Space Agency uses it to talk to their satellites. Best, Alex
Anonymous user
2 years ago
Alex - absolutely love your project! Thanks again for contributing this! I am having one issue, however that I was wondering if you could help me with. I have the four default satellites configured for tracking that were included in the config, but when the satellites pass over my tracker behaves strangely. It will move to the starting position, but then it "twitches" during tracking and doesn't ever seem to move much. In one instance, it even moved down past where the base would allow and I had to pull the power to avoid structural damage. Is there any troubleshooting I can do in relation to movement to figure out what's going on? Thanks! Ted
Anonymous user
2 years ago
Hello my friend, i'm currently working on a similar project i have to track a geostationnary satellite (which means it is static when seen from earth) this device much track the satellite wherever it is on earth so i wonder if you can help me with that.
Anonymous user
2 years ago
I'm about to do it. Very good job Alex. Thanks you very much. Do you know if some body tryed it with Nodemcu (ESP8266) based projecto instead Arduino ?. Thans again
Anonymous user
2 years ago
Hello Again. I'm Trying to compile for MK1000 but i Receive error: Arduino:1.8.13 (Windows 10), Tarjeta:"Arduino MKR1000" C:\\Users\\Lenovo\\Desktop\ racker_main\ racker_main.ino: In function 'void setup()': tracker_main:109:16: error: 'readLinuxEpochUsingNTP' was not declared in this scope unixtime = readLinuxEpochUsingNTP(); ^~~~~~~~~~~~~~~~~~~~~~ tracker_main:120:5: error: 'getTLE' was not declared in this scope getTLE(SAT); ^~~~~~ C:\\Users\\Lenovo\\Desktop\ racker_main\ racker_main.ino:120:5: note: suggested alternative: 'TLE' getTLE(SAT); ^~~~~~ TLE tracker_main:123:27: error: 'Predict' was not declared in this scope upcomingPasses[SAT] = Predict(1); ^~~~~~~ C:\\Users\\Lenovo\\Desktop\ racker_main\ racker_main.ino:123:27: note: suggested alternative: 'Print' upcomingPasses[SAT] = Predict(1); ^~~~~~~ Print tracker_main:127:3: error: 'Predict' was not declared in this scope Predict(1); ^~~~~~~ C:\\Users\\Lenovo\\Desktop\ racker_main\ racker_main.ino:127:3: note: suggested alternative: 'Print' Predict(1); ^~~~~~~ Print C:\\Users\\Lenovo\\Desktop\ racker_main\ racker_main.ino: In function 'void loop()': tracker_main:199:7: error: 'getTLE' was not declared in this scope getTLE(SAT); ^~~~~~ C:\\Users\\Lenovo\\Desktop\ racker_main\ racker_main.ino:199:7: note: suggested alternative: 'TLE' getTLE(SAT); ^~~~~~ TLE tracker_main:201:16: error: 'readLinuxEpochUsingNTP' was not declared in this scope unixtime = readLinuxEpochUsingNTP(); ^~~~~~~~~~~~~~~~~~~~~~ C:\\Users\\Lenovo\\Desktop\ racker_main\ racker_main.ino: In function 'void postpass()': tracker_main:299:29: error: 'Predict' was not declared in this scope upcomingPasses[SAT] = Predict(1); ^~~~~~~ C:\\Users\\Lenovo\\Desktop\ racker_main\ racker_main.ino:299:29: note: suggested alternative: 'Print' upcomingPasses[SAT] = Predict(1); ^~~~~~~ Print tracker_main:306:5: error: 'Predict' was not declared in this scope Predict(1); ^~~~~~~ C:\\Users\\Lenovo\\Desktop\ racker_main\ racker_main.ino:306:5: note: suggested alternative: 'Print' Predict(1); ^~~~~~~ Print exit status 1 'readLinuxEpochUsingNTP' was not declared in this scope Can Any body Help me ? I wold like track only ISS station... Thanks
Anonymous user
2 years ago
Sorry about my ignorance programming. I have got some progress but I would apreciate an example source running.
Anonymous user
2 years ago
Awesome project , I would like to attempt for my Final Year Project. Again i would like to appreciate you work.
Anonymous user
2 years ago
AWASOME! Is it not clear in the description how do you select the satellites to track. Can you choose them dinamically while the tracker is on? It would be great to move from one satellite to another and have a PC or screen to see current available satellites and automatically track them. I'm searching for a summer project, and yours is awasome and it might be improved adding a few features!
Anonymous user
2 years ago
Hello @Cmri, you may want to browse https://listoffreeware.com/satellite-tracking-software-windows/. There are some well documented ISS trackers (especially using Node-RED). My personal favorite is https://in-the-sky.org/satmap_worldmap.php and one other where the list of satellites is in a drop-down list! I definitely **appreciate the assistance from @alex_chang** but keep in mind that you really need to build one yourself and then keep your wishlist handy! My key wish is to learn Blender (or some other 3D modeling software to work on _pan-tilt_ combinations and also to evaluate the differences in stepper and servo motors for this type of application). Have fun. Kind regards.
alex_chang
2 years ago
Thanks! The tracking is done by giving it an array of TLEs at the beginning, then it will begin tracking all the satellites listed. Unfortunately you can't change this list without reuploading to the Arduino. If you have the serial monitor open you can see when the satellites are coming and which one it's tracking. I'd definitely appreciate suggestions on new features. You can always fork the repository and create a pull request on github.
Anonymous user
2 years ago
This is very nice! I wonder if it can be used for Ham Radio to point the antenna in the direction of the ISS.
Anonymous user
2 years ago
Hey Alex, I'm extremely interested in scaling up this project and would love to bounce some ideas off you. A google search brought me here and your satellite tracker is exactly what I'm looking for.. except with a 2.4meter dish. with that being said I'm unfamiliar with this site (I actually created a login just to comment on your project!) and I haven't been able to track down the best way to message you directly.
alex_chang
2 years ago
Hi there, Sorry for the very late reply! I don't seem to be getting the notifications from this website. A 2.4 meter dish sounds like quite the undertaking! IDK if you've already completed something in the 7 months since this comment but I would love to get in touch and chat about possibilities! You can reach me at yuc888@mail.usask.ca Cheers, Alex
Anonymous user
2 years ago
hi, nice job. Do i have to start the usb console to connect to wifi? because if I plug a powerpack or charger on usb nothing happens. thank you for the response
Anonymous user
2 years ago
You are a genius! No more wifi problems lol.
Anonymous user
2 years ago
Almost exactly what I was looking for. The ISS has been making spectacular overhead passes in the last few days. But I've been looking for a sun tracker tilt/pan stand to ensure my small solar panel for the fountain has maximum power.
Anonymous user
2 years ago
I found your design on the 3Dprinting subreddit. Very nice work! I really want to try this out.
Anonymous user
2 years ago
can you help me on how to control(for ex. choosing satellite or adding az and el manually) from web page on my phone or pc. I also want to use esp32 with ajax
Anonymous user
3 years ago
Hello my friend, i'm currently working on a similar project i have to track a geostationnary satellite (which means it is static when seen from earth) this device much track the satellite wherever it is on earth so i wonder if you can help me with that.
topcat3
4 years ago
Completed the build 5th April 2021. Needed a few adjustments especially to the physical build. I thinks its been the largest item(s) I have printed on my 3D printer and the dish looks really cool. I painted the main structure black and the dish silver. I am not sure if you mentioned the name of the real dish but I would like to find out where it is now I have a working model of it. Many thanks for the project, Tony Basingstoke, UK
alex_chang
2 years ago
Hi Tony, That's awesome that you built it! The dish is based off of the SED system satellite dish in Saskatoon, Saskatchewan, Canada. Here are the coordinates for the real dish: 52.139416, -106.625936. The Canadian Space Agency uses it to talk to their satellites. Best, Alex
Anonymous user
4 years ago
hi, nice job. Do i have to start the usb console to connect to wifi? because if I plug a powerpack or charger on usb nothing happens. thank you for the response
kikoroko
4 years ago
I'm about to do it. Very good job Alex. Thanks you very much. Do you know if some body tryed it with Nodemcu (ESP8266) based projecto instead Arduino ?. Thans again
kikoroko
2 years ago
Hello Again. I'm Trying to compile for MK1000 but i Receive error: Arduino:1.8.13 (Windows 10), Tarjeta:"Arduino MKR1000" C:\\Users\\Lenovo\\Desktop\ racker_main\ racker_main.ino: In function 'void setup()': tracker_main:109:16: error: 'readLinuxEpochUsingNTP' was not declared in this scope unixtime = readLinuxEpochUsingNTP(); ^~~~~~~~~~~~~~~~~~~~~~ tracker_main:120:5: error: 'getTLE' was not declared in this scope getTLE(SAT); ^~~~~~ C:\\Users\\Lenovo\\Desktop\ racker_main\ racker_main.ino:120:5: note: suggested alternative: 'TLE' getTLE(SAT); ^~~~~~ TLE tracker_main:123:27: error: 'Predict' was not declared in this scope upcomingPasses[SAT] = Predict(1); ^~~~~~~ C:\\Users\\Lenovo\\Desktop\ racker_main\ racker_main.ino:123:27: note: suggested alternative: 'Print' upcomingPasses[SAT] = Predict(1); ^~~~~~~ Print tracker_main:127:3: error: 'Predict' was not declared in this scope Predict(1); ^~~~~~~ C:\\Users\\Lenovo\\Desktop\ racker_main\ racker_main.ino:127:3: note: suggested alternative: 'Print' Predict(1); ^~~~~~~ Print C:\\Users\\Lenovo\\Desktop\ racker_main\ racker_main.ino: In function 'void loop()': tracker_main:199:7: error: 'getTLE' was not declared in this scope getTLE(SAT); ^~~~~~ C:\\Users\\Lenovo\\Desktop\ racker_main\ racker_main.ino:199:7: note: suggested alternative: 'TLE' getTLE(SAT); ^~~~~~ TLE tracker_main:201:16: error: 'readLinuxEpochUsingNTP' was not declared in this scope unixtime = readLinuxEpochUsingNTP(); ^~~~~~~~~~~~~~~~~~~~~~ C:\\Users\\Lenovo\\Desktop\ racker_main\ racker_main.ino: In function 'void postpass()': tracker_main:299:29: error: 'Predict' was not declared in this scope upcomingPasses[SAT] = Predict(1); ^~~~~~~ C:\\Users\\Lenovo\\Desktop\ racker_main\ racker_main.ino:299:29: note: suggested alternative: 'Print' upcomingPasses[SAT] = Predict(1); ^~~~~~~ Print tracker_main:306:5: error: 'Predict' was not declared in this scope Predict(1); ^~~~~~~ C:\\Users\\Lenovo\\Desktop\ racker_main\ racker_main.ino:306:5: note: suggested alternative: 'Print' Predict(1); ^~~~~~~ Print exit status 1 'readLinuxEpochUsingNTP' was not declared in this scope Can Any body Help me ? I wold like track only ISS station... Thanks
kikoroko
2 years ago
Sorry about my ignorance programming. I have got some progress but I would apreciate an example source running.
Anonymous user
4 years ago
Finished! I loved your dish and had to have one. I wrote my own code in Python for a Raspberry Pi. I get upcoming passes (visible and non-visible) from a public API https://www.n2yo.com/api/#positions, I programmatically add those passes to a crontab using the CronTab Python library. when a pass is expected to begin, the crontab job flashes an LED and sounds a warning to hands-off-the-dish. Then the dish slews from its park position (typically 180deg, but it's adjustable) to the heading where the satellite will appear. Every second, it recomputes the az,al (using the Skyfield library https://pypi.org/project/skyfield/), moves the motors and points to the sat. If the dish needs to pass from 359deg to 1 deg, I unwind in the opposite direction so as not to stretch the wires. I moved the azimuth motor to below the platform to avoid dragging the wires around. It's all held together with tape, ties and hot glue at the moment. https://youtu.be/nHTRMXSbiA8 Thanks for inspiring such a fun project.
alex_chang
2 years ago
Your work looks amazing! Tape, zip ties and hot glue is definitely the way to go!
Anonymous user
5 years ago
Alex , Weldone
f3rr3r
5 years ago
Hey Alex, I'm extremely interested in scaling up this project and would love to bounce some ideas off you. A google search brought me here and your satellite tracker is exactly what I'm looking for.. except with a 2.4meter dish. with that being said I'm unfamiliar with this site (I actually created a login just to comment on your project!) and I haven't been able to track down the best way to message you directly.
alex_chang
2 years ago
Hi there, Sorry for the very late reply! I don't seem to be getting the notifications from this website. A 2.4 meter dish sounds like quite the undertaking! IDK if you've already completed something in the 7 months since this comment but I would love to get in touch and chat about possibilities! You can reach me at yuc888@mail.usask.ca Cheers, Alex
Anonymous user
5 years ago
Very nice work! Thank you. Just started printing. Needed to resize the dish as I can only print a maximum of a 15cm cube. I hope the proportions will still fit and look cool. As I have no MKR Wifi 1010 in stock I'll try to use an ESP8266 Wemos D1 or Nodemcu board.
Anonymous user
5 years ago
Alex - absolutely love your project! Thanks again for contributing this! I am having one issue, however that I was wondering if you could help me with. I have the four default satellites configured for tracking that were included in the config, but when the satellites pass over my tracker behaves strangely. It will move to the starting position, but then it "twitches" during tracking and doesn't ever seem to move much. In one instance, it even moved down past where the base would allow and I had to pull the power to avoid structural damage. Is there any troubleshooting I can do in relation to movement to figure out what's going on? Thanks! Ted
Anonymous user
5 years ago
AWASOME! Is it not clear in the description how do you select the satellites to track. Can you choose them dinamically while the tracker is on? It would be great to move from one satellite to another and have a PC or screen to see current available satellites and automatically track them. I'm searching for a summer project, and yours is awasome and it might be improved adding a few features!
Anonymous user
2 years ago
Hello @Cmri, you may want to browse https://listoffreeware.com/satellite-tracking-software-windows/. There are some well documented ISS trackers (especially using Node-RED). My personal favorite is https://in-the-sky.org/satmap_worldmap.php and one other where the list of satellites is in a drop-down list! I definitely **appreciate the assistance from @alex_chang** but keep in mind that you really need to build one yourself and then keep your wishlist handy! My key wish is to learn Blender (or some other 3D modeling software to work on _pan-tilt_ combinations and also to evaluate the differences in stepper and servo motors for this type of application). Have fun. Kind regards.
alex_chang
2 years ago
Thanks! The tracking is done by giving it an array of TLEs at the beginning, then it will begin tracking all the satellites listed. Unfortunately you can't change this list without reuploading to the Arduino. If you have the serial monitor open you can see when the satellites are coming and which one it's tracking. I'd definitely appreciate suggestions on new features. You can always fork the repository and create a pull request on github.
Anonymous user
5 years ago
Awesome project , I would like to attempt for my Final Year Project. Again i would like to appreciate you work.
Anonymous user
5 years ago
Hello Alex, This note is to confirm that thanks to your guidance, I was able to track a satellite using your STL files and code!!! My personal observation (since I have negligible mechanical engineering skills) is that the azimuth stepper motor should be hosted on the base column for: - better stability by constraining angular forces - easier to level the platform Perhaps this thought would fall foul of the project idea to emulate the real world radio antenna you chose. Also, I'll post a wish list for bells & whistles at your GitHub site later. Best of all, I don't have to look at code output to check for weather satellite overpass. I'll just look at the model you have designed! Kind regards.
alex_chang
2 years ago
Hi Matha, I'm so glad to hear you got it working! I'm also not a mechanical engineer, which is why the mechanical design is a bit wonky haha. Looking forward to your feedback on the code, there are definitely things that could be better there too.
Anonymous user
5 years ago
Hello Alex, Could you please comment on where to apply **glue** to the 3D printed parts? You can use the STL filenames for parts, if you wish, to describe the spots for the glue. Examples: - How to make the Base stable with respect to the Stand? - Do the MotorAxel and Axel have to be glued to the Counterweight? - Do Lid1 & Lid2 have to be glued to the Counterweight without any internal filling? Also, how are the stepper motors "bolted" to the corresponding attachments? Thanks!
Anonymous user
2 years ago
Darn! In my rush to get going, I sawed of the stepper motor screw tabs (never used these earlier for other minor projects too!). The motors, driver boards and ball bearing are the same type as yours (for obvious reasons). Ran the code yesterday without the motors plugged in. I spent some time fiddling with good tracking candidates (apart from ISS, of course) with my interest in GOES (to download data) and GPS (to understand why FIXes go away). I'll glue the parts together today. I'll send you an update later. Again many, many thanks.
alex_chang
2 years ago
Hi Matha, Yes I glued the axels to the counter weight. The stepper motors are glued onto the base. I don't know if you got the same ball bearing as I did for the connection from the stand to the base, but I basically glued the center of the ball bearing to stand and the top to the bottom of the base. The lids to the counterweight just snap into place, I put a couple of extra ball bearings in there to balance out the dish. If you have the same stepper motors as me you'll have to snip off the screw tabs for the azimuth motor. You can screw in the elevation motor though. Hopefully this clears things up a bit, let me know if you have any more questions!
Anonymous user
5 years ago
Awesome projcet, was thinking months ago o f how to make one, but what can I use instead of the arduino mkr wifi 1010? I can't find it in my country, Peru, and shipping takes time due Covid-19, can it be done using and arduino with wifi shield? I am already printing the parts and got the stepper motors!
Anonymous user
2 years ago
@alex_chang, off topic but please permit me. While I wait for the 3D printing parts to arrive (_nearly_ a week now), I took your ideas to build a peer Stratum server (with a GPS/u-blox and ETH/Wiznet) on a Nano having tested **your** NTP client code on MKR1000. Your project has turned into a BOGO (Build One Get One by-product) for me. Thx again for the ideas and support.
alex_chang
2 years ago
Awesome that you are going to try it out! One thing to watch out for is: I used the real time clock (RTC) on the MKR 1000 to keep the time. The Arduino Uno doesn't have an RTC built in so you'll have to get something like this: https://www.adafruit.com/product/3013 Let me know if you have any other questions and keep me posted!
Anonymous user
5 years ago
You are a genius! No more wifi problems lol.
Anonymous user
5 years ago
Almost exactly what I was looking for. The ISS has been making spectacular overhead passes in the last few days. But I've been looking for a sun tracker tilt/pan stand to ensure my small solar panel for the fountain has maximum power.
Anonymous user
5 years ago
@alex_chang, excellent project! Quick question while I wait a day (or two) for the 3D printing tasks to complete!! I understand the sourcing options for hardware but couldn't we do it with a single stepper motor controller board (different model/make, of course) instead of two? Great job leveraging OSS libraries especially with TLE data - makes the project truly **versatile**, IMHO. Thanks.
alex_chang
2 years ago
Thanks for the kind words! My stepper motors came with the separate control boards for each motor, but I'm sure you can also make it work with something like this: https://www.adafruit.com/product/1438 Let me know how the project goes for you!
Anonymous user
5 years ago
Could you please explain how you determine the AZ and EL? You say you put the dish in stand-by first, but how do you determine what is stand by? Once you achieve stand-by I guess you can count stepper motor steps to determine AZ and EL.
Anonymous user
2 years ago
I do not have a gyro on *my* implementation. I'm not sure which vid window you're referring to. Perhaps Alex's video?
Anonymous user
2 years ago
I love this project. I'm trying to replicate it. I just got my azimuth motor to work. To set the AZ=0 position, I run a calibration function. I first line up a reference mark on the dish's base to point North. The calibration function first asks if you want to rotate the motor 180deg left or 180deg right. Let's say the dish actually points to AZ 120deg. I tell it rotate left 180. That clearly overshot the zero point, so I tell it move back to the right -- but this time, I have it goes 90deg. That overshot to0, so I tell it to rotate left again, but this time it only rotates 45deg. Thru a series of L,R,L,L,R movements (halving the angle each time) I quickly converge onto the zero mark. I'll do a similar calibration for AL. Once both motors are coded, I'll try to print the dish. I'm still a little confused about assembling it.
Anonymous user
2 years ago
Hello MACE. Have you added a gyroscope to your project? In the video window I see that data. Can you tell me how you did it?
alex_chang
2 years ago
The standby position is set to AZ = 0 and EL = 20, this is actually based on the standby position of the real dish in the background of the video. The steppers have no way of knowing what position they start at so you actually have to manually move them to make sure they start at the right position.
Anonymous user
5 years ago
This is very nice! I wonder if it can be used for Ham Radio to point the antenna in the direction of the ISS.
jim421616
5 years ago
I found your design on the 3Dprinting subreddit. Very nice work! I really want to try this out.
rodrigo_47_santos
25 days ago
OLA, TEM COMO CONSTRUIR ESTE PROJETO COM O NODEMCU 8266, PORQUE EU NAO TENHO O ARDUINO MKR.