Pro moji konstrukci malé portálové CNC frézky jsem potřeboval nějaké řízení. Nejprve jsem sáhl po kombinaci Arduino UNO + CNC Shield. Bohužel toto řešení se ukázalo jako nevyhovující a tak jsem se rozhodl nakonec navrhnout vlastní elektroniku, která mi bude plně vyhovovat při zachování rozumné ceny.

GRBL Board
GRBL Board pro řízení malé portálové CNC frézky.

Technické specifikace

Napájecí napětí12-24 V DC
Odběr prouducca 4 A
Propojení s PCUSB nebo Bluetooth
Komunikační rychlost115200 bps
Možnost řízeníaž 3osý CNC stroj
Driveryaž 2 A na driver, A4988, DRV8825 a podobné
Mikrokrokovánídle driveru až 32, výchozí nastavení 8
VřetenoDC 12-24 V, možno i laser
Vstupypro koncové spínače, ovládací tlačítka a sondu
Výstupypro ventilátor, externí drivery, chlazení a vřeteno nebo laser
FirmwareGRBL v0.9 nebo novější
SoftwareCandle, GrblPanel a další

Popis zařízení

Jak už jsem psal v úvodu, toto zařízení jsem navrhl pro řízení mé CNC frézky. V podstatě jsem vyšel z doporučeného zapojení a pouze doplnil některé věci. Například možnost bezdrátového propojení s PC přes Bluetooth modul HC-06. Dále jsem doplnil výkonový tranzistor pro spínání stejnosměrného vřetene s možností regulace otáček a možnost připojit laserový modul. Také jsem vyvedl veškeré vstupy a výstupy na konektorové lišty a tak je možno například připojit k elektronice externí drivery krokových motorů většího výkonu. Vše řídí procesor ATMEGA328P-AU, ve kterém je nahrán firmware GRBL v0.9 nebo novější, momentálně v1.1. S počítačem se elektronika propojuje buď přes USB nebo Bluetooth. V případě propojení přes USB je nutné vyjmout BT modul, aby správně fungovala komunikace. Jako ovládací software lze použít například Candle nebo GrblPanel, který je vhodný i pro konfiguraci firmwaru. Samozřejmě existuje mnoho dalších podporovaných programů, takže si každý jistě vybere ten, který mu nejlépe vyhovuje.

Schéma zapojení

Schéma zapojení GRBL Board
Schéma zapojení GRBL Board.

Schéma je celkem jednoduché. Základem je procesor ATMEGA328P-AU taktovaný na frekvenci 16 MHz. O propojení s PC se stará USB převodník CH340G. Přes USB je taktéž možno elektroniku napájet, ale pouze řídicím napětím. Pro plnou funkci je třeba i výkonové napájení přivedené přes konektor DC 5/2,1 US2. Hned za konektorem následuje pojistka 5-6 A, kterou volíme dle použitých driverů, motorů a vřetene. Dále je napětí stabilizováno na 12 V přes IC2, vhodné například pro 12V ventilátory při napájení z 24 V, a 5 V přes DC/DC měnič DC1. Důležitou součástí jsou patice pro 3 drivery krokových motorů. Lze použít některé z mnoha podporovaných driverů. Pomocí JP6-JP8 se nastavuje mikrokrokování dle použitého driveru. Ideální hodnota pro CNC je 8 mikrokroků, což odpovídá osazení jumperů na pozice 1 a 2. Toto nastavení je shodné pro všechny běžně používané drivery.

Vřeteno nebo laser je spínáno přes výkonový MOSFET Q3 s velmi malým odporem v sepnutém stavu, takže není třeba žádné chlazení. No a poslední částí jsou různé konektory, do kterých připojujeme další periferie jako například koncové spínače, pokud je potřebujeme. Vše je ve schématu podrobně popsáno, takže by s připojením neměly nastat žádné problémy.

Osazovací plán

Osazovací plán GRBL Board
Osazovací plán GRBL Board.

Celá deska je osazena SMD montáží, kromě konektorů. Vše se dá pohodlně zapájet mikropájkou včetně procesoru. Jen je třeba pracovat pečlivě a kontrolovat si, zda se někde neslil cín a nevytvořil zkrat. Také se často stává, že se některý vývod zapomene zapájet. Co se týká výkresů plošných spojů, tak ty neuvádím, ale jsou k dispozici v elektronické podobě.

Schéma plošného spoje

Výkresy plošného spoje neuvádím, protože jde o spoj oboustranný s prokovenými otvory a jeho výroba z obrázkové dokumentace není možná. Nicméně v dokumentaci na konci článku najdete kompletní projektovou dokumentaci pro program Eagle v7.7, odkud si následně můžete vyexportovat potřebná data.

Oživení zařízení

Poté, co zapájíme všechny součástky, ještě neosazujeme drivery, provedeme kontrolu, zda nemáme někde zkraty a zda je vše správně zapájeno. Pokud je vše v pořádku, připojíme napájecí napětí 24 V. Měla by se rozsvítit zelená LED3. Změříme odběr, který by se měl pohybovat do 30 mA. Pokud je větší, hledáme příčinu a následně ji odstraníme. Do JP6-JP8 osadíme jumper spojky na pozice 1 a 2, tedy 8 mikrokroků. Zde je důležité upozornit, že vždy musí být osazeny jumpery na pozicích 1. Dále změříme napětí na JP2, tedy 24 V, JP13, tedy 12 V, a na JP9, tedy 5 V. Teprve když je vše v pořádku, přistoupíme k nahrání bootloaderu do procesoru. Pokud máte stavebnici ode mě, není to nutné a procesor je již naprogramován včetně nejnovější verze firmwaru. K tomuto účelu slouží konektor ISP1. Jako vhodný programátor je USBasp nebo ten, který používáte. Nahráváme bootloader pro desku Arduino UNO ideálně přes vývojové prostředí Arduino IDE.

Poté, co jsme úspěšně nahráli bootloader, můžeme přistoupit k nahrání firmwaru. Tentokrát propojíme desku elektroniky s PC přes USB. Firmware budeme nahrávat pomocí programu XLoader, ve kterém nastavíme opět desku Arduino UNO nebo Sakul GRBL Board. Dále se postup malinko liší podle toho, jakou máte verzi PCB. Popíšu tedy obě varianty:

PCB v1.0 (B-0062) - Na desce stiskneme tlačítko reset a držíme ho. Následně v programu XLoader klikneme na tlačítko Upload. V tento moment pustíme tlačítko reset na desce. Po chvilce by se měl firmware nahrát a obdržíme hlášení, že byl firmware nahrán. Pokud se to nepodaří, opakujeme tento postup, dokud se to nepovede. Je třeba sladit moment, kdy stisknete Upload a uvolníte tlačítko reset.

PCB v1.1 (B-0063) - Prostě kliknete na Upload v programu XLoader a počkáte na dokončení nahrávání.

Když máme nahrán i firmware, můžeme se k elektronice připojit přes nějaký ovládací software. Zde je ideální použít program GrblPanel, protože přes něj můžete pohodlně provést i počáteční konfiguraci parametrů ve firmwaru. Podrobný návod najdete v článku Konfigurace firmware GRBL.

A jako poslední část je osazení a nastavení driverů. Proto vypneme napájecí napětí a až teprve poté osadíme všechny 3 drivery. Jak správně zasunout driver do patice, poznáte podle popisů jeho vývodů a popisů na desce elektroniky. Vývod 1 je označen jako EN, tedy Enable. Posledním krokem je nastavení proudového omezení. To se nastavuje pomocí malého trimru na driveru. Proud nastavíme ideálně o něco menší, než snese váš motor. Takže pokud máte motory 1,7 A, nastavíme proud na 1,5 A. Proud driveru se určuje referenčním napětím na běžci trimru proti zemi. Nicméně každý driver má jiný vzorec pro přepočet referenčního napětí na proud a proto musíte nahlédnout do datasheetu daného driveru. Také je vhodné nalepit na čipy driverů malé chladiče, které jsou dodávány s drivery. Při lepení však dejte pozor, aby se chladič nedotýkal okolních součástek.

V tuto chvíli již nic nebrání k připojení motorů a všech ostatních potřebných periferií a provedení testu. Elektroniku je možno zabudovat do krabičky, která má otvor pro ventilátor 40x40 mm umístěný přímo nad drivery pro ideální chlazení.

Seznam součástek

Přesnou rozpisku součástek včetně pouzder najdete v elektronické dokumentaci nebo v PartListu.

Zajímavé odkazy

Sakul CNCDiskuse Sakul CNC
Konfigurace firmware GRBLNávod na konfiguraci GRBL
Firmware GRBLGitHub GRBL wiki
Ovládací softwareCandle a další
Driver DRV8825 a A4988DRV8825

Dokumentace

No a na závěr si zde můžete stáhnout veškerou dokumentaci pro stavbu. Je zde i projekt pro Eagle včetně programu pro procesor.

Prohlášení

Tato konstrukce je autorská práce. Není povoleno bez souhlasu autora přejímání na jiné stránky nebo komerční využití. Je povoleno se pouze odkazovat na tento web a tuto konstrukci. Pro více informací mě stačí kontaktovat. Zároveň nepřebírám jakoukoli odpovědnost za chování zařízení a případné škody způsobené použitím tohoto zařízení, ať by byly jakéhokoli rázu. Zařízení je určeno pouze k užití pro vlastní potřebu. Jakýkoli prodej není bez souhlasu autora možný.