Short-bus / pilomar

RaspberryPi based miniature observatory
https://shortbus.blog/
GNU General Public License v3.0
70 stars 14 forks source link

Scaling #92

Open michael19101 opened 2 weeks ago

michael19101 commented 2 weeks ago

Hello, I would like to scale up the observatory or create a larger design. I am aware that the number of teeth on the gears will change. Can this be corrected through software? How does the program calculate the positions of the stars and convert them into motor rotations? Another idea would be to control the telescope with a 3D printer board and operate it with a Raspberry Pi in headless mode via network (see OpenAstroTracker).

Best regards, Michael.

Short-bus commented 2 weeks ago

Hi Michael,

Yes, the gearing, steps and direction can be adjusted through the parameters. You can set different values there if you use a different design. There are also a few parameters to support slightly different stepper driver chips. All the parameters are in the data/pilomar_params.json file. It's created with default values when you first start the program.

In the /docs folder there's a .pdf file with some extra information about the project, there's a section in there which briefly explains what each parameter is. https://github.com/Short-bus/pilomar/blob/main/docs

Star positions are calculated using the Skyfield library. Pi-lomar has a catalog of stars, planets, galaxies etc. The Skyfield package allows these to be converted into realtime locations in the sky as 'altitude' (up/down) and 'azimuth' (left/right) angles. Those angles are then easy to convert into motor step positions. The software passes the step positions directly to the motorcontroller to act as a GOTO. The motorcontroller compares the requested step position with the current position and issues MOVE signals to the motors as required. During actual photography it passes a list of GOTO positions and timestamps that the motor must follow autonomously... that's the 'trajectory' that the telescope will use.

Gearing example: In a 'default' build the physical gearing is a ratio of 240:1 and the motor stepping is a ratio of 400:1, giving an overall step to angle ratio of 96000:1. This means the telescope by default can move to 96000 different positions of azimuth, and 24000 positions of altitude. About 0.00375 degrees per motor step. You can increase this by choosing 1/2, 1/4 or 1/8 microstepping, but eventually you hit a maximum step signal speed that the microcontroller can deliver and things get slow. (It may be possible to do something smarter with PWM signals to improve this?)

If you're building a system with VERY fine movement then a 3D printer board may be worth investigating. There are some speed limitations with the Tiny2040 and CircuitPython, the new Tiny2350 microcontroller offers better performance, I recommend that.

Good luck with the design and build. Matt.