Tree VMC500 Retrofit Progress and A Few Questions
28 Sep 2015 00:59 - 28 Sep 2015 01:55 #63077
by jschulze
Tree VMC500 Retrofit Progress and A Few Questions was created by jschulze
Just wanted to say a big thanks to everyone who contributes here.
Had this machine for about a year and it was running along happily, but things went south a couple weeks ago. The old crt monitor died and I replaced it, but then the control started having more and more issues. Instead of chasing issues and having to buy expensive parts I decided to just retrofit it. I had some spare Mesa cards from another project and I put them to use on this machine. I used a 5i20, 7i48, and 7i37. Luckily the Acramatic control that the machine had really lended itself well to being retrofitting as all of the signal were exactly what I needed. The machine uses the orignal Yaskawa servo drives and motors.
By digging through other peoples posts it was pretty straight forward getting the toolchanger working. I used the carousel hal component to control the carousel and the orient component to do the spindle orientation. I then wrote a subroutine and remapped M6 to do the toolchange. I was a bit worried about the remapping as I had never played around with it. On my lathe project I used classic ladder to perform to the tool change, but I think I perfer the remapped M6 and subroutine better as the error and fault checking is much simpler.
Also, with hal and some custom mdi commands I made the spindle and toolchanger home with the axis homing button. I'm sure there is a more elagant way, but I just set the spindle index true on startup and after the normal homing procedure, a lut5 component checks that all axis are homed and that the spindle hasn't turned past the index signal. It then calls a custom mdi with an M3 in and when the spindle goes past the index it then calls another mdi command which calls a subroutine that turns the spindle off and begins the tool changer homing procedure by setting T1 and using digital outputs to enable the carousel component. Since the carousel component homes on first use, I just used an M66 to wait for it to be ready and then I deactivate it and end the subroutine. I'm not familar with Python, but is it easier to interact with hal components? Having to connect a ton of digital IO and using M64/65 is kind of a pain.
My big question is about getting my touchscreen to work. I have a serial elo touchpanel that isn't wanting to cooperate. I've tried for about a day to get it to work with no avail. I know it's connected to ttyS0, as I can "cat /dev/ttyS0" and I can watch gibberish come up on the screen. I've also connected the screen to a pc and used elo's serial sniffer to confirm that it uses the 10 byte data type. I've loaded inputattach and the elographics package. I've tried to follow the steps on the wiki page, but it isn't seeming to work. After I do "modprobe elo" and "inputattach -elo /dev/ttyS0" I'm not able to see it when I look in the xinput list. It did show up on the list for a little while, but then when I restarted the machine it went away and I've never gotten it back. When it did show up I had tried so many things I'm not sure which had worked. Does anyone know where xinput gets it's device definitions from? Is it created on startup like the xorg.conf? Is there somewhere I can add the definition to make it show up on the list? When it was working I could "xinput test ID" and watch the data. There seems to be so many .rules that I'm not sure where the proper place to add my definition are.
Anyway, here's a few videos of the homing and toolchange procedures.
Thanks,
Jordan Schulze
Had this machine for about a year and it was running along happily, but things went south a couple weeks ago. The old crt monitor died and I replaced it, but then the control started having more and more issues. Instead of chasing issues and having to buy expensive parts I decided to just retrofit it. I had some spare Mesa cards from another project and I put them to use on this machine. I used a 5i20, 7i48, and 7i37. Luckily the Acramatic control that the machine had really lended itself well to being retrofitting as all of the signal were exactly what I needed. The machine uses the orignal Yaskawa servo drives and motors.
By digging through other peoples posts it was pretty straight forward getting the toolchanger working. I used the carousel hal component to control the carousel and the orient component to do the spindle orientation. I then wrote a subroutine and remapped M6 to do the toolchange. I was a bit worried about the remapping as I had never played around with it. On my lathe project I used classic ladder to perform to the tool change, but I think I perfer the remapped M6 and subroutine better as the error and fault checking is much simpler.
Also, with hal and some custom mdi commands I made the spindle and toolchanger home with the axis homing button. I'm sure there is a more elagant way, but I just set the spindle index true on startup and after the normal homing procedure, a lut5 component checks that all axis are homed and that the spindle hasn't turned past the index signal. It then calls a custom mdi with an M3 in and when the spindle goes past the index it then calls another mdi command which calls a subroutine that turns the spindle off and begins the tool changer homing procedure by setting T1 and using digital outputs to enable the carousel component. Since the carousel component homes on first use, I just used an M66 to wait for it to be ready and then I deactivate it and end the subroutine. I'm not familar with Python, but is it easier to interact with hal components? Having to connect a ton of digital IO and using M64/65 is kind of a pain.
My big question is about getting my touchscreen to work. I have a serial elo touchpanel that isn't wanting to cooperate. I've tried for about a day to get it to work with no avail. I know it's connected to ttyS0, as I can "cat /dev/ttyS0" and I can watch gibberish come up on the screen. I've also connected the screen to a pc and used elo's serial sniffer to confirm that it uses the 10 byte data type. I've loaded inputattach and the elographics package. I've tried to follow the steps on the wiki page, but it isn't seeming to work. After I do "modprobe elo" and "inputattach -elo /dev/ttyS0" I'm not able to see it when I look in the xinput list. It did show up on the list for a little while, but then when I restarted the machine it went away and I've never gotten it back. When it did show up I had tried so many things I'm not sure which had worked. Does anyone know where xinput gets it's device definitions from? Is it created on startup like the xorg.conf? Is there somewhere I can add the definition to make it show up on the list? When it was working I could "xinput test ID" and watch the data. There seems to be so many .rules that I'm not sure where the proper place to add my definition are.
Anyway, here's a few videos of the homing and toolchange procedures.
Thanks,
Jordan Schulze
Last edit: 28 Sep 2015 01:55 by jschulze. Reason: Adding Photos
Please Log in or Create an account to join the conversation.
28 Sep 2015 02:00 - 28 Sep 2015 03:29 #63083
by jschulze
Replied by jschulze on topic Tree VMC500 Retrofit Progress and A Few Questions
Can't seem to attach photos. I'll try again after a bit.
Last edit: 28 Sep 2015 03:29 by jschulze.
Please Log in or Create an account to join the conversation.
28 Sep 2015 04:58 #63096
by cncbasher
Replied by cncbasher on topic Tree VMC500 Retrofit Progress and A Few Questions
nice conversion and videos Jordan,
i posted a long while ago , a program called multitouch , it solved some issues i had with a touch screen
you may find it in your package manager . Elo screens are just about the standard default and tend to work out the box
although .i found best to do a clean install for it to install correctly , first time .
care to attach your config as an archive to this post if may help others , along the way
i posted a long while ago , a program called multitouch , it solved some issues i had with a touch screen
you may find it in your package manager . Elo screens are just about the standard default and tend to work out the box
although .i found best to do a clean install for it to install correctly , first time .
care to attach your config as an archive to this post if may help others , along the way
Please Log in or Create an account to join the conversation.
28 Sep 2015 07:52 - 28 Sep 2015 07:58 #63101
by jschulze
Replied by jschulze on topic Tree VMC500 Retrofit Progress and A Few Questions
Here's all of my relevant files. I apologize and thank anyone in advance if anyone spots code that I stole from them.
The only thing that is different than the normal installaion is that I used the updated orient.comp file that added a oriented output and a tolerance setting. I can't remember who made them, but huge huge huge thanks to whoever made the carousel component and the orient component as they made my life much easier.
Everything seems to work fine, but I'm sure that it's nowhere near as efficient or elegant as it could be. The 100.ngc file is my toolchange subroutine and the 200.ngc is my extra homing procedure.
The only thing that is different than the normal installaion is that I used the updated orient.comp file that added a oriented output and a tolerance setting. I can't remember who made them, but huge huge huge thanks to whoever made the carousel component and the orient component as they made my life much easier.
Everything seems to work fine, but I'm sure that it's nowhere near as efficient or elegant as it could be. The 100.ngc file is my toolchange subroutine and the 200.ngc is my extra homing procedure.
Last edit: 28 Sep 2015 07:58 by jschulze.
The following user(s) said Thank You: sspeed33317
Please Log in or Create an account to join the conversation.
29 Sep 2015 06:56 #63170
by jschulze
Replied by jschulze on topic Tree VMC500 Retrofit Progress and A Few Questions
Glad to report that I've managed to get the touchscreen working. After trying every possible thing I could find online, I ended up having to create an xorg.conf and add the input definition in there. I then had an issue of the y axis being inverted. Again, I tried every possible thing I could think of I finally discovered the xinput coordinate transformation matrix. It involved some math that was beyond my limited comprehension, but finally figured out how to invert about the x axis and transform it back into position. I then added the new transformation settings into the xorg.conf and then the calibration went quite well after that.
Please Log in or Create an account to join the conversation.
Moderators: cncbasher
Time to create page: 0.085 seconds