Upgrade my printer – silence and precision

In my previous post I talked about how I was planning to upgrade my printer. I received new drivers and fans, and I can’t believe the difference it makes in noise, the silence is deafening. I can barely hear my printer now. Before it sounded like an MD-11 going into take-off (An MD-11 has 3 engines, my printer has 3 fans. People come for the content, but stay for the aviation-related humor). In this post I’ll talk about what I did, why it makes a difference, and how I did it.

Drivers

Most 3D printers use stepper motors to control the axes. Steppers are a type of motor that is very precise but requires a driver to work. Simply applying voltage and current to a stepper won’t make it work, it instead makes actual steps to rotate. Typically a stepper has a precision of 1024 steps per rotation, but some drivers can also microstep, which can increase this by a factor of up to 256.

The factory drivers on my printer are A4988, which has 1/16 microstepping, and are quite loud. I replaced these steppers with TMC2208 drivers. These support 1/256 microstepping, and are much MUCH more silent. Replacing the drivers is a 3 step process:

  1. Replace the drivers (mind the orientation and pinout)
  2. Set the current limiter
  3. Modify the firmware

Replacing the drivers

The drivers are located on the mainboard, inside the printer. While I was in there, I also replaced the fans (see below). Opening up the Anycubic is quite easy, 8 alan-head screws to remove the x-carriage gantry, and another 8 screws to open up the bottom. You will be faced with something similar:

The drivers are the 5 black circuit boards on top that have aluminium heat sinks on them. The new drivers come with a larger heat sink and the heat sink is blue. When replacing the drivers, be very sure to match the orientation of the old drivers, meaning that the pinout is the same. On my mainboard, the “enable” pin is marked with a white arrow. This makes it much easier to prevent mistakes.

Setting the current limiter

These drivers come set to a max current of 1.13A, but I like to extend the life of my steppers. My steppers can handle a max current of 1.7A, which means an RMS of 1.2A. I like to stay at 90% of this, to extend my stepper life. This means a max RMS of roughly 1.1A. This means I should set my driver Vref to 1.52V. I set my drivers using this video. The stock drivers were limited to 2A, which is something I’m not happy about. Good thing I replaced them.

Modifying the software

Last week I flashed a custom Marlin build onto my printer, the new drivers require modification to this firmware. The driver type is listed in the firmware, and the direction of these drivers is reversed compared to stock, so I’ll modify these parameters:

Letting the firmware know which drivers are installed
Reversing the direction of all steppers

Flashing firmware

The Octoprint controller I installed lats week has the possibility to install all sorts of additional plugins. One of these plugins is a firmware installer. I can now flash my firmware by exporting it as a hex file and uploading it via Octoprint. So much easier.

Fans

My printer has 3 cooling fans, which prevent the functional parts from overheating. There’s also a part cooling fan (ha, 747 going into take-off, 4 engines), but this fan needs a fair bit of pressure and flow and will always be noisy, it’s also the only fan that you can control from your slicer, and directly from Octoprint. I upgraded the 3 cooling fans with SilentiumPC fans. It’s a Polish brand, they’re extremely cheap and very silent. In my case, I needed a 40mm, 50mm and 60mm fan. These are for my heatsink cooling, driver cooling, and PSU cooling respectively.

I printed an air duct for my driver cooling, this greatly increases the efficiency of the cooling, and it also moves the fan orientation so it isn’t sucking from directly down. In my case, there are no cooling slots where the stock fan sucks its air from, this makes everything work so much better.

The new fans come with a 3 wire connection. The 3rd wire is for measuring RPM in a computer case. I have no need for this, so I removed the 3rd wire and made a new 2 pin connector so the fan fits my board. This is easily done with some basic knowledge of electronics, and I haven’t taken any pictures of the process.

In preparation for my new Titan Aero print head, I also modified my X carriage. This makes the new cooling fan look a little stupid, but this is a temporary situation. I also added an automatic bed leveler to the printer, more on that next post.

Silence! (but be precise)

The new drivers and fans make all the difference. The printer is so quiet that I don’t even notice when it starts printing after preheating. I was skeptical about the drivers since the noise was coming from the motors themselves, but these drivers are incredible. Anyone annoyed by their printer noise, replace the fans and drivers. If you don’t mind waiting a few weeks for parts, it’s a 30 euro upgrade, and well worth it.

I’m having some issues with Z-banding, most likely caused by issues with the Bowden system. This is something I’m addressing with the new print head, so I’m not too worried about this problem right now. The drivers themselves are incredibly accurate, and reproducibility is so high I can’t even measure how small the difference is with my tools.

Avatar
Huibert is an innovation engineer, prototyper, maker, innovator and entrepeneur. He believes anyone can be an inventor and entrepeneur with the right mix of attitude, time investment and a sprinkle of knowledge.
Posts created 24

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top