workbee_cnc_router

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
workbee_cnc_router [03.11.2019 17:52] – created Pascal Suterworkbee_cnc_router [23.12.2021 21:14] (current) – [Workbee CNC Router] Pascal Suter
Line 37: Line 37:
 $110 = 4000.000    (X-axis maximum rate, mm/min) $110 = 4000.000    (X-axis maximum rate, mm/min)
 $111 = 4000.000    (Y-axis maximum rate, mm/min) $111 = 4000.000    (Y-axis maximum rate, mm/min)
-$112 = 2000.000    (Z-axis maximum rate, mm/min)+$112 = 500.000    (Z-axis maximum rate, mm/min)
 $120 = 300.000    (X-axis acceleration, mm/sec^2) $120 = 300.000    (X-axis acceleration, mm/sec^2)
 $121 = 300.000    (Y-axis acceleration, mm/sec^2) $121 = 300.000    (Y-axis acceleration, mm/sec^2)
Line 45: Line 45:
 $132 = 200.000    (Z-axis maximum travel, millimeters) $132 = 200.000    (Z-axis maximum travel, millimeters)
 </code> </code>
 +
 +the above maximum speeds where reached doing aircuts only! 
 +
 +Here are some configurations that worked so far: 
 +^material^bit^depth^spindle RPM^feed rate (mm/min)^ result ^
 +|OSB|1/4 upcut|6mm | 19200 | 1700 mm/min | very rough cut, a little smoke every now and then |
 +|OSB|1/4 upcut|3mm | 19200 | 3000 mm/min | much smoother, no smoke |
 +|MDF|1/8 upcut 2-flute|spiral ?? bore | 3000 | 500 | no smoke but vibrations |
 +|MDF|1/8 upcut 2-flute|spiralpocket | 7000 | 500 | no smoke|
 +|Valchromat (Colored MDF, slightly harder than regular MDF)|6mm straight 2-flute | 7mm | 10'000 | 2000 mm/min | some vibrations but acceptable quality that only needs slight sanding on visible edges |
 +|Aluminum (unknown type)|1/8 2-flute straight| 0.1mm | 6000 | 1000mm/min | dry with air cooling, slow but decent :)|
 +|0.5mm Aluminium 50xx | 1/8 2-flute straight| 0.5mm | 16000 | 700mm/min (200mm/min plunge) | cutting fluid in pan, looks professional :) |
 +| Brass |1/8 upcut | 0.5 |14000| 500 mm/min | with minimum quantity lubrication |
 +
 +===== G-Code Sender =====
 +my Workbee is using the GRBL firmware on a arduino together with a CNCshield on top of it. In order to send gcode to the arduino, a gcode-sender is used on a PC that is connected via USB. 
 +
 +currently i am using UGS (Univseral Gcode Sender) Platform edition. The reason why i chose this software is simple: i used it on my shapeoko and already kenw it. It seems though, that UGS crashes every now and then, leaving the machine stuck. i then need stop the job, disconnect from the arduino, reconnect and start over again. since the ardino still knows the machine position etc. I have a feeling this crash might happen on the UGS side. I therefore want to try different gcode senders in the near future. the two most interesting ones seem to be: 
 +  * [[https://github.com/cncjs|CNC.js]] - nice web gui, touch probe support, "pendants" which are small ui's for small devices like phones etc. server can be run on a raspberry pi
 +  * [[https://github.com/vlachoudis/bCNC|bCNC]] - basic CAM built in, accepts not only gcode but also svg and dxf. curretly i do the CAM work on fusion 360 which is nice, but it might be simpler to have it integrated into the gcode sender, so it can be modified easily while standing at the machine.. the Fusion 360 interface needs quite a big screen to work with it smoothly and simple changes like changing the cutting speed means saving re-opening files etc. all the time. 
 +
 +===== CNC.js =====
 +i've decided to try CNC.js. I am installing it on a Raspberry PI 3 (because i had one laying around). the idea is, to get the raspberry as close as possible to the grbl to keep the USB cable as short as possible. I've read that communications issues on the USB link cause by interference could cause the hang-ups i saw with UGS. in any case, the size of the raspberry makes it a practical choice anyway :) 
 +
 +so first i installed raspberry OS, there is pre-built rasbperry image from CNC.js but it has not been updated in the last two years, so I decided to go with a manual install. 
 +
 +here are the steps i went through: 
 +
 +[[install_raspbian_on_f2fs_root]] with my script, set wifi and hostname and enable ssh so we don't need to connect a screen to it ever :) 
 +
 +install git
 +  sudo apt update
 +  sudo apt install git
 +
 +install cncjs with npm which is installed via nvm. basically, just follow the instructions on the [[https://github.com/cncjs/cncjs|CNC.js github page]]
 +
 +create a systemd service that will start cncjs automatically: 
 +  sudo nano /etc/systemd/system/cncjs.service
 +here are the contents of the startup script:
 +<code>
 +[Unit]
 +Description=CNCjs
 +
 +[Service]
 +ExecStart=/bin/bash -c -l cncjs
 +Restart=always
 +RestartSec=10
 + # Output to syslog
 +StandardOutput=syslog
 +StandardError=syslog
 +SyslogIdentifier=cncjs
 +User=pi
 +Group=pi
 +
 +[Install]
 +WantedBy=multi-user.target
 +</code>
 +nwo start it: 
 +  sudo systemctl daemon-reload
 +  sudo systemctl --now enable cncjs
 +  systemctl status cncjs
 +
 +this should show that it's running now and you should be able to access it on port ''8000'' of your raspberry
 +
 +i'm lazy, so i don't want to type that port 8000 all the time, let's add a redirect using ''lightthpd'': 
 +
 +<code>
 +sudo apt install lighttpd
 +cd /etc/lighttpd
 +sudo nano conf-available/10-redirect.conf
 +</code>
 +put this in there: 
 +<code>
 +$HTTP["scheme"] == "http" {
 +    # capture vhost name with regex conditiona -> %0 in redirect pattern
 +    # must be the most inner block to the redirect rule
 +    $HTTP["host"] =~ ".*" {
 +        url.redirect = (".*" => "http://%0:8000$0")
 +    }
 +}
 +</code>
 +activate the config and restart the service
 +  cd conf-enabled
 +  sudo ln -s ../conf-available/10-redirect.conf
 +  sudo systemctl restart lighttpd.service
 +now you should be able to simply access the cncjs gui by entering the hostname of your raspberry in your browser
 +
 +it prettymuch runs out of the box now. simply connect to it, choose the usb serial interface and hit connect and you are good to go! 
 +
 +in the future i will add an [[http://www.escam.cn/product/44-en.html|ESCAM Q6]] ip camera. those things are genious.. they come with everything you need and cost only $26 on banggood or aliexpress. the field of view is also perfect for such applications.
 +
 +so far i can't get the stream to display, allthough i can access it with vlc or my webbrowser directy. i have two urls for the sub stream: 
 +  * http://192.168.169.111/Streams/1/4/ReceiveData
 +  * rtsp://192.168.169.111/live/0/sub
 +
 +neither show up on screen, got to debug that.. i hope it's not trying to re-encode it on the raspberry using ffmpeg which might be missing.. but we will see.. 
  • workbee_cnc_router.1572799967.txt.gz
  • Last modified: 03.11.2019 17:52
  • by Pascal Suter