Project Development
Table of Content
- Project Management
- Mechanical Assembly
- Electronisc Assembly
- Programming
- Downloads
- Conclusions
Assignment
Complete your final project, tracking your progress:- what tasks have been completed, and what tasks remain?
- what has worked? what hasn't?
- what questions need to be resolved?
- what will happen when?
- what have you learned?
1. Project Management
Spiral Development Plan for Project
-
Make Motor Assembly
Get BLDC motor, ESC working & make a 2:1 Gear Drive Mechanism.
- Power Electronics (Output Week)
- Knowledge on Gear Transmission Mechanisms
- 3D printing
Estimated Skills Required:
Estimated Completion:
Output Week
-
Make Slip Ring
Make a 3 Channel Slip Ring which can pass LED signals through a Moving Axis
- Electronics & Design
- Knowledge on Slip Ring Mechanisms
- 3D printing
Estimated Skills Required:
Estimated Completion:
Mechanical Design Week
-
Make Project Compatible Electronics
Make an Electronics Block Diagram counting all the required I/O ports, connectors and power distribution. Make an Arduino Compatible board that meets the requirements.
- Electronics & Design
- Input & Output Devices
Estimated Skills Required:
Estimated Completion:
Output Devices Week
-
Integrate Motor Assembly and Electronics
Integrate Motor Assembly and control board. Interface BLDC motor, Rotary Encoders and LEDs. Test Individual components and check power consumption. Iterate on control Board if necessary.
- Electronics & Design
- Input & Output Devices
- Embedded Programming
Estimated Skills Required:
Estimated Completion:
Wildcard Week
-
Integrate Motor Assembly and Slip Ring Assembly to create the Base Assembly
Integrate Slip ring and the Motor Assembly. Test the Coupler mechanism, iterate on it if necessary. Pass Signals through the Slip Ring Assembly and get LEDs working through Rotating Axis.
- Electronics & Design
- Input & Output Devices
- Embedded Programming
Estimated Skills Required:
Estimated Completion:
Invention, Intellectual Property & Income Week
-
Create Rotating Arm Assembly
Create a Rigid and balanced Rotating arm assembly that wont fly off or break at 1000+ RPM. Integrate Addressable LEDs into it and integrate it with the Slip Ring Coupler.
- CAD Design
- Material Testing & Sourcing
Estimated Skills Required:
Estimated Completion:
Wildcard Week
-
Finalize Assembly and Start Programming
Finalize the mechanical Assembly, test all components on the integrated platform. Iterate on any integration issues.
- Product Design & Integration
- Embedded Programming
Estimated Skills Required:
Estimated Completion:
Invention, Intellectual Property & Income Week
Actual Project Timeline:
2. Mechanical Assembly:
The Mechanical Assembly Comprises mainly of three main parts
- The Base Assembly
- The Slip Ring
- The Top Assembly
The Entire Design was done in Fusion 360 with all the parts as seperate files. This made changing or editing parameters much easier. Three Assembly files were made to bring everything together. The Files can be found here on a360 for the Full Assembly.
The Base Assembly:
The Base Assembly houses the Motor, Gear drive system, Electronics and all integrated wirings of the project. The Base Assembly consists of the following parts;
-
Side Ring
The Side Ring has cooling grills all around and three mounting backets for the top and base. It also has a hole for the power jack to the main control board.
Fabrication Process:
3D printed.
Material:
PLA
Files:
-
Outrunner5010 Gear 30 Teeth
The 30 teeth gear which goes around the 5010 BLDC motor I am using.
Fabrication Process:
3D printed.
Material:
PLA
Files:
-
Coupler Gear 15 Teeth
The 15 teeth gear connects to the Rotating Arm Assembly Shaft through the slip ring.
Fabrication Process:
3D printed.
Material:
PLA
Files:
-
Encoder Gear 15 Teeth
The 15 teeth gear which houses the magnetic encoder.
Fabrication Process:
3D printed.
Material:
PLA
Files:
-
Encoder Wheel
The Encoder holding the neodinium magnet which connects to the encoder gear.
Fabrication Process:
3D printed.
Material:
PLA
Files:
-
Hall Effect Sensor Mount
A 3D printed Mount to hold the hall effect sensor mount firmly in place.
Fabrication Process:
3D printed.
Material:
PLA
Files:
-
Bearing Caps
3D printed bearing caps to mount the inner rings of the 608zz bearings firm to the base. There are 2 of these inside each of the 15 teeth gears.
Fabrication Process:
3D printed.
Material:
PLA
Files:
The Slip Ring
-
Slip Ring Outer Cover
The Slip ring outer cover holds the 2409 bearings, spacers and the copper brushes in place. It also has screw mounts for locking the bearings in place while providing electrical contact with the outer rings of the bearing.
Fabrication Process:
3D printed.
Material:
PLA
Files:
The Top Assembly
-
The Slip Ring Coupler
The Slip ring coupler joins all the three parts of the assembly as it goes through the slip ring and couples with the coupler gear on the base assembly. It has built in channels for wires for the LEDs.
Fabrication Process:
3D printed.
Material:
PLA
Files:
-
LED Arm Lower End Lock
The Lower end lock ensures equal spacing between the two sides of the LED arm while making the whole structure rigid.
Fabrication Process:
3D printed.
Material:
PLA
Files:
-
Upper End Lock
The Upper end Lock acts as a cap for the rotating PVC pipe in the middle. It has a hole through it which allows the signal wires to pass through to the SS pipe that goes through it.
Fabrication Process:
3D printed.
Material:
PLA
Files:
-
Top Corner Mount
The top Corner Mount attaches the LED arms with the SS pipe and locks onto it using 12mm M3 Screws & Nuts. There are two of these on each side.
Fabrication Process:
3D printed.
Material:
PLA
Files:
-
Bottom Corner Mount
The Bottom Corner Mounts locks onto the Locking Arms using 30mm M3 Screws. It provides stability to the LED arms and reduces Flex. There are two of these on each side.
Fabrication Process:
3D printed.
Material:
PLA
Files:
3. Electronics Assembly
There are a total of three PCBs;
- The Control Board
- The Motor controller
- The Hall Effect Sensor board
The Control Board:
The Controlboard for PixelFace were made during my Output Week.
Later I modified the board file according to my base assembly and designed v2 which integrates into my Fusion360 Design.
The Eagle project folder containing both versions can be downloaded here.
The Motor Controller:
The Motor Controller was a patchwork made during the last leg of the project. After I finished integrating everything and started programming, I realized that generating a PWM to control the ESC on my main loop was causing my LEDs to behave erratically. It is because the WS2812b are very picky about timing, and when the LED data is being sent out, it blocks the code. Add that with my interrupt routine for the Encoders, and we had some really weird LED behaviour. I made this board in an effort to take the motor control part into the ATTINY44, where a digital signal would just turn the motor on and off. I used the unused i2c pins on the control board to connect it to the control board.
The Eagle Project folder for this board can be found here.
The Hall Effect Sensor board
Just a breakout board for the 44e Hall Effect Sensor. A 10k pullup resistor is present between the output and the 5v.
The Eagle Project folder for this board can be found here.
4. Programming
The code for PixelFace was made to be as less non blocking as possible. Since all the components in this project are time critical, the delay function was used as less as possible. The interrupt routine for it was written in avr C to make it much faster than the built in arduino interrupt handler. Compiler optimization was done on gcc O2 to reduce run time.
Code to display a PokerFace:
Code to Display the Bangladeshi Flag:
Code for ATtiny44 Motor Subsystem:
5. Downloadable Files
All the Project Files as an archive (.zip)
6. Conclusions:
What Tasks Have been completed, and what tasks remain?
All tasks related to the project has been completed.
What has worked? What hasn't?
Everything has worked as planned except the material selection for the rotating arm assembly. It wasn't perfectly stable. 1100RPM was too much for acryllic. It worked but the acryllic bent quite alot. This high speed photo explains it well.
I believe changing the material from acrylic to something more rigid should fix it.
What Questions need to be resolved?
Will changing the material on the rotating arm fix the trailing issue?
I believe yes. Everything else has been optimized and iterated on many times to be as perfect as possible.
What will happen when?
I live in Bangladesh and we don't have full fledged fab labs here yet. I will work on improving my work as soon as I can work something out with the local resources that are available here.
For now, I would like to publish this as an instructables on a fitting contest.
What Have I learnt?
I can't even begin to make that list. Throughout this project I learn't so much!
- I learnt how to make Engineering models in CAD softwares. Fusion 360 in particular.
- I learnt how to 3D print and do print tolerance related corrections to get perfect dimensions inspite of material warping/shrinking issues.
- I learnt how Gear transmissions work, how to produce them easily and customize them.
- I learnt how to make custom sized PCB to fit a CAD design
- I learnt how to handle interrupt routines in AVR C, how to optimize code and how to utilize timers.
- I learnt how to make flexible electronics using the Vinyl Cutter.
- I learnt how to use multiple microcontrollers as subsystems to reduce load on eachother.
- I learnt how to make slip rings!
- I learnt how time critical it is to communicate with WS2812b LEDs and what their limitations are.
- I learnt to avoid writing blocking code (like delay)