Re: [Emc-users] MPG pendant
Le 2014-02-06 16:23, Sebastian Kuzminsky a écrit : Frederic, Dewey, are you both happy with the state of that branch? Are we ready to merge it into master? There is a regression here in simulation mode (without -H flag). I am checking the code. Frederic. -- Managing the Performance of Cloud-Based Applications Take advantage of what the Cloud has to offer - Avoid Common Pitfalls. Read the Whitepaper. http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] MPG pendant
Le 2014-02-06 19:55, Dewey Garrett a écrit : - Several folks have reported that the pendant stops updating. On mine, if the pendant is idle (no buttons pressed, no wheel movement) for approximately 40 seconds, the display stops updating. Pressing any button restores display updating so I just leave one button unassigned and press it to wake up the pendant. Running the xhc-hb04 program executed standalone as a simulator now reports when it detects the pendant going to sleep; when using with hal, a pin is created for the condition (xhc-hb04.sleeping) I think it would be good to merge to master to get some testing with other pendants. Thanks for the new feature to handle sleeping. I have tested with my 16 buttons MPG, but the behaviour is different: it does not send 04 00 00 00 00 00 when entering sleep mode. However, I get this message sometimes when powering up the MPG. Frederic. -- Managing the Performance of Cloud-Based Applications Take advantage of what the Cloud has to offer - Avoid Common Pitfalls. Read the Whitepaper. http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] center finder camera
Le 2014-05-03 04:50, Jon Elson a écrit : There is a pic from the HD5000 webcam in the Wiki at http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Adding_Digital_Zoom_To_Camview-Emc that is not very impressive, you might be able to get it within .1mm but that's about it. I would like to clarify an important fact: the picture from the wiki is taken with a workpiece / camera distance of 100mm. At this distance, I achieved better than 0.05 mm accuracy, but with uncomfortable conditions. I agree, 0.1mm is the practical performance figure at this distance with this setup. Better resolution can be reach when going down to 25 mm distance as demonstrated here http://blog.f1oat.org/2014/05/03/hd5000-edge-finder-test-at-25-mm-distance/ However, I confirm HD5000 is limited because it does not have a microscope lens system. I use digital zoom with all well know drawbacks. My experience is that the main problem with this kind of camera setup (camera mounted on X/Y axis, not on Z) is the vertical alignment for proper operation with any height of the workpiece. That may be the major limitation to the overall accuracy of the system. See all my HD5000 topics here http://blog.f1oat.org/tag/hd5000/ Frederic. -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available. Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] USB Pendant (XHC HB04)
Le 2013-06-23 07:10, andy pugh a écrit : On 22 June 2013 02:36, f1oat fri...@teaser.fr wrote: I have developed a HAL module for this kind of MPG pendant. Look at http://www.linuxcnc.org/index.php/english/forum/24-hal-components/26679-xhc-hb04-wireless-mpg-pendant-hal-module Would you be interested in adding this to the LinuxCNC distribution? I think that this model of pendant is likely to become quite common, and that LinuxCNC ought to support it. Yes, I will be very happy to see this module in the official distribution. I know it will need some additional work to support the different keyboard layouts we can find on the market. For that, I am waiting for usage reports from other users. -- This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] USB Pendant (XHC HB04)
My experience is too short to conclude if there are issues or not with wireless. I see on ebay a very similar pendant with wired connection : http://www.ebay.com/itm/CNC-Wireless-MACH3-USB-4-Axis-MPG-Pendant-HandWheel-/221236705741?pt=LH_DefaultDomain_0hash=item3382bc39cd We have good chance that the USB protocol is close to the one used for the wireless, because the manual and device driver are the same. It is worth trying. I can help if some HAL module code modifications are required. Frederic. Le 2013-06-23 15:19, Pete Matos a écrit : Wow that looks like a really nice unit man I have been wanting something like That for my VMC here. My only concern is the wireless nature and if it will cause problems. It certainly looks like it has tons of features. Peace Pete -- This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] USB Pendant (XHC HB04)
Below is the list of dev packages I have on my machine. I do not know exactly what packages are required, but you may start by installing - libc6-dev - libusb-1.0-0-dev Frederic. dpkg --get-selections | grep dev autotools-devinstall devscriptsinstall dpkg-devinstall libart-2.0-devinstall libatk1.0-devinstall libc-dev-bininstall libc6-devinstall libcairo2-devinstall libdevel-symdump-perlinstall libdevkit-power-gobject1install libdevmapper1.02.1install libdirectfb-devinstall libdrm-devinstall libexpat1-devinstall libfontconfig1-devinstall libfreetype6-devinstall libgail-devinstall libgl1-mesa-devinstall libglib2.0-devinstall libglu1-mesa-devinstall libgnomecanvas2-devinstall libgnomeprint2.2-devinstall libgnomeprintui2.2-devinstall libgtk2.0-devinstall libgudev-1.0-0install libice-devinstall libimobiledevice0install libjpeg62-devinstall libncurses5-devinstall libpango1.0-devinstall libpixman-1-devinstall libpng12-devinstall libpth-devinstall libpthread-stubs0-devinstall libreadline5-devinstall libsm-devinstall libstdc++6-4.4-devinstall libsysfs-devinstall libudev0install libusb-1.0-0-devinstall libusb-devinstall libx11-devinstall libxau-devinstall libxaw7-devinstall libxcb-render-util0-devinstall libxcb-render0-devinstall libxcb1-devinstall libxcomposite-devinstall libxcursor-devinstall libxdamage-devinstall libxdmcp-devinstall libxext-devinstall libxfixes-devinstall libxft-devinstall libxi-devinstall libxinerama-devinstall libxml2-devinstall libxmu-devinstall libxpm-devinstall libxrandr-devinstall libxrender-devinstall libxss-devinstall libxt-devinstall linux-libc-devinstall makedevinstall manpages-devinstall mesa-common-devinstall python-devinstall python2.6-devinstall system-config-printer-udevinstall tcl8.5-devinstall tk8.5-devinstall udevinstall x11proto-composite-devinstall x11proto-core-devinstall x11proto-damage-devinstall x11proto-fixes-devinstall x11proto-input-devinstall x11proto-kb-devinstall x11proto-randr-devinstall x11proto-render-devinstall x11proto-scrnsaver-devinstall x11proto-xext-devinstall x11proto-xinerama-devinstall xserver-xorg-input-evdevinstall xserver-xorg-video-fbdevinstall xtrans-devinstall zlib1g-devinstall Le 2013-06-28 10:03, Tomaz T. a écrit : I would need some help with xhc-hb04.c, I'm trying to compile it, but getting errors on stdlib.h, stdio.h, string.h, math.h probably missing some dev libraries? I tried with sudo apt-get install build-essential but no success... -- This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] USB Pendant (XHC HB04)
Le 2013-07-21 19:19, Sebastian Kuzminsky a écrit : (I'm replying to a private email from Frederic Rible, and i'm putting emc-users@ back on the delivery list because i think others may benefit from our conversation.) On 07/21/2013 03:30 AM, Frederic Rible wrote: On Thu, 18 Jul 2013 21:11:36 -0600, Sebastian Kuzminsky s...@highlab.com wrote: Do you still want to integrate it with LinuxCNC? The feature freeze for 2.6 is approaching. I'll be happy to help you integrate it if you want. Sebastian, thank you for your proposal. Yes, I will be happy to integrate it within official distribution. What is the procedure I need to follow ? About the pendant you are pointing, I do not know if it works with my hal module. I use the one displayed in the wiki page. The procedure is somewhat documented on our wiki for now: http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Git We've gotten some feedback that the description on that wiki page are not as clear as they could be, and i'm (slowly) working on better docs. But that's the best we have at the moment. In brief, what you should do is this: 1. clone the git repo at git://git.linuxcnc.org/git/linuxcnc.git 2. create and check out a new branch off master 3. add your new driver to your new branch 4. either push your branch to a public git repo (lots of us like to use github for this), or prepare your commits for email submission 5. send us a link to your repo or an email with your commits Then I'll take a look at your branch and help with any build and packaging integration issues. Let me know if any of the steps above are not clear and i'll try to explain more. Thanks for helping make LinuxCNC better! Thank you very much. The procedure looks clear. What is the deadline to have it ready for LinuxCNC 2.6 ? Frederic. -- See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] USB Camera for edge finder?
Le 2013-11-07 19:04, Gene Heskett a écrit : ... If you find a workable answer, I am all ears. Cheers, Gene I have built a fix mount on Y axis for my webcam with a custom ball joint for fine orientation along the Z axis. You can find a description here: http://blog.f1oat.org/tag/hd5000/ With this solution, I achieve an accuracy better than 0.05mm at 100mm height. I do not use automatic focus because it does not work well for edge finding: the autofocus is randomly on machine table or on top of workpiece. I use camview-emc with ultil.crop feature that is able to reduce the image resolution and make a digital zoom on the center. Optical zoom is better, but not available on my webcam. As a good side effect, as util.crop decreases the resolution, following image processing tasks are faster. Frederic. -- November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] USB Camera for edge finder?
Le 2013-11-07 22:01, Gene Heskett a écrit : Thats exactly what I am looking for. ultil.crop, I don't recall seeing a mention of. Is there a man page describing it? I have discovered that this feature was existing when analyzing camview source tree ! Below is my camview config file. util.crop is not far from the the middle. As far as I remember, this module is not installed by default with camview-emc package. You will have to build from source code and install it manually. After that, it will appear in the panel of camview configuration tool. I have connected the zoom ratio to a slider panel with a custom cam.ui and camview-emc Python script. ?xml version=1.0 encoding=utf-8 ? chain unit id=input.v4l2:0 width=1280 height=720 pixelformat=CAM_PIXEL_FORMAT_RGB format_name=1280x720 RGB 24bpp control id=input0/control control id=standard0/control control id=brightness133/control control id=contrast5/control control id=saturation83/control control id=auto-white-balance1/control control id=control-99638001/control control id=control-99638024500/control control id=control-996380325/control control id=control-99638040/control control id=control-10094850156/control control id=control-10094856201600/control control id=control-10094857201600/control control id=control-1009485827/control control id=control-100948600/control control id=control-100948610/control /unit unit id=convert.to_rgb8 width=1280 height=720 pixelformat=CAM_PIXEL_FORMAT_RGB format_name=1280x720 RGB 24bpp /unit unit id=util.crop width=459 height=258 pixelformat=CAM_PIXEL_FORMAT_RGB format_name=459x258 RGB 24bpp control id=ratio0.358943/control /unit unit id=output.opengl width=459 height=258 pixelformat=CAM_PIXEL_FORMAT_RGB format_name=459x258 RGB 24bpp /unit unit id=emc.halio width=459 height=258 pixelformat=CAM_PIXEL_FORMAT_RGB format_name=459x258 RGB 24bpp control id=limit4/control control id=reload0/control control id=circlevideo.circle/control control id=axis-pinshalui.axis.%d.pos-relative/control control id=axis-lettersXYZA45678/control control id=axis-format%.3f/control control id=spacing5/control control id=color-r1/control control id=color-g1/control control id=color-b1/control control id=gl-xor0/control /unit unit id=emc.crosshair width=459 height=258 pixelformat=CAM_PIXEL_FORMAT_RGB format_name=459x258 RGB 24bpp control id=enable1/control control id=color-r1/control control id=color-g0.902174/control control id=color-b0/control control id=gl-xor0/control control id=circle-radius100/control control id=circle-angle0/control control id=shape1/control /unit /chain -- November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] USB Camera for edge finder?
Le 2013-11-08 13:16, Russell Brown a écrit : ... Now I just have to make a tweakable mount and try to figure out how I can persuade camview-emc to include the cropping slider in it's controls section within Axis so I can twiddle when it's being used for real. ... I have started a Wiki page on this topic: http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Adding_Digital_Zoom_To_Camview-Emc You will find a modified camview-emc with zoom/focus slider. May be someone can contribute on step #1 section for compilation of util.crop feature (I have done it a long time ago and I do not remember all required steps). Frederic. -- November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] One last bit of camview-emc, missing DRO in camera upper left corner
Le 2013-11-14 21:05, Gene Heskett a écrit : So are mine despite cooking in olive oil these days. And, it turned out that my particular setup was not using any sum2 modules, so I added the above, with a 4th axis for my 4 table, and it all shows up in a hal configuration display. But still no dro is overlaid on the camview screen when switched to it in linuxcnc. And I'm about bumfuzzled again. If those who have this working could pm me their camviewcfg files for comparison, I'd sure appreciate it because ISTR I elided a unit = stanza due to an LCNC stopper error at some point a week or so back. Question: Is it possible to comment out a section of an .xml file? # signs in the first character position of a line seem to be ignored and its a PIMA. Thanks. Cheers, Gene I have uploaded my camview.cfg file on the wiki: http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Adding_Digital_Zoom_To_Camview-Emc If emc.halio is installed, then the DRO should display. It is called by camview-emc Python script emc.halio is in the emc-camunits package (halio.so file) Frederic. -- DreamFactory - Open Source REST JSON Services for HTML5 Native Apps OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access Free app hosting. Or install the open source package on any LAMP server. Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! http://pubads.g.doubleclick.net/gampad/clk?id=63469471iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] One last bit of camview-emc, missing DRO in camera upper left corner
Le 2013-11-16 00:51, Gene Heskett a écrit : lsof |grep camunits Here is the result f1oat@linuxcnc2:~$ lsof | grep camunits python1890 f1oat mem REG8,1 672081072082 /usr/lib/pyshared/python2.6/_camunits.so python1890 f1oat mem REG8,1 1576841063211 /usr/lib/libcamunits.so.6.0.2 python1890 f1oat mem REG8,1 236161071966 /usr/lib/pyshared/python2.6/_camunitsgtk.so python1890 f1oat mem REG8,1 871761071690 /usr/lib/libcamunits-gtk.so.6.0.2 python1890 f1oat mem REG8,1 10140 268252 /usr/lib/camunits/filter_gl.so python1890 f1oat mem REG8,1 9564 268257 /usr/lib/camunits/convert_jpeg_decompress.so python1890 f1oat mem REG8,1 287358 267858 /usr/local/lib/camunits/convert_canny.so python1890 f1oat mem REG8,1 284742 268010 /usr/local/lib/camunits/convert_hsv.so python1890 f1oat mem REG8,1 239826 268027 /usr/local/lib/camunits/filter_roi.so python1890 f1oat mem REG8,1 18428 268254 /usr/lib/camunits/input_log.so python1890 f1oat mem REG8,1 14268 268258 /usr/lib/camunits/convert_to_rgb8.so python1890 f1oat mem REG8,1 239716 263424 /usr/local/lib/camunits/convert_select.so python1890 f1oat mem REG8,1 14236 268251 /usr/lib/camunits/input_example.so python1890 f1oat mem REG8,1 14300 268260 /usr/lib/camunits/convert_colorspace.so python1890 f1oat mem REG8,1 14236 268256 /usr/lib/camunits/convert_jpeg_compress.so python1890 f1oat mem REG8,1 14236 268255 /usr/lib/camunits/filter_fast_bayer.so python1890 f1oat mem REG8,1 26652 268250 /usr/lib/camunits/input_v4l2.so python1890 f1oat mem REG8,1 14332 268253 /usr/lib/camunits/output_logger.so python1890 f1oat mem REG8,1 254975 267848 /usr/local/lib/camunits/filter_pip.so python1890 f1oat mem REG8,1 30964 268175 /usr/lib/camunits/input_dc1394.so python1890 f1oat mem REG8,1 287963 268026 /usr/local/lib/camunits/circle_detect.so python1890 f1oat mem REG8,1 287602 268028 /usr/local/lib/camunits/detect_features.so python1890 f1oat mem REG8,1 241093 268009 /usr/local/lib/camunits/convert_crop.so python1890 f1oat mem REG8,1 251808 268008 /usr/local/lib/camunits/detect_marker.so python1890 f1oat mem REG8,1 246652 268007 /usr/local/lib/camunits/control_hsv.so python1890 f1oat mem REG8,1 131199 267854 /usr/local/lib/camunits/input_image.so python1890 f1oat mem REG8,1 288530 267857 /usr/local/lib/camunits/detect_hough.so python1890 f1oat mem REG8,1 244321 263483 /usr/local/lib/camunits/crosshair.so python1890 f1oat mem REG8,1 18231 267833 /usr/local/lib/camunits/halio.so python1890 f1oat mem REG8,1 243658 267851 /usr/local/lib/camunits/manual_marker.so python1890 f1oat mem REG8,1 255312 267843 /usr/local/lib/camunits/convert_flip.so python1890 f1oat mem REG8,1 291570 268019 /usr/local/lib/camunits/filter_hsv.so python1890 f1oat mem REG8,1 240439 267997 /usr/local/lib/camunits/detect_ellipse.so -- DreamFactory - Open Source REST JSON Services for HTML5 Native Apps OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access Free app hosting. Or install the open source package on any LAMP server. Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! http://pubads.g.doubleclick.net/gampad/clk?id=63469471iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] John Thorton plz
Le 2013-11-16 10:13, Gene Heskett a écrit : On Saturday 16 November 2013 03:17:35 Marius Liebenberg did opine: Gene, Are you sure that config was not just for Gmoccaypy or Gscreen? No I am no sure. The wiki pages does not specify. I have about 5 or 6 camviewcfgs I have collected, none of which give the DRO. And something else bothers me too. That line EMBED_TAB_COMMAND = ./camview-emc-f1oat.py -v 1280x720 -c camview.cfg -g cam.ui -H campins.hal -w {XID} does not work at all if I use an uppercase -C, which is what every example of that line I have found shows as uppercase, but I have to use lowercase. Then, because the pins referenced in campins.hal, have the -C config file as part of the pinname, if I change the camview.cfg to camviewcfg, then I have to edit campins.hal to match. But since the float.py version doesn't work, with a full debug indicating the problem step is: File /usr/lib/python2.6/subprocess.py, line 633, in __init__ errread, errwrite) File /usr/lib/python2.6/subprocess.py, line 1139, in _execute_child raise child_exception OSError: [Errno 13] Permission denied which doesn't happen if i use the /usr/bin/camview-emc in place of the ./camview-emc-float.py version. And now with my screwing around, I've done something to the camera itself, very poor pix even in cheese, extremely out of focus and posterized. A walk to the shop to unplug it, count to 5 and plug it back in might be in order. But at 4AM, the bed is closer since its raining. On 2013-11-16 02:24 AM, Gene Heskett wrote: Greetings; following teh wiki page about putting a zoom into camunits or camview, I've pulled those 3 files and put them in my active config directory. The middle line about EMBED_TAB_LOCATION = ntb_user_tabs that we are supposed to add to our .ini file under [DISPLAY} does not appear to do anything, and when I activate the 3rd line, I get this: gene@shop:~/linuxcnc/configs/my-mill-atom-2$ linuxcnc -l LINUXCNC - 2.5.3-62-g99bc7a8 Machine configuration directory is '/home/gene/linuxcnc/configs/my-mill- atom-2' Machine configuration file is 'my-mill-atom-2.ini' Starting LinuxCNC... Traceback (most recent call last): File /usr/bin/axis, line 3326, in module _dynamic_tabs(inifile) File /usr/bin/axis, line 3182, in _dynamic_tabs child = Popen(cmd) File /usr/lib/python2.6/subprocess.py, line 633, in __init__ errread, errwrite) File /usr/lib/python2.6/subprocess.py, line 1139, in _execute_child raise child_exception OSError: [Errno 13] Permission denied Shutting down and cleaning up LinuxCNC... Cleanup done LinuxCNC terminated with an error. You can find more information in the log: /home/gene/linuxcnc_debug.txt and /home/gene/linuxcnc_print.txt as well as in the output of the shell command 'dmesg' and in the terminal And yet the perms on those 3 files are the same as all others in that directory. -rw-r--r-- And I own then all. So, what is this ntb_user_tabs actually supposed to be doing, and what perms should what file have that were probably lost in the firefox save_as download? Thanks John. Cheers, Gene Cheers, Gene EMBED_TAB_LOCATION = ntb_user_tabs is for gmoccapy. Axis integration section in the wiki is waiting for volunteers ! -C is upper case, but you need to put camview.cfg in your config directory (the same as where your .ini , as well as cam.ui and camview-emc-f1oat.py) Here is the content of my config dir -rw-r--r--+ 1 f1oat f1oat150 2013-09-19 22:38 autosave.halscope -rw-rw-rw-+ 1 f1oat f1oat378 2013-09-03 23:19 _CAMlog -rw-r--r--+ 1 f1oat f1oat488 2010-12-07 17:00 campins.hal -rwxrwxr--+ 1 f1oat f1oat 10396 2013-09-29 22:14 cam.ui -rwxrwxr--+ 1 f1oat f1oat 2567 2013-09-29 22:22 camview.cfg -rwxr-xr--+ 1 f1oat f1oat 14085 2013-09-29 22:03 camview-emc-f1oat.py -rwxrwxr--+ 1 f1oat f1oat 5715 2013-11-10 19:35 CNC-6040-gmoc.ini -rwxrwxr--+ 1 f1oat f1oat 5562 2013-09-21 14:46 CNC-6040-gmoc-simu.ini -rwxrwxr--+ 1 f1oat f1oat 5201 2013-10-06 11:47 CNC-6040.hal -rw-r--r--+ 1 f1oat f1oat 1819 2013-07-21 23:01 core_sim.hal -rw-r--r--+ 1 f1oat f1oat255 2013-07-08 22:19 custom.hal -rw-r--r--+ 1 f1oat f1oat963 2013-07-12 21:43 custom_postgui.hal -rw-r--r--+ 1 f1oat f1oat 11324 2013-07-21 12:11 dro.glade lrwxrwxrwx 1 f1oat f1oat 52 2013-08-02 19:58 gmoccapy2.glade - /home/f1oat/linuxcnc/configs/CNC-6040/gmoccapy.glade -rwxrwxrwx+ 1 f1oat f1oat 8497 2013-11-01 16:34 gmoccapy2_handler.py -rw-rw-rw-+ 1 f1oat f1oat 9774 2013-11-01 16:34 gmoccapy2_handler.pyc -rwxrwxrw-+ 1 f1oat f1oat 410394 2013-10-07 21:23 gmoccapy.glade -rwxrwxrw-+ 1 f1oat f1oat 138204 2013-10-07 21:37 gmoccapy_handler.py -rw-rw-rw-+ 1 f1oat f1oat 111867 2013-10-07 21:37 gmoccapy_handler.pyc -rwxr-xr-x+ 1 f1oat f1oat 5791 2013-07-21 12:11 gmoccapy.ini -rwxr-xr-x+ 1 f1oat f1oat
Re: [Emc-users] endoscope camera mount?
Le 2013-11-23 19:35, Marcus Bowman a écrit : I have an optical machine scope that has that kind of gimbal adjustment, although it is just two screws which act on a spherical arrangement inside (I think). Works fine. I have also cobbled together an adjustable camera mount for a USB camera, but don't use it (prefer my optical scope). What would be the disadvantage of mounting it permanently on the side of the head? That way it is always there, and you only need to calibrate its position relative to the spindle, once. You could use a work offset. Marcus Your solution sounds like the one I have here: http://blog.f1oat.org/2013/09/01/the-webcam-mounting-bracket-after-machining-work/ The initial vertical alignment of the camera is painful, but when it is done, it is a pleasure to set the zero on the workpiece so quickly. On my setup, the only drawback I have is that the camera Z position is fixed. So, the camera field of view (and the accuracy) depends on workpiece thickness. Frederic. -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Camera is on working
On Wed, 27 Nov 2013 21:14:58 -0500, Gene Heskett ghesk...@wdtv.com wrote: So, the next question is, what file do I put that offset pair into, and what buttons do I click to tell LinuxCNC to reference those offsets when setting up to etch the top of a board? Hello Gene, You need to set the offset in the tool table, tool #99. I have used the following procedure : - drill a very small hole with a V-carve tool in your spindle, 0.1mm depth - set X/Y zero on the DRO (this is the reference hole position) - now, move your table to center the camera on the hole - store the DRO X/Y reading in the tool #99 - reload the tool table - move back to X=0 Y=0 (so your spindle is now back on the hole) - now, if you check the G43H99 checkbox, the table should move and the camera should be perfectly centered on the hole and you still read X=0 Y=0 on the DRO - uncheck G43H99, now the spindle should move were the camera was pointing, and should should read again X=0 Y=0 Now, your setup is ok. The procedure to set the zero for a new workpiece is: - check G43H99 - move your table to point your camera to the needed zero - set DRO to 0/0 - uncheck G433H99 - the spindle should now be at the needed zero position Be careful with the nc file associated to G43H99: it does not move the spindle up, so you may experience collision if it is to low. I have modified the nc file to move up to top position before any X/Y motion. Do also need to drill a 2nd hole and similarly record its location, but against the first set of data so as to facilitate the auto correction of any rotation of the workpiece about the Z axis? There is a Z rotation compensation feature in LinuxCNC, but I do not know how to use it. On my side I use the camera to align the workpiece along X axis: I point my camera on a corner of the stock, then move along X and check if the camera center follows the edge. Then adjust the stock if I see deviation, and recheck. The workpiece is aligned in 2 or 3 iterations. Frederic. -- Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349351iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Camera is on working
Le 2013-11-28 12:33, Gene Heskett a écrit : On Thursday 28 November 2013 06:13:27 Frederic Rible did opine: And just to maintain camera focus, should not restore it to the starting height at the end of that motion? This camera does however seem to be autofocus over about a 1.5 range of vertical motion though, and apparently without any xy movement as it does this. My hardware setup looks different from yours: my machine is a gantry and the camera is not attached to the spindle. = its Z position is fixed. See http://blog.f1oat.org/wp-content/uploads/2013/09/20130831_171726.jpg So, there is no effect on camera if I move the spindle up. Yes, in your case you will need a different strategy for the _camoff.ngc and _camon.ngc files. You can keep the original ngc files and be careful about your spindle height before clicking on G43H99. Reading some of the code, as in camstore.ngc in particular, it appears that IF this is the code executed when the Store XYZ button is clicked, which we can apparently do 4 times after measuring the holes from both sides, it appears that it builds up a record array, 2 by 4, that can then be used to calculate the required corrections. I am thinking this then works with the align buttons on the right to achieve this. Since there aren't any docs for this, I guess its up to us to decipher it, using the code for the documentation. When you click Save XYZ, a new point is stored in the memory. Up to 4 points can be stored. When you click Center3 or Center4, your table will move automagically to the center of the circle you have pointed with 3 or 4 points. 3 points centering is ok if you do not have two points aligned on same X or Y line 4 points centering is more convenient because typically you will point and jog only on X or Y to get the opposite point. Regards. Frederic. -- Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349351iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] 3D scanner !!!???
Le 2013-11-28 03:55, a k a écrit : how to convert STL file into other useful format? I know several tools able to do that: - CamBam - Deskproto - BobCAD-CAM - Mecsoft FreeMill - Vectric Cut3D CamBam is not able to handle four axis easily (you can do indexed, but that is tricky), but the price point is very good. I am a beginner with BobCAD, but it looks very promising for my hobby needs. FreeMill is limited but it is free. For 3D scanning I use David-Laserscanner which is quite good. I use it with a DIY laser sweeping mechanism: http://blog.f1oat.org/2013/09/29/laser-sweeping-mechanism/ You will find plenty a power users on David website forum with many good examples of the capabilities. Regards Frederic. -- Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349351iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Camera is on working
Le 2013-11-28 22:41, Gene Heskett a écrit : So obviously the SUBROUTINE_PATH isn't working, and the MDI enumeration is screwed. Yes, you have the two problems in your config. Here are some parts of my CNC-6040.ini file --- [RS274NGC] PARAMETER_FILE = linuxcnc.var SUBROUTINE_PATH = nc_subroutines ... [HALUI] MDI_COMMAND=o_camoncall MDI_COMMAND=o_camoffcall MDI_COMMAND=o_camstorecall MDI_COMMAND=o_camcenter3call MDI_COMMAND=o_camcenter4call MDI_COMMAND=otouch-topcall MDI_COMMAND=G10 L20 P1 X0 MDI_COMMAND=G10 L20 P1 Y0 MDI_COMMAND=G10 L20 P1 Z0 MDI_COMMAND=ogoto-origin-safe-zcall MDI_COMMAND=ogoto-tool-change-positioncall MDI_COMMAND=oparkcall --- My campins.hal file --- #CamView pins loadrt oneshot names=forOn,forOff addf forOn servo-thread addf forOff servo-thread setp forOn.width .1 setp forOff.width .1 setp forOff.falling 1 setp forOff.rising 0 net forOnNet camview.hal_checkbutton1 = forOn.in forOff.in net cam1 forOn.out = halui.mdi-command-00 net cam2 forOff.out = halui.mdi-command-01 net cam3 camview.hal_button1 = halui.mdi-command-02 net cam4 camview.hal_button2 = halui.mdi-command-03 net cam5 camview.hal_button3 = halui.mdi-command-04 --- halui.mdi-command-00 will execute the first MDI_COMMAND line in [HALUI] section halui.mdi-command-01 the second one, etc ... And my config directory tree --- ... linuxcnc/configs/CNC-6040/nc_subroutines linuxcnc/configs/CNC-6040/nc_subroutines/goto-origin-safe-z.ngc linuxcnc/configs/CNC-6040/nc_subroutines/_camoff.ngc linuxcnc/configs/CNC-6040/nc_subroutines/_camon.ngc linuxcnc/configs/CNC-6040/nc_subroutines/touch-off.ngc linuxcnc/configs/CNC-6040/nc_subroutines/restore.ngc linuxcnc/configs/CNC-6040/nc_subroutines/goto-tool-change-position.ngc linuxcnc/configs/CNC-6040/nc_subroutines/on_abort.ngc linuxcnc/configs/CNC-6040/nc_subroutines/park.ngc linuxcnc/configs/CNC-6040/nc_subroutines/_camstore.ngc linuxcnc/configs/CNC-6040/nc_subroutines/tool_report.ngc linuxcnc/configs/CNC-6040/nc_subroutines/_camcenter4.ngc linuxcnc/configs/CNC-6040/nc_subroutines/manual_change.ngc linuxcnc/configs/CNC-6040/nc_subroutines/reset_state.ngc linuxcnc/configs/CNC-6040/nc_subroutines/_camcenter3.ngc linuxcnc/configs/CNC-6040/CNC-6040.ini --- -- Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349351iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Camera is on working
On Thu, 28 Nov 2013 18:10:25 -0500, Gene Heskett ghesk...@wdtv.com wrote: On Thursday 28 November 2013 17:31:26 Frederic RIBLE did opine: Can I specify that SUBROUTINE_PATH twice? I do not know. HALUI] MDI_COMMAND=oalign-startcall MDI_COMMAND=oalign-ycall MDI_COMMAND=oalign-xcall MDI_COMMAND=oclear-offsetcall MDI_COMMAND=o_camoncall MDI_COMMAND=o_camoffcall MDI_COMMAND=o_camstorecall MDI_COMMAND=o_camcenter3call MDI_COMMAND=o_camcenter4call loadrt oneshot names=forOn,forOff addf forOn servo-thread addf forOff servo-thread setp forOn.width .1 setp forOff.width .1 setp forOff.falling 1 setp forOff.rising 0 net forOnNet camview.hal_checkbutton1 = forOn.in forOff.in net cam1 forOn.out = halui.mdi-command-06 net cam2 forOff.out = halui.mdi-command-07 net cam3 camview.hal_button1 = halui.mdi-command-08 #net cam4 camview.hal_button2 = halui.mdi-command-09 #net cam5 camview.hal_button3 = halui.mdi-command-10 Please modify your HAL commands as below to match your MDI_COMMAND list net cam1 forOn.out = halui.mdi-command-04 net cam2 forOff.out = halui.mdi-command-05 net cam3 camview.hal_button1 = halui.mdi-command-06 net cam4 camview.hal_button2 = halui.mdi-command-07 net cam5 camview.hal_button3 = halui.mdi-command-08 -- Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349351iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] SUBROUTINE_PATH in latest 2.5.3 is not working
Le 2013-11-29 21:43, Gene Heskett a écrit : Found it! An almost chance comment, in the [RS274NGC] section of the docs said I had the statement in the wrong section of the .ini file. One would, unless instructed to do otherwise, assume that it went immediately under the PROGRAM_PREFIX setting which is ~/linuxcnc/nc_files by default and setting. Congratulations ! Happy to learn that your setup is now working. I was trying to find a shell command based on strace to display LinuxCNC files access. But that would not have helped much to detect this problem in the .ini file. Frederic. -- Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349351iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] SUBROUTINE_PATH in latest 2.5.3 is not working
Le 2013-11-30 00:44, Gene Heskett a écrit : All 4 routines are there now. And the overly verbose comments should explain what to do to fine tune them for your usage. Cheers, Gene Thanks. These ngc files look interesting. I have uploaded my complete LinuxCNC configuration here: http://blog.f1oat.org/linuxcnc/ You will find there the additional subroutines I use with MDI_COMMAND. There is additional stuff such as a custom extension to gmoccapy. Here there is a cool automatic edge finder idea that can also save lot of time: http://www.themakersguide.com/home/products/triple-edge-finder-2 Frederic. -- Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349351iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] XHC HB04 pendant stops updating its display
Marius, thank you for the patch. I have few others to integrate also. Yes, including it in LinuxCNC is on my todo list. I will try to boost the priority for that task. About the display, I have the same issue here. I believe it is link to some power saving feature. I do not know if we can find a fix. Somebody else has done nice work for this pendant here: http://forum.planet-cnc.com/viewtopic.php?f=12t=1125 Frederic. Le 2014-01-14 14:05, Marius Alksnys a écrit : I am writing this again with a new hope :) Problem with the pendant is that sometimes, when it is left untouched for at least several seconds, it stops updating its display. For example, when the program is running or machine is jogged by a keyboard. And when you touch something on the pendant, the display updates. Maybe somebody feels why this can happen? By the way, my corrected driver is attached. Maybe someone could check and probably include it in future versions of LinuxCNC? I made corrections to the driver for the numbers to appear exactly the same like in the usual UI - I added round functions. -- CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] Intelys C3000 retrofit project
Hello, After 3 months of work, my retrofit project is now almost finished. Thank you all for your help, and especially for the tool in spindle saving problem. Here is a video of the machine: https://youtu.be/LnJv07yeGt0 Frederic (http://cnc.f1oat.org) -- ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Intelys C3000 retrofit project
Le 2015-06-09 08:57, Erik Christiansen a écrit : Some serious work, to get it done in 3 months, by the look of it. A very nifty machine, now. Was Machinekit difficult to set up, e.g. for your custom I/O? ISTR some pin identification ambiguities/variations in the early days, but haven't kept in touch with what's happening. ( I don't have enough round tuits to have a go at Machinekit ATM, despite its appeal.) Erik Standard Machinekit is quite easy to setup with Debian pre-configured images. Pin numbering has been reworked and is now homogeneous : #816 means pin #16 on P8 connector. I like the PRU integrated device for high rate stepping and PWM. However, this is more tricky if you want to develop your own GUI. The remote GUI concept is very nice, but not yet fully documented for new developers. Machinetalk and QtQuickVcp are very promising. Also, I had to learn QML language, which is quite powerful and nice to use. Frederic. -- ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] Automatic tool length update in tool table
My machine has a 4 tools ATC (http://blog.f1oat.org/2015/06/13/intelys-c3000-retrofit/). I would like to implement a NGC routine for automatic measurement of the 4 tool lengths, to be called after having manually loaded the tools in the rack. What is the good way for updating Z offsets in the tool table and have linuxcnc use the updated tool table ? Is it possible with NGC file only, or do I need to write a Python script for that ? Thanks. Frederic. -- ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Automatic tool length update in tool table
Yes, G10L11 is what I am looking for! Thanks. Frederic. Le 2015-08-01 00:03, John Thornton a écrit : G10L11 works for me. JT On 7/31/2015 2:41 PM, Frederic RIBLE wrote: -- ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] MPG with dynamic scale
Hello, For my lathe control panel project, I have integrated 2 MPG with 100ppr. (see http://blog.f1oat.org/2016/03/21/emco-turn-120p-machinekit-control-panel/) I would like to drive the size of each jog step according to MPG rotation velocity. The idea is to have 0.01mm steps at low speed, an then increase up to 0.1mm steps when rotation is fast. I have added jog wheel velocity calculation in my MPG driver. Now I need to use it to drive the step size (axis.0.jog-scale) Any experience to share? Thanks. Frederic. -- Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! http://pubads.g.doubleclick.net/ gampad/clk?id=1444514301=/ca-pub-7940484522588532 ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] MPG with dynamic scale
So far, I have interesting results with following HAL configuration using "scale" and "limit1" components. # Jog wheels section net jog-enable halui.mode.is-manual loadrt limit1 count=2 addf limit1.0 servo-thread addf limit1.1 servo-thread loadrt scale count=2 addf scale.0 servo-thread addf scale.1 servo-thread setp limit1.0.min 0.01 setp limit1.0.max 0.1 setp scale.0.offset -0.03 setp scale.0.gain 0.001 setp limit1.1.min 0.01 setp limit1.1.max 0.1 setp scale.1.offset -0.03 setp scale.1.gain 0.001 # MPG X PRU encoder setp hpg.encoder.00.chan.00.A-pin 2 #930 ENCyI setp hpg.encoder.00.chan.00.B-pin 5 #927 eQ0B setp hpg.encoder.00.chan.00.counter-mode 3 #Quadrature x1 count mode (HAL encoder x1 mode) net jog-counts-x hpg.encoder.00.chan.00.rawcounts => axis.0.jog-counts net jog-enable => axis.0.jog-enable setp axis.0.jog-vel-mode 1 net jx1 hpg.encoder.00.chan.00.velocity-abs => scale.0.in net jx2 scale.0.out => limit1.0.in net jx3 limit1.0.out => axis.0.jog-scale # MPG Z PRU encoder setp hpg.encoder.00.chan.01.A-pin 0 #931 ENCyA setp hpg.encoder.00.chan.01.B-pin 1 #929 ENCyB setp hpg.encoder.00.chan.01.counter-mode 3 #Quadrature x1 count mode (HAL encoder x1 mode) net jog-counts-z hpg.encoder.00.chan.01.rawcounts => axis.2.jog-counts net jog-enable => axis.2.jog-enable setp axis.2.jog-vel-mode 1 net jz1 hpg.encoder.00.chan.01.velocity-abs => scale.1.in net jz2 scale.1.out => limit1.1.in net jz3 limit1.1.out => axis.2.jog-scale Le 2016-04-10 00:22, Frederic Rible a écrit : > Hello, > > For my lathe control panel project, I have integrated 2 MPG with 100ppr. > (see > http://blog.f1oat.org/2016/03/21/emco-turn-120p-machinekit-control-panel/) > > I would like to drive the size of each jog step according to MPG > rotation velocity. > The idea is to have 0.01mm steps at low speed, an then increase up to > 0.1mm steps when rotation is fast. > I have added jog wheel velocity calculation in my MPG driver. > Now I need to use it to drive the step size (axis.0.jog-scale) > > Any experience to share? > Thanks. > Frederic. > > > -- > Find and fix application performance issues faster with Applications Manager > Applications Manager provides deep performance insights into multiple tiers of > your business applications. It resolves application problems quickly and > reduces your MTTR. Get your free trial! http://pubads.g.doubleclick.net/ > gampad/clk?id=1444514301=/ca-pub-7940484522588532 > ___ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users -- Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! http://pubads.g.doubleclick.net/ gampad/clk?id=1444514301=/ca-pub-7940484522588532 ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] MPG with dynamic scale
Le 10/04/2016 15:02, Andy Pugh a écrit : > I would use "lincurve" with velocity as input and jog scale as output. > > @Andy: thanks, lincurve is doing the job. Easier than scale/limit1 combination. # Jog wheels section net jog-enable halui.mode.is-manual newinst lincurve lincurve.0 pincount=2 newinst lincurve lincurve.1 pincount=2 addf lincurve.0 servo-thread addf lincurve.1 servo-thread # Acceleration curve for MPG # 0-30 : 0.01 # 30-130 : linear ramp 0.01 -> 0.1 # 130- : 0.1 setp lincurve.0.x-val-00 30 setp lincurve.0.y-val-00 0.01 setp lincurve.0.x-val-01 130 setp lincurve.0.y-val-01 0.1 setp lincurve.1.x-val-00 30 setp lincurve.1.y-val-00 0.01 setp lincurve.1.x-val-01 130 setp lincurve.1.y-val-01 0.1 # MPG X PRU encoder setp hpg.encoder.00.chan.00.A-pin 2 #930 ENCyI setp hpg.encoder.00.chan.00.B-pin 5 #927 eQ0B setp hpg.encoder.00.chan.00.counter-mode 3 #Quadrature x1 count mode (HAL encoder x1 mode) net jog-counts-x hpg.encoder.00.chan.00.rawcounts => axis.0.jog-counts net jog-enable => axis.0.jog-enable setp axis.0.jog-vel-mode 1 net jx1 hpg.encoder.00.chan.00.velocity-abs => lincurve.0.in net jx2 lincurve.0.out => axis.0.jog-scale # MPG Z PRU encoder setp hpg.encoder.00.chan.01.A-pin 0 #931 ENCyA setp hpg.encoder.00.chan.01.B-pin 1 #929 ENCyB setp hpg.encoder.00.chan.01.counter-mode 3 #Quadrature x1 count mode (HAL encoder x1 mode) net jog-counts-z hpg.encoder.00.chan.01.rawcounts => axis.2.jog-counts net jog-enable => axis.2.jog-enable setp axis.2.jog-vel-mode 1 net jz1 hpg.encoder.00.chan.01.velocity-abs => lincurve.1.in net jz2 lincurve.1.out => axis.2.jog-scale -- Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! https://ad.doubleclick.net/ddm/clk/302982198;130105516;z ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Servo and Mesa pulse encoder/velocity feedback
This Fanuc drive will be in runaway condition if it does not receive a velocity feedback. It has an internal analog closed loop to track the velocity command and control the motor rpm. This is why we absolutely need to derive this feedback from the quadrature encoder somewhere. Frederic. On 17/09/2016 23:02, andy pugh wrote: > On 17 September 2016 at 20:24, Frederic RIBLE <fri...@teaser.fr> wrote: > >> This is why we are thinking about using mesa to implement this function. > > It might be enough to "fool the drive" but there really is no information > content in that velocity signal. > -- ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Servo and Mesa pulse encoder/velocity feedback
The diagram is here: https://forum.linuxcnc.org/media/kunena/attachments/16648/Mauriceservo.jpg Actually, modifying the drive to get access to torque mode is something we would like to avoid. Designing an external pulse to velocity converter as well. This is why we are thinking about using mesa to implement this function. Depending on latency for this operation, we may experience additional stability issue in the loop. Frederic. On 17/09/2016 15:43, andy pugh wrote: > On 17 September 2016 at 10:20, Frederic RIBLE <fri...@teaser.fr> wrote: > >> We would like to replace the controller with a Mesa 7i48/6i24 combination. >> We plan to use one pulse encoder input to make the frequency to voltage >> conversion and generate the velocity feedback for the drive. >> > You could use two output channels per drive from any of the servo control > cards, one for velocity command, and one for velocity feedback. > But, when you think about it, both are updated from the same source at the > same time, and there is no extra information in the second channel. > > What you might find works perfectly well is to short out one or other of > the command and feedback channels and to control the other conventionally. > > The only way to gain any benefit from the internal velocity loop in the > drive is if the velocity feedback updates more rapidly than the LinuxCNC > command channel. And the only ay I see to do that is with an external > hardware board, as originally used. > -- ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Servo and Mesa pulse encoder/velocity feedback
Yes, the diagram has been dropped by the mailing list software. You can find it here: https://forum.linuxcnc.org/media/kunena/attachments/16648/Mauriceservo.jpg Frederic. On 17/09/2016 15:32, Gene Heskett wrote: > On Saturday 17 September 2016 05:20:09 Frederic RIBLE wrote: > >> Hello, >> >> We are working on a retrofit for a Mori Seiki SL-0 CNC lathe. >> The original X/Z axis servo drives are Fanuc analog. >> They work in velocity mode with external frequency to voltage >> conversion embedded in the original CNC controller. >> We would like to replace the controller with a Mesa 7i48/6i24 >> combination. We plan to use one pulse encoder input to make the >> frequency to voltage conversion and generate the velocity feedback for >> the drive. >> See attached diagram. > No attached diagram came thru, Frederic, perhaps too big? > >> Anyone having success with similar setup? Does it make sense? >> Do we have to anticipate specific stability problem in the closed >> loop? >> >> Thanks. >> Frederic (http://blog.f1oat.org/) >> >> -- >> ___ >> Emc-users mailing list >> Emc-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/emc-users > > Cheers, Gene Heskett -- ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] Servo and Mesa pulse encoder/velocity feedback
Hello, We are working on a retrofit for a Mori Seiki SL-0 CNC lathe. The original X/Z axis servo drives are Fanuc analog. They work in velocity mode with external frequency to voltage conversion embedded in the original CNC controller. We would like to replace the controller with a Mesa 7i48/6i24 combination. We plan to use one pulse encoder input to make the frequency to voltage conversion and generate the velocity feedback for the drive. See attached diagram. Anyone having success with similar setup? Does it make sense? Do we have to anticipate specific stability problem in the closed loop? Thanks. Frederic (http://blog.f1oat.org/) -- ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Fanuc analog drive & LinuxCNC tuning
On 09/12/2016 17:23, Peter C. Wallace wrote: > > Is the velocity loop gain in LinuxCNC set correctly? > > That is, is it set so you get ~+-10V at +-2000 RPM > The gain should be ok because we have tuned it to achieve very small following error when all PID parameters are 0 except FF1=1. In that way, the axis is running in open loop. -- Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today.http://sdm.link/xeonphi ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Fanuc analog drive & LinuxCNC tuning
On 09/12/2016 21:48, Peter C. Wallace wrote: > > There are only some 10s of usec between reading the encoder and writing the > PWM value, assuming the read and write functions are in the proper order in > the hal file. Also Fred said that changing the servo thread from 1 to 10 KHZ > made little difference, so I dont think its a loop bandwith issue > > Good idea, we have to check the functions order. About original Fanuc F/V converter delay comparing to mesa, unfortunately we cannot measure because it is faulty. Another clue: we have very similar oscillations at low or high speed. So the problem is not coming from period/frequency mode switching in the velocity estimation algorithms. -- Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today.http://sdm.link/xeonphi ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Fanuc analog drive & LinuxCNC tuning
On 09/12/2016 02:21, Peter C. Wallace wrote: > Are you sure the PWMGEN output mode is set to mode 2 ? > (you will get very weird and unstable results otherwise) > Note that changing the mode may invert the feedback so beware of runaways > I think so, will double check. We have monitored the analog output of the 7i48 with an oscilloscope: looks good, both for positive and negative values. But there is some high frequency noise that may come from the cabling. > Also since you are closing a velocity loop, you may want to > run the servo thread faster (say 2 to 8 KHz if your PC can do it) We have tested 1 kHz and 10 kHz: not much difference. Thank you for your help. Frederic. -- Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today.http://sdm.link/xeonphi ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Fanuc analog drive & LinuxCNC tuning
On 10/12/2016 15:34, Peter C. Wallace wrote: > What is the magnitude of the oscillation? > > can you plot it and provide a link to the plot? > Looks like we have a scaling mismatch somewhere in the drive between command and feedback. However, that does not explain everything. Will come back soon with a plot. -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] Fanuc analog drive & LinuxCNC tuning
Hello At Electrolab hackerspace, we are working on the retrofit of a Mori-Seiki SL0 CNC lathe. We are are using a Mesa 6i24/7i48 combination. The drive is a A06B-6047-H208 (double velocity control unit). Axis motors are A06B-0641-B011 and A06B-0642-B011 (yellow cap). The position feedback comes from a 2000ppr encoder. We use the Mesa board to convert the pulses to an analog feedback velocity signal. We have done the HAL cabling as below. First results are promising : we can control the position. But we see some oscillations on the velocity (periodic with 33 ms period). Oscillations start when the position command changes, and never stop, even when the pos-cmd becomes constant. Same issue if we disable the PID loop in HAL. So we believe the problem is coming from the drive. When we decrease the analog gain in the drive after the error amplifier (comparison between velocity command and feedback), we can decrease the oscillation. As we can see a phase compensation circuit in the drive, we assume this is to compensate for delay on velocity feedback. So, we have tried to add some delay on the velocity feedback assuming original F/V converter from the Fanuc control board may be slower than what we have with Mesa. Not much success: that changes a little the oscillation period, but we cannot cancel oscillation. Anyone knows how we can tune the drive (unfortunately we have not the documentation for this part number) ? Thanks Frederic. https://forum.linuxcnc.org/media/kunena/attachments/16648/Mauriceservo.jpg -- Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today.http://sdm.link/xeonphi ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] NML communication
On 19/07/2017 20:01, Nicklas Karlsson wrote: GUI on one computer and real time on other machine. I am using Machinekit exactly for that purpose. Look at my retrofit using an Android tablet for the GUI: https://youtu.be/LnJv07yeGt0?t=2m I am not yet fully satisfied by this setup: this is a low end tablet and I am experiencing too much latency. But things are better when using a more powerful tablet, or a PC. Also, I am using Wifi. IP over USB should be better. Frederic. http://cnc.f1oat.org -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] NML communication
On 22/07/2017 03:58, Nicklas Karlsson wrote: With 0MQ protocol ? Yes, that is BeagleBone Black and ZeroMQ. I agree, 7" screen is too small. Good for 3D printing, but not for a more complex CNC machine. With so small buttons, there is risk of harmful mistakes. Also, I will add MPG in the future because jogging with screen buttons is not convenient. Frederic. -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] MachineKit on the BeagleBone Black
As far as I know, PRU micro-code is using sampling for counting. I have validate up to 100 kHz, with a PRU period of 2.5uS. So you have 4 samples per pulse period, which is enough, but not fully satisfying if you need to master the jitter. See http://blog.f1oat.org/2016/04/10/adding-velocity-estimation-in-hal_pru_generic-encoder/ The fix I have done on MK code is for frequency measurement. I am using PRU based encoder for MPG, so without strong constraints. 6000 rpm is exactly the upper limit I have with my ECMO-120P lathe. With my 1024 ppr spindle encoder, the pulse rate is above 100 kHz. Possible with PRU, but close to the limit in regards to the overall performance. I do not know if PRU micro-code can sustain 2.5uS period when increasing the number of encoders/pwms it is processing. This is why I am using BBB eQEP instead of PRU for spindle. I do not have specs in mind, but I guess eQEP is capable of more than 1 MHz, as soon as the lowpass filter of the input is well designed. Frederic http://cnc.f1oat.org On 2017-10-15 06:24, John Dammeyer wrote: Hi Jon, With respect to high speed encoder interface using the PRU on the Beagle I may have misunderstood the comment from Charles from the second link below. I'm thinking a 6000 RPM spindle with a 1000 line encoder detecting in quadrature. That's tracking 24KHz which has a period of 41.667uS so I guess the PRU can probably count that as long as it isn't doing to many other things in that same 10uS interrupt. Here's what I've found so far to a posting I did back in 2015. https://groups.google.com/forum/#!searchin/machinekit/Beaglebone$20machineki t$20lathe$20spindle%7Csort:relevance/machinekit/6klZrJH_2ZA/kDVr-6LgFgAJ 1. A reply from Jeff Pollard on which pins on the Xylotex 26 pin header to use for the QEP along with instructions to not use the "A HOME/LIMIT" switch on the DB-25 for homing and instead remove a filter capacitor so the index pulse can be read. How to configure the Xylotex .ini file is not explained. Past that the other link from 15JUN15: https://groups.google.com/forum/#!searchin/machinekit/Beaglebone$20machineki t$20lathe$20spindle%7Csort:relevance/machinekit/OvkMCwhhpjY/O0y1sl8y8OcJ 1. A comment from Charles which is what has led me to think the QEP for spindle isn't possible on the Beagle yet. But that was more than 2 years ago. "You can implement slow user-interface style encoder inputs on the ARM in the servo thread (1 mS period) using the software encoder input and GPIO pins. The PRU encoders will run at the PRU period (10 uS by default) and must use direct PRU input pins. The hardware encoders obviously need to use the specific pins for the channel(s) used. If you need more higher performance encoders, it's possible to dedicate one of the PRUs to do just encoder inputs, but that software has yet to be written (pull requests greatly appreciated!). :) Charles Steinkuehler" -Original Message- From: Jon Elson [mailto:el...@pico-systems.com] Sent: October-14-17 7:55 PM To: Enhanced Machine Controller (EMC) Subject: Re: [Emc-users] MachineKit on the BeagleBone Black On 10/14/2017 03:14 PM, John Dammeyer wrote: I'll see if I can find that link. From what I remember it's specific PRU code for the Beagle that needs to be written for the Lathe part and that was never done. But, there is NO specific PRU code for a lathe. What you need are steps (assuming a step/dir motor interface), some digital I/O to control the spindle, and at least one encoder counter with direction. The generic PRU code built by Charles Steinkuehler can provide this, if the hal command line asks it to do so. Once you have a spindle encoder, you can do lathe threading operation. Now, one other item might be an analog output to control spindle speed. You can always integrate a PWM output, which the PRU can provide, to get this. Jon -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] MachineKit on the BeagleBone Black
On 2017-10-15 11:37, andy pugh wrote: The simple answer being to use a 500 or 250 line encoder. (That hexagonal boring demo I showed earlier was using a home-machined 50-slot code wheel) Yes, 1024ppr is overkill. And my RVP510 encoder is capable of lower resolution because it is programmable! But sometimes geeks tend to miss out on simple solutions ;-) Frederic http://cnc.f1oat.org -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] MachineKit on the BeagleBone Black
On 2017-10-15 14:18, Nicklas Karlsson wrote: Yes, 1024ppr is overkill. And my RVP510 encoder is capable of lower resolution because it is programmable! I use to prefer some margin, you turn down resolution because it's higher than needed? I am using 1024ppr, probably with lot of margin for all casual threading needs I have. That resolution is requiring high speed quadrature encoder, what I have done. But the other path would have been to decrease the resolution and use more common PRU based encoders. Frederic http://cnc.f1oat.org -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] MachineKit on the BeagleBone Black
On 2017-10-15 19:58, John Dammeyer wrote: I mentioned 10uS period because that's what I read is the PRU interrupt rate and why the machine kit can't do more than 50kHz stepping pulses.Don't know if that's true either now because that information might also be old. 10uS is the standard configuration. You can change it to 2.5uS with "pru_period=2500" as argument on the line loading the PRU in the HAL config. loadrt hal_pru_generic prucode=$(HAL_RTMOD_DIR)/xenomai/pru_generic.bin pru=0 num_encoders=1 num_pwmgens=1 pru_period=2500 halname=hpg What needs to be put into the Xylotex .ini and .hal file to make the Beagle PRU use a 1PPR sensor for the latest revision of MachineKit on the Beagle? What needs to be put into the Xylotex .ini and .hal file to make the Beagle PRU use eQEP0 for the latest revision of MachineKit on the Beagle? If you share the wiring of your Xylotex cape, I can prepare a example config for you based on my EMCO-120P files. Information needed is: - stepper motors: dir/step connections - spindle encoder: resolution and A/B/I connections (I assume eQEP0) - lead screws/stepper: number of steps per unit - unit: inch or mm - end-stop switches: connections and position (at min or max X/Z ?) - X/Z: travel - spindle motor: drive connections From that starting point you will be able to tune your own config by learning HAL and INI syntax. Always easier with a good example. Frederic http://cnc.f1oat.org -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] MachineKit on the BeagleBone Black
On 2017-10-14 00:21, andy pugh wrote: I lost track of Machinekit a while ago. Do they have any encoder-counting facility in the PRU? If they have then the rest is just config. (editing text files...) Yes, Machinekit has nice PRU encoder facility with eQEP: high-speed quadrature + index. That is a strong feature of BBB. FPGA like encoder performances, without the cost of the FPGA. I am using it for synchronized motion on my EMCO-120P lathe with a 1024ppr encoder and a Furaday cap. I have wired a custom electronics to handle the differential outputs of the encoder. Should work to synchronize Z, even when moving the spindle manually. My machine is WIP, so not yet tested with real chips! See https://youtu.be/zVUMC1mdQKg?t=23m26s PRU micro-code encoder is also available, but with lower pulse rate. I am using it for MPG. Also, I am using the PRU micro-code to manage the stepgen: high pulse rate can be achieved without impact on CPU load. Encoder electrical wiring as below: P8.12: SPINDLE A P8.11: SPINDLE B P8.16: SPINDLE INDEX Here is the portion of my hal config file: loadrt hal_arm335xQEP encoders=eQEP0,eQEP2 # Spindle encoder addf eqep.update servo-thread setp eQEP2.position-scale 4096 setp eQEP2.min-speed-estimate 0.2 setp eQEP2.capture-prescaler 5 # can measure down to 50 Hz pulses / 20 rpm setp eQEP2.counter-mode 0 # Quadrature mode setp eQEP2.invert-B 1 net spindle-position eQEP2.position => motion.spindle-revs net spindle-velocity eQEP2.velocity => motion.spindle-speed-in net spindle-index-enable eQEP2.index-enable <=> motion.spindle-index-enable Frederic http://cnc.f1oat.org -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] MachineKit on the BeagleBone Black
On 2017-10-10 00:02, Sebastian Kuzminsky wrote: I don't know about machinekit, but in linuxcnc incremental jogs are safer than continuous jogs in high latency situations like these. Same behavior with machinekit. This is one of the motivations I have for adding physical jog wheels on my machines. Basically, I think the issue is coming from the way the continuous jog is implemented. For example, in gmoccapy code, we can see def on_btn_jog_pressed(self, widget, data=None): ... self.command.jog(linuxcnc.JOG_CONTINUOUS, joint_axis_number, direction * velocity) and def on_btn_jog_released(self, widget, data=None): ... self.command.jog(linuxcnc.JOG_STOP, joint_axis_number) So, for any reason, if you have latency in the execution of on_btn_jog_released(), or in the transmission of the linuxcnc.JOG_STOP, the motion will not stop immediately when you are releasing the key/widget. And more nasty, if the event is lost, the motion will continue until you press/release again the widget, or press ESTOP. On my router, I am using a wireless HB04 pendant. Sometimes, I am experiencing small latency. But with no bad consequences because basically the jog wheel is sending a bunch of incremental commands. So, if you have latency, the motion will stop, and will never move more than the absolute counter value which is transmitted by the pendant. When using a physical button connected to a HAL pin, thanks to hard realtime properties of HAL and polling implementation of digital inputs, this issue does not exist. We could imagine a similar polling mode implementation for widgets so that the motion will stop if polling result is lost or is coming too late from a end2end point of view (over NML or ZeroMQ path). Frederic http://cnc.f1oat.org -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] MachineKit on the BeagleBone Black
On 2017-10-09 23:27, andy pugh wrote: This is why I like the approach taken by the "Touchy" interface which basically requires a jogwheel and a physical "start" button. You can still begin the homing sequence from the touch screen, and I think I would prefer that to bring up a "press start to home" dialog, but other than that you need to move something physical to get machine movement. This is something I am considering on my side. Even I never had broken something with touchscreen, I am not fully comfortable with the fact a motion can start with only a very small touch. Using a physical button requiring few Newtons force is safer. So, that means you will need first to touch the proper widget on the screen, and then confirm by pressing the physical exec button. That will leave also some more time for the brain to double check the selected command is the good one! Frederic http://cnc.f1oat.org -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] MachineKit on the BeagleBone Black
On 2017-10-08 02:33, Chris Albertson wrote: I don't know why people like to use these 1GHz ARM boards for machine controllers. I can answer, I am using both BBB and PC! My own motivation is primary experimenting: - 2017: EMCO-120P lathe + BBB + MK + Modified Gmoccapy GUI - 2015: C3000 machining center + BBB + MK + Qt based tablet remote GUI - 2013: CNC-6040 router + PC + LCNC + Modified Gmoccapy GUI - Late 90s : Wolfcraft table based mill + PC + EMC/LCNC + Axis GUI See http://blog.f1oat.org/2017/10/09/cnc-projects-history/ and https://youtu.be/zVUMC1mdQKg Machinekit is running both on PC or BBB. It is coming with several improvements and disrupting implementations (see https://youtu.be/OVVGdQnz5Ts) As an example, the new middleware is enabling a network of HAL components running on different boards. One application is remote GUI running on a tablet (not a remote X session, but a true local GUI exchanging data with the remote RT controller over LAN or Wifi). About the ARM based boards like the BBB, what is nice is the PRU/eQEP subsystem: it enables high speed stepping and quadrature encoding without the need for external FPGA board. So, for a fraction of the cost of a PC/FPGA combination, you have high-end I/O performances. And the DE0-Nano and DE10-Nano SOC boards are bringing additional FPGA capabilities in a very cheap and compact form factor, useful for more advanced I/O needs. If you do not really want to spent time for experimentation, PC/LCNC is probably the way to go. MK/BBB will be good for tight budget, high speed I/O and small size constraints, if you are more geek. That will be nice if we can merge LCNC with MK in the near future. Considering the small amount of time hobby developers have to contribute, that's a shame to make some developments 2 times! I am contributing to both. Finalizing now an enhanced mb2hal component able to replace all these dedicated VFD drivers, thanks to new powerful configuration capabilities. Currently tested on MK, to be back-ported on LCNC later on. # Syntax is HAL_MAP_PIN = name, addr, format, scale, offset # name: name of the pin # addr: Modbus address associated to this pin (0x format can be used for hexa) # format: # bit: bit pin, mapped to one 1 bit modbus register (coil, discrete input) #f16: float pin, mapped to one 16 bit modbus register # s16: s32 pin, mapped to one 16 bit modbus register # u16: u32 pin, mapped to one 16 bit modbus register #f32: float pin, mapped to two 16 bit modbus register (MSB first) # s32: s32 pin, mapped to two 16 bit modbus register (MSB first) # u32: u32 pin, mapped to two 16 bit modbus register (MSB first) # # scale: optional floating point scale value # offset: optional floating point offset value # The scale/offset formula used is: #pin = modbus_register * scale + offset when reading from Modbus #modbus_register = pin * scale + offset when writing to Modbus # Hitachi NE-S1 VFD [TRANSACTION_06] MB_SLAVE_ID=2 MB_TX_CODE=fnct_03_read_holding_registers HAL_TX_NAME=vfd1 # 0.01 * 2840/50.0/1.186 = 0.4789 HAL_MAP_PIN=rpm-feedback, 0x1000, f32, 0.4789 # 0.01 * 2840/50.0/1.186 / 60 = 7.9820e-6 HAL_MAP_PIN=rps-feedback, 0x1000, f32, 7.9820e-6 HAL_MAP_PIN=current-feedback, 0x1002, f16, 0.01 HAL_MAP_PIN=direction-feedback, 0x1003, s16 Frederic http://cnc.f1oat.org -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Anyone interested in QtQuickVcp support for LinuxCNC? (still the same)
Integrating QtQuickVcp with LinuxCNC should be very interesting. I have developed a DRO component for QtQuickVcp with the look and feel of Gmoccapy. See my CNC mill project: https://youtu.be/LnJv07yeGt0?t=3m28s I am using also Gmoccapy for other machines, and would love having one ported to QtQuickVcp. Many benefits such as running the GUI on a separate tablet as a cheap touchscreen solution. Frederic. http://cnc.f1oat.org On 2017-11-27 16:37, Alexander Rössler wrote: Nicklas Karlsson writes: Yes. I do not like python and guess C++ execute faster so why not. From a developers perspective VCPs where completely outdated and not even close to what modern UI toolkits offer. No developer really want's to work with tk, we can argue about Gtk2. I worked with glade and it works rather well although some of widgets are a little bit limited. Yeah, widgets technology is great for small desktop UIs. However, I also seen big UIs where glade in general is bit of a pain. The more modern Gtk3 UIs also HTML/JS I have heard. QtQuickVcp comes with 2 reference UIs: - Cetus: designed as axis replacement: https://github.com/qtquickvcp/Cetus Look the same as now so I guess it should work great. To simplify remote deployment of the UIs one can simply download and run the "MachinekitClient" (yes, it's Machinekit only right now) and connect to the machine instance. This way, it's extremely simple to circumvent the limitations of embedded computers with weak graphics performance. Use a cheap 100$ tablet as your display and you are fine (https://www.youtube.com/watch?v=LnJv07yeGt0) The way I am heading. To support LinuxCNC would be quite simple. The machine/server part is based on Machinetalk - an open source middleware. Linuxcnc use NML and I think the server part is in working order but have not had enough time to figure out how it is with the "axis" user interface, got more hardware today. Basically, it would be a matter of "adapting" mkwrapper, mklauncher and configserver (Python applications) over to LinuxCNC. ? These are the names of the "server" applications in Machinekit. To make it simple: It would be possible to add the Machinetalk support as a separate package. No need to modify the LinuxCNC source code. HAL Remote - which is useful for custom extensions would require more effort, since it depends on the haltalk server - which goes deep into Machinekit. haltalk, this is between which parrts. Very well described here: https://machinekoder.com/machinetalk-explained-part-4-hal-remote/ From the user perspective, I think the split between LinuxCNC and Machinekit makes absolutely not sense and is very confusing. To make it simple: Machinekit is focused on Non-CNC and LinxuCNC on CNC. -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Differential receivers for omron encoders. Got a bag of them.
On 2017-12-02 11:24, Gene Heskett wrote: I'd have really serious doubts anybody ever considered the transmission line termination characteristics needed to preserve a perfect square wave anyway. And if I asked that of the guy at Lowes spooling off 100 feet of that cable for me, he'd think I was suddenly talking in swahili. Many MODBUS/RS485 papers are talking about 120 ohms bus termination and signal reflection effects. http://www.ti.com/lit/an/slla272c/slla272c.pdf My VFD has a switch to active this termination on the MODBUS input. Here is an extended study: http://support.fccps.cz/download/adv/frr/RS485/RS485.html However, I do not know if that is really important for the particular case of a spindle encoder. Just another of my war stories from 40 years in broadcast engineering. :) I was sure that will recall nice stories about radio ;-) Thanks. Frederic (callsign F1OAT) http://cnc.f1oat.org -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Differential receivers for omron encoders. Got a bag of them.
On 2017-12-01 22:44, Gene Heskett wrote: So 2 of those solves my diff to single ended signal problems with bandwidth to throw away. Almost dc to light. And the duty cycle is 50%, plus or minus 2% worst case due to the motors wibblies at nearly 8500 rpms. Great! Additionally, some of those RS-422 transceivers have integrated ESD protection for long wires. You may consider adding a termination resistor to have the transmission line working in good conditions. I think you can check that with a scope on the transmission line: you should see a good square shape, with not overshoot. Frederic http://cnc.f1oat.org -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] omron encoders
On 2017-11-30 15:13, Gene Heskett wrote: generator. So I am going to make up a board to carry a 74ls86 today, I am using an old 75ALS195N to convert the symmetrical encoder output to single TTL signal. It is working well with my spindle running at 3000rpm. I have a RVP510 encoder configured for 1024ppr. Frederic http://cnc.f1oat.org -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] motion.spindle-at-speed and M5 state
Just broke an endmill with a bad GCODE macro where M3 command was missing. I have motion.spindle-at-speed properly tight to my VFD component. But motion does not check it when the spindle is in stop condition. Any clue for inhibiting G1 when the spindle is not activated ? Thanks. Frederic http://cnc.f1oat.org ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] motion.spindle-at-speed and M5 state
Interlock with motion.motion-type? To all, thank you so much for your help. I have solved the issue with a logic based on motion-type + at-speed driving motion.feed-hold. Added an override pin linked to a gladevcp button allowing stopped spindle when using a drag knife. Here is my HAL component: component spindle_security "Block non G0 motions when the spindle is not running"; author "Frederic RIBLE"; pin in s32 motion_type; pin in bit at_speed; pin in bit override; pin out bit feed_hold; variable double old; function _; license "GPL"; // indicates GPL v2 or later ;; FUNCTION(_) { if (override) { feed_hold = 0; return; } switch (motion_type) { case 0: //Idle (no motion) case 1: //Traverse case 4: //Tool change case 5: //Probing case 6: //Rotary axis indexing feed_hold = 0; break; case 2: //Linear feed case 3: //Arc feed feed_hold = !at_speed; break; } } And associated HAL configuration: loadrt spindle_security addf spindle-security.0 servo-thread net spindle-at-speed => spindle-security.0.at-speed net feed-hold spindle-security.0.feed-hold => motion.feed-hold net motion-type motion.motion-type => spindle-security.0.motion-type net spindle-security-override spindle-security.0.override Frederic http://cnc.f1oat.org ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] motion.spindle-at-speed and M5 state
That might be expected behaviour, I suppose. yes, as stated in the manpage. You could try linking to feed-hold? Just tried: that is affecting G0 as well. So not ok for my config because I need G0 motion with spindle stopped. ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] motion.spindle-at-speed and M5 state
Unfortunately this solution is not solving the issue. The motion HAL component seems ignoring spindle-at-speed when in M5 state. On 2018-11-11 20:26, Andy Pugh wrote: On 11 Nov 2018, at 17:41, Frederic RIBLE wrote: Any clue for inhibiting G1 when the spindle is not activated ? Adding logic so that at-speed is false with the spindle stopped should work. ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] "External" homing
On 2020-12-04 10:59, andy pugh wrote: I suspect that it might be best to ignore the built-in homing. Configure for immediate homing (ie zero HOME_SEARCH_VELOCITY) and then handle to motion interlock with the motion pins. @all, thank you for your help. We prefer using servo drive built-in homing because it is already managing everything, including limit switches. This "external" homing is now working as suggested by Andy, thanks to a small ladder logic. We have modified gmoccapy to trig ladder, instead of calling self.command.home(). At the end of cycle, we are triggering halui.joint.N.home so that LCNC knows homing is done. Frederic. ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] "External" homing
Hello, I have an ESTUN Ethercat servo drive with integrated homing sequence management. Basically, I only need to write 2 registers to start a homing sequence, and then wait for a specific status bit to become true in a status register. Probably easy to map to some HAL pins with a small sequencer written in ClassisLadder opr Python. However, I cannot find good reference about clean integration with LinuxCNC own homing logic. Especially re-using standard GUI homing button/status, and auto-mode inhibition when homing is not done. Any clue? Thanks. Frederic. ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users