Welcome! Log In Create A New Profile

Advanced

COM speed - going beyond 250K ?

Posted by weirdgod 
COM speed - going beyond 250K ?
June 28, 2013 05:43PM
In latest repetier-host in printer settings I see that I can set baud rate all the way to 1500K (from currently 250K)... What is the highest speed that would still work (i guess melzi is the bottle neck?) - would that bring any improvements?
Anonymous User
Re: COM speed - going beyond 250K ?
July 05, 2013 02:51PM
When printing from the SD card then the comm speed only affects the loading time rather than the printing.
Re: COM speed - going beyond 250K ?
July 06, 2013 07:04AM
Quote

What is the highest speed that would still work

Try it and tell us!


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: COM speed - going beyond 250K ?
July 06, 2013 08:46AM
I guess I would have to change this setting in the marlin firmware...
and once I would go above supported speed, I am afraid printer would stop responding (since i would have no means to successfully connect)... that is why i am rather asking before trying smiling smiley you know - to learn from someone elses's mistakes.

i must say that i am using printer host software (instead of pronterface) and am very satisfied with it. + i tried printing a lot of models directly from PC (and not SD card) and it is working very good - with no problems.... (and loading SD card takes ages, or taking it out/in every time is difficult and does not fill me with confidence that meltzi sd card will live long)...
Re: COM speed - going beyond 250K ?
July 06, 2013 02:35PM
If it is too fast the firmware will stop responding but the bootstrap will still work, so you can always change it back again.

Printing via USB usually works, but will occasionally have errors due to the PC not responding in real time, or it might disconnect if the ground loop picks up RFI.

If I am printing a one off I sometimes risk USB, but for production I always use SD.


[www.hydraraptor.blogspot.com]
Re: COM speed - going beyond 250K ?
July 07, 2013 07:24AM
Quote

Printing via USB usually works, but will occasionally have errors due to the PC not responding in real time, or it might disconnect if the ground loop picks up RFI.

This is something I'd like to overcome. I mean, USB connected memory sticks and similar stuff work reliable for weeks, so this should be doable for controller electronics, too.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: COM speed - going beyond 250K ?
July 07, 2013 08:41AM
USB works when only one end is grounded. It doesn't work reliably between two grounded devices. I believe this is because although being a differential signal there is a start condition where both lines go the same way. A fatal design flaw if that is the case. Also it is a very low signalling voltage and doesn't handle much difference in ground potential. Unlike say RS485 which uses at least 3V swings and can handle about 7V difference in grounds IIRC.

To fix it one would power the FTDI chip from VBUS and opto couple the data lines to the ATMEL, thus breaking the ground loop. Alternative use Ethernet as that is isolated by transformers in the sockets. It also has connectionless protocols, like UDP, that don't suffer from disconnect and reconnect issues like USB. You don't need to install any drivers, which seems to confuse a lot of people, but you may have to allow it through a firewall which might be even more confusing.

I can't think of any professional devices that use USB and are grounded. Perhaps some big printers, but I expect they isolate as described above.


[www.hydraraptor.blogspot.com]
Re: COM speed - going beyond 250K ?
July 08, 2013 04:40AM
Thanks for the opinion, @nophead.

Quote

I can't think of any professional devices that use USB and are grounded.

2D printers? Maybe you don't consider consumer 2D printers to be "professional", still they work very reliably. Not sure wether they have optocouplers inside, though.

Ehternet is a different matter. Requires quite a bit of hard- and software.

One thing I'd be interested in is, how much this is really a problem. From Gen7 users I read very rarely about unexpected disconnects. Some people can't connect at all, but that's usually a failure of proper soldering and solvable.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: COM speed - going beyond 250K ?
July 08, 2013 05:17AM
Yes I consider consumer 2D printers as professional but my Cannon Inkjet only has a two pin mains connection (class 2), so no ground loop. I expect they are all like that. Maybe larger laser printers are class one, but they tend to be Ethernet.

For my machines that use Ethernet I used a micro with built in MAC and PHY so the only hardware is the socket with magnetics in it. They are only $1 in high volume. For software I wrote my own simple UDP/IP/MAC/PHY stack.

I find if I plug machine and PC in the same wall socket or extension I don't get any disconnects but if I plug them in to sockets far apart I will get a disconnect every time I switch the fluorescent light in the same room. I doubt Gen7 is any different as it isn't a board issue. Simply USB cable and ground leads. Also a low impedance PSU DC ground is very important.


[www.hydraraptor.blogspot.com]
Re: COM speed - going beyond 250K ?
July 08, 2013 09:29AM
Quote

I find if I plug machine and PC in the same wall socket or extension I don't get any disconnects but if I plug them in to sockets far apart I will get a disconnect every time I switch the fluorescent light in the same room.

This might be the reason why the problem isn't seen that often. Usually, printer and PC are close to each other, so it's likely they use the same mains socket.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: COM speed - going beyond 250K ?
July 08, 2013 09:31AM
I'm using the Azteeg X3 (RAMPS) in place of the Meltzi and it has USB timeout issues as well. I use Octoprint via a RaspberryPi powered from the same power supply as the board so I know the ground loop is as "tight" as possible and there are still communication and timeout issues. The only way that I feel certain the print will work without interruption is via the SD card.

Fl0yd
Re: COM speed - going beyond 250K ?
July 08, 2013 09:34AM
Yes only about 1% of Mendel90 users mention it. Many people claim that a USB lead with ferrite rings fixes it but I don't understand why that would be.


[www.hydraraptor.blogspot.com]
Re: COM speed - going beyond 250K ?
July 08, 2013 09:38AM
What board do you have under your RAMPS? The latest Arduino megas don't have an FTDI chip. They have a small Atmel programmed to do the same job. That may have bugs in it.


[www.hydraraptor.blogspot.com]
Re: COM speed - going beyond 250K ?
July 08, 2013 10:16AM
It's the Atmel ATMEGA2560 board.

One of the listed features is: Atmel ATmega 2560 with FT231x FTDI USB chip

Here is the link to the full list of specs.

I love the convenience of printing over USB, but the inconsistency is too much for my taste. It seems like some of the more recent version of Octoprint are also increasing my USB communication issues. Though my experience may not be the same as other Octoprint users. I suspect it is particularly sensitive to comm issues because it sends an M105 every second to keep track of temps and I don't see a way to selectively enable or tune this in the current branch. Though, I still enjoy having the remote interface to initiate/cancel prints from SD and to watch the progress via web cam.

Fl0yd
Re: COM speed - going beyond 250K ?
July 09, 2013 07:41AM
To me it looks like there are two options: Equip the electronics with an opto coupler as described above (costs about € 4.-, main part could be a two channel, logic level, 8 pin chip) or to make communications resumable. The latter is a kludge, of course.

I also thought about coupling these two GNDs not directly, but via some filtering component (1 megaohms resistor? - 500 kHz low pass filter?), but couldn't find an example circuitry, so far, so I'm not sure if this is a possible approach.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: COM speed - going beyond 250K ?
July 09, 2013 08:16AM
I don't think a high impedance ground connection helps, in fact the opposite as you want both ends of the USB cable to have the same potential because of the poor common mode rejection of USB. A DC current flowing in the USB cable creating an offset voltage is enough to upset it.

Having same that adding ferrites to the USB cable does exactly that. I.e. makes the connection a high impedance at high frequencies. I don't understand how that helps and doesn't make it worse. Those ferrites are added to cables to stop high frequency RFI getting from the equipment onto the cable which would then act as an aerial and radiate. They will also stop the opposite of course. I.e. RFI being picked up by the cable getting into the control board and PC. However it isn't the controller or the PC that gets upset. I.e. neither crash or reset (as long as the auto reset jumper is not fitted). It is just the USB protocol that breaks down.

I would have thought that putting ferrites on the mains cables would make a lot more sense than putting it on the USB cable.

Edited 1 time(s). Last edit at 07/09/2013 08:26AM by nophead.


[www.hydraraptor.blogspot.com]
Anonymous User
Re: COM speed - going beyond 250K ?
July 09, 2013 02:59PM
Could the RFduino offer a solution?
[geekboy.it]
Re: COM speed - going beyond 250K ?
July 09, 2013 03:03PM
It depends if Blue Tooth offers guaranteed uninterrupted connection. I have never used it myself so don't know although I do have a couple of Blue Tooth to RS232 converters somewhere.


[www.hydraraptor.blogspot.com]
Re: COM speed - going beyond 250K ?
July 12, 2013 05:08AM
nophead Wrote:
> Having same that adding ferrites to the USB cable does exactly that. I.e. makes the connection a
> high impedance at high frequencies. I don't understand how that helps and doesn't make it
> worse.
The idea of ferrite is that it affects all conductor the same - there is high impedance in loop closed outside the ferrite core, but "differential" impedance of conductors going through same core is not affected. Passing usb cable through ferrite core decreases high-frequency currents flowing between two grounds but does not affect usb signals (referenced to cable shield).

> I would have thought that putting ferrites on the
> mains cables would make a lot more sense than
> putting it on the USB cable.
The idea is to break the loop, putting it on USB cable is probably better (capacitance and radiated currents skip mains cable).

BTW: If there is interest, I can change Melzi to include optional optocouplers (with solder jumpers as alternative). And add capacitor to 3.3v SD rail, I hate communication reset when inserting SD card.
Re: COM speed - going beyond 250K ?
July 13, 2013 07:04AM
Quote

I can change Melzi to include optional optocouplers (with solder jumpers as alternative).

I'm working on the same for Gen7 and your doing might help getting this recognized as a recommended feature.

The last few days I've read a lot about this topic and the result is, there are not only optocouplers, but also "digital isolators", like the ADUM 1201. Optocouplers are cheaper, but usually also require additional components, like current limiting resistors and flyback diodes (as far as my research goes).

There's even a small chance to get away without any additional parts, because USB (D+/D-) is a differential signal, so it should work without a ground connection. I'll try that today.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: COM speed - going beyond 250K ?
July 13, 2013 10:17AM
To work without a ground you need a proper differential protocol like RS485 with wide range inputs that are allowed to go outside the supply rails of the receiver to handle a difference in ground potential.

I found this on the web:
Quote

But, even with differential data, there are times when single-ended signalling is used in the USB: The end-of-packet is signalled with a single-ended-zero (SE0), namely, both D+ and D- in low state. This state last the time of 2 bits. if SE0 last for more than 10ms it means a bus reset.

This single-ended signalling makes the USB quite sensitive to electromagnetic interference, like those I found recently when a hair dryer motor was causing a lot of disconnects in a nearby USB peripheral. And no common-mode filters can be effectively used because these can degrade the SE0 signal...

This is why USB is susceptible to ground noise. Mixing single ended and differential signalling states is bonkers.

Edited 1 time(s). Last edit at 07/13/2013 02:25PM by nophead.


[www.hydraraptor.blogspot.com]
Re: COM speed - going beyond 250K ?
July 30, 2013 05:48PM
Just an update....
I tried raising usb speed to 500k baudrate... and it works.
but when printing from pc over usb, repetier host reports quite a few lines have crc errors so it resubmitts them... (and print is 100% fine)...

anyway, i tried printing same gcode (with print speed 150mm/s just to try to reach all limits with printer at 0.3mm/layer thickness) over 250k and 500k (both from same pc)... and i got no difference in total time required for print it...

so i guess i am changing baudrate back to 250k smiling smiley
Re: COM speed - going beyond 250K ?
July 30, 2013 08:15PM
The only time you might see a benefit is printing things with lots of small line segments or loading the SD card via USB.


[www.hydraraptor.blogspot.com]
Sorry, only registered users may post in this forum.

Click here to login