lördag 13 november 2010

Inverterat air hockey

Jag hittade denna pryl, en air-hockey spel där själva pucken blåser ut luft, på nätet en dag men tyckte som vanligt det verkade roligare att bygga en egen. Jag använde mig av en borstlös motor med fartkontroll och propeller för modellflyg och satte inuti en matlåda.


För att styra fartkontrollern behövs en pwm puls på mellan 1-2ms i 50Hz och det genererar jag från en pic12f675. För att kontrollera denna har jag kopplat in en IR mottagare som ger en signalen avkodas i samma processor, just nu avkodas Phillips RC5 och man ställer in farten på motorn i setg mellan 0-9.



Tyvärr är nog min design inte så hållbar för en riktigt air-hockey match, men pucken svävar på en luftkudde och har inga problem med springorna i golvet iallafall. Dock så får den ganska mycket spinn som man kan se på videon nedan.


söndag 22 augusti 2010

Min första applet till GNOME Panel

På jobbet förra veckan tyckte jag det skulle vara bra att på ett enkelt sätt få en indikation om t.ex. en kompilering av vårt system hade gått fel. Jag sökte därför efter en applet till GNOME Panel som reagerade på en ändring av en textfil. Som tur är hittade jag ingen så jag fick istället möjlighet att lära mig att skriva en sådan applet. I helgen knåpade jag ihop en första version som nu ligger på google code: https://code.google.com/p/gnome-panel-file-change-notifier/.

När appleten läggs till startas en tråd som med inotify väntar på en ändring av en XML fil . Då filen den ändras (eller appleten startas) plockar den ut information ur den och presenterar i appleten.


Man kan även från filen välja att texten skall blinka vid uppdatering och välja en ikon att visa genom attribut i XML filen.

söndag 14 februari 2010

Första bilderna på nya fräsen

Nu har jag fått hem den nybyggda fräsen, från Torkels förråd till golvet här hemma (vilket inte är så populärt...). Men den blev riktigt stabil och det mesta funkar fint, lite kvar för att smidigt finjustera in alla koordinater. Missade detta totalt på en av mina tester, så den skar rakt igenom en pcb och ner i plattan, men fräsen hade inga problem att tugga sig igenom.


Har köpt en gravyrfrässats för att få tillräckligt små dimensioner för att fräsa kretskort, men även de kan nog vara för stora, i så fall får jag nog hoppas på att kretskortsborren jag har klarar av de sidokrafter som det blir i denna fräs.


Själva fräsen har jag lånat av Torkel eftersom den jag hade är alldeles för klen. Infästningen av den är en uppborrad vinkelbeslag vilket blev väldigt stabilt.


Till sist kommer också en videosnutt...


söndag 7 februari 2010

SketchUp till GCode

I helgen började jag och Torkel bygga en ny fräs från grunden, min förra var mest ett test för att testa konceptet. Det har gått ganska bra men vi är inte riktigt färdiga än, så bilderna får vänta lite.

Medan vi höll på att bygga kom vi fram till att för att lätt kunna bygga en modell och få den utfräst behöver vi få till ett smidigt sätt att gå från t.ex. Google SketchUp till GCode. Jag sökte lite på detta under söndagskvällen men hittade inte bra program, så då fick jag snickra ihop ett eget.

I Google SketchUp gjorde jag denna testmodell:


Med ruby script och Google SketchUp's API kan man för en viss bildpunkt få fran en 3D punkt vilket gör det hela blev ganska enkelt; jag stegar igenom hela min "view" och för varje bildpunkt får jag ut en 3D position . I nuläget kräver det att vyn man skall generera GCode för är sedd ovanifrån:


När jag sedan kör mitt script så genereras en gcode fil som går att läsa in i mitt program jag tidigare skrivit om, det ser då ut såhär:



Det är fortfarande en del finjusteringar kvar, men jag tycker nog att jag lyckats få till ett ganska smidigt sätt att föra över en modell till en 3D fräs.

söndag 31 januari 2010

Program för styrning av fräs

Nu har jag uppdaterat min styrkrets så att den kan hantera g-code, eller åtminstone två av kommandona ("G00" och "G01"). Detta format går nämligen att generera från eagle och man får då koden som styr positionen av fräsen.

För att se vad som kommer att fräsas har jag skrivit ett litet java program som läsen in en sådan här fil innan den skickar ner den till styrkortet. På bilden nedan ser man en skärmdump som visar att jag kan markera vilka kommandon som skall skickas ner till fräsen, och även visar grafiskt vilken del av fräsningen som är markerad (det som visas med blåa linjer).

Tyvärr har jag fortfarande inte fått fast något fäste för fräs ovanför skivorna, men jag har testat med en blyertspenna vilken var väldigt svår att hålla stadigt i. Videon nedan visar körningen av programmet som är markerat ovan.


tisdag 26 januari 2010

Början till en datorstyrd 3D fräs

Nu när det är kallt ute har jag dragit mig från att åka till admittansen i Ryd för att etsa nya kretskort, därför tyckte jag det vore smart att smidigt kunna fixa dem hemma istället, men helst utan kemikalier. Så jag bestämde mig för att försöka göra en datorstyrd 3D fräs.



Än så länge har jag lyckats koppla ihop bottenplattan som nu kan röra sig i två dimensioner. Det är två spånskivor som topp och botten, och en masonitskiva i mitten för att stabilisera de fyra expansionsbeslagen (från Clas Ohlson) som sitter vinkelräta mellan skivorna. För att flytta skivorna är de fastsatta med muttrar på gängade stänger som är kopplade direkt på varsin stegmotor.



Jag hoppas snart kunna få till z-led också eller åtminstone någon stabil fästanordning över plattan för att fästa en fräs eller liknande så jag kan fräsa mitt första kretskort.


På datorn kör jag ett javaprogram som skickar stykommandon ner till processorn som styr stegmotorerna, än så länge får Javaprogrammet ta hand om rörelser utöver enbart x eller y-led, men jag kommer nog göra så styrkortet även klarar diagonala linjer för att få smidigare rörelser.

söndag 10 januari 2010

Fjärr till Nikon D90

I mellandagarna köpte jag en systemkamera, Nikon D90, som jag nu har byggt en fjärr till. Jag använde mig av en ytmonterad pic12f675 med intern oscillator. De enda övriga kompomenterna är tryckknapp, 2 motstånd, en transistor och en IR diod. Man kan klara sig utan transistorn, men då får man inte lika mycket effekt ur dioden och räckvidden minskar därefter.



Frekvensen på signalen är på 38.4kHz, 26 cykler i 1MHz, och information om utseendet hittade jag här.


Fjärren är framförallt för att ta kort från avstånd, men den gör det också lättare att ta flera kort från exakt samma position, ifall man vill göra en sekvens med ett kort varje minut osv. För min kamera gör den också så att jag kan ta kort med slutartider upp till 30min istället för 30sek, då funkar den så att jag öppnar med första trycket och stänger med andra.

Jag tänkte även testa att göra om koden så att fjärren även funkar på Canon kameror. Jag har även funderingar på en automatisk timer utlöst version, där man kan välja intervall mellan korten.