Multi-nozzle smartcool - Page 2


Page 2 of 3 FirstFirst 123 LastLast
Results 21 to 40 of 54

Thread: Multi-nozzle smartcool

  1. #21

    Default Re: Multi-nozzle smartcool

    As others have said, it seems the Tormach pump isn't too hot. On my G0704 I run a coolant ring. It was $60 shipped. It doesn't even leak, though the line lock is a bit too loose. I should probably just replace it with genuine stuff. Anyways, with a better pump and one of these rings you might be off to the races.

    https://www.aliexpress.com/item/4000...archweb201603_

    They make various sizes, search "coolant ring" and they pop up.



  2. #22
    Member kstrauss's Avatar
    Join Date
    Apr 2013
    Location
    Canada
    Posts
    1788
    Downloads
    0
    Uploads
    0

    Default Re: Multi-nozzle smartcool

    The same problem affects many of us!



  3. #23
    Member
    Join Date
    Nov 2012
    Location
    United States
    Posts
    591
    Downloads
    0
    Uploads
    0

    Default Re: Multi-nozzle smartcool

    I'm a big fan of 1/99
    1% of the work gets you 99% of the way there? SIGN ME UP!!!! :-)



  4. #24

    Default Re: Multi-nozzle smartcool

    Quote Originally Posted by jwatte View Post
    1% of the work gets you 99% of the way there? SIGN ME UP!!!! :-)
    Other way around my friend ;-)



  5. #25

    Default Re: Multi-nozzle smartcool

    Had a chance doing a similar stuff before. It is two-nozzle design only, and it was a relatively complex task that I have done long before SmartCool's debut. My original design goal was building a hand-free auto-nozzle (it will auto adjust the pointing angle based on tool length). Also, it is able to do fine adjustment with user commands (M-code). Although this has been done for a long while, I never used it in real production setting due to the lack of a full enclosure that I never installed.

    The whole idea is using "LinuxCNC generated PWM signal to control a servo motor". And, the second PWM was actually inverted from the first one. Using LinuxCNC HAL for conversions, tool-length to angle, then angle-to-PWM.

    To generate the PWM requires:
    1. additional Parallel Port (an additional card installed)
    2. add some LinuxCNC HAL Components (software components)
    3. modify some Pthpilot HAL files (for example, postgui_tormach_mill.hal, tormach_mill_5i25.hal)
    4. modify some other files (for example, /etc/modprobe.d/emc2, ...)

    These was a long time ago, some details might not as 100% accurate, but the idea is genuine.

    However, low clearance of this design should be fixed .

    Multi-nozzle smartcool-p_20160420_203641-jpgMulti-nozzle smartcool-p_20160507_000412-jpg

    Attached Thumbnails Attached Thumbnails Multi-nozzle smartcool-p_20160420_203641-jpg   Multi-nozzle smartcool-p_20160507_000412-jpg  


  6. #26

    Default Re: Multi-nozzle smartcool

    Pretty impressive looking assembly. I had considered rolling my own when I first got this idea but ultimately decided that I didn't want to have to worry about digging into the python code or having to redo my changes after every update. I have a smart cool on order that will hopefully be arriving soon (apparently they've been on backorder for a bit) at which point I'll find out how effective it is on it's own. If it's not enough I'll probably start working on the multi-nozzle arrangement. In the meantime, I'm also looking into a pump upgrade from the 1/8hp that's in there now. There seems to be no shortage of 1/4 and 1/2 hp pumps out there and from what I can tell from the wiring diagrams and components, the machine's electronics are rated to carry much more power to the pump than is actually being used so I think I have the overhead to run something that will give me some better flow and pressure. We shall see though.



  7. #27
    Member
    Join Date
    Nov 2012
    Location
    United States
    Posts
    591
    Downloads
    0
    Uploads
    0

    Default Re: Multi-nozzle smartcool

    The SmartCool protocol isn't very hard to reverse engineer. You could tell the Tormach "yes, I have a SmartCool" and then actually build your own pile of servos and brackets and duct tape to do whatever you want with the info you get from the machine!



  8. #28

    Default Re: Multi-nozzle smartcool

    I know it's been discussed here before and I've read those threads with great interest. Ultimately though, I have enough software development projects on my plate already without adding that one to the mix. The decision to buy a smart cool and use it to drive whatever system I land on was more about me being lazy or not caring enough than any concern that I couldn't do it.



  9. #29

    Default Re: Multi-nozzle smartcool

    Quote Originally Posted by soofle616 View Post
    Pretty impressive looking assembly. ... We shall see though.
    Actually, if there were SmartCool to choose from in the first place, I would just buy one as well. I gained quite a lot of experience from building my own, but would rather concentrate on the jobs on hand.



  10. #30

    Default Re: Multi-nozzle smartcool

    Well it seems this project has hit a roadblock. The smartcool I've had on order has been on backorder for a bit which I was aware of and not overly concerned about. Unfortunately today I was informed that the backorder has been extended until April. I'm not overly thrilled with the idea of waiting that long so I've decided to follow in the footsteps of others and build my own. Looking back through related threads I see that the Robotis AX-12A is the servo used in the official version so I've ordered one of those and expect it within a few days. In the meantime, I'll have to dig up the other threads that talk about the commands to and from my mill to the smartcool module so I can get to work on the arduino code. I have the arduino already having used it to test the arduino USBIO hack and I never got around to doing anything with that so I can repurpose it without issue. Oh, and in related news, a 1/4hp pump is on it's way sometime next week which is supposed to get me up to about 24gpm of flow compared to the roughly 2-2.5 I have now. That ought to do some good as well.



  11. #31

    Default Re: Multi-nozzle smartcool

    Over the weekend I received my servo and got it talking to my teensy. That in itself was more of a pain then I had anticipated but I found a library that seemed like it would do the trick and after adjusting the example code's baud rate setting and servo id I was able to get the servo to move. Threw together a program that should be able to receive and send the appropriate commands to the mill based on the info in the python code but so far I've not had success getting the teensy to respond to the mill. That said, my code is VERY specific in what it's looking for from the mill for incoming serial commands so there's a decent chance that what the teensy is receiving isn't properly matching what I've told it to look for. Unfortunately the mill's logs don't show what commands have been sent or what has been received back so troubleshooting is a little problematic. Tonight's project is probably going to be setting the teensy to echo all incoming messages out to one of it's other serial ports, have that port monitored by the softwareSerial port on an arduino to then be echoed back to my pc through the USB connection. In theory that should work and should give me a good idea of what the mill is sending over so I can adjust my code accordingly.



  12. #32
    Member kstrauss's Avatar
    Join Date
    Apr 2013
    Location
    Canada
    Posts
    1788
    Downloads
    0
    Uploads
    0

    Default Re: Multi-nozzle smartcool

    You should see a USB device connected message on the status screen when you plugin the Teensy. Does the PP SmartCool handler say anything to your Teensy? Did you remember to add the appropriate udev rule? (Perhaps you configured your Teensy with the same USB VID/PID as a real SmartCool so a new rule is not required.) Your response to the PP "VE" query must contain "Z-Bot SCHNOZZ" or your device will be ignored.

    Just a few thoughts that hopefully will help.



  13. #33

    Default Re: Multi-nozzle smartcool

    I had hoped you would chime in since I know you've been down this road already.

    I do see the USB device connected message in the status screen and from the terminal if I lsusb I can see the device so it's definitely connected and communicating via usb.

    I added a line item to the 99-(something about USB here) udev rule. Under the existing line that looks for the smart cool device I added my pid/vid with the symlink to schnozz. This may have been a mistake and perhaps I need to add a separate rule file but I assumed it would work fine from this location. Something to try as I continue my diagnostics. I have also verified that what I put in the rule for pid/vid is what is displayed with lsusb so there's no typos to contend with.

    I had hoped to configure my teensy so as not to require a new rule (looks like it just needs a device description that contains SCHNOZZ, nothing about the pid/vid) but the difference between ttyusb and ttyacm has me stumped for now

    I do have the teensy programmed to look for a VE command and respond. My response does contain "Z-Bot SCHNOZZ" with some additional text after that so again, something that should work but might be causing problems.

    I've also configured the sketch to reply to every command EXCEPT the VE command with "\r\n" which the controller appears to look for when it commands a servo move or sends a servo parameter

    The sketch on the teensy uses a lot of String.substring commands which I've found to be functional but VERY picky so one of the things I want to look for is if the mill is sending commands with any sort of leading character that I'm not expecting. If it is, then my substring start and end index numbers will be off and the string won't match. Another possibility is some residual information on the serial connection that is being picked up by my Serial.readstring command, again possibly leading to some leading characters that should be there. A more robust version of my sketch will not only purge the incoming serial stream after each read but also check the string for the index that the first character appears at, then use that as the index for the substring.
    So if the input is asdfaVE, the first command will search the string for "V", find it's index at 5, the do the substring compare from index 5. At this point though, I don't want to add additional complexity to the sketch until I've established that the two devices are talking to each other.

    In fact, my first test when I get back in front of the machine may very well be to remove everything from the code and simply light up the built in LED if the teensy sees a serial string come in. If that much works I may go on to adding the index search before checking the substring for a specific command.



  14. #34
    Member kstrauss's Avatar
    Join Date
    Apr 2013
    Location
    Canada
    Posts
    1788
    Downloads
    0
    Uploads
    0

    Default Re: Multi-nozzle smartcool

    For debugging stuff like this, I've found that adding a 20x4 LCD via i2c for logging is invaluable. Such displays are only $10 or so and are nice to leave in the final version of the project.

    From my experience the udev rule must be a SINGLE line or it is ignored. My notes say that a rule as follows works for a Teensy (I am using a Leonardo):

    SUBSYSTEMS=="usb",KERNEL=="ttyACM*", ATTRS{idVendor}=="0403",
    ATTRS{idProduct}=="6001",SYMLINK+="zbot_schnozz",G ROUP="dialout",
    MODE="0666"



  15. #35

    Default Re: Multi-nozzle smartcool

    I had that thought about the LCD as well. I have about a million of them at home from past projects. Only reason I didn't immediately jump on that is because for initial debugging it's nice to see the live stream of in and out messages and with a 4 line limit, if there's a bunch of data moving all at once, it's easy to miss the early stuff that gets shifted off screen too fast to read.

    Interesting about the single line rule. The one I modified (again, starting with 99 but I don't remember the rest of the file name) has 4 or 5 lines for the ATC so I assumed it just allowed for multiple definitions of possible matching devices. I have successfully connected this teensy to the machine in the past. At the time I had it set up as a usbio board and that worked flawlessly so I know it will talk to the machine, I just need to get it to work in this application.



  16. #36
    Member kstrauss's Avatar
    Join Date
    Apr 2013
    Location
    Canada
    Posts
    1788
    Downloads
    0
    Uploads
    0

    Default Re: Multi-nozzle smartcool

    Perhaps I changed two things and forgot one or there are acceptable places to break the rules into multiple lines or the line ending character matters or... My memory is that my only change between failing and working was making it one line.



  17. #37
    Member
    Join Date
    Dec 2008
    Location
    Switzerland
    Posts
    740
    Downloads
    0
    Uploads
    0

    Default Re: Multi-nozzle smartcool

    Quote Originally Posted by soofle616 View Post
    I had that thought about the LCD as well. I have about a million of them at home from past projects. Only reason I didn't immediately jump on that is because for initial debugging it's nice to see the live stream of in and out messages and with a 4 line limit, if there's a bunch of data moving all at once, it's easy to miss the early stuff that gets shifted off screen too fast to read.

    Interesting about the single line rule. The one I modified (again, starting with 99 but I don't remember the rest of the file name) has 4 or 5 lines for the ATC so I assumed it just allowed for multiple definitions of possible matching devices. I have successfully connected this teensy to the machine in the past. At the time I had it set up as a usbio board and that worked flawlessly so I know it will talk to the machine, I just need to get it to work in this application.
    I don't use teensy boards but I just modified an Arduino to simulate a SmartCool to see what's going on. I modified the existing SmartCool rule as follows:
    Code:
    SUBSYSTEMS=="usb",KERNEL=="ttyACM*",ATTRS{product}=="Arduino*",SYMLINK+="zbot_schnozz",GROUP="dialout",MODE="0666"
    Presumably your teensy won't look like an Arduino but if you plug in the usb cable while PP is running the new connection is reported in the status window including the product name, something like
    Code:
    USB device (Arduino_Due) was plugged in.
    All commands, except VE, need to be acknowledged with ".\r\n" (as far as I've seen so far). Note the '.' before the first '\'.

    When you press Reset you should then see the following lines in the terminal window:
    2021-01-19 16:13:33.597944 CET (+0:00:32.589389) | Smart Cool: Looking for device [python/hal_zbotschnozz.py:344]
    2021-01-19 16:13:33.651136 CET (+0:00:00.053192) | Smart Cool: Firmware ID Z-Bot SCHNOZZ ABC [python/hal_zbotschnozz.py:417]
    2021-01-19 16:13:34.101291 CET (+0:00:00.503347) | Smart Cool: Vertical mount = 3.942 Horizontal mount = 6.808 Vertical adjustment = 0.0 [python/hal_zbotschnozz.py:385]
    2021-01-19 16:13:34.101836 CET (+0:00:00.000545) | Smart Cool: SEND COMMAND + RC : WS00 [python/hal_zbotschnozz.py:426]
    etc.
    (or something like that)
    Hope that helps
    Step



  18. #38

    Default Re: Multi-nozzle smartcool

    Didn't make any progress yesterday but I got a lot done the day before. I've succeeded in confirming the mill is sending commands to the teensy and the teensy is receiving them. I ended up using an arduino mega i had floating around (nerd alert) as a serial relay so the teensy would repeat all received commands to the mega which then repeated it to the serial monitor on my computer. That gave me a real time view of what was happening. That's as far as I got at that point because I realized that my code was not well written and as a result, it froze when it came time to read the incoming serial command from the mill. The incoming VE command repeats endlessly and so fast that the teensy never saw the end of the string so it just kept reading it and waiting for it to end. Only when I hit the e-stop did the teensy see the command end and relay it to the mega. Once I figured that out, I went back to jwatte's github post with the usbio code for arduino/teensy. That is much more cleverer than my approach and instead of a single read command, keeps a revolving buffer of the incoming stream which is processed after every character until something is read that matches a comparison value. I've rewritten that a bit to deal with the different command structure for the smart cool instead of the usbio but haven't had a chance yet to test the new code.



  19. #39

    Default Re: Multi-nozzle smartcool

    SUCCESS! With the incoming command stream being read using a similar code structure to jwatte's usbio sketch, I immediately saw the Z-Bot SCHNOZZ response go to the machine after I took the mill out of reset. For now I have M7 doing nothing more than flipping on the pin13 LED for verification but that does work as does M9 to turn off the LED. In the near future that output will drive a mosfet which in turn will provide power to a solenoid valve for air blast. After I confirmed that things were talking back and forth, I plugged the servo code back into the sketch and the servo came to life as well! So for now, I have a proven functional system that responds to the machines commands. Next up, design enclosures for everything to package it up nicely and get it mounted to the spindle head. I've already got a PCB layout started to hold the teensy, a ttl logic inverter (3V-5V for the teensy outputs to the servo and mosfet), a mosfet to drive the m7 solenoid, power port for 12v input, and two 1/8" audio jacks to connect the servo and air blast solenoids. So overall, more work to be done but real progress has been made. I will be getting my finished sketch up on github in the near future so anyone else looking to replicate what i've done will have easy access to it.
    In the meantime, another related upgrade is in progress as well. I received my new 1/4hp pump from amazon earlier in the week and decided to test fit it last night. Coincidentally enough, after removing the stock pump and it's subplate, the new pump's mounting holes line up perfectly with those of the old pump's subplate. Makes me wonder if a 1/4hp was intended as an option at some point but never happened. I am mildly concerned that the expected 24gpm flow rate will drain the tank faster than it will refill and that the available pressure will be more than my plumbing and filtering can handle without leaks or bursting so this will be getting a bypass pipe right at the pump outlet to give me some control over total output to the coolant nozzles. Stay tuned for more on that soon.

    Attached Thumbnails Attached Thumbnails Multi-nozzle smartcool-1-jpg   Multi-nozzle smartcool-2-jpg   Multi-nozzle smartcool-3-jpg  


  20. #40

    Default Re: Multi-nozzle smartcool

    If the pump is rated at 24gpm expect a much lower actual flow rate. My pump is rated for something like 45gpm but I only see like 10gpm actual out of 5 nozzles. That said, 10gpm is more than enough to get you in trouble real fast if you can't drain it. My tanks holds 10 actual gallons of coolant, but I have no issues returning it usually. The couple of times I have had issues have resulted in fairly decent messes.



Page 2 of 3 FirstFirst 123 LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


About CNCzone.com

    We are the largest and most active discussion forum for manufacturing industry. The site is 100% free to join and use, so join today!

Follow us on


Our Brands

Multi-nozzle smartcool

Multi-nozzle smartcool