Jump to content

can or can not


Wick

Recommended Posts

I like keeping things simple, and running usb is simpler than CAN, for sure.

Too bad you still need the board on your hotend/extruder side, but I do believe simpel USB makes it easier.

Does it change what kind of board you need? since most are USB AND CAN?

Link to comment
Share on other sites

Can't fault his logic, up to a point. I am always a little leery of the "if it ain't broke don't fix it" ideaology as I've seen how expensive and challenging that becomes [putting right] when taken to extremes. I could apply his argument to klipper vs marlin (or 3d printers full-stop) and I'd probably never have made it here (to the forum and Voron's) if I had.

However, the notion you should only do things if they bring value (however you define that) is absolutely true. I've picked CAN as I wanted a reduction in wiring, I'm certainly under no illusion it's easier. CAN is a mature technology, just not in the realms of DIY/amateur 3D-printing where it still has a way to go. No doubt it will eventually get to the stage of "why wouldn't you?", but right now with the state of things it's a valid point.

Link to comment
Share on other sites

He makes sense to me. If you are just wanting to get your printer up and running and work reliably CAN is not the way to go right now. If you like tinkering and just want to play with it to get it working just because, then why not? I kind of like the concept of just running USB, but I'm not sure how that would look on a printer and if it would actually help anything.

One major reason for CAN in automotive that he missed is weight. Switching from a wire harness throughout you car (or truck or larger equipment!) similar to our standard toolhead harness to a 4-wire CAN harness both massively simplifies the overall harness and makes it significantly lighter. When auto makers are chasing every gram to reduce weight in the overall car, that's actually a significant savings. Plus the network redundancy.

WIth the engineering resources available and standardized, non-changing environment of a car CAN makes total sense. On a DIY 3D printer, not as much. At least IMHO

Link to comment
Share on other sites

Well I think he's right, usb cables nowadays are able to handle incredible amps, it's also simply one cable and by this easy usable for umbilical, speed is much more than can (if I remember right there were lots of probs with leds because of their data usage) and if the toolboard accepts usb as well i see nothing thats against usage of usb instead of can, except one: there's a need for a splitting board for separating Power and Data to get the 24V Power up ?

Link to comment
Share on other sites

Interesting point of view and factually correct. BUT - it is only one person's opinion and interpretation of the data.

There are benefits to using a canbus in 3d printing, just as there are downsides. The same with USB. 

There are also opinions on canbus contrary to his. It is what drives innovation and improvement. It these issues aren't debated, progress stalls.

I have most of my printers wired the traditional way, connected to the controller board, and pi connected to printer board via USB. I also have two printers running a canbus on the toolhead. Have I noticed a difference in performance - No. Was can more difficult to set up then traditional wiring - Initially yes, but the second time around - NO.  I can also argue for those that are not confident in crimping CAN may be an alternative to traditional wiring.

Do you want to push the boundaries and live on the edge - then you CAN

If not - stick to traditional wiring.

It is a choice, and that is what is great about the 3d printing community - variety, but also innovation

  • Like 3
Link to comment
Share on other sites

  • 2 months later...
2 hours ago, 3dKaosMonkey said:

What's a dummy like me missing?

Is the point of the article to say a person can run their entire toolhead(stealthburner,tap) with just a USB cable?

Yes, I think that was the point.. Can runs two power cables and two data cables to the controller board. The issue the author has is the difficulty in the setup process and the high overheads it requires. As an alternative, according to the quoted article you can use the USB connection on the board and run a USB cable instead from the toolhead to the controller board.

But as I said - it is one person's opinion. To each his own. Every single Voron built, is different in some way or the other. Choice to do what you want.

Link to comment
Share on other sites

I have opted to follow the Ratrig advice -- I have a Trident and a 2.4 both running the EBB36 board in USB mode.

The advantage that I perceive is that Klipper and RasPi already know how to talk to multiple USB connected controllers, and the hot end is just another one of these. They have worked flawlessly in this mode now for about a month.

The down-side, not quite explicitly mentioned here, is that you CAN NOT run 24 volt power over a USB cable. You have to run a USB cable and a pair of wires carrying 24 volts. This wasn't a downside for me, and hasn't been a problem in any way.

so

On 7/12/2023 at 4:31 PM, 3dKaosMonkey said:

What's a dummy like me missing?

Is the point of the article to say a person can run their entire toolhead(stealthburner,tap) with just a USB cable?

is not correct. USB plus power wires, not just USB.

My two cents...

Link to comment
Share on other sites

The "gentleman" in question is a fornicating person who displays a graphic inability to grasp basic concepts while attempting to make his light shine brighter than it actually does in reality.... that is a polite way of saying i think the guy is a f***ing Idiot who tries to make himself look smarter than he is.

 

By using facts which can be easily verified by a quick web search i will support my above assertion.

 

lets Compare USB versus CAN

Natively USB is transmitted over 4 wires with a maximum rating of 5v and 1.5A (7.5W) while data transfer is going on, and up to 5A (25W) if not, so technically not enough to run a hot end  heater let alone anything else..... which then leads to a requirement to run more wires of a large gauge to run the things we need. 

So running more wires of a higher gauge to achieve what is required kind of defeats the purpose of a toolboard on the tool head and that primary purpose is to reduce wire count, weight and a reduction in mass/inertia as a reduction in weight, mass and inertia is all the ingredients you require to printer faster.....

The next elephant in the room for USB is any onboard error detection.... which of the aforementioned features does USB have well basically for a 3d printer USB offers Sweet F**k all other than a CRC check which for a 3d printer is as much use as a chocolate fire guard... no real useful self diagnosis.

 

Can bus on the other hand....

One of the key features of the CAN bus protocol is that it supports centralized control over electronic devices that are connected to the network. In the CAN bus physical layer, each electronic device is called a node. Nodes can communicate with other nodes on the network, and each node requires a microcontroller, CAN controller, and CAN transmitter. 

While each node is capable of sending and receiving messages, not all nodes can be communicating at once. The CAN bus protocol uses a technique called lossless bitwise arbitration to resolve these situations and determine which node should be given "priority" to communicate its message first. 

Error handling is built into the CAN protocol, with each node checking for errors in transmission and maintaining its own error counter. Nodes transmit a special Error Flag message when errors are detected and will destroy the offending bus traffic to prevent it from spreading through the system. Even the node that is generating the fault will detect its own error in transmission, raising its error counter and eventually leading the device to "bus off" and cease participating in network traffic. In this way, CAN nodes can both detect errors and prevent faulty devices from creating useless bus traffic. 

 

 

Further explanation of the error detection features of can bus (taken from Vector E-Learning ) is listed below.

 

 

Five mechanisms to detect an error:

To detect corrupted messages, the CAN protocol defines five mechanisms: bit monitoring, monitoring of the message format (Form Check), monitoring of the bit coding (Stuff Check), evaluation of the acknowledgement (ACK Check) and verifying the checksum (Cyclic Redundancy Check).

 

 

Stuff check, Receiver:

The stuff check serves to check the bit stream. The CAN protocol specifies that the sender must transmit a complementary bit after five homogeneous bits — for synchronization purposes. There is a stuffing error if more than five homogeneous contiguous bits are received.

 

 

Bit monitoring, Sender:

Within the framework of bit monitoring, the sender compares the sent bit level with the actual bus level. A bit error exists if the sender detects a discrepancy between the two levels. Bit monitoring ensures that all global errors and all local errors occurring at the sender are detected.

 

 

Form check, Receiver:

The form check serves to check the format of a CAN message. Each CAN message always exhibits the same bit sequences at certain positions. They are the CRC delimiter, ACK delimiter and EOF. Senders always transmit these message components recessively. A format error exists if a receiver detects a dominant bus level within one of these message components in the Form Check.

 

 

Cyclic Redundancy Check (CRC), Receiver:

In the cyclic redundancy check (CRC) the polynomial R(x) associated with the arriving data or remote frame should equal a multiple of the generator polynomial G(x) specified by ISO 11898-1. If this is not the case (CRC error), then the data or remote frame was corrupted during its transmission.

 

 

ACK check, Sender:

The acknowledgement mechanism defined in the CAN protocol specifies that all receivers must acknowledge every arriving CAN message right after the cyclic redundancy check. A single positive acknowledgement is sufficient to signal to the sender that at least one receiver received the CAN message it transmitted correctly. If not a single positive acknowledgement arrives at the sender, then an acknowledgement error has occurred (ACK error).

 

if a properly designed can-bus toolboard detects any of the above anomalies the toolboard is programmed to turn off anything that could cause an issue (i.e. heaters)

A feature set that USB can only dream of and look at lovingly with jealousy.

 

And main question should be:  why is can-bus being decried by many ?

 

One reason and one reason only and that reason is that klipper f**Ked it up big time by trying to be all things to all men, in so doing making it so difficult to get the klipper versions of can-bus up and running it turns many people off can bus altogether, because they think the issues is can-bus when the reality is that it doesn't actually have to be like that as the Duet implementation of can-bus proves beyond a shadow of a doubt, but due to the (unnecessary) mess klipper created I completely understand as to why many get turned off by can-bus, which in the end is the whole reason the idiot author made his uninformed post in the first place....

 

Klipper requires you to compile the can-bus firmware and flash the toolboard then "hopefully" get the usually mismatched toolboard/mainboard combo to talk nicely to each other and that for the everyday (non linux user) of a 3d printer usually ends up in frustration....

A Duet Tool board/main board combination on the other hard is virtually plug•n•play, no firmware to compile, the firmware is already on the toolboard, connect the x4 wires up and (as long as you have the data and power/gnd wires the correct way around) away you go..... i can have a pre-wired new toolboard up and running in about 15 seconds.

Now lets look at klipper can-bus versus the Duet version which uses the latest operational Can-FD  and why it is the way it is

Klipper employs the older less robust version of CanBus which doesn't have the full error detection feature-set that Can-FD uses, for ONE VERY Specific reason and that reason is €€€€€€€ the older version of can-bus is free, Can-FD on the other-hand requires a licencing fee to use the protocol to be paid to Bosch (the inventors of Can-Bus) and with the majority of toolboard suppliers that are available for klipper coming from the economy end of the market (i.e China) those suppliers wont pay Bosch to to use the latest protocol.

And while we are on the subject of China supplied toolboards from the economy end of the market, due to the race to the bottom to be the cheapest something has to give and that is component quality with a narrower tolerance level which means in real terms you are sh*t outta luck if you want to use 99% of the klipper toolboards in a heated chamber anything above 50c.  meanwhile the Duet toolboard hardware is rated to be able to operate at 80c

A Can-Bus based toolboard done properly (how Duet have proven it can be done) is an amazing and easy to operate piece of kit.

Now if the author of Rat(s nest OS) had half a brain he would have never made such an uninformed post in the first place.

 

Mind you i shouldnt be surprised I  have worked with guys offshore with PHd's (I'm a lowly Mechanical Engineer) who can write pages and pages and talk for hours about the job but put them in the field in front of the job and and say:

 

"on you go then, show us how its done" they curl up in a ball sucking their thumb crying for their mummy.....

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Edited by Calvinx
spelling....
  • Like 3
Link to comment
Share on other sites

On 7/20/2023 at 4:10 PM, claudermilk said:

That, sir, was an epic rant. Lots of interesting information in there and a lot of food for thought.

I didnt actually consider it as a rant until you pointed it out, I only wished to point out the facts in the "USB/Can-Bus" debate, where Can-Bus is being incorrectly maligned due to ignorance.

These self appointed "messiah's" really hack me off because the gullible buy the BS they peddle as fact when its really not.

 Case in point, prosecution rests its case on this thread as evidence against using Klipper anything let alone for can-bus M'lud

Edited by Calvinx
spelling....
Link to comment
Share on other sites

Just for clarity, when using USB with the "CAN" Boards you still need to supply 24V and GND to the Molex Connector, that is the way RatOS uses them.

RatOS is all about getting beginners into Klipper without much hassle, it was RatRig exclusive but has also some other Printers Supported now, i myself took the part of including configs for Voron 2.4 and 0.1.

RatOS is in my Opinion the best way to use Klipper as it has quite a bunch of well planed Macros and Stuff on Board and is well maintained.

But dont just take my words for it 😉

If you keep that in mind using USB makes much more sense for RatOS users as it supports automatic flashing, easy config and so on

Link to comment
Share on other sites

After going through the painful Klipperizing procedure on a BTT CAN setup, it's been working great with no issues.   At least the CAN works great.... the microscopic 1.25mm pitch connectors for thermistor has an unfortunate tendency to fail and be tricky to crimp but that's not CANs fault!

As the BTT CAN toolboard was cheap, I went and bought a spare and Klipperized it in case of failure, but none so far.

Working on cars for a living, we find that CAN is usually one of the more trouble-free systems.  It's a pity the Klipper implementation is so imposing.

  • Like 2
  • Haha 1
Link to comment
Share on other sites

On 7/26/2023 at 4:55 AM, ChicagoKeri said:

After going through the painful Klipperizing procedure on a BTT CAN setup, it's been working great with no issues.   At least the CAN works great.... the microscopic 1.25mm pitch connectors for thermistor has an unfortunate tendency to fail and be tricky to crimp but that's not CANs fault!

As the BTT CAN toolboard was cheap, I went and bought a spare and Klipperized it in case of failure, but none so far.

Working on cars for a living, we find that CAN is usually one of the more trouble-free systems.  It's a pity the Klipper implementation is so imposing.

After a few CANBUS builds now, yes.. setup is painful, so many things to do, but just follow the manual and it will all be fine. Its just unhandy if you dont have a long USB cable and already have wired the octopus board in the printer 😛 since you need to connect it to your PC.

I read somewhere ones that its possible to do without the use of STM32CubeProgrammer but cant find it anymore. Again, it works, but yeah, its like a 12 step program.. painful 😛 

Works like a charm after, I am using the SHT36v2 but damn yes, the connectors are small. and sometimes they dont want to go in also, I think the crimper crushed the connector a bit sometimes.

 

All in all, CANBUS seems fine! 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...