A következő címkéjű bejegyzések mutatása: 3D megmunkálás. Összes bejegyzés megjelenítése
A következő címkéjű bejegyzések mutatása: 3D megmunkálás. Összes bejegyzés megjelenítése

2017. augusztus 26., szombat

Pen Plotter 4 - InkScape/KiCAD munkamenet rajzoláshoz

A plotter első tesztje (ez it)



a következő munkamenettel készült:
Rajzoltam egy spirált az InkScape-ben, elmentettem DXF-ként és a DXF2GCODE programmal átkonvertáltam
https://sourceforge.net/projects/dxf2gcode/
Kipróbáltam néhány gcode küldőt, de végülis a Raspberry Pi/Ubuntu/Octoprint kombónál maradtam, amivel eléggé tisztában vagyok a 3D nyomtató miatt.
A fenti munkamenetnek van néhány baja:
  • Képtelen megfelelő skálázást produkálni. Azt nem tudom, hogy csak az én bénaságom, vagy a szoftverek baja.
  • A DXF2GCODE inkább hasonlít egy CAM szoftverre mint egy plug and play konverziós megoldásra. A plotternek sokkal egyszerűbb G code-ra van szüksége mint egy CNC marónak. Az a lehetőség, hogy marófejekkel, zsebekkel, stb. dolgozzunk itt teljesen felesleges.
  • Van egy vonal a plotter kezdőpontja és az ábra kezdőpontja között aminek nem kéne ott lennie. Ezt nem a munkamenet okozza, de erre majd visszatérek később.
Ezen a ponton elkezdtem másképp hozzáálni a feladathoz. A DXF egy mechanikai CAD formátum, tehát nem igazán tollas plotterekhez tervezték, ugyanakkor a HPGL kifejezetten a HP tollas plottereinek a nyelve.
Elkezdtem keresni egy programot ami a HPGL-t G code-á alakítja. Találtam néhány konvertert. Egy sem felelt meg a céljaimnak. A nagyja képtelen volt a HPGL AA íveit G2, G3 ívekké alakítani. Ez a konverzió feltételez némi trigonometriai tudást. Úgy látszik ezt néhány programozó nem tudta megugrani. Néhány próbálkozás után feladtam, hogy valami kész megoldást használjak.
Tehát írtam egy konveretert. Megtalálható a plotter github reojában:
https://github.com/sufzoli/suf-3D-Plotter/tree/master/SW/Hpgl2Gcode
Még vannak hiányosságai mint a hiányos hibakezelés vagy az útvonal optimalizáció hiánya, de teszi a dolgát.
Most nézzük meg, hogy működik a munkamenet.
Az eredeti rajz:


Először is a rajz objektumait útvonalakká (path) kell alakítani, másképp nem jelennek meg a HPGL fájlban:


Ha ez kész van elmenthetjük HPGL-ként:



Most jön a trükkös része:
Az InkScape HPGL mentés ablaka kivágó plotterhez tartalmaz alapbeállítáűsokat ami itt nekünk nem jó. Ezért a nagyját meg kell változtatni az alábbiak szerint:

 

Most átkonvertálhatjuk G code-á.
Két különböző beállítást használtam. Az ok, hogy a plotter M280 P0 S50 parancsot használ a fej felemeléséhez és M280 P0 S0 parancsot a letevéséhez.
A szokásos CNC marók G1 parancsot használnak a Z irány mozgatásához. Az elterjedt G code szimulátor a CAMotics nem tudja értelmezni az én toll magasság vezérlő parancsaimat így a szimulációra lecseréltem ezeket G1 Z5 F50-re és G1 Z-2 F50-re:


Az eredmény a szimulátorban:


Jól néz ki, csináljuk meg a plotterhez is:


Mint látható a PenUp és PenDown paraméterek hiányoznak. Az oka, hogy ezek az application config-ban kerültek elhelyezésre.
Ezek után feltöltöttem a fájlt az Octoprintre és kiküldtem a plotternek. Az eredmény katasztrófális. Rajzolt egy két centis szaggatott vonalat a plotter kezdöpontjából kiindulva az ábra kedőpontja felé, majd lerajzolta az egész ábrát a levegőbe (toll felemelve).
Az első pillanattól kezdve tudtam az okot. Ez azonos a korábban említett problémával (vonal a plotter kezdőpontjától a spirál kezdőpontjáig). A G code-ok nem sorrendben hajtódnak végre.
Tudom a Marlin firmware-ről, hogy bizonyos parancsok sorban, más parancsok viszont soron kívül hajtódnak végre. Néhány órán keresztül olvasgattam a Marlin forráskódját, hogy megtaláljam, hogyan lehet ezt a viselkedést megváltoztatni. Sikertelenül. Feladtam ezen a ponton és megkérdeztem a Marlin fórumon.
A válasz sokkal egyszerűbb mint gondoltam. Ha kiteszünk egy M400-as parancsot (vár a korábbi parancsok befejezésére) a soron kívüli parancsok elé az megoldja a problémát. Még a kódon sem kellett változtatnom, a toll vezérlő parancsaim a konfigurációs fájlban vannak.
Az egyetlen szükséges trükk a töbsoros szöveg kezelése a .Net konfigurációs fájlban. Tehát a paraméter most valahogy így néz ki:
M400
M280 P0 S0

És végül az eredmény:


A monverter amit írtam a KiCAD HPGL kimenetét is kezeli. Egyenlőre csak rajzolásra használható és nem nyák marásra. Ez majd később jön.

2015. május 31., vasárnap

CNC Motor meghajtó 10. - Logikai tápegység

Tegnap beforrasztottam az alkatrészeket. Észervettem három hibát amit elkövettem:
  • Nagyobb csatlakozókat terveztem mint szerettem volna. Tehát 3,96 mm-es osztású csatlakozóim lesznek a 2,54 mm-es helyett.
  • Másfél miliméteres lyukakat fúrtam a kettesek helyett. Ez könnyen orvosolható.
  • Van egy plusz LC szűrő az áramkör kimenetén. Ebbe 100uF/6,3V-os B méretű tantálkondenzátort terveztem, de 100uF/10V-os D méretűt vettem. Gondolkoztam. Az, ha most nem forrasztok ide semmit, meggátolja, hogy kipróbáljam az áramkört? Nem. Tehát, hogyom így és hétfőn veszek új kondenzátort.



Ahogy befejeztem az építést, tesztelni akartam. Kifejezetten a generált zajra voltam kíváncsi.
Miután a kimeneti szűrőben nem volt kondenzátor, ráforrasztottam egy öreg elkót a tesztelésre használt 470ohmos ellenállásra, és megpróbáltam megmérni a zajt.



Olyan alacsony volt, hogy elveszett az oszcilloszkóp álal felszedett környezeti zajban.


És végül, a kimeneti feszültség azt hiszem elég pontos.


2015. május 29., péntek

CNC Motor meghajtó 9. - Vegyes dolgok

Az elmúlt hetekben a project nem nagyon haladt a project előre, de néhány dolog történt körülötte, amiről írni akarok.

Logikai Tápegység
Időközben terveztem egy teszt áramkört/panelt a kisfeszültségű dolgokhoz. A uC, a mérőerősítők, és a kijelző 3,3V-ról megy (eredetileg 5V-os üzemre terveztem, de a kijelző amit használok, nem alkalmas erre). Ez a tápegység végülis nem olyan olcsó, mint szerettem volna. Az tiszta volt, hogy egy kapcsolóüzemű tápra van szükségem, és egy olyan IC-re ami képes "nagyfeszültségű" bemenetet kezelni. Tudom, hogy az a párszáz miliamper nem túl sok, és az egész áramkör hálózatról megy és nem elemről. Erre egy jó megoldás lenne egy három lábú alap stabilizátor, vagy egy LDO, de...
Mindíg az a fránya de.
Az egész áramkör 48V-ról megy. Ha csak 100mA-t fogyaszt egy analóg szabályozóval az 4.47W hőtermelést jelent. Továbbá ezeket a szabályozókat nem 48V-ra tervezték.
Tehát a döntés, hogy marad a HV jelzésű buck szabályozó. Specifikusan a TI LM2594HV-3.3 modelt választottam.
A köré tervezett áramkör:


A tesztpanel:


Az elkészült nyák (beültetés később):


uC megérkezett
Amikor elkezdtem dolgozni ezen a projecten a Nuvoton M054LDN vezérlőjét választottam hozzá. Ebben 16+4K FLASH van, ami elégnek tűnt. Van egy M0516LDN fejlesztőkészletem, ezen kezdtem el írni a kódot. Ahogy a project előrehaladt egyértelművé vált, hogy nem fér bele a 16K-ba. Ennek alapvetően két oka van: a kijelző karaktertáblája és a PID vezérlő által használt lebegőpontos könyvtár.
És itt jön a probléma. A helyi forgalmazónál csak az M054LDN-t és az M0516LAN-t találtam raktáron, az M0516LDN-t nem. Az A helyett a D-nek itt van jelentősége. Ez az eszköz reviziója. Egyéb változások mellett a D revizió SPI-je rendelkezik egy FIFO bufferrel, amit kiterjedten használok a kijelző meghajtóban, és nem akarom kidobni.
Körülnéztem és az AliExpress-en megtaláltam amit kerestem.
Meg is érkezett:


BEMF
Volt néhány megjegyzés a project Hackaday.io lapján Andrew-tól és Hacker404-től arról, hogy szenzor nélküli méréshez egy általánosabban használt megközeítést a Back Electromotive Force mérését kellene használni. Itt van két cikk ami ezt tárgyalja:
Annak ellenére, hogy úgy döntöttem maradok a jelenlegi irányvonalnál, úgy gondolom, hogy ezt mindenképp érdemes lenne kipróbálni.
Összegyűjtöttem a BEMF előnyeit és hátrányait az én megközelítésemmel szemben:
+ Sokkal egyszerűbb áramköri megoldásra van szükség a vezérléshez és a méréshez
+ Alacsonyabb frekvencián működhet a PWM ami csökkenti a kapcsolási veszteséget  és növeli a felbontást (Ugyanazzal a uC-vel 10kHz-en a teljes tartományt 2500 lépésre lehet osztani a jelenlegi 250 helyett)
- Pontatlanabb mérés. Több tényező csökkenti a pontosságot (zaj, mérés időzítés, kalibráció szükségessége)
- Végfelhasználói kalibráció szükségessége. Az én metódusommal, csak a kommutátor szegmensek darabszámát kell meghatározni és készen vagyunk. A BEMF-nél, a teljes fordulatszám tartományon végig kell menni és meghatározni a különböző fordulatszámokhoz tartozó feszültségértékeket.
- Zajosabb működés. Egy motor kisfrekvenciás négyszögjelről táplálva több zajt termel, mint tiszta egyenáramról táplálva.
- Nem lehetséges 100%-os kitöltési tényező használata - valahol mérni kell.
Mindazonáltal, azt hiszem érdemes kipróbálni ezt a metódust is amint végeztem a jelenlegivel.

2015. május 25., hétfő

CNC Motor meghajtó 7. - Újabb nyeremény!!!


Úgy látszik, hogy a Hackaday.io zsűrije kedveli a projectemet. Egy újabb hét telt el és ény újra a nyertesek között vagyok. Kaptam egy $50-os utalványt a Shapeways-hez tőlük. Gondolkodom, hogy mire lehetne felhasználni. Miután a 3D nyomtatóm még mindíg betegeskedik, okosan kell elköltenem.
Ahogy Mike Szczys a Hackaday írta:
"I hope you'll use for your Hackaday Prize build"
Gondolkoztam. mi lenne hazsnálható, kifejezetten a projectemhez. Végül eldöntöttem. A vezérlőm a CNC maró eredeti vezérlődobozába kerül. Miután az némi fémmunkát igényel, hogy a kijelzőt beszereljem, és a fémvágáshoz olyan kézben tartott szerszámot fogok használni mint a Dremelem, ez nem fog valami szép éleket produkálni. Ezt valahogy el kell takarni. Tehát tervezek és rendelek egy műanyag keretet, amitől a fémmunka után jól fog kinézni az egész.
És végül, újra: Bíztatok mindenkit akinek brilliáns project ötlete van, hogy építse meg és ossza meg a Hackaday.io-n. Nem fogod megbánni. Jó neked, jó a közösségnek.

2015. május 5., kedd

CNC Motor meghajtó 5.

Azt terveztem, hogy megépítem a motor meghajtót azon a hétvégén, de ez sajnos nem következett be. További egy hétig tartott. Amiről itt írni akarok, hogy a motor meghajtóval együtt, új mérőáramkört is terveztem. Ez nem csak a fordulatszámot, hanem az áramot (ez benne volt eddig is, csak nem teszteltem) és a motor feszültségét is méri. Ezen túl belekerültek a korábban kihagyott védődiódák valamint egy konfigurálható ötödrendű aluláteresztő szűrő, hogy tesztelni tudjam a végső tervhez.

A kapcsolási rajz:

A nyák terv:


Az első hétvége eredménye - a panelek kimaratva, az alkatrészek összeszedve:


Egy héttel később - a panelek méretre vágva és beültetve:


A következő feladatok (nem feltétlenül ebben a sorrendben):
  • E két panel tesztelése
  • Panel tervezés és építés a processzornak és a kijelzőnek
  • Plusz szűrő a szabályozható egyenfeszülséghez
  • Megtervezni és megépíteni az utolsó hiányzó darabot - a nagy bemeneti feszültségű 3.3V-os tápot
  • Tesztelni és hangolni a PID vezérlő kódját
  • Átköltözni a végleges tápegységre a labortápról
  • Összerakni az egészet - megírni a fordulatszámbeállítást G-Code-ból
  • Megírni a feszültség/áram/teljesítmény mérés kódját
  • Megtervezni és megrendelni a végleges panelt
  • Beépíteni az egészet az eredeti vezérlődobozba

2015. április 24., péntek

CNC Motor meghajtó 4. - MOSFET meghajtó újratervezve

Sokat nézelődtem mielőtt megterveztem a jelenlegi motorvezérlő áramkört. Valami olyat akartam ami olcsó, valamit amiből tudok tanulni.
A jelenlegi működik, de azon gondolkoztam, hogyan kapcsolhatna egy kicsit gyorsabban. Amikor a jelenlegit terveztem, sokat kisérleteztem a breadboardon, de nem használtam az ltspice-t, szimulációra.
Amikor elkészült, szükség volt némi plusz hekkelésre, hogy csökkentsem a zajt, ezzel elérve, hogy kicsit tisztább mérőjelet kapjak.
Most az a célom, hogy a gyorsabb kapcsolással csökkentsem a MOSFET hőtermelését.
Először lefuttatam egy szimulációt az eredeti áramkörrel:

Az áramkör:
És az eredmény:
Ahogy látszik az idők a következőek:
Felfutás: ~500ns
Lecsengés: ~500ns

2-3 hét folyamatos (már amennyi szabadidőm volt - nem sok mostanában) kisérletezéssel, alkatrészcserével, különböző ötletek kipróbálásával, végül is sikerült egy kicsit jobbat összehoznom.
Az áramkör:

Az eredmény:
És az idők:

Felfutás: ~30ns
Lecsengés: ~100ns

Sokkal jobb.
A fentiek alapján, de kicsit más áramkört terveztem. Ennek az az oka, hogy a házi nyák gyártáshoz jobban szeretem a hagyományos áramköröket használni és majd a végleges rendelt nyákhoz fogok SMD-t használni.

Az áramkör:
A nyák terv:
Remélem a hétvégén sikerül megépíteni.

2015. április 6., hétfő

CNC Motor meghajtó 3.

Az utolsó CNC Motor meghajtóról szóló bejegyzésem óta a szabadidőm jelentős részét a mikrovezérlő panelel és annak a programozásával töltöttem.
Két nappal ezelőtt végre összekötöttem a teljesítményelektronikát a vezérlővel. A szerkezet azonnal elindult, de sajnos a fordulatszámmérés teljesen használhatatlan volt.
Némi próbálkozás után kiderült, hogy a bejövő négyszögjel élei körül keskeny impulzusok vannak amik tnkreteszik a mérést.
A használt Nuvoton uC képes az időzítő capture bemenetén "prellmentesíteni". Ennek a lehetőségnek a hozzáadása úgy néz ki, megoldotta a problémát.



Ma már látom a project végét. Megpróbálom összeszedni a hátralévő teendőket:
  • Tesztelni és hangolni a PIDvezérlőt
  • Kipróbálni a hozzáadott plusz bemeneti tápszűrőt
  • Kipróbálni a plusz tápszűrőt a motornál
  • Kipróbálni az ötödrendű szűrőt amit a méréshez terveztem
  • Megírni és kipróbálni az áram mérést
  • Megoldani a feszültségmérést (áramkör és kód)
  • Teljesítmény kijelzés
  • Hozzáadni a Linux CNC vezérlőjel mérését (ez alapján lehet g-code-ból beállítani a fordulatszámot)
  • Tervezni egy nagy bemeneti feszültségű 3.3V-os tápegységet (a 48V-os bemeneti feszültség túl sok egy hagyományos "buck" konverter IC-nek)
  • Megtervezni a (remélhetőleg) végleges panelt az egész elektronikának
  • Kijavítani az encoder kódját (ez egy kicsit problematikus ma)
  • Kitakarítani, átstrukturálni a kódot (nem eléggé moduláris, sok megjegyzés hiányzik)

2014. július 21., hétfő

CNC Átalakítás 6. - Kibelezve

A hétvégén kiszedtem minden felesleges dolgot a vezérlő dobozából.
Ilyen volt:


Ilyen lett:



Ami kijött:


Igen, jól látod. A teljes vezérlőelektronikát kidobtam. Ez ha fejem tetejére állok sem lenne képes zárthurkú szabályozást csinálni.
Első lépcsőként maximális fordulatszámmal fog menni a dolog.
Ez el is készült:
Az utolsó hiányzó alkatrész:



Minden összeszerelve:







A második lépés az lesz, hogy a vezérlő panel egyik relé kimenetéről meghajtok egy MOSFET-et és azzal kapcsolgatom a motort. Itt legszívesebben egy szilárdtest relét használnék, de a 3D nyomtató kapcsán elég rossz tapasztalataim vannak az egyenáramú szilárdtest relével (működési elvéből adódóan, csak bipoláris tranzisztorral lehet értelmesen megvalósítani, annak pedig nagy a feszültségesése egy ilyen nagyáramú meghajtáshoz). Ez még sajnos mindíg csak a be és kikapcsolást oldja meg a LinuxCNC-ből, a fordulatszámszabályozást nem.
A harmadik lépés egy zárthurkú szabályozó lesz. Ahhoz, hogy ezt meg lehessen valósítani a motronak először is kell kapnia egy fordulatszám mérésre alkalmas eszközt. Ezt a műanyag rotor cseréjével és egy optocsatolóval akarom megvalósítani. A szabályozó maga egy mikrokontroller alapú PID vezérlő lesz, fordulatszámkijelzéssel együtt. A fordulatszám beállítása a LinuxCNC-ből történik. A LinuxCNC rendelkezik egy alacsonyfrekvenciás (10Hz) PWM kimeneti lehetőséggel. Ennek a PWM-nek az impulzusszélességét fogom mérni és ehhez állítani a motor szabályozóját, viszonylag nagy lépésekben (100 - 500 rpm, még nem dőlt el). A nagy lépések azért kellenek, hogy a mérés pontossága ne generáljon egy instabil szabályozást.

2014. július 16., szerda

CNC Átalakítás 4. - Elő és hátlapok

ENGLISH VERSION

Miután sikeresen elvégeztem a teszteket az aluminium tesztdarabbal, nekiláttam az éles munkának.
Elkészültek a CNC tápegységének elő és hátlapjai:



És csatlakozókkal/kapcsolóval:


2014. július 12., szombat

CNC Átalakítás 3. - alumunka

ENGLISH VERSION

Tegnapelőtt elmentem és szereztem egy aljzatot a motorhoz, valamint egy csomag új HSS marófejet. Tegnap reggel csak úgy levegőben bekötöttem az új tápegységet, mindenféle fordulatszám szabályozás nélkül.
Láss csodát, gond nélkül kimarta a lyukat próba anyagon.

 
Ez azt jelenti, hogy nem kell új motort rendelnem, mert a régi 230W-os darab tökéletesen teszi a dolgát, csak a tápegység alkalmatlan. Már csak a fordulatszám szabályozás kérdését kell megoldanom, valamint kiderítenem, hogy mennyire mehetek feljebb az előtolással.
Most a külső tápegység elő és hátlapjának kimarása jön.

2014. július 10., csütörtök

CNC - dolgozzunk aluminiummal

ENGLISH VERSION

A CNC átépítési projectemhez ki akartam marni a tápegység elő és hátlapjait. A CNC-vel még sosem dolgoztam aluminiummal, így azzal kezdtem, hogy körülnéztem a neten, vajon milyen feed rate és milyen vágásmélység kellene az aluminiumos munkához. Ezen túl óvatos ember vagyok, így kerestem a műhelyben egy darab aluminium lemezt amivel tudok kísérletezni,
Beállítottam a paramétereket annak megfelelően amit jónak gondoltam. Elindítottam a gépet és reccs. Tört a marószár.
Ez így nem lesz jó. Masszívan lejjebb vettem a paramétereket és nekiálltam újra. Most sikerült kb. 10mm-ert marni, amíg a motor meg nem állt és el nem tört a következő szár is.



Újra elgondolkodtam az egészen. Nem tudom eldönteni, hogy csak a tápellátás gyenge, vagy a motor teljesítménye is kevés. Azt hiszem ezzel megyek a fórumra kérdezősködni.

2014. július 1., kedd

CNC Átalakítás 2. - Rajzok, E-Stop, Probe

ENGLISH VERSION

Nekikezdtem a CNC átalakításnak. Több dologgal is foglalkozom a témában, íme a helyzet:
Szétszedtem a vezérlőt. Mostmár látom, hogy kb. mi van benne.
Kicsréltem a ventilátort, valószínüleg ez volt az egyik legegyszerűbb feladat.
A neten túrkálva találáltam rajzokat a léptetőmotor meghajtó/PC interface panelhez. Ebből már ki tudok indulni.






A rajzok alapján a szoftverben beállítottam az E-Stop (Emergency Stop) gombot és a nyák szintező próbát. Ez utóbbiból nem akarom az eredeti darabot használni így vettem dugót meg vezetéket, amiből megcsinálom.
Minden összeállt ami a külső tápegységhez kell: vettem dobozt, csatlakozókat, megjöttek a kapcsoló üzemű tápok. Megterveztem az elő és a hátlapot. Már csak ki kell fúrni a dobozt, kimarni az elő/hátlapot, és bekötni az egészet.
Ahhoz, hogy tudjak fordulatszámot mérni, leszedtem a "ventilátort" a motor tetejéről és terveztem helyette egy encoder tárcsával egybeépített darabot. Ehhez még hiányzik valami panel az optokapuhoz, meg ennek a panelnek a felfogatása. Legyártani akkor tudom őket, ha képes leszek újra beüzemelni a 3D nyomtatót.


Ezt a tervet ki is raktam a thingiversere:
http://www.thingiverse.com/thing:378489

2014. június 19., csütörtök

CNC átalakítás 1. - project indító

ENGLISH VERSION

Megvettem a CNC marót. Kezdenek használható dolgok kijönni belőle, ugyanakkor egyre inkább látom a lyukakat a szerkezet életrajzában. A neten találtam jó néhány dolgot amivel javítani lehet rajta, valamint az én fejemben is vannak dolgok amiket szeretnék megoldani.



A tervezett átalakítások
Ventillátor csere
A jelenlegi darab igen hangos. Tudom, hogy amikor megy a gép nem lehet hallani, de amikor nem megy akkor hangos. Engem zavar. Szereztem helyette valami mágnescsapágyas csodát.
Tápegység csere
Erre találtam a neten bejegyzést. A benne lévő táp elég gyenge. Ezért lecserélték kapcsolóüzeműre:
http://lab.whitequark.org/notes/2014-05-29/cnc3020t-switch-mode-power-supply-conversion/
Ugyanakkor ez a megoldás nem kicsit veszélyes. A hálózati feszültség szabadon van ami érintésvédelmileg teljesen elfogadhatatlan. A tápok nálam külön dobozba kerülnek, a szervók csatlakozójához hasonló csatlakozóval összeköve.
Marómotor vezérlés
Úgy tűnik, hogy az elektronika képes lenne a motor fordulatszámát szoftverből szabályozni. Ez ugyanakkor nincs bekötve. A jelenlegi megoldás egy kapcsolóból és egy potencióméterből áll, ami egy vicc. Ez alapján remélem elvégezehető a műtét:
http://lab.whitequark.org/notes/2014-02-12/cnc3020t-emc2-configuration-and-hidden-features/
Végálláskapcsolók
Az előző alapján minden irányhoz be lehet kötni végálláskapcsolókat is. Ehhez ha minden igaz, némi kábelen, csatlakozón, mikrokapcsolón túl nincs szükség másra.
PCB próba
Ha nyákot gyártok, a munkadarab szintezése elengedhetetlen. Miért? Mert a tervezett 100um-es marásmélység nem igazán enged meg hibát. Ezt egy próba beiktatásával lehet lekezelni:
http://www.autoleveller.co.uk/cnc-probe-guide/
Ha minden igaz ehhez van is bemenet a vezérlőn, csak ki kellene próbálni és esetleg sajátot kéne gyártani egy krokodilcsipeszből meg egy saruból.
Ez utóbbi hárommal kapcsolatban már csak az a kérdés, hogy elfér-e a párhuzamos porton. Nekem ugyanis a cikkekben szereplővel ellentétben egy 4 axissel rendelkező gépem van ami eleve több érintkezőt igényel.
Motor
A marómotor teljesítményével nem vagyok kibékülve. A motor 230W-os és volt már, hogy megszorult. Lehet, hogy ez az elégtelen tápellátásnak tudható be, de az is lehet, hogy szimplán kevés. A motor cserére felkészülve 600W-os tápot rendeltem, mert nem volt túl nagy az árkülönbség.
Ha cserélni kell, akkor maximum 400W-os motor jöhet szóba. Sajnos az ennél nagyobb motoroknak nagyobb az átmérője. A rögzítő kengyel pedig egy darabból áll a teljes Z irány mozgó mechanikájával (besajtolt lineáris persely + golyósorsó persely). A Z irány cseréjét pedig ki akarom hagyni, mert az már oda vezetne, hogy egy nagyobb erősebb gépet kéne építeni.
Fordulatszám mérő
Munka közben jó lenne látni a motor fordulatszámát. Arra gondoltam, fogok egyet a frekvenciamérőim közül és felhasználom. Az a kérdés, hogy mi legyen a szenzor. A legvalószínűbb, hogy valami optikai enkóder tárcsát fogok gyártani, csak még nem látom, hova lehetne felszerelni.

Egyenlőre ennyi, a folytatás következik.

2014. május 18., vasárnap

bitmap toolchan - reloaded

Időzve még egy kicsit a 3D bitmap toolchainnél úgy gondoltam, a pici fiam is profitáljon belőle valamit.
Leültettem egy A4-es papír elé, és az elsős ákombákom betűivel leirattam vele rá a nevét. Jó nagyban.
Ez lett belőle:



Kiakaszthatja a szobája ajtajára.

2014. május 13., kedd

3D toolchain - bitmap

ENGLISH VERSION

És akkor elérkeztünk az első igazi CNC munkához.
Hogyan lesz egy bitmap képből (esetünkben jpg) használható végeredmény.
Amikor nekiálltam az látszott, hogy az egész a következő elemekből áll össze:
Valami képmanipulációs eszköz. Erre én hosszú évek óta a paint.net-et használom. Azt gondolom ide is jó lesz. Arra kell, hogy beállítsam a forrás kép paramétereit, pl. kontraszt, fényerő, méretezés, stb.
Kell valami ami a bitmapet vektorossá alakítja. Keresgélve erre a feladatra az Inkscape-et szemeltem ki, mert képes CADes formátumban (pl. DXF) dolgozni és ingyenes.
Kell ugye egy CAM szoftver. Elég sokat küzdöttem a HeeksCNC beüzemelésével, most megnézem, hogy használni tudom-e.
Végül a Machine Controller ugye a LinuxCNC.
Íme a forrás amiből kiindulok:

Első nekifutásra azt gondoltam nem kell rajta módosítanom semmit. Körülnézem a neten és kiderítettem, mit kell az InkScape-el csinálnom, hogy jó vektoros legyen.
Betöltöttem az Inkscape-be adtam neki egy A4-es méretet, hogy tudjam valamihez viszonyítani. Majd a Path/Trace Bitmap funkcióval (minden változtatás nélkül) vektoros formátumot csináltam belőle. Ajánlgatták még a Simplify funkciót, de az ennél a képnél nem működött jól.
Az eredményt lementettem és odaadtam a HeeksCNC-nek.
Amit tudtam: A betűkhöz pocket operation kell, a széléhez meg profile. Amit viszont nem tudtam, hogyan hagyjam ki az e és a betűk szigeteit. Hosszas szenvedés után sikerült kideríteni, hogy a betű és a sziget sketch-ét a combine művelettel kell összekötni miközben a sziget forgásirányát az óramutatóval ellentétes irányba kell fordítani.
Kész vagyok (azt hittem).
Elvonultam az elkészült művel a géphez. Nekiálltam szárazon futtatni a programot. Először közölte, hogy gáz van, mert nem ismer 4-es tool-t. Ok, legyártottam a 4.8mm-es marószárat, a 4-es pozicióba a LinuxCNC-n. Másodszorra közölte, hogy nem jó, mivel nem férek bele a méretekbe. Belenéztem a G-Code-ba, és már az első értékek egyikén egy 500mm feletti mozgás volt. És tényleg. Nem férek bele. Ez alapjaiban nem jó.
Vissza az InkScape-hez. Most odafigyelve próbálom az A4-es lapon elhelyezni a képet. Sehogysem jó. A lapbeállításból kiderül, hogy 90dpi-vel dolgozik. Rájövök, hogy ez fix érték. Nem is érdekli, hogy a bejövő jpg milyen dpi értékkel működik.
Előveszem a paint.net-et és átméretezem úgy, hogy 20x20 cm legyen 90dpi-vel. Újra InkScape, ez most itt jónak tűnik. Megcsinálom a vektoros formátumot. A korábbiakal ellentétben most nem svg-ben hanem dxf-ben mentem el.
HeeksCNC. Figyelve a méretekre megpróbálom végigcsinálom az egészet. Nem jó, a koordinátarendszer nincs a helyén. Újracsinálom az egészet az InkScape-ben ügyelve arra, hogy a kép a lap bal alsó sarkához legyen igazítva (mostmár tudom, hogy ez felesleges volt, mert a HeeksCNC-ben egy jól irányzott transform-mal a helyére tudtam volna rakni).
Újra HeeksCNC. Mostmár tetszik az eredmény:


Vissza a géphez. Nekiállok átkonfigurálni a gépet magát. Beállítom, hogy minden irányban a teljes méret negatív és pozitív tartományban is elérhető legyen. Ez megadja azt a szabadsági fokot, hogy oda rakjam egy adott munkánál a nulla pontot ahova akarom.
Elkezdek nullát állítani. Kiderül, hogy az X irány ellenkező irányban működik (valószínüleg valamit fordítva kötöttek be. Vissza a konfigurációhoz. Szoftverből megfordítom az X irány polaritását.
Mostmár jó. Szárazon jónak tűnik. Anyag befog, szerszám befog, motor felpörget. Hajrá...
Sok óra múlva az eredmény:


Némi utómunka (többszöri csiszolás és lakkozás):


Sajnos az alsó sor betűi nem lettek tökéletesek, mert nem volt megfelelően vékony szerszámom.

2014. május 10., szombat

3D toolchain - Machine Controller

Visszatérve a CNC toolchan(ek)re:
Minden CNC toolchainben van egy közös elem. Ez a Machine Controller. Ez lesz amit a különböző típusú dolgok gyártásánál nem fogok változtatni.
Az eredeti elképzelésem az volt, hogy a Mach3-at használom.
Összeraktam a gépet, felraktam rá egy 64 bites Windows 8.1-et. Miután a 3D nyomtató Repetier Host-ja is Windows 8.1-en fut, logikus választásnak tűnt.
Itt jött a pofon.
A Mach3 kizárólag 32 bit-es OS-en fut. A gépben pedig 8GB RAM van, amit nem akartam elveszteni.
Ez így nem jó, nyomoztam tovább. Kiderült, hogy a Repetier Hostnak van Linuxos verziója.
Tehát költözés Linuxra:
Ubuntu + LinuxCNC + Repetier.
Aktuális Ubuntu felmegy. Elkezdtem LinuxCNC leírást keresni.
Az derült ki, hogy az Ubuntu-s elképzelésem alapvetően hibás. Megy a LinuxCNC Ubuntun, hát persze, arra lett tervezve. A Live CD is Ubuntu alapú, remek. A 8.04-re és a 10.04-re lett kitalálva. Ja hogy én a 12.04-en szeretném, vagy olyan elvetemült vagyok, hogy egész a 13.10-ig (mostmár 14.04-ig) is felmennék? Na azt felejtsem el.
További nyomozás. Úgy néz ki Debian-on megy. Ráadásul a Debian-nak van stock realtime kernel-e ami mégjobb.
Ubuntu letúr, Debian 7 felrak. Némi küzdés a Wi-Fi-vel, kiderül, hogy a Wi-Fi firmware-ek nagyrésze zárt forráskódú, így még kell hozzá némi heggesztés, hogy menjen, de végül is összeállt.
Ez alapján a leírás alapján:
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Debian_Wheezy_Linux-Rt_Compile_LinuxCNC
a LinuxCNC is elindult némi küzdés árán.
Átvittem abba a helyiségbe a gépet, ahova a CNC-t szántam. A Wi-Fi megszünt működni (sok-sok vasbeton).
Vettem az USB stick helyett egy antennával felszerelt adaptert. Innen a Wi-Fi-m mesebeli... Hol volt, hol nem volt - ezen még kell majd javítani. Addig is marad az USB kulcs mint anyagszállítás.
Végre összekötöttem a géppel. Kellett kicsit állítgatni. A leírás gyakorlatilag használhatatlan. Künlönböző dokumentációkból, fórumokon elejtett félmondatokból állt össze a beállítás. Fionmhangolást még mindíg igényel.
Úgy döntöttem, hogy kipróbálom az egészet. Egyenlőre még CNSC (Computer Number SUF Controlled) módban. A CNC koordinátái mozgathatóak a számítógépről, ráadásul a 4. axis-t is beüzemeltem. Ilyen módon, némi próbálkozás után elkövettem a rég félrerakott UV levilágító nyomógombjait.


És a gép, munka után némileg koszosan:


u.i.: Tudom, hogy mostanában kicsit sok a CNC, de lesz elektronika is hamarosan.