AutoFrost CNC tårta dekoratör
Inspirerad av en missuppfattning av en "Cupcake CNC", 1-termin mekatronik projektet tar input från en Paint-liknande GUI, skickar kommandon via Arduino och körs via stegmotorer på gängade stavar.
Programvaran är alla i Python, använder TKinter. Det gör för val av storlek (upp till 11 x 13" rektangulär), form (rektangel eller cirkel) och kaka färg, sedan öppnar en lämplig duk med en pallette tips och färger. Python registrerar poäng i en sökväg och genom att trycka på en knapp, skickar design över följetong till två Arduinos.
En av de två Arduinos kontrollerar stegmotorer (kontrollera gängade stavar i X och Y) att flytta med en konstant hastighet mellan punkter i sökvägen. Andra Arduino körs ett servo i Z-axeln, som använder en rack-och-stifts kolven system för att fördela glasyr. Servo stannar för att plocka upp mellan punkter eller pauser för färg/munstycke förändring.
Akryl plattan som håller kakan är fastsatt på en mutter som rider på x-axeln gängstång; doseringssystemet flyttar i y-axeln. Dessa två axlar styrs också med gränslägesbrytare, som omfattar œcleanâ mekanismen. Det finns också en manuella z-axeln som flyttar doseringssystemet justera för höjden av kakan.
Denna produkt är allt original arbete med fem elever i en klass på Franklin W. Olin College of Engineering. Det var med i tidskriften Wired, Gizmodo och annorstädes. Vi var alla bara lärande Python, hade introducerats till mikrokontroller några veckor tidigare och hade bara lite erfarenhet i verkstaden. Vi gjorde det från SolidWorks design och whiteboard skisser till färdiga projektet!
Du kan också visa vår webbplats, om 8/2012, det mesta av innehållet har migrerats här!
Det mekaniska systemetDet mekaniska systemet utformades i SolidWorks, med stöd från verkstad handledarna på Olin College.
System funktioner rörelse i 3 axlar, med CNC-kontroll av både X- och Y-axlar, samt två oberoende rörelser i z-axeln. Akryl tabellen ovan håller kakan, som flyttas fram och tillbaka längs x-axeln, medan glasyr munstycke huvudet rör sig i y-axeln. Vi har valt att göra varje komponent flytta i en axel att förenkla designen och använda mindre material. Sedan har vi en roterande handtag som gör att användaren kan justera maskinen för höjder alltifrån. 5" till 4". Vi har en total resa sträcka på 13" i x-axeln och 11" i y-axeln.
X-axeln
Vi valde att flytta tårtan längs x-axeln i stället för munstycke huvudet eftersom vi bestämde att det skulle vara lättare att byta ut glasyr om munstycket huvudet flyttade bara en axel. Vi beslutade att använda lådan reglagen som guider, och en stegmotor kopplad till en bly-skruv som ett sätt att flytta tårtan linjärt längs axeln. Motor utgående axel visar, visar det gängstång, som orsakar kontroll muttern (som är monterad på fixturen på tårta tabellen) för att flytta fram och tillbaka.
Y-axeln
Medan med glasyr munstycket stillastående skulle göra det ännu enklare att ändra glasyr eller munstycke tips, insåg vi att flytta tårtan i båda axlarna wouldresult i vår behöver en bas storlek av fyra gånger av kakan (eftersom vi skulle behöva flytta tårtan på ett sätt som får oss att dra på varje del av den). Vi beslutade att spara material och gå med rörliga munstycke huvudet i y. Den hela munstycke huvudet församlingen flyttar i y-axeln, med samma allmänna rörelse som x. Den totala slaglängden för denna axel är 11". Detta tillåter oss att rita längs hela höjden av kakan och håller storleken på maskinen.
Z-axeln
Munstycke huvudet har höjdjustering, som tillåter användaren att justera för olika kakor storlekar. Munstycke huvudet har också glasyr doseringssystemet som innebär ett servo som kör en kolv, som är monterad på ett rack. Racket drivs då av pinjong, som monteras på servo. Som servo visar, kör det kolven nedåt, vilket i sin tur doserar glasyr. Servo avstår glasyr på en uppsättning takt medan maskinen är ritningen, och stannar för att kunna göra separata linjer. När vi slut på glasyr eller färgen behöver ändras, glasyr stoppar utlämning för att tillåta användaren att ändra den. När glasyr ändrats, kan användaren trycka på en knapp för att fortsätta glasyr.
Tillverkning
Medan vi köpte några delar, som handtag, glasyr fördelaren och gängstång, var de allra flesta av delarna i vårt projekt bearbetas i huset. Detta hållit våra kostnader nere, och tillät oss att göra ändringar i designen som vi ansåg lämpligt. Designen är lätt, trots sin storlek, eftersom vi använt tunn aluminium för de flesta av våra struktur. Ramen för basen är TIG svetsade, kan resten av projektet kan demonteras för rengöring eller transport.
Den elektriska delen av vårt projekt inriktade på att kontrollera våra stegmotorer. Vi valde att använda en Toshiba TB6560HQ controller för att driva varje motor. Dessa styrenheter kan anskaffa upp till 3 ampere som var definitivt tillräckligt hög för att driva våra motorer. Vi var tvungna att böja och löda stiften om ledaren ordentligt vill ansluta dem till en skärbräda. Kylflänsar fästes också den registeransvarige att förhindra att registeransvariga blåser ut. Vi använde 2 controllers, driven av en 5 volt drivs leverans. Både stegmotorer kombinerat råvaror 4 volt, med en sammanlagd effekt på 12 V.
ArduinoenDe två Arduinos (breadboardable iduinos) drivs gemensamt för olika funktioner. Arduino 1 tolkas PySerial, skickas från Python och skickas kommandon över två logik stift och två puls stift till två stegmotorer enligt de kommandona. Logik stiften fastställs riktningen av steppers; puls stiften, deras frekvens av rotation. Det även utgång på en tredje logik pin, som utgång till en LED och även till Arduino 2. Arduino 2 kontrollerad rörelse i servo som doseras glasyr. Det var kodade för att långsamt avstå från, sedan tillbaka och paus för reload tills en knapp på banan (en ingångsstift till Arduino) trycktes. Ingångsstift på Arduino 2, från Arduino 1 utgång, syftade till att tillåta tolkningar fick över PySerial skicka via Arduino 1 till Arduino 2, så att den glasyr dispens kan pausas programmässigt. Denna funktionalitet, kom dock aldrig att förverkligas.
En Arduino analyserar avstånd och logik variabler skickas av Python GUI över följetong. Det översätter dessa signaler till pulser som verkar x och y stegmotor. Andra Arduino körs servo som doserar glasyr i en stadig takt på kakan. Denna andra ardino styrs av en logik pin på första arduino (dispensering eller inte dispensering) och av egen övervakning på kolven stat. När glasyr kolven har tömts, servo drar upp och väntar på en knapptryckning vilket innebär att glasyr har varit reloaded.
Arduino koden kan hittas här.
Python GUIAnvändare utforma kakor på en Paint-stil grafiskt användargränssnitt (GUI) och AutoFrost förvandlar dem till verklighet. Vi har skrivit våra GUI med hjälp av Python och Tkinter. Blivande cake inredare kan styra glasyr färger och munstycke former under utarbetandet deras dream cake. Som användare dra, vi samla poäng med jämnt fördelade intervall och lagra deras placering, färg och form. Vi då tolka genom färg och munstycke form (att användaren tillfrågas varje gång en förändring krävs) och skicka x-avstånd, y-sträcka och glasyr-eller-inte kommandon till våra tre motorer.
Python-koden finns att hämta här.
Njut!
-Karan, Tim, Kelsey, Tara och Ilana