Geïnspireerd door een misvatting van een "Cupcake CNC", dit project 1-semester Mechatronica is de input van een verf-achtige GUI, stuurt commando's via Arduino en loopt via stappenmotoren op draadstangen.
De software is all-in Python, gebruik van de TKinter. Het zorgt voor de selectie van grootte (tot 11 x 13" rechthoekig), vorm (rechthoek of een cirkel) en de kleur van de taart, dan opent een passende doek met een palet van tips en kleuren. De Python registreert punten in een pad en op de pers van een knoop, zendt het ontwerp over seriële naar twee Arduinos.
Een van de twee Arduinos bepaalt de stappenmotoren (controle threaded staven in X en Y) om te gaan met een constante snelheid tussen de punten in het pad. De andere Arduino loopt een servo in de Z-as, die gebruik maakt van een rek-en-pin zuiger systeem af te zien van glazuur. De servo stopt om op te pikken tussen punten of pauzes voor kleur/mondstuk verandering.
De acryl plaat die houdt van de taart is aangebracht op een moer die op de x-as ankerstang rijdt; de verstrekking mechanisme in de y-as wordt verplaatst. Deze twee assen worden ook geregeld met eindschakelaars, die bestaan uit het zeroing mechanisme. Er is ook een handmatige z-as die beweegt de verstrekking mechanisme aan te passen voor de hoogte van de taart.
Dit product is al het originele werk van vijf leerlingen in een klas aan Franklin W. Olin College of Engineering. Het verscheen in Wired magazine, Gizmodo, en elders. Wij zijn allen alleen maar leren van Python, had ingevoerd om microcontrollers een paar weken eerder, en had alleen een beetje ervaring in de werkplaats. We hebben gemaakt van SolidWorks ontwerp en whiteboard schetsen voltooide project!
U kunt ook het bekijken van onze website, al vanaf 8/2012, de meeste van de inhoud is gemigreerd hier!
Het mechanische systeemHet mechanische systeem werd ontworpen in SolidWorks, met hulp van de machine shop toezichthouders aan Olin College.
De system functies beweging in 3 assen, met CNC controle van zowel de X- en Y-assen, evenals twee onafhankelijke bewegingen in de z-as. De acryl tabel hierboven houdt de taart, die heen en weer wordt verplaatst langs de x-as, terwijl het glazuur mondstuk hoofd in de y-as beweegt. Wij hebben gekozen om elke component verplaatsen in een van de assen te vereenvoudigen het ontwerp en gebruik van minder materiaal. Wij hebben dan een draaiende handgreep waarmee de gebruiker om aan te passen van de machine voor hoogtes variërend van. 5" op 4". We hebben een totale reisafstand van 13" in de x-as en 11" in de y-as.
X-as
We kozen de taart langs de x-as in plaats van de hoofd sproeier verplaatsen omdat wij vastbesloten dat het zou gemakkelijker te veranderen het glazuur als de hoofd sproeier alleen in één as verplaatst. We besloten om de lade schuifregelaars gebruiken als gidsen en een stappenmotor gekoppeld aan een schroef leiden als een middel van het verplaatsen van de taart lineair langs de as. De motor output as blijkt, blijkt de ankerstang, waardoor de moer van de controle (die is gemonteerd op de armatuur van de taart tafel) heen en weer verplaatsen.
Y-as
Terwijl met het glazuur mondstuk stationaire zelfs gemakkelijker om te veranderen van het glazuur of mondstuk tips maken zou, realiseerden we ons dat de cake op beide assen wouldresult in onze nodig een basisgrootte van vier keer de oppervlakte van de taart (omdat we zouden moeten verplaatsen de taart op zodanige wijze dat ons toegestaan om te tekenen op elk deel van het). We besloten om materiaal opslaan en ga met het bewegen van de hoofd sproeier in y. De hele mondstuk hoofd vergadering verplaatst in de y-as, met de dezelfde algemene beweging als de x. De totale reis voor deze as is 11". Dit laat ons toe te trekken langs de hele hoogte van de taart, en houdt van de grootte van de machine naar beneden.
Z-as
De hoofd sproeier beschikt over de hoogte-instelling, waarmee de gebruiker om aan te passen voor verschillende taart maten. De hoofd sproeier beschikt ook over het glazuur verstrekking mechanisme waarbij een servo rijden een zuiger, die is gemonteerd op een rek. Het rek is dan gedreven door de pinion, die op de servo is gemonteerd. De servo blijkt, drijft het de zuiger naar beneden, die op zijn beurt de glazuur uitdeelt. De servo opleidingscyclus glazuur op een ingestelde tarief terwijl de machine loopt, en stopt toe te staan om afzonderlijke lijnen maken. Wanneer we run out glazuur of de kleur moet worden veranderd, reageert glazuur toedieningseenheden zodat de gebruiker dit moet wijzigen. Zodra het glazuur wordt gewijzigd, kan de gebruiker drukt u op een knop te blijven glazuur.
Productie
Terwijl we een paar onderdelen, zoals het handvat, de glazuur dispenser en de ankerstang kochten, werden de overgrote meerderheid van de onderdelen in ons project machinaal in huis. Dit onze kosten laag gehouden, en konden we wijzigingen aan te brengen het ontwerp zoals wij gemeend. Het ontwerp is licht van gewicht, ondanks zijn formaat, omdat we dunne aluminium voor de meeste van onze structuur gebruikt. Hoewel het frame van de base TIG gelast is, kan de rest van het project worden gedemonteerd voor het reinigen of vervoer.
Het elektrische deel van ons project gericht op het beheersen van onze stappenmotoren. We kozen voor een Toshiba TB6560HQ-controller gebruiken om te rijden elke motor. De bron van deze controllers kunnen maximaal 3 versterkers die was zeker hoog genoeg voor het aandrijven van onze motoren. We hadden om te buigen en soldeer de pinnen van de controller om hen goed verbinden met het breadboard. Heatsinks werden ook aangesloten op de controller om te voorkomen dat de controllers uitblazen. We gebruikten 2 controllers, gedreven door een aanbod van 5 volt aangedreven. Beide stappenmotoren gecombineerd afkomstig 4 volt, met een totale lichtopbrengst van 12 V.
ArduinoDe twee Arduinos (breadboardable iduinos) wordt beheerd in unison voor verschillende functies. Arduino 1 PySerial geïnterpreteerd, verzonden vanuit Python en opdrachten via twee pinnen van de logica en twee puls pinnen naar twee stappenmotoren volgens deze opdrachten verzonden. De logica pinnen bepaald de richting van de steppers; de pulse pinnen, hun frequentie van rotatie. Het ook op een derde pin van de logica, die uitgang van een LED en ook Arduino 2 de uitgang. Arduino 2 gecontroleerd de motie van de servo dat afgezien van het glazuur. Het was gecodeerd om langzaam afzien, dan intrekken en reload wacht totdat een knop op het circuit (een invoer pin op de Arduino) werd ingedrukt. De invoer pin op de Arduino 2, uit de Arduino 1 uitgang, was bedoeld om interpretaties ontvangen via PySerial te verzenden via 1 van de Arduino Arduino 2, zodanig dat de glazuur bedeling programmatisch kan worden onderbroken. Deze functionaliteit, kwam echter nooit tot bloei.
Een Arduino parseert afstanden en logica variabelen door de Python GUI via seriële verzonden. Het vertaalt deze signalen in pulsen die werken van de x- en y stappenmotor. De tweede Arduino draait de servo die glazuur op de taart een gestage tempo uitdeelt. Deze tweede ardino wordt gecontroleerd door een pin van de logica op de eerste arduino (aflevering of verstrekking niet) en door zijn eigen controle van de zuiger staat. Zodra het glazuur plunjer is leeggemaakt, de servo trekt en wacht op een druk op de knop wat betekent dat het glazuur heeft zijn reloaded.
De Arduino-code kan worden gevonden hier.
Python GUIGebruikers ontwerpen taarten op een Paint-stijl grafische gebruikersinterface (GUI), en AutoFrost verandert hen in werkelijkheid. Wij hebben onze GUI met behulp van Python en Tkinter geschreven. Aspirant taart decorateurs kunt glazuur kleuren en mondstuk vormen tijdens het opstellen van hun droom cake. Als gebruikers tekenen, wij verzamelen punten gelijkmatig verdeelde tussenpozen en opslaan van hun locatie, kleur en vorm. Wij vervolgens parseren door kleur en mondstuk vorm (de gebruiker wordt gevraagd telkens wanneer die een verandering nodig is) en x-afstand, y-afstand en glazuur-or-not opdrachten verzenden met onze drie motoren.
Python code is te downloaden hier.
Geniet van!
-Karan, Tim, Kelsey, Tara en Ilana