ISEL Flatbed

From Robin

(Difference between revisions)
Jump to: navigation, search
(Running the machine)
(43 intermediate revisions not shown)
Line 1: Line 1:
-
[[Fil:ISEL_FB2.jpg|x200px]]
+
[[Fil:ISEL_c.GIF|x200px]]
* XY(Z)-Flatbed unit FB2  
* XY(Z)-Flatbed unit FB2  
* BD16x4 (4mm pitch)  
* BD16x4 (4mm pitch)  
-
* Travel 1250x1030m
+
* Travel 1250mm x 1030mm
-
* Z-axes with magnet brak lift 160m
+
* Z-axes with magnet, lift 160mm
== Controller ==
== Controller ==
Line 22: Line 22:
* En til hver akse
* En til hver akse
* Disse er krute gode og vi bruker de som de er og styrer de direkte fra Arduino med Dir/Pulse inngang
* Disse er krute gode og vi bruker de som de er og styrer de direkte fra Arduino med Dir/Pulse inngang
-
* Oppsett: 800pulser/omdreining -> 800/4 = 200pulser/mm lineær bevegelse. Dette gir i prinsippet 5um oppløsning
+
* Vi bruker 8 eller 16 microsteps (iMC-S8 er opprinnelig satt opp med 4, som gir forferdelig støy og vibb)
 +
 
 +
Vi bruker i dag:
 +
* [[https://www.arduino.cc/en/Main/arduinoBoardDuemilanove Arduino Duemilanove (ATmega168)]]
 +
* [[https://www.sparkfun.com/products/12761 SD kortleser]]
== Programvare ==
== Programvare ==
Line 28: Line 32:
Fra CAD (Fusion360)
Fra CAD (Fusion360)
-
* Postprocessor: Fanuc, sett opp til å ikke tillate sirkulære/helix bevegelser, kun G01/G00
+
* Postprocessor:
-
* Filtrer NC filen
+
** (Restarte F360 etter første gang Bracket install)
-
* Les inn og generer DirPulse fil
+
** Postprocessor: Fanuc/fanuc
-
* Overfør DirPulse fil til Arduino og kjør  
+
** Property:
 +
*** Write machine = No
 +
*** Write tool list = No
 +
*** Use sequence numbers = No
 +
*** Maximum circular radius = 0.001
 +
*** Mimimum circular radius = 0.0001
 +
* Overfør "1.stp" fil til Arduino via å flytte ST kort fra PC til Aruino shield eller via USB og kjør  
[https://github.com/matshovin/ISEL All egen kode]
[https://github.com/matshovin/ISEL All egen kode]
-
[[Fil:ISEL_top.jpg|x200px]]
+
[[Fil:ISEL_top.jpg|x100px]] [[Fil:ISEL_millaP.png|x100px]] [[Fil:ISEL_Duemilanove.jpg|x100px]]  [[Fil:ISEL_SD.jpg|x100px]]
 +
 
 +
 
 +
== Installing cncjs ==
 +
 
 +
The machine is connected with a raspberry pi running CNCjs. Following the instructions provided by CNCjs will result in errors. The approach is therefor modified a bit. See resources for more detail. To install CNCjs run the following commands:
 +
 
 +
-Update and upgrade apt-get
 +
 
 +
$ sudo apt-get update
 +
$ sudo apt-get upgrade -y
 +
$ sudo apt-get dist-upgrade -y
 +
 
 +
-Installing build essentials
 +
 
 +
$ sudo apt-get install -y build-essential git
 +
 
 +
-Some useful tool, some are already preinstalled in Rasbian.
 +
 
 +
$ sudo apt-get install htop iotop nmon lsof screen -y
 +
 
 +
-Installing node package manager
 +
 
 +
$ sudo apt install npm
 +
 
 +
-Installing CNCjs
 +
 
 +
$ sudo npm install -g cncjs@latest --unsafe-perm
 +
 
 +
After the installation is finish you can run CNCjs with the command <code> cncjs </code>. The webserver can be accessed by the URL: http://isel.labnet.ifi.uio.no
 +
 
 +
 
 +
== Running gcode ==
 +
 
 +
The arduino uses GRBL software to control the stepper-motors. In post process in Solidworks the config therefor needs to be set to GRBL.
 +
 
 +
The spindle and the cooling system is not connected to the arduino, and will not have an effect on the job. The coolant has to be set to 'disabled' to avoid errors, as the default GRBL config file does not support any of the coolant options.
 +
 
 +
By default the gcode will have the machine go to "machine zero" to change the tool before starting the actual gcode. The tool changing is not up and running, and changing tools before a job is recommended. Because of this you can turn off "G28 safe retracts" and "Output M6" in post process. This will make the gcode start immediately after pressing start.
 +
 
 +
To zero the machine use the touchpad to jog to the desired zero-point and press the "Set work zero" button. This will set its current position to work position (0,0,0). The machine position can't be zeroed out, and after turning the touchpad on and off the machine position will be (0,0,0).
 +
 
 +
== Parts ==
 +
 
 +
=== Spindle motor ===
 +
 
 +
SPINDLE MOTOR ISA 750 (https://www.isel.com/en/spindle-motor-isa-750-manual-tool-exchange.html) (https://www.solectro.se/Product/Index/4671?SecId=1188)
 +
 
 +
The spindle motor is rated for up to 28 000 rpm, or about 450 Hz.
 +
 
 +
=== Controller for spindle ===
 +
 
 +
SKA1200075 (https://www.galco.com/buy/Control-Techniques/SKA1200075)
 +
 
 +
The controller for the spindle works in Hz and not rpm. 1 Hz is equal to 60 rpm. The max is currently set to 380 Hz, to prevent damage to the motor.
 +
----
 +
 
 +
På sikt:
 +
 
 +
* Erstatte SD kort med ringbuffer
 +
* Vil vel gå over til MEGA eller DUE etterhvert
 +
 
 +
[[Fil:ISEL_Mega2660.jpg|x100px]] [[Fil:ISEL_dueP.png|x100px]]
 +
 
 +
 
 +
 
 +
 
 +
=== Resources ===
 +
https://cnc.js.org/
 +
 
 +
https://github.com/cncjs/cncjs

Revision as of 13:21, 2 June 2022

x200px

  • XY(Z)-Flatbed unit FB2
  • BD16x4 (4mm pitch)
  • Travel 1250mm x 1030mm
  • Z-axes with magnet, lift 160mm

Contents

Controller

x100px

[iMC-S8 stepper motor controller (modifisert)]

  • Med denne følger rævskit programmet PROnc/PALpc som ikke lar seg installere på en moderne PC, derfor modifiserer vi iMC-S8 med Arduino og får moderne fungerende USB kommunikasjon

IMC-S8 inneholder 3stk

x100px

[MD28 steppermotordrivere] [PDF]

  • En til hver akse
  • Disse er krute gode og vi bruker de som de er og styrer de direkte fra Arduino med Dir/Pulse inngang
  • Vi bruker 8 eller 16 microsteps (iMC-S8 er opprinnelig satt opp med 4, som gir forferdelig støy og vibb)

Vi bruker i dag:

Programvare

Fra CAD (Fusion360)

  • Postprocessor:
    • (Restarte F360 etter første gang Bracket install)
    • Postprocessor: Fanuc/fanuc
    • Property:
      • Write machine = No
      • Write tool list = No
      • Use sequence numbers = No
      • Maximum circular radius = 0.001
      • Mimimum circular radius = 0.0001
  • Overfør "1.stp" fil til Arduino via å flytte ST kort fra PC til Aruino shield eller via USB og kjør

All egen kode

x100px x100px x100px x100px


Installing cncjs

The machine is connected with a raspberry pi running CNCjs. Following the instructions provided by CNCjs will result in errors. The approach is therefor modified a bit. See resources for more detail. To install CNCjs run the following commands:

-Update and upgrade apt-get

$ sudo apt-get update
$ sudo apt-get upgrade -y
$ sudo apt-get dist-upgrade -y

-Installing build essentials

$ sudo apt-get install -y build-essential git

-Some useful tool, some are already preinstalled in Rasbian.

$ sudo apt-get install htop iotop nmon lsof screen -y

-Installing node package manager

$ sudo apt install npm

-Installing CNCjs

$ sudo npm install -g cncjs@latest --unsafe-perm

After the installation is finish you can run CNCjs with the command cncjs . The webserver can be accessed by the URL: http://isel.labnet.ifi.uio.no


Running gcode

The arduino uses GRBL software to control the stepper-motors. In post process in Solidworks the config therefor needs to be set to GRBL.

The spindle and the cooling system is not connected to the arduino, and will not have an effect on the job. The coolant has to be set to 'disabled' to avoid errors, as the default GRBL config file does not support any of the coolant options.

By default the gcode will have the machine go to "machine zero" to change the tool before starting the actual gcode. The tool changing is not up and running, and changing tools before a job is recommended. Because of this you can turn off "G28 safe retracts" and "Output M6" in post process. This will make the gcode start immediately after pressing start.

To zero the machine use the touchpad to jog to the desired zero-point and press the "Set work zero" button. This will set its current position to work position (0,0,0). The machine position can't be zeroed out, and after turning the touchpad on and off the machine position will be (0,0,0).

Parts

Spindle motor

SPINDLE MOTOR ISA 750 (https://www.isel.com/en/spindle-motor-isa-750-manual-tool-exchange.html) (https://www.solectro.se/Product/Index/4671?SecId=1188)

The spindle motor is rated for up to 28 000 rpm, or about 450 Hz.

Controller for spindle

SKA1200075 (https://www.galco.com/buy/Control-Techniques/SKA1200075)

The controller for the spindle works in Hz and not rpm. 1 Hz is equal to 60 rpm. The max is currently set to 380 Hz, to prevent damage to the motor.


På sikt:

  • Erstatte SD kort med ringbuffer
  • Vil vel gå over til MEGA eller DUE etterhvert

x100px x100px



Resources

https://cnc.js.org/

https://github.com/cncjs/cncjs

Personal tools
Front page