GRBL převodník

Pro ovládání CNC frézy s paralelním portem je možné buď zakoupit převodník z USB (cena cca 40 USD) nebo si sestavit vlastní. Pozor na převodníky pro starší tiskárny (cena od 2 USD) - s těmi CNC nebude fungovat, protože nevytváří plnohodnotný paralelní port, který CNC k funkci potřebuje.

GRBL převodník - real PCB

Zapojení GRBL převodníku

Zapojení vychází ze zapojení na stránce projektu GRBL. Primárně je určeno pro Arduino UNO, ale funguje i s Arduino Nano. Nutno podotknout, že používám verzi 1.1, která má oproti nižším verzím přehozené piny D11 a D12. Samotné zapojení je velice jednoduché, obsahuje pouze Arduino Nano, konektor pro připojení kabelu paralelního portu (female), konektory pro připojení koncových spínačů a dalších periferií a step-down modul pro případné externí napájení. To ovšem není nutné, protože napájení z USB či paralelního portu je dostatečné. Zapojení na straně konektoru paralelního portu by mělo být u všech zařízení stejné, já jsem vycházel z uživatelské příručky k mému konkrétnímu CNC, kde je uvedeno nastavení pro SW Mach3 CNC kontroller.

  • X Axis: Step Pin:2, Dir Pin: 3
  • Y Axis: Step Pin: 4, Dir Pin: 5
  • Z Axis: Step Pin: 6, Dir Pin: 7
  • A Axis: Step Pin: 8, Dir Pin: 9 (u mého CNC není použita)
  • Spindle: PWM Pin: 17, Dir Pin: 1
  • Probe Pin: 15
  • EStop Pin: 13

Zapojení ostatních pinů vychází z návodů, které jsem našel na internetu.

Firmware GRBL převodníku

Do Arduina jsem nahrál poslední verzi GRBL firmware, kterou lze stáhnout z GitHub. Následně je nutné provést připojení ke kontroléru pomocí SW v PC. Já pro začátek zvolil "Grbl Controller 3.6.1". Po spuštění řídicího SW je třeba zvolit port, na který je kontrolér připojen a baud rate 115200, poté je možné se připojit. Program po připojení odešle "$$", což je příkaz pro vyčtení aktuálního nastavení z EEPROM. Před použitím kontroléru k řízení CNC je nutné provést nastavení dle stroje, který používáte. Podrobný popis jednotlivých parametrů naleznete opět na GitHub projektu. V mém případě se jednalo o změny v těchto parametrech:

  • $0=3 (Step pulse, microseconds)
  • $3=6 (Direction port invert, mask)
  • $30=11000 (Max spindle speed, RPM)
  • $100=400 (X steps/mm)
  • $101=400 (Y steps/mm)
  • $102=400 (Z steps/mm)
  • $110=2000 (X Max rate, mm/min)
  • $111=2000 (Y Max rate, mm/min)
  • $112=700 (Z Max rate, mm/min)
  • $120=200 (X Acceleration, mm/sec^2)
  • $121=200 (Y Acceleration, mm/sec^2)
  • $122=100 (Z Acceleration, mm/sec^2)

Tyto hodnoty se mohou dle konstrukce CNC lišit, proto je nutné je vždy vyčíst v manuálu ke konkrétnímu stroji, případně vyžádat u jeho výrobce. Po dokončení nastavení je vhodné si je ověřit pomocí příkazu "$$" a zkontrolovat, že uložení proběhlo v pořádku. Tyto parametry jsou uloženy v EEPROM Arduina, proto je není nutné zadávat při dalším zapnutí. Po ověření správnosti parametrů je možné začít CNC používat.

Krabička pro GRBL převodník

Na závěr jsem ještě navrhl a vytiskl krabičku pro uložení převodníku. Vzhledem k tomu, že prozatím na svém CNC nevyužívám koncové spínače, nejsou konektory pro jejich připojení zohledněny. Navíc v případě mého CNC by implementované koncové spínače byly připojeny přímo přes paralelní port (zapojení to umožňuje).