Closed troisiemetype closed 3 years ago
I've had this issue a lot and there were two distinct reasons.
1) According to the author, serial-port-json-server has this issue on Windows with the latest version. If memory serves me, 1.80 is recommended for Windows for now. A new version seems to be drawing near.
The next one only applies to subtractive cnc machines such as mills, routers, lathes or anything that otherwise involves plenty of rubbing between different materials.
2) ESD. Seriously. A CNC mill can build up some pretty mind boggling levels static electricity. When cutting PU-foam (model board) I got zapped several times with enough juice to scare the living daylight out of me. Getting zapped by my 25kV/25mA laser cutter power supply was nasty, but not that scary, which should tell you something about just how bad it can get. Static electricity can creep along wires and discharge at the controller. While the discharge, due to high surface impedance of the plastic cable housing, is typically not strong enough to fry the electronics it is more than enough to screw up the processor in all the strangest ways. I've had memory changes, g-code misinterpretations, wonky motion, crashes, etc. but most frequently by far - communication losses!
By grounding the spindle and the control board ghetto style with crocodile clip lab wires my problems nearly went away completely. The proper solution of course would be to encase the controller in a grounded metal box with ESD cable inserts (slightly conductive plastic) which will catch any ESD discharges before they can reach the internal electronics.
It's easy enough to try if you have ground available at your power outlets, so perhaps give it a shot?
The new version 1.86 of SPJS is out so please use that. BTW, there has never been a disconnect problem on SPJS. The only problem on Windows was the serial library in 1.83 having packet loss. That library is no longer used.
From: D Taylor [mailto:notifications@github.com] Sent: Saturday, October 17, 2015 11:06 AM To: synthetos/TinyG TinyG@noreply.github.com Subject: Re: [TinyG] Communication loss between TinyG and Coolterm (#143)
I've had this issue a lot and there were two distinct reasons.
1) According to the author, serial-port-json-server has this issue on Windows with the latest version. If memory serves me, 1.80 is recommended for Windows for now. A new version seems to be drawing near.
The next one only applies to subtractive cnc machines such as mills, routers, lathes or anything that otherwise involves plenty of rubbing between different materials.
2) ESD. Seriously. A CNC mill can build up some pretty mind boggling levels static electricity. When cutting PU-foam (model board) I got zapped several times with enough juice to scare the living daylight out of me. Getting zapped by my 25kV/25mA laser cutter power supply was nasty, but not that scary, which should tell you something about just how bad it can get. Static electricity can creep along wires and discharge at the controller. While the discharge, due to high surface impedance of the plastic cable housing, is typically not strong enough to fry the electronics it is more than enough to screw up the processor in all the strangest ways. I've had memory changes, g-code misinterpretations, wonky motion, crashes, etc. but most frequently by far - communication losses!
By grounding the spindle and the control board ghetto style with crocodile clip lab wires my problems nearly went away completely. The proper solution of course would be to encase the controller in a grounded metal box with ESD cable inserts (slightly conductive plastic) which will catch any ESD discharges before they can reach the internal electronics.
It's easy enough to try if you have ground available at your power outlets, so perhaps give it a shot?
— Reply to this email directly or view it on GitHubhttps://github.com/synthetos/TinyG/issues/143#issuecomment-148938442.
Then forget completely about my first point, this must have been a misunderstanding between me and John on the SPJS issues forum.
Nice to hear 1.86 is out, very much looking forward to trying that, as feedhold and flush queue started working for me in version 1.82 and hasn't before. It's a pretty useful function for sure ;)
Hello,
As I use a very old macbook pro, I think the first point isn't o f concern for me. More, it wouldn't explain why I've never had this problem before last week, given that I've not changed anything in my set up for a few month. It really come out of nowhere!
The second point make more sense to me: for the first time since I use my router, i've seen sparkles made by the smindle motor brushes. I've been wondering about static electricity. I'm gonna try to ground the aluminium structure and the spindle. But where to connect it? Do you connect it to ground plug in the wall? The power supply for the TinyG and the steppers is grounded, but the spindle is not. And where to connect ths ground on the TinyG board itself?
Even if you think it is grounded, sometimes it is not. For example, my laptop has an isolating transformer that does not provide actual ground - so no ground via USB. The power supply for my G2 controller does not even have ground pins, only line and neutral. While neutral is at ground, in Sweden there is no keying for polarity meaning devices are completely ignorant as to which pin is ground unless they have the third protective earth connection.
Anyways, what I did was run a wire from ground on the controller to two crocodile clips attaching one to ground pins in the nearest outlet and the other to the spindle motor assembly. I still get the problem when manually vacuuming and standing too close to the controller, as chips are heavily charged, transfer to the vacuum, to me and to the controller. As this is reproducible, I see it as the final confirmation of having had ESD issues. Again, a proper Au or conductive plastic casing for the device is the proper method. I'll be doing just that once I feel I can fully rely on the loaded firmware.
Is it OK to close this issue?
I think it can be: I didn't have the problem again. I've tried to ground the spindle, and as I wasn't able to do so (it's a Kress, with the body made of plastic), I've instead ground the Z gantry the spindle is mounted on. Then it was better, but the communication loss happend again. So I simply change my USB cord: the one I used was a cheap one, more than two meters long, and without a self (I don't know if it is the right word for it: I mean a tore) on it. More, as it was really long, I've walked on it several times. So I now use a new, shorter one, with tores. And it goes right! Thank you.
Closed due to inactivity
I'm experiencing a strange thing with TinyG and coolterm: while running a program (Gcode file), the connection is sudenly lost. At first it happenned at an end of line, after a gcode instruction (that is: I suppose so beacause it happens at the end of a move), but once it hapened right in the middle of a straight line (move G1 from Y105 to Y-5, stopping at about Y40). Closing and reopening connection make the move start back, as if it was just paused, sometimes with a move in G0 instead of G1. Sometimes this G0 instead of G1 move happens immediately, sometimes after several moves, sometimes not. At first I tought it was a problem with the flow control, as the setting was $ex==1 and XON marked on Coolterm. But having set back $ex to 2 and CTS to on, the problem persists. I had the problem several times, and then had another one that I think is linked, even if I don't understand how: doing an homing (G28.2X0Y0Z0) X- switch has not been detecting, and motor forcing. I tried to fire the other switch, but without any result. But once the tinyG shut down and ligted again, the homing happend whitout problem.
here are the settings of my card: