Week 18 - Applications and Implications, Project Development
Individual Assignment:
-
Propose a final project masterpiece that integrates the range of units covered. Your project should incorporate:
2D and 3D design Additive and subtractive fabrication processes Electronics design and production Embedded microcontroller interfacing and programming System integration and packaging.
-
Project Development
Complete your final project tracking your progress.
Applications and Implications
Here I'm going to give a detailed overview of my "masterpiece" (I'd rather call it journeyman's piece).
What does it do?
The machine I built rotates a sphere on an arm in a two axes movement (azimuth and zenith) around a pyranometer. It is controlled by the input of date, time and geographical position and points the sphere constantly into the sun to shade the sensor of the pyranometer.
This device is known as a sun tracker / solar tracker. It is used for solar energy and meteorological applications. By shading the sensor of the pyranometer, the diffuse solar radiation can be measured and compared to the global radiation measurement of an unshaded pyranometer.
Who has done what beforehand?
Obviously, this device has a very limited group of users and there are a few companies that sell this equipment. Some examples I found are:
As with all low-batch scientific equipment, the cost can be very high.
I didn't have any detailed drawings of the interior components of this devices, but I reused some design features that I could clearly identify from the pictures.
For the mathematical model I could luckily use the SolarCalculator library for C++. That saved me quite some time.
My work and sources
I designed all the main mechanical (non-standard) components from scratch, as well as the PCB and breakout boards for the encoders.
Materials used in the final project
These are the materials I used for manufacturing:
-
Metals
- stainless steel 304 / 316
- carbon steel
- soldering tin
- copper (PCB stock, wires)
-
Plastics
- PETG (filament)
-
Other
- NBR (O-ring)
- Soldering paste
- Anti-seize paste
- Contact glue (cyanoacrylate)
Part list
Here is the preliminary part list, devided into three sections for better oversight.
Manufactured components
This table lists the components I made myself.
Pos | Qty | Description | Material | Machine |
---|---|---|---|---|
1 | 1 | Main circuit board | FR1 | Roland MDX-20 |
2 | 2 | Encoder breakout board | FR1 | Roland MDX-20 |
3 | 2 | GT2 Pulley and wave generator | PETG | Prusa MK4s |
4 | 1 | Circular spline vertical | PETG | Prusa MK4s |
5 | 1 | Lower body | PETG | Prusa Core One |
6 | 2 | Motor bracker NEMA17 | PETG | Prusa MK4s |
7 | 1 | Upper body | PETG | Prusa Core One |
8 | 2 | Encoder plate | PETG | Prusa MK4s |
9 | 1 | Circular spline horizontal | PETG | Prusa Core One |
10 | 1 | Shading sphere | PETG | Prusa MK4s |
11 | 1 | Cover plate | PETG | Prusa Core One |
12 | 1 | Rod end 1 | PETG | Prusa MK4s |
13 | 1 | Rod end 2 | PETG | Prusa MK4s |
14 | 1 | Rod end 3 | PETG | Prusa MK4s |
15 | 1 | Rod end 4 | PETG | Prusa MK4s |
16 | 1 | Rod link | PETG | Prusa MK4s |
17 | 2 | Flex spline gear | PETG | Prusa MK4s |
18 | 1 | Counterweight mount | PETG | Prusa MK4s |
19 | 1 | O-ring Ø2,5 L=425 | NBR | - |
20 | 1 | O-ring Ø2,5 L=660 | NBR | - |
Purchased parts, mechanical
Pos | Qty | Description | Supplier | Price | Sum |
---|---|---|---|---|---|
1 | 2 | GT2 Timing belt 356mm | MaiLeXun | $1,51 | $3,02 |
2 | 2 | GT2 Timing belt pulley 16T | MaiLeXun | $1,11 | $2,22 |
3 | 2 | NEMA17HS4401 Stepper Motor | Hanpose | $8,35 | $16,70 |
4 | 4 | Ball Bearing 62200-2RS | BCE Bearing | $3,05 | $12,20 |
5 | 2 | Ball Bearing 61900-ZZ | BCE Bearing | $0,76 | $1,52 |
6 | 4 | Ball Bearing 61821-2RS | BCE Bearing | $12,41 | $49,64 |
7 | 2 | Magnet Diametric Ø6 x 3 | DigiKey | $0,72 | $1,44 |
8 | 1 | M12 Connector | DigiKey | $10,52 | $10,52 |
9 | 1 | Base plate 3mm AISI304 | Local Shop | 7000kr | 7000kr |
10 | 1 | Counterweight Ø40 L=100 AISI304 | Local Shop | 2000kr | 2000kr |
11 | 8 | M6 Insert Stainless Steel | Mouser | $0,92 | $7,36 |
12 | 5 | M5 Insert Stainless Steel | Mouser | $0,69 | $3,45 |
13 | 1 | Air Vent IP67 M32x1,5 | Mouser | $27,65 | $27,65 |
14 | 1 | Carbon Fibre Tube Ø12mm | Easycomposites | $16,22 | $16,22 |
15 | 1 | Carbon Fibre Hexagon Tube 14mm | Easycomposites | $23,07 | $23,07 |
16 | 2 | Hex Bolt M10x80 A4-70 | Ísól | 131kr | 262kr |
17 | 6 | Hex Nut Nylon M10 A4 | Ísól | 33kr | 198kr |
18 | 4 | Socket Head Bolt M10x55 A4-70 | Ísól | 122kr | 488kr |
19 | 6 | Button Head Bolt M6x12 | Ísól | 16kr | 96kr |
20 | 5 | Button Head Bolt M5x12 | Ísól | 11kr | 55kr |
21 | 12 | Hex Nut Nylon M6 A4 | Ísól | 9kr | 108kr. |
22 | 2 | Hex Nut Nylon M5 A4 | Ísól | 5kr | 10kr |
23 | 4 | Hex Nut Nylon M8 A4 | Ísól | 15kr | 60kr |
24 | 1 | Hex Nut M6 A4 | Ísól | 6kr | 6kr |
25 | 8 | Socket Head Bolt M6x30 A4-70 | Ísól | 22kr | 176kr |
26 | 2 | Socket Head Bolt M6x25 A4-70 | Ísól | 21kr | 42kr |
27 | 4 | Hex Head Bolt M8x60 A4-70 | Ísól | 67kr | 268kr |
28 | 4 | Hex Head Bolt M6x40 A4-70 | Ísól | 31kr | 124kr |
29 | 2 | Socket Head Bolt M6x40 A4-70 | Ísól | 35kr | 70kr |
30 | 4 | Oversized Washer M6 A4 | Ísól | 9kr | 36kr |
Purchased Components - Electrical
These are the electrical components (mainly on the PCB).
Pos | Qty | Part-No | Description | Supplier | Price | Sum |
---|---|---|---|---|---|---|
1 | 1 | PCB Stock FR1 4'' x 6'' | Carbide 3D | $1,0 | $1,0 | |
2 | 4 | C1206C104K5RACTU | Capacitor SMD 1206 0,1µF | DigiKey | $0,08 | $0,32 |
3 | 2 | EEE-FN1E101UL | Capacitor 100µF | DigiKey | $0,59 | $1,18 |
4 | 1 | 150120BS75000 | LED SMD 1206 blue | DigiKey | $0,23 | $0,23 |
5 | 2 | JST Connector male 01x05 THT | Adafruit | $0,13 | $0,26 | |
6 | 4 | JST Connector male 01x04 THT | Adafruit | $0,13 | $0,52 | |
7 | 1 | JST Connector male 01x03 THT | Adafruit | $0,13 | $0,13 | |
8 | 1 | JST Connector male 01x02 THT | Adafruit | $0,13 | $0,13 | |
9 | 2 | JST Connector female 01x05 | Adafruit | $0,13 | $0,26 | |
10 | 4 | JST Connector female 01x04 | Adafruit | $0,13 | $0,52 | |
11 | 1 | JST Connector female 01x03 | Adafruit | $0,13 | $0,13 | |
12 | 1 | JST Connector female 01x02 | Adafruit | $0,13 | $0,13 | |
13 | 1 | 95278-101-04LF | Header 02x02 SWD P2,54 SMD | DigiKey | $0,41 | $0,41 |
14 | 4 | RNCP1206FTD1K00 | Resistor SMD 1206 1k | DigiKey | $0,10 | $0,40 |
15 | 1 | RC1206JR-07620RL | Resistor SMD 1206 620 | DigiKey | $0,10 | $0,10 |
16 | 1 | B3SN-3012P | Switch Tactile Omron | DigiKey | $0,86 | $0,86 |
17 | 4 | DRV8251ADDAR | MotorDriver HalfBridge | DigiKey | $1,78 | $7,12 |
18 | 1 | AVR128DB32-I/PT | Microprocessor AVR128DB32 | DigiKey | $1,96 | $1,96 |
19 | 1 | LM3480IM3X-5.0/NOPB | Voltage Regulator 5 V 100 mA | DigiKey | $1,07 | $1,07 |
20 | 4 | RMCF1206ZT0R00 | Jumper SMD 1206 0 OHM | DigiKey | $0,10 | $0,40 |
30 | 1 | - | NEO-6M GPS Module | ebay | $6,50 | $6,50 |
40 | 2 | TLE5012BE1000XUMA1CT-ND | Hall effect sensor absolute angle | DigiKey | $3,45 | $6,90 |
41 | 4 | RC1206FR-07100RL | Resistor SMD 1206 100 | DigiKey | $0,10 | $0,40 |
42 | 2 | RMCF1206JT470R | Resistor SMD 1206 470 | DigiKey | $0,10 | $0,20 |
43 | 2 | C1206C104K5RACTU | Capacitor SMD 1206 100nF | DigiKey | $0,08 | $0,16 |
Total Cost
The total cost divides and sums up as follows, when considering currency conversion and taxes:
Category | Sum | Currency | Import Taxes | Amount in USD |
---|---|---|---|---|
Purchased parts mechanical | 175,01 | USD | 25% | 218,76 |
Purchased parts mechanical | 10999 | ISK | - | 85,24 |
Purchased parts electrical | 32,33 | USD | 25% | 40,41 |
Purchased filament PETG | 17160 | ISK | - | 131,03 |
= | $475,44 |
Assembly-Tree
The assembly tree shows, which parts and systems will be made on the three highest levels.
- SUN TRACKER
- Base plate assembly
- Solid steel plate
- Spirit level
- Feet
- Encoder bolt with magnet
- Circular spline gear
- Azimuth drive
- Lower housing
- Harmonic drive
- Wave generator / pulley
- Flex spline
- Motor mount
- Motor with pulley
- Timing belt
- Encoder
- Zenith drive
- upper housing
- Harmonic drive
- Wave generator / pulley
- Flex spline
- Motor mount
- Motor with pulley
- Timing belt
- Air vent
- PCB
- GPS-module
- Arm assembly
- Torque arm with circular spline gear
- Encoder bolt with magnet
- Carbon fibre rods
- Joints
- Shading sphere
- Counterweight incl. mounting bracket
- Service cover assembly
- Cover
- M12 connector
- Base plate assembly
Fabrication Processes
I used the following fabrication processes in the final project:
- Machining
- manual drilling
- manual turning (facing, boring)
- manual sawing, grinding, filing, sanding
- CNC milling (PCB)
- Joining
- Soldering (PCB)
- Adhesive bonding
- Fastening (nuts, bolts)
- Press fitting
- Heat inserting
- Crimping
- Additive manufacturing
- 3D printing (FDM)
I also custom ordered a waterjet cut stainless steel plate.
Questions to be answered
The main questions to be answered are:
- Is it possible to design and build a reliable and robust sun tracker prototype from scratch?
- Will the sun tracker be able to follow the sun path accurately enough to shade the sensor at all times?
- What is the actual accuracy of an absolute angle magnetic encoders?
- Can you successfully 3D-print a harmonic drive?
Evaluation of project success
Here are the criteria for a project success:
- Automatic update of time, date and location via GPS
- Reliable sun tracking and shading of the pyranometer for a full 24-h period
- No water ingress, mechanical failure, overheating etc.
- Automatic reversing after 24 hours
Project Development
This week I updated my project plan.
Until now, the progress has been good and I managed to keep up with the tasks and even finished some in advance of the schedule. All designing, mechanical work and assembling is done by now and the remaining task is the programming and debugging as well es testing.
However, as the final deadline is getting closer, I can feel, that the programming and debugging is easily underestimated, so I'm going to need the buffer I have in the schedule to finish the programming. I'm a bit concerned about that part of the project.
Also I'm going to use the buffer week to improve on the packaging, like organizing the wiring inside the machine.
Another point is that I'll need to go for two work trips in the next weeks, which is most likely going to cause some delays and takes precious time from this project. Let's hope for the best!
Failures by now
There was one design fault I made in the harmonic drive, which I discovered in week 16 and fortunately, was able to solve by implementing design changes.
All other mechanical components seem to fit and work with major issues.
The most failures occur on the electronics side of the project. Some have been related to wiring / connectivity issues, but most occur in the programming.
This week I discovered, that the reason for the I2C connectivity issues, was related to the missing pullup resistors, which I managed to add.
Another failure I could identify this week, was a short between two pins of the microcontroller, caused by a tin bridge.
Success by now
I got both axes running and 99% of the assembling work done. I can also read the encoders and get a calculated azimuth and elevation from the solar model.
The GPS module seems to work as well and I can update the location and time with it.
Remaining questions
- Is my program going to be robust and failsafe?
- Am I going to finish on time?
- Will birds use the sun tracker for resting?
Learnings
As by now, one long-time dream of mine has become true, by building successfully a harmonic drive. As far as I can tell, it works suprisingly well for a 3D printed drive and it was a great relief to see the machine finally moving.
I learned the basics of motor drivers and how to use H-bridges and set the trip current wich is very useful and makes me more confident for future products. It would be nice however, to dig deeper into Field orientetd control of stepper motors.
Another important learning is about absolute magnetic encoders using hall effect sensors. These sensors are very cheap and quite easy to implement. When I think about the highly expensive resistive encoders (~ $200) we have to replace regularly in our anemometers, I think I should try and replace them rather with one of these encoders.