Introduction: Galileino 1 - Hardware Simulator of Earth and Sun in Motion
Galileino 1 - Hardware simulator of Earth and Sun in motion
Behind the idea of building a hardware emulator of the Earth rotating and revolving around the Sun there is the fact that software models, even when producing powerful and magnificent graphics scenarios on a screen, are somewhat less intuitive and impressive than real rotating balls,that can be touched and inspected in the real 3D world. This applies specially for very young children,for whom few real world impressions may well be more effective than lots of pictures and stories.
The idea was suggested by the need to show rotation and revolution of the Earth to very young children in the pre-school phase of a kindergarten. Such a system could explain the alternation of night and day and possibly even the alternation of seasons.
Accordingly, a model of the Sun/Earth system should have shown both rotation and revolution and arrange the rotation axis with its proper angle and position during the yearly revolution. To do this, a small globe had to be mounted on a support that would keep the same orientation during a rotation around a center. The easiest solution was to mount the globe on the disk of a revolving pulley, connected to a fixed pulley in the centre by a toothed belt; the two pulleys needed to have the same number of teeth and the same diameter, so that one revolution around the centre would correspond exactly to a 360°rotation of the revolving pulley.
The rotating globe had to be mounted with a support and a motor on the rotating pulley at an angle of 23.5°, i.e.the actual angle of the Earth rotation axis; the easiest solution was to use a small stepper motor with the axis directly connected to the rotation axis, the latter implemented with a screw rod; the stepper motor, then commanding the globe rotation, would be easily controlled by an Arduino mounted on the revolving pulley. Since a central control circuit had necessarily to be in a fixed position during the revolution and rotation of the globe, there was the need to have some sliding contacts in the pulleys;slip rings were used to that purpose.
A first idea was to mount the whole model on a big basis panel containing the whole revolution orbit, but the object would have been bulky, heavy and not easily portable. So, another solution was searched and finally adopted, with the revolving pulley and the globe mounted on a rotating arm that could just be placed on any free lower surface wide enough to contain that orbit (a table,the floor etc.).
The actuation of the revolution with some central motor was considered, but the motor should have been quite powerful to apply the required torque to the revolving arm and to the pulley with the globe from the revolution centre, and finally the idea was instead followed, to use a rubber wheel at the radial end of the arm, moving on the lower surface (vehicle-like arrangement); then the corresponding motor would need a much lower torque to displace the wheel along its circular track on the lower surface.
Originally it was thought to control also this motor with another Arduino, and have a central controller (possibly a Raspberry Pi or another Arduino) communicating via USB with the two Arduinos controlling the globe rotation and revolution motors, with the possibility also to freely position the globe in correspondence of a desired time and date,set by the user in the central control; then for reasons of time the first built version of the model was limited to perform just an independent start/stop and speed control of rotation and revolution and a DC motor with a gearbox adaptor was used, with a simple control of the DC supply voltage.
To have stability of the central position (that should not move under the push of the “vehicle-like” rubber wheel) some substantial weight had to be arranged in that position; a brick was used, with a support arrangement having height-adjustable feet. With this weight, the force applied to the arm by the motor at the radial end results only in a rotation of the arm which is centered in the hub.
An easily available tube-shaped table leg with a flange was cut and bored, to be used as a central hub, with power and signal cables running inside. Hexagonal bolts were embedded in a laser cut acrylic layer of the brick holding arrangement, protruding from the top, so that the flange, together with the arm portion, could be quickly and easily fixed to the brick with wing nuts. This arrangement results in the apparatus being made of just two parts, i.e. the heavy hub support with the brick and protruding bolts, and the rotating arm with globe, pulleys and motors up to the flange; these two parts are so separately and easily transportable, so that the apparatus can be quickly and easily assembled to provide the Earth motion simulation setup on the desired surface.
For the sun a translucent globe lamp has been an easy and effective solution; as the slip ring occupies the central position of the fixed pulley, the easiest solution was just to hang the lamp.
The control circuit was much simplified with respect to the original intentions, for reasons of time and finally the stepper motor was controlled by Arduino by means of an analog input. A flat cable with all the connections from the hub was connected to a control box (implemented with laser cut MDF) containing just a simple circuit with power supplies and variable voltage generations.
The flat cable used for the connection allows the whole system to be arranged on a table (as in the pictures here)or on the floor without creating substantial obstacles for the movement of the rubber wheel,that can easily pass over it.
The device was used very effectively with the children in a Kindergarten to show the motion of the Earth during a theatrical activity where I played myself the character of the scientist Galileo Galilei.
Future developments and perspectives
A “version 2.0” of the device is already in consideration, for use in schools with children of a higher range of age. Ideas for this version are:
- Addition of an optical absolute encoder in the hub and optical detectors in the rotating arm, so as to get, in every Earth revolving position, the information of the calendar day; the encoder could be designed also to take account of the effect of the eccentricity of the Earth orbit just in the calendar (while still having an actual circular orbit – not so much different in shape from a circular one - to avoid great mechanical complications).
- Test of the use of a stepper motor also for the rubber coated wheel,with an additional Arduino on the rotating arm controlling this motor and the calendar day reading, and use of a bigger slip ring in the fixed pulley for an additional number of connections.
- Lowering the position of the whole system by putting the hub brick closer to the basis surface,while still keeping the feet adjustable,with improved mechanical stability (This would reduce the undesired torque applied by the rubber wheel, which tends to cause an undesired torsion and rotation of the arm orthogonal to its axis).
- Addition of intelligence in the central controller,possibly an Arduino or Raspberry Pi communicating with the two mobile Arduinos via USB.
- Implementation of a user input/output arrangement (small keyboard or encoder and display) in the central controller.
- Implementation of a much more complete software (partially already implemented) to have different modes of operations, with speed controls of rotation and revolution,if desired also dependent on each other, and setting at will the Earth to a predetermined position defined by calendar date and time.
- Addition of a removable lens on the rotating arm, along the light path from the central lamp to the globe, to focus on the latter the lamp light and have a more abrupt shadowing on the globe.
Finally, even a third version could be envisaged, with addition of the Moon rotating around the Earth, which would involve a major increase of mechanical and control complexity.
Step 1: The Rotating Globe
For the Earth a 12 cm globe was used, available from Amazon : https://www.amazon.de/gp/product/3871294810/ref=o...
An advantage of this inexpensive globe is the high quality of the physical geographical representation and the presence of two holes in the poles, perfectly matched to an M6 threaded rod, which is used as Earth rotation axis.
For the Earth's rotation the inexpensive 28BYJ-48 geared unipolar stepper motor was used, available from various providers together with an ULN2003-based driver circuit, e.g. : https://www.amazon.de/DC-5V-Elektro-28BYJ-48-Modu... and well known for easy interfacing with Arduino.
The threaded rod was directly coupled at one end to the geared motor's axis by means of a short piece of plastic pipe (the type for watering plants), tighten at the motor's axis and at the threaded rod by means of two fasteners with screw, nut and washers (the fasteners were segments of a 4 mm zip ties with bored holes for M2 screws).
The motor was encased in a matched 3D printed basis structure of PLA, adapted to be secured to the upper disk of the revolving pulley (see below) with M4 screws and providing w.r.t. this disk's surface a tilt of 23.43°, corresponding to the actual tilt of the Earth rotation axis. The basis structure was also adapted, in combination with a bearing structure and 4x M4 threaded rods, to form a support structure for the rotating globe.
The bearing structure was made of two 3D printed parts, a main member with a recess for a 6 mm ball bearing for the globe axis rod and a cover to close and fasten this ball bearing.
Beside some pictures of the rotating globe system, files for 3D printing the structure members are included, in both .scad (OpenScad) and .stl formats.
Remark: the figures show also the presence, between the basis structure and the bearing structure, of a disk-like element with an optical pattern mounted on the globe axis; this disk was originally meant to provide an optical reference for the earth rotation for positioning instructions, but in the end it was not used in Galileino's first version.
Step 2: The Control of the Rotating Globe
The rotating globe is controlled by an Arduino Nano, commanding the ULN 2003 driver that comes with the motor; this setup for the control of the stepper motor is per-se well known, see e.g. https://arduino-info.wikispaces.com/SmallSteppers .
The control program is finally very simple, as only a speed control based on an input analog voltage has been implemented in Galileino's first version; the Arduino sketch is here included. Arduino's 8-11 terminals were used as digital outputs to the ULN 2003 driver, together with ground and +5V connections; analog input pin A0 was used to control the speed. The library stepper.h was used and the sketch was based on the already available YourDuino.com Example Software Sketch.
The circuit was mounted in a 3D printed case of PLA secured on the upper disk of the rotating pulley, with a transparent laser cut plexiglas cover, having a hole for the cables connecting to the motor and to the 6 line slip ring in the centre of the pulley, which finally uses two lines for ground, two for +5V (power supply to Arduino, the ULN2003 controller and the motor), and one line for the speed control input analog voltage.
Beside a picture of the circuit case, files for 3D printing this case and laser cutting its transparent cover are included in different formats, as well as the Arduino sketch.
Step 3: Toothed Belt and Pulleys
As explained in the introduction, the orientation of the Earth axis is kept constant during the revolution by means of a fixed pulley in the revolution center and a revolving pulley connected by a toothed belt.
Furthermore, to carry power and signals with no entanglements of the cables, slip rings with sliding contacts have been embedded in the centers of the pulleys; such slip rings are cheap and easily available from different Internet suppliers, e.g. https://www.amazon.com/GeeBat-Capsule-Electrical-CIRCUITSx2A-monitor/dp/B01N2GO9ZR/ref=sr_1_3?ie=UTF8&qid=1512474392&sr=8-3&keywords=slip+rings .
To design the whole system, it is important to determine a relation between the total length of the toothed belt and other parameters of the system and then to make a proper choice of the involved sizes; at the end an inexpensive 6T5 150 cm belt was chosen (e.g. https://www.reichelt.de/?ACTION=3;ARTICLE=138430;SEARCH=zahnriem ). The pulleys diameter was then chosen at 19.4 cm, which resulted in a Sun-Earth distance of 44.5 cm and a radius of 54.2 cm of the circle occupied by the system in operation (see notes at the end of this step for more details).
The pulleys were realized each by laser cutting 2 equal wheel profiles in 5mm thick plexiglas (see files mobile_pulley_5, both in .svg and in .pdf formats) and gluing these two wheel profiles together, so as to get 10 mm thickness, which fits well with the 6mm wide toothed belt.
Both pulleys are sandwiched each between a somewhat larger upper disk and a lower disk, so as to prevent the belt from sliding away. The mobile pulley is mounted by means of a rotatable ring-shaped ball bearing (e.g. https://www.amazon.de/Drehkranz-Aluminium-Drehlager-Drehteller-Drehscheibe/dp/B01KV4I21I/ref=pd_sbs_196_4?_encoding=UTF8&psc=1&refRID=Z4VRV67PBVE53QG4525M ) on a plate fixed on the rotating arm.
For the mobile pulley the upper disk is defined by the files scheibe_fh (both .svg and .pdf ), with holes in the middle to accommodate the slip ring, and the lower disk by the files scheibe_l2 (both .svg and .pdf). In the upper disk then 3x 4mm holes where drilled to secure the Earth globe support and 2x 3mm holes to secure the control circuit case, in positions corresponding to holes in the lower portion of these parts and not interfering with the plexiglas parts; the slip ring was mounted with the flange on the lower side of the upper disk. In the lower disk, holes were drilled in correspondence of those of the inner ring of the ring-shaped ball bearing.
When assembling the mobile pulley, the slip ring, the control circuit case and the Earth globe support should be first mounted to the upper face of the disk by means of 4M and 3M screws and nuts, then the ring-shaped ball bearing should be mounted to the lower face of the lower disk with 3M screws and kept distant from this lower face by means of intermediate nuts (so that the lower disk can freely rotate w.r.t. the outer ring of the ring-shaped ball bearing); finally the so assembled upper and lower disk should be connected together with 4x 4M screws in their respective holes.
For the fixed pulley the upper disk is still defined by the file scheibe_fh and the lower disk by the file fixed_pulley_ldisk (both .svg and .pdf). The slip ring is mounted with the flange on the upper side of the upper disk and the lower disk has a central hole large enough to accommodate the end of the hub and holes to secure L-shaped supports that connect to the hub.
When assembling the fixed pulley, once the rotating arm has been put in position (see next steps), first the lower disk should be secured to the 4x L-shaped members on the hub, then the slip ring should be mounted in the center of the upper disk with the flange on the upper side and the wires should be passed through the hub up to the base, then finally the upper and lower disks should be tighten with the plexiglas pulley.
If we call d the diameter of the pulleys (equal to each other), b the distance between their centers, R the radius of the circle occupied by the system during the revolution and L the total length of the belt, we have the following relations:
b=0.5*(L-πd) ; R=0.5*[L-(π-1)d]
When choosing the involved parameters it should be kept in mind that:
- d should be big enough so that the revolving pulley may accommodate the support of the rotating globe and the case of its control circuit, as well as a slip ring in the center; also, the support of the rotating globe and the globe on the axis should be positioned such that the center of the globe is vertically aligned with the center of the pulley (otherwise the orbit circle would not be properly centered on the center of the fixed pulley);
- R should have a value that guarantees portability of the system, as the surface on which the rubber wheel moves should be large enough to accommodate a circle having diameter 2R;
- b should be a good compromise to show the Earth movements, taking into account the size of the Earth globe and of the Sun lamp.
Step 4: Revolution Motor, Gearbox and Rubber Wheel
To actuate the Earth revolution a motor with a gearbox and a rubber wheel was arranged at the movable end of the rotating arm.
The rubber wheel should provide enough friction to move without sliding on most surfaces; e.g. the chosen one has been used with good results on an MDF panel, on smooth paperboard laid on the floor and on wooden tables with plastic coating; portions covered with an adhesive tape (e.g. at joints between paperboard portions or across the flat connection cable) were also easily crossed during the revolution movement.
Rubber wheels good to this purpose are easily available at DIY stores, e.g.
https://www.toom-baumarkt.de/baumarkt/parkett-bockrolle-seitliche-befestigung-38-mm-ausfuehrung-seitliche-befestigung/7361046 , originally meant to be used for furniture, trolleys etc.
Although a future development foresees the use of a second Arduino controlled stepper motor, in the first version a recycled DC motor was used and the adaptation of the DC motor rotation to the slow speed of the rubber wheel during Earth revolution required the use of a gear reducer.
As for my project I recycled a DC motor I had at hand (recovered from an old turntable or cassette deck or similar), I had to design and realize myself the gear reducer based on the characteristics of the motor and of the whole system. This DC motor was available to me also with a small pulley and a larger pulley connected by a small toothed belt, providing already a speed reduction ratio of 1:3.8.
As I don’t expect this DC motor, with pulleys and toothed belt, to be easily available on the Internet, the gearbox will have anyway to be designed depending on the specific type of motor used; I will try here to provide clues for such design, rather than describing in all details the one I realized.
Plastic gearwheels for use in the gearbox can be easily found among article for model building, e.g. :
The gearwheels were mounted on M4 and M3 threaded rods, easily available at DIY stores; they were fastened to the rod by means of two nuts with star washers, tightened in opposite directions.
The rubber wheel had first to be freed from its support, by sawing its hub; then, as the central hole was 6mm diameter, it had to be reduced to 4mm to fit an M4 rod. To this purpose, a 6mm aluminum-tube can be used (see e.g. https://www.toom-baumarkt.de/baumarkt/alfer/rundrohr-aluminium-0-6-x-200-cm/1709026) and inserted in the center of the rubber wheel, by filing an end so as to easy the introduction, hammering it in the wheel, cut it with a saw (to obtain a bush) and hammer it back with the help of the cut hub, so as to finally have the diameter of the central hole reduced to 4mm.
Then it can be mounted on an M4 threaded rod, next to a toothed wheel a few millimeters smaller (e.g. with 40 teeth) and tightened with star and elastic washer and nuts in opposite direction.
The 6mm alu-tube can be also cut to prepare spacers, as they may be needed on a shaft, and bushes for holes in the shaft supports, all fastened by counter-tightened nuts with star and elastic washers.
All the shafts are supported by two laser-cut plexiglas panels, with holes for the shafts, for structural threaded rod connections; on the upper side they are adjustably fastened to slits in another plexiglas member, so that the height of the revolving arm can be adjusted to remain horizontal.
In my case the DC motor was also fastened to slits, to adjust the tension of the small toothed belt.
In order to design the gearbox it would be useful to make a drawing of the plexiglas supports and of all the wheels together (as in gearbox_1.pdf) and to obtain from this a drawing of the two supports (as in gearbox_2.pdf, green indicating boreholes for the rods in the front and back panels, whereas for the motor red indicates a hole in the front and green a hole in the back).
For the gear reduction ratio, a calculation can be based on the maximum speed of the motor and on the desired maximum speed of the rotating arm.
E.G. if the motor maximum speed is 18 turns/s and the maximum speed of the rotating arm is one revolution in 30s, as the rubber wheel is positioned at about 550 mm from the hub, the max. speed fo the rubber wheel has to be 550*2π/30s = 116 mm/s ; as the diameter of the rubber wheel is 38 mm, this corresponds to 116 mm/s / 38*π mm = 0.97 turns/s. Therefore the total reduction ratio has to be 18/0.97 = 18.56:1. The small toothed belt already provides a reduction of 3.8:1 ; accordingly the gearbox should have totally a reduction ratio of 4.88:1.