Stap 5: Software
De Big Ticket
De ongelukkige deel van elk project van elektronica is hoe om te praten met uw machine. Ik bedoel... je zou kunnen met het praten en zoete woordjes zeggen maar zul je niet krijgen geen resultaten. Net als praten met die hete meisje aan de bar, zal ze u negeren totdat je weet hoe de juiste gesprek knoppen duwen. Haha.
Hoe dan ook. Snelzoeken op Google onthult een zwenking van propriëtaire software die werkt op eigen hardware die zijn belachelijk duur. Er is het OpenPnP-project, maar ze hoeven niet elke eindgebruiker pakketten nog voor uw gebruik! En zoals ik voorstellen kunt, vergt het nog sommige tweaken en handmatige ingangen om het lopen te krijgen.
Dus de oplossing...
Bouw een gcode dripper programma dat de waarden van de juiste positie stuurt. Ik weet dat het klinkt ontmoedigend op eerste maar zijn niet vreselijk moeilijk.
Er zijn twee wegen die u kunt nemen die ik ben bezig nu. Dus heb ik niet te veel informatie voor u tot nu toe.
Handmatige GCode
Lijst van alle de posities nodig en zelf een hand geschreven algoritme te bouwen. Het zou gaan iets als dit:
- nul van de machine
- Til mondstuk hoofd
- Ga naar onderdeel reel
- intrekken van de tape om de component (drop mondstuk, tape verplaatsen, heffen mondstuk)
- verplaatsen boven component op haspel
- drop-mondstuk
- Zuig inschakelen
- mondstuk verhogen
- verplaatsen naar bestuur
- lagere mondstuk
- Zuig uitschakelen
- Herhaal vanaf stap 2 voor alle componenten
Bouwen van een programma
Ik heb een zeer zeer zeer rudimentaire Java programma gebouwd (Waarom Java? Ik bouwde dit programma vorig jaar voor een ander project en waarom opnieuw iets wanneer u iets dat werkt al?) dat haalt een paar dingen:
- seriële communicatie met hellingen
- infuus opdrachten over seriële
- kalibratieroutine verplaatsingssnelheid controleren
- uitlijning routine van tape rollen
- handmatige invoer
- Voer een geprogrammeerde tekstbestand met alle andere geautomatiseerde functies
De geprogrammeerde tekstbestand vergt elke regel met code te bevatten van de 4 elementen, de rest van de routine is opgevangen in het java-programma. De basis-formaat van het bestand bevat een functie, x-coördinaat, de y-coördinaat, en de rotatie. Bijvoorbeeld, "1 X100 Y100 S0" zal vertellen het programma te halen van een component op positie 1, plaatst u deze op (100,100) en 0 graden draaien. De rotatie gedeelte zal op een later moment worden uitgevoerd, zoals ik heb plannen om te installeren een servo op de z-as te draaien van de zuigpijp.
Er is een zipbestand waarin het pakket NetBeans. Het programma is verre van gepolijst, maar de core-mechanica zijn er en het is zwaar gedocumenteerd. Iemand die ten minste een eenvoudige cursus heeft genomen in computerprogrammering zal zitten kundig voor stap door de methoden logisch en volledig. Ik moet echter toegeven dat sommige gedeelten van de code gooien fouten en de tekstnavigatie is een beetje buggy en niet correct stromen, maar dat is wat je krijgt van een student die slechts één semester van computerprogrammering heeft. Haha. Ik geef slechts dat de mechanica van de kern werken en ik krijgen kan om te werken aan mijn project. Als ik tijd dit aankomende semester ik zal werken en proberen te ontwikkelen van een betere tekst gebaseerde eindproduct dat is vriendelijker aan de minder geneigd computer hebt.
De belangrijkste reden voor het posten van het omhoog is te zien als een voorbijganger bereid is te nemen een kijkje... en Umm... misschien helpen me out of enkele constructieve feedback geven meer dan "hey dude... Hoe krijg ik dit ding aan het werk?"