What will it do?
The goal for my project is to reduce the workload on people running facilities like FabLabs by automating the dispensing and stock monitoring of small components.
Who's done what beforehand?
I got the inspiration for this when visiting the Roland factory during Fab9, The assembly stations used streamlined the process of finding the appropriate part and reduced error rates significantly, additionally it made stocktaking of components easy.
What materials and components will be required?
I have tried to design the main mechanical assembly to require a minimum number of 'vitamins' that cannot be digitally fabricated. I have opted to use 608ZZ skate bearings in my initial design as I encountered issues with the free movement of bushings when the dispensing rotor was supporting the weight of the full column of batteries.
Where will they come from?
Most materials are readily available from a large number of suppliers, I have manufactured my prototype using the following suppliers:
Australian Sheet Traders is a local wholesaler of polymer, wooden and composite sheeting. AST also supplies a significant range of polymer products such as rod, tube and specialty extrusions.
Bunnings is a large Australian hardware chain owned by Wesfarmers, it has become the ubiquitous source for most small supplies even if its prices are a bit inflated. Should I manufacture larger quantities of the module I would likely abandon Bunning and switch to a polymer feedstock from AST.
3D Printing Systems
3DPS are the regional supplier of the PP3DP 'Up' branded 3D printers as well as the feedstock for them. We make extensive use of the PP3DP branded ABS filament as we have found it to be of very reliable quality
VXB is a United States based supplier of bearings that has proven to be significantly cheaper than local suppliers, shipping times are an issue however we tend to keep stock of some standard bearing sizes such as the 608.
Searle Fasteners is a local fasteners supplier that has to be one of my favourite shops in existence, run for many years by the Searle family it's a bit eclectic but they will genuinely have every bolt you can think of and a whole lot more.
HobbyTech are the local hobby shop, just down the road from the FabLab (and not the Australian 'you need to drive for 2 days' just down the road, its about 800m.) they stock a full assortment of servo motors, horns and bits and pieces handy for making small things move under computer instruction.
If DigiKey don't stock it, then you really know its a rare part. DigiKey are a multinational electronic parts distributor that have one of the best ranges out there. Shipping times to Australia can be a problem so I tend to use local suppliers for things I need urgently but their range cannot be beat.
Altronic Distributors is an Australian electronics distributor that tends to have most common parts in stock for prices comparable to most online suppliers, they don't carry the range of the likes of DigiKey but if I want a lot of something fast I can usually count on Altronics.
What Farnell calls itself these days since they decided to try and be trendy. Element14 is the cheapest way to get a Raspberry Pi in Australia (to my knowledge), Altronics sells them but at a we've-got-a-bricks-and-mortar-store markup.
How much will it cost?
Ideally I would like to keep the cost per module below $20AUD.
|Item||MOQ||Per Module||Modules / MOQ||MOQ Cost||Per Module Cost||Source|
|⌀40mm Wooden Dowel||3m||100mm||30||AUD$60||$2.00||Bunnings|
|⌀1.75mm ABS 3DP Filament||700g||65g||10||AUD$70||$7.00||3DPS|
|608ZZ Skate Bearing||10||2||5||AUD$7.37||$1.48||VXB|
|M4x10 Bolts||4||4||1||AUD$0.80||$0.80||Searle Fasteners|
|Standard Servo Motor||1||1||1||AUD$5||$5.00||HobbyTech|
|2 Row SMD Pin Header||40||6||6||AUD$5.10||$0.85||Altronics|
|10KΩ 1206 Resistor||100||1||100||AUD$1.85||$0.0185||Digikey|
|Red LED (1206)||100||1||100||AUD$22.36||$0.2236||Digikey|
|FR1 PCB Blank||1||0.25||4||$AUD3.80||$0.95||FabLabWgtn|
|Raspberry Pi Model B+||1||See Note||222||AUD$32.49||$0.30||Element14|
|Note:||1 RPi has 2 I2C ports each capable of addressing 111 modules (assuming you want to conform to the spec).|
What will be made & what processes will be used?
The dispensing rotor is manufactured using a 4-Axis CNC machining centre, I have used the Roland MDX-40A. I chose to mill this component in lieu of 3D printing as there is the potential for significant loads to be placed on the component when the hopper is filled with batteries.
The hopper is fabricated using a set of lasercut panels that assemble using without the use of any fasteners, each joint has a small dogleg holding the assembly together.
My original prototype had a simple finger joint arrangement with the whole assembly held closed at the bottom by a friction fit into the main assembly and at the top with a pair of M3 bolts. This prototype failed when the mass of the batteries forced the sides of the hopper apart, the rigidity of the acrylic sheet was not sufficient to hold its shape.
The pillow blocks supporting the dispensing rotor are manufactured using a 3D printer, they have been specifically designed to minimise the need for support material and to easily fit both blocks and the shaft coupler on a single PP3DP UP print bed.
The shaft coupler connecting the hobby servo spline to the hexagonal drive shaft of the dispensing rotor is designed to be 3D printed on a standard FFF printer. The first version of this coupler relies solely on the tight friction fit on the servo spline to stay in position. The second version uses the servo horn retaining bolt installed through the hole for the hexagonal drive shaft to more reliably tie the coupler to the servo motor.
What tasks need to be completed?
For FabAcademy I would like to have a proof of concept device with both a controller module and a single dispenser module.
- Build proof of concept dispenser module
- CNC Mill Rotor
- 3D Print Pillow Blocks
- Lasercut Hopper Walls
- Test Fits & Tolerances
- Assemble and test dispensing action
- Confirm Part Dispensed using Sensor
- Test basic TWI comms from RaspberryPi
- TWI Probe using system I2C tools
- TWI Send to Slave using Python
- TWI Get data from Slave using Python
- Build RESTful Interface
- Test Python REST framework, get response using curl.
- Test sending of TWI packet using RESTful interface.
- Vend a component using the RESTful interface.
- Autodiscovery of modules
|Done||Work In Progress||To Do||Would Be Nice||Triaged|
What questions need to be answered?
- Will this make a lab manager / technicians life easier?
- Will the community be interested enough to develop more modules?
- Can the selected technologies scale sufficiently?
What is the schedule?
I've broken my schedule up into Tuesdays as this is the regular review session with both my fellow FabAcademy students at FabLabWgtn and with out regional reviewer Francisco
- Mechanical design completed, only tweaks for manufacturability from this point on.
- Prototype Completed, capable of vending components automatically using local (UART) instruction to an attached microcontroller.
- Software prototyped, should be capable of comms and responding to REST requests.
- Software and Hardware fully integrated, documentation completed.
How will it be evaluated?
I intend to evaluate the project by installing it in my lab initially and testing out the ease of use and how effective it is in maintaining stock levels.
Assuming it works as intended I would then like to seek out some willing FabLabs to act as test subjects and work on improving both the range of available dispensing modules and the software interface.