-
1 Attachment(s)
Multi-nozzle smartcool
Lately I've been getting really tired of constantly adjusting the angle of my coolant nozzles. Between manual tool changes and adjusting/checking/readjusting the coolant spray, my programs require a lot of babysitting that wouldn't otherwise be necessary. The tool change is a separate issue, this thread is about the coolant nozzles. Tormach has their smartcool for a cool five hundo but I don't like that I have to give up my current three nozzle arrangement or lose pressure on all nozzles because I've added a fourth. I had this crazy idea the other day that perhaps I could tie the smartcool module into the nozzles I already have effectively giving me a multi-nozzle smartcool. Did some playing in Fusion and came up with a possible design. There's still a lot of polishing to do before I start making parts but I'm curious what you all think? The intent would be to include an adapter on one end to attach the first nozzle to the servo drive. The linkages between each one then serve to keep all three at (approximately) the same angle.
-
Re: Multi-nozzle smartcool
The first question I would ask is whether you need any form of tip tracking or dithering (up and down). If you only want to track part zero the easiest way would be to mount the nozzles on the base or column. This would save you most of the effort and $500. On "normal" sized parts the tool would retract away from the nozzles for tool changes.
Multiple nozzles should, IMHO, be distributed more around the tool rather than on one side, although this introduces further issues. Your linkage system would then become a little more tricky.
Step
-
Re: Multi-nozzle smartcool
I have two applications that seem to happen a lot where a wiggle or dither option would be helpful. Deep pocketing being the most problematic, the coolant is typically pointed at or near the tool tip so when it comes time to cut a deep pocket, the stream hits the surface of the part and the chips actually get pushed back into the pocket to be recut until the toolpath allows the coolant stream to spray into the pocket. Even on larger pockets, as the toolpath brings the top surface of the part back around, the stream is interrupted again. The other scenario is finish passes when side cutting. The chips tend to be long due to a big axial doc but very thin so they pile up on the surface behind the cutter. I can't say I've ever noticed a real issue with this but it's always concerned me since it introduces the possibility of recutting chips and leaving a bad surface finish on that final pass.
Both of those scenarios are helped if the nozzles are more distributed around the tool as you commented on but that does introduce problems (i think?) when it comes time to finally get an ATC in there. No idea if I will buy the tormach unit or come up with my own but in either case I do have concerns about possible interference between the nozzles and tool changer if I spread them around more. As drawn, my design has the nozzles covering 90° around the tool. I could probably go a bit further around without issue but this was drawn in a vacuum, no measurements were taken on the machine to determine spacing or position.
-
Re: Multi-nozzle smartcool
I had done some doodles for something similar. A few comments:
I suspect that there will be significant friction in your linkages plus the joints between coolant and nozzles. I doubt that a SmartCool can supply sufficient torque.
You'll need protection to keep coolant out of your joints which will further increase friction.
.
You don't show the position of the SmartCool but placing it in the centre with the two other nozzles at 120 degrees from the primary nozzle would seem good.
MQL rather than flood is better for many situations. Three MQL nozzles from one mister may not work well so you might need three mixers.
It is pretty easy to clone the Tormach SmartCool controller and a single modified controller could point three actuators which might be better than a single actuator with a complicated linkage to three nozzles.
Just a few thoughts. Please keep us informed of your progress.
-
Re: Multi-nozzle smartcool
FWIW: The SmartCool uses an AX12A servomotor, which is rated at ~15 kg*cm max torque, ~4 kg*cm continuous holding torque (depending on cooling.)
-
Re: Multi-nozzle smartcool
Not a Tormach-specific solution, but I've recently helped a friend with similar complaints on both of his Fadal 6030's. His chip clearing has improved a bit with Spider-cool servo/stepper driven nozzles, but as with the Tormach he only has two of them per spindle (ATC clearance).
His problem was similar - deep pockets filled with chips weren't getting cleared effectively. My solution was to run an air line near the coolant manifold on the spindle, and connect it up to a single large-orifice nozzle - like 3/8" ID. The air line is fed by a solenoid valve which is controlled by either a timer relay or a pushbutton. The timer relay is easily adjustable for on/off cycle, and is triggered by an M7. The pushbutton activates the air blast regardless of M7 status.
The nozzle is aimed just below the bottom of the tool, more or less, and is extremely effective at clearing deep pockets filled with heavy steel chips.
Yes, it uses a fair amount of air... but he's not had a problem with chips piling up or breaking/chipping tools since I installed the system. It's pretty amusing to hear the machine running when he has it in auto and it's triggering every 5 seconds or so. Good thing he's got a big enclosure - it looks like a snow glob every time the blast cycles.
For a bonus I added a second air solenoid and pushbutton connected to the coolant line downstream of the pump check valve. He can now blow down the coolant lines close to the spindle - still leaving the bulk of the coolant in the lines - so the nozzles don't dribble for 10 minutes after he's done with the job. Trying to do setups or other work inside the mill was a hassle as you'd get coolant dripping on your head, the part, or whatever. Quick blast before you open the doors and it's all cleared out.
Maybe $50-$75 in parts since he wanted 'name-brand' components he could replace easily.
-Ralph
-
Re: Multi-nozzle smartcool
Quote:
Originally Posted by
soofle616
I have two applications that seem to happen a lot where a wiggle or dither option would be helpful. Deep pocketing being the most problematic, the coolant is typically pointed at or near the tool tip so when it comes time to cut a deep pocket, the stream hits the surface of the part and the chips actually get pushed back into the pocket to be recut until the toolpath allows the coolant stream to spray into the pocket.
What I was attempting to explain is that this problem is quite obviously due to the coolant nozzles moving up and down with the head and also not compensating for different tool lengths. The SmartCool solution simply corrects these symptoms by adjusting the angle to keep the flow pointed, in this case, where the tool axis meets the top of the part / hole (yes, I'm aware the SmartCool system also has other features).
Wouldn't it be better/easier to address the problem, rather than the symptoms, by prevening the nozzles moving up and down in the first place? If they are fixed vertically they could be aimed at the point where the tool axis meets the top of the part and would remain there, regardless of XY travel, head movements or tool length offsets. This would even be my preferred mounting position for a SmartERcool (with modified software) if I wanted to add a dither to reach an extended vertical range from the top of the part down to the tool tip. For tool changes the head would simply move up, leaving the nozzles behind at part level. At least for most my work the parts are relatively low in a vise or fixture. The ATC can then do its thing, clear of the nozzles, and return the next tool back down into the coolant flow. No adjustments for tool lengths necessary.
As the tool changes occur clear of the nozzles they can be arranged all around the machining axis to cover all sides of the part.
Obviously no one system is perfect for all applications and this approach might not work well for high parts but perhaps just a little more thought is needed. Also having nozzles on all sides might interfere with a 4th axis, but the offending section or nozzles could simply be removable.
Step
-
Re: Multi-nozzle smartcool
I believe that Steve Seebold made a related suggestion years ago. See #12 at https://www.cnczone.com/forums/torma...e-upgrade.html
-
Re: Multi-nozzle smartcool
Quote:
Originally Posted by
kstrauss
Exactly! Well, perhaps with a little refinement :)
Step
-
Re: Multi-nozzle smartcool
Quote:
Originally Posted by
TurboStep
What I was attempting to explain is that this problem is quite obviously due to the coolant nozzles moving up and down with the head and also not compensating for different tool lengths. The SmartCool solution simply corrects these symptoms by adjusting the angle to keep the flow pointed, in this case, where the tool axis meets the top of the part / hole (yes, I'm aware the SmartCool system also has other features).
Wouldn't it be better/easier to address the problem, rather than the symptoms, by prevening the nozzles moving up and down in the first place? If they are fixed vertically they could be aimed at the point where the tool axis meets the top of the part and would remain there, regardless of XY travel, head movements or tool length offsets. This would even be my preferred mounting position for a SmartERcool (with modified software) if I wanted to add a dither to reach an extended vertical range from the top of the part down to the tool tip. For tool changes the head would simply move up, leaving the nozzles behind at part level. At least for most my work the parts are relatively low in a vise or fixture. The ATC can then do its thing, clear of the nozzles, and return the next tool back down into the coolant flow. No adjustments for tool lengths necessary.
As the tool changes occur clear of the nozzles they can be arranged all around the machining axis to cover all sides of the part.
Obviously no one system is perfect for all applications and this approach might not work well for high parts but perhaps just a little more thought is needed. Also having nozzles on all sides might interfere with a 4th axis, but the offending section or nozzles could simply be removable.
Step
I understand what you're getting at but I still see some issues with it both in general, and specific to the parts I make. Your proposed solution does provide a sort of 80/20 solution leaving me to deal with the outlier scenarios of oddball tools or strangely sized parts. I'm sure for most, that makes it a perfect solution. For my purposes, anything that makes the 20% that much more time consuming or difficult to deal with isn't worth the effort because I seem to attract (or maybe am attracted to) those outliers. That said, your solution still doesn't address the problem, it's just a different attack on the symptom. For deep, small pockets, the basic problem is not enough room to get coolant in AND chips out. The solution to the problem is through tool coolant but I'm not willing to go there at this point. That being the case, my options would seem to be my approach, or yours (always open to other suggestions though). both of which have pros and cons. Mine is certainly more expensive and more complicated but for my application I believe (and could very well find out im wrong) that it will provide me with the best results across the broadest range of situations. Yours is much cheaper and easier to implement but will still require manual adjustment for each part and in some cases will have to be removed or altered to make room for the things I'm trying to do.
To some of the other comments:
Air blast is on my list to add as well, I have seen first hand how effective that can be. I'm thinking about adding a second feed line to this same arrangement so the nozzles can be used for both purposes. A pair of solenoid valves can serve to open the air line while simultaneously closing the coolant line to prevent the air blast from back feeding into the coolant system.
Chip collection in my linkages is something I had not considered so I will have to think that through a little and see if there is an easy solution to that. Perhaps a semi rigid piece of tubing can be used instead of the linkage, depending on the torque involved in moving the nozzles. Alternatively, a flexible tube could encapsulate the whole linkage arrangement and serve as a seal to keep everything out.
-
Re: Multi-nozzle smartcool
An alternate solution might be to have a nozzle assembly (ring?) that is automatically moved up/down rather than a single/double/triple nozzle that is rotated to direct to the desired location. In a previous discussion of this matter I had suggested that the ideal might be to have a nozzle that is able to move up/down and also to rotate around the spindle such that the stream is tangent to the tool path (rather like what is needed for a drag knife cutting fabric).
To keep chips out of your joints I suspect that a flexible hose enclosing the linkages and attached to the sides of the nozzle mounts would suffice.
-
Re: Multi-nozzle smartcool
What the pros do is just add volume and pressure. 50 gallon coolant tank, full horsepower pump, a dozen nozzles on a ring around the spindle, set at a variety of target heights, seems to do most of the work just fine...
For us with smaller, less watertight enclosures, I think the "aim the stream" is a reasonable workaround.
-
Re: Multi-nozzle smartcool
Not everyone just uses a bigger pump.
Haas has an option similar to Tormach's SmartCool called “Pcool”. Betztechnik has “Accublast” which uses a coolant connection rather like soofle616's design instead of just flexing the hose as with SmartCool. (https://www.betztechnik.ca/uploads/2...2019-10-06.pdf).
-
Re: Multi-nozzle smartcool
A halo that moves vertically would definitely do the trick. Probably doable with a similar arrangement to the smartcool, just requiring a different linkage/drive system to convert rotary to linear movement.
I think the "drag knife" approach would be amazing but the implementation is beyond my python abilities at the moment. Another thought based on that would be a pair of opposing nozzles on a ring. The nozzle would need a slight angle to it so that coolant pressure causes it to spin around the ring much a dishwasher sprayer. Not exactly a tangential drag knife setup but would provide a constantly variable coolant angle that should give good coverage regardless of toolpath direction. That has some very real plumbing and/or sealing challenges though.
-
Re: Multi-nozzle smartcool
Quote:
Not everyone just uses a bigger pump.
Sure!
Bigger machines can also give you through-tool coolant!
And the "true pros" high-speed machining people run fully dry, and use tool geometry that puts all of the heat in the chip, which then sprays away from the work and tool. Science! Apparently needs > 20,000 rpm for cutting 4140 this way, but can be done. (I wish I was at that level, but I'm nowhere near :-D )
-
Re: Multi-nozzle smartcool
Quote:
Originally Posted by
jwatte
Sure!
Bigger machines can also give you through-tool coolant!
And the "true pros" high-speed machining people run fully dry, and use tool geometry that puts all of the heat in the chip, which then sprays away from the work and tool. Science! Apparently needs > 20,000 rpm for cutting 4140 this way, but can be done. (I wish I was at that level, but I'm nowhere near :-D )
Maybe some sort of surface op! Or maybe a large round pocket! Otherwise your ducks better be in order.
imho pockets can be problematic even in wood :)
Inside corners, and other features that vary tool engagement can make high speed machining very dramatic.
Anyway I recommend keeping doors closed on machine :)
-
Re: Multi-nozzle smartcool
Not on a Tormach here, but I don't see why this solution wouldn't work (I'm not familiar with the Tormach pump specs). I just use five nozzles, I set them all at different angles and heights. The higher shots just clear the nut on my TTS ER20 collets (all I use except for my Tormach slitting saw) and aim mostly downwards. The lower shots come in more perpendicular to the tool and get close-ish to the tip of the tools I use. Obviously with a variety of tools this changes with each tool change. It's nice to have a nozzle that are fairly parallel (comparatively to the long length) to the tool, this gives a nice range of spray over various length tools. I actually use a fan shape spray for that, then orient the fan so it covers more distance along the tool length (I modified a round outlet nozzle for this). For the more perpendicular sprays, it's more of a cleaning action, it doesn't always spray where the tool is, but due to retracts and XY movement it tends to clean out pockets and clean off surfaces. It's basically a really unintelligent way of getting coolant to most of the places it needs to be. Of course sometimes I have issues and will hit feed hold, stop the spindle, and then adjust the coolant nozzles. It doesn't help that my knock-off lock line is a spot loose and moves around on its own sometimes.
Anyways, an" intelligent" system would be great. I've considered some sort of design of my own several times. In my case, it just seems like a very big project for a very minor gain.
-
Re: Multi-nozzle smartcool
The Tormach standard pump doesn't have enough flow to make five nozzles spray with sufficient pressure to clear chips.
-
1 Attachment(s)
Re: Multi-nozzle smartcool
I've had twin coolant nozzles set at constant Z height since I first installed my Mill. Made a distribution/splitter block bolted underneath the bellows, and 2 x 1/2" copper pipes running up either side of the column. I use the 1/8" nozzles to get a higher pressure jet, and it's fantastic at chip clearing.
Attachment 454020
-
Re: Multi-nozzle smartcool
Quote:
Originally Posted by
CL_MotoTech
In my case, it just seems like a very big project for a very minor gain.
Most of my projects are but that's what makes me happy. Where the rest of the world is (justifiably) happy with 80/20, I'm a big fan of 1/99. Can't really say why other than it's the way I've always been. Once I know there's room for better, I'm not happy until I get there. Which is usually why I am never finished with any of my projects, my skill does not live up to my expectations.
-
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.
-
Re: Multi-nozzle smartcool
The same problem affects many of us!
-
Re: Multi-nozzle smartcool
Quote:
I'm a big fan of 1/99
1% of the work gets you 99% of the way there? SIGN ME UP!!!! :-)
-
Re: Multi-nozzle smartcool
Quote:
Originally Posted by
jwatte
1% of the work gets you 99% of the way there? SIGN ME UP!!!! :-)
Other way around my friend ;-)
-
2 Attachment(s)
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 :) .
https://www.cnczone.com/forums/attac...d=455680&stc=1https://www.cnczone.com/forums/attac...d=455682&stc=1
-
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.
-
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!
-
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.
-
Re: Multi-nozzle smartcool
Quote:
Originally Posted by
soofle616
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. :)
-
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.
-
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.
-
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.
-
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.
-
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"
-
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.
-
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.
-
Re: Multi-nozzle smartcool
Quote:
Originally Posted by
soofle616
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
-
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.
-
3 Attachment(s)
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.
-
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.