Ralphius Posted May 7, 2022 Posted May 7, 2022 Haven't made anything with Lego Technic for a while so I built this working heliostat over the last few days. It's based round an old bathroom mirror (The only 3D printed parts in the model are 2x bathroom-mirror-to-lego-axle adaptors for the hinge) There are two NXT servomotors (one on the wheels for pan, one on the winch for tilt). These are controlled by a "BrickPi3" driver board attached to a Raspberry Pi Zero. The BrickPi3 HAT does the reading of the servo encoders and runs the PID loops, whereas the Raspberry Pi is running Python3 once a minute to calculate the sun position and send high level commands to the motors. There is also an NXT touch sensor that is used as a limit switch so that the Pi can automatically home the tilt axis when the model is powered up. The model turned out quite heavy so it is supported on 8x 43mm diameter wheels. The four at the outer edge are all driven and geared 1:1 to move in the same direction. The four inner wheels in the centre are idlers just to support the weight in the middle and reduce flex in the chassis. Questions or constructive criticism welcome :-) Ralphius Quote
Void_S Posted May 7, 2022 Posted May 7, 2022 (edited) Hmm, interesting thing. I guess it may also be used (with some changes) as not helio- but some other sky object. Moon, or other "nearby" planet "guider"... I have an automatied telescope tripod which may track the selected object by transforming the incoming GPS mark (its own location) and date-time into polar coordinates (rotation and tilt) of the desired object at the current moment. Just to note, the "heliostat" is a device which allows to keep the reflected solar rays at the target obejct constatntly, compensating the Solar and Earth movement. Heliostat - Wikipedia Edited May 7, 2022 by Void_S Quote
Ralphius Posted May 7, 2022 Author Posted May 7, 2022 Yeah I suppose with some software changes you could use it as a tracker, but at the moment it is most definitely a heliostat (it prompts for the target objects azimuth & elevation on startup and bisects the angle between sun and target to calculate the mirror angle) hence why it has to recalculate the mirror angle every minute. It's been running in the garden all morning today beaming sunlight through the north facing window of my house at a spot on the ceiling near the light bulbs. Works very well. I've put my Python code on github here if anyone wants to look but don't expect perfect code as I'm currently learning the language. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.