Close

[DP2] Trying the GC6609 Stepper Drivers

A project log for Printer Repair [gd0137]

A log of upgrading / repairing my (non-SecSavr) 3D printers.

kelvinakelvinA 03/22/2022 at 13:205 Comments

For gd0036, I wanted to see if I can use these drivers (on the S6609 stepstick) instead of (drastically) more expensive (and out of stock) TMC5160s at 36V. 

[13:15] So far, it doesn't seem like I can just set the axis to TMC2209 in Marlin and get a UART connection.
so it's not as simple as this video made it appear.

[14:43] I've just discovered that the logo on the board is FysetC's. I knew I recognised that logo somewhere. I've also discovered the datasheet, but I don't have an account so I can't see the other 8 pages.

[15:03] Tried getting some component values, seeing if I could find some kind of rsense. 

It's not much but it's honest work. Most resistors read as 0ohms. The 1K resistor is for TX and RX.

[15:07] Oh yeah I forgot I don't have to do that at all because there's an image of the board schematic.
Turns out 0 ohm resistors actually exist. Seems that the 2 large resistors are the sense resistors, coming in at only 0.11 ohms, so it makes sense why I couldn't read those.

[16:43] Huuuuh. I was scrolling through this fysetc page on the TMC2209 and I found a schematic that looks awfully similar.

I'm going to continue my testing with the driver set to 2209 in Marlin and see if this gives me any leads.

Wednesday 23 March

[05:54] Fysetc calling their latest TMC2209 driver the S2209, as well as similar text layout, adds more evidence that the S6609 is a 2209 clone from FysetC. Judging by the schematics, it also looks like Index and Vref were intended to be swapped on the S6609 v1.0 PCB to match the S2209 v3.1, but there was an error when setting the header pin numbers.

It's likely possible to correct the mistake with an extra long 2 pin header which is only soldered to the DIAG pin (from bottom side) and shrinkwrap over the vref pin, and then some wire or solder bridge from Index. This also menas that a shorter heatsink will be needed if the stepsticks are mounted like in the SKR instead of like the SKR Octopus. 

Also, without UART, both chips can only be set to a maximum of 1.77A R.M.S..

[06:46] I just realised something:

That's the 2 relatively large Voltage(motor) capacitors. This seems like a situation where the chip can do one voltage (which is the one advertised), but the stepstick can only work to at a different, lower voltage. Nothing short of penny pinching here. Micropennies actually. Further research uncovers that the general consensus is to use capacitors up to 70% of rated voltage, which means I'd need at least 51.43V capacitors and these current capacitors are really only for 24.5V usage. This knowledge is interesting though, as the SKR Octopus Pro uses 63V capacitors, which should equate to a 44.1V recommended max input voltage. 

50V caps for these S6609s and 48V max for the Octopus Pro is probably still a good amount of tolerance.

[08:29] Looks like the S2226 has an even more identical pinout, suggesting that the "judging by the schematic" stuff I said at 05:54 is irrelevant.

[18:04] I've just discovered that MLCC capacitors (the brown ones on the stepstick) don't require derating as they have "higher voltage strength".

Phew. I was worried all day about having to desolder and resolder like 32+ stepsticks; an entire reflow station is still probably cheaper than a couple of HV 5160 stepsticks (that have just shown up on virtual shelves). Speaking of those stepsticks, it seems that the DIAG pin is the only one needed for sensorless homing.

Thus perhaps the elaborate solder job I mentioned earlier wouldn't be needed at all. I'm not planning on using sensorless homing currently, but it's useful information for the future.

Thursday 24th March 

[10:05] UART woes aside, I thought I'd see what these drivers even sound like. Can confirm they are TMC2208 grade. I feel the 6609 is like 1dB quieter on the Y axis when I did the test, but the 2208 seems to take the win when playing the audio files back to back.

[11:33] It seems that they're all set to 1.3V vref from factory. Assuming it uses the same current calculation as the 2209, that would be 920mA. I've reduced all 4 axis to 1.06V (750mA) and going to install them without heatsinks to see what kind of cooling requirements they need.

[12:00] I've got a small print on and it's whisper quiet. The most noticable change is the extruder, which had an A4988 on it before. Linear Advance is enabled. X and E axis motors are lukewarm.

[12:08] Drivers barely warm. Ok lets try turning off the fan and going for a print that lasts longer than a few minutes.

[14:35] Took maybe 30 mins for the X and E motors to heat up to the almost-too-hot-to-touch-but-wait-actually-it's-fine temperature. Now it's been 110 minutes since the print was started and there's still no skipped steps. I've got jerk at 12, accel at 2400 and linear advance at 0.14. I really wasn't expecting to get this far. Print should finish in another 10 mins.

[14:48] And it's done. 2hrs 2min 40secs of printing complete. Opened the DP2 up and the 6609s are shockingly only warm-hot. The bed felt like the same temperature, which was 42 degrees. I'm going to try the same print again with all steppers set to 600mA (0.847V).

Friday 25th March

[08:27] So I changed the voltage to 0.85V +/- 0.005V and printed again with the only change being lower jerk of 6 from 12. Print finished with no issues, but ringing was unaffected so for my 3rd 2hr print, I set jerk to 18mm/s and it also succeeded no issues. The extruder (the hottest motor) was slightly cooler after reducing current to 600mA; I could hold my fingers on it comfortably. For comparison, I couldn't hold my fingers comfortably on the bed when it was at 55C (it was cooling down though, so the top surface of the bed could be warmer than reported). 

When I opened up the DP2, the stepper drivers were still lukewarm; the USB port was hotter. Maybe stepper drivers just don't have enough thermal mass to stay hot for very long (3 minutes from print finished to temperature check). The passive PSU is emitting heat into the electronics enclosure and the fan is still unplugged so the ambient air temperature is likely in the 30 - 40 degree C range. 

With 6 hours of successful prints, all I can conclude is that these drivers have low cooling requirements. For the Secsavr [gd0036] I was planning to buy those large blue heatsinks for the high current drivers and put in like 2 6028 blowers in the electronics enclosure, but that's likely overkill after trying these tests. And going back to my observation with the USB port, perhaps it's possible that the aluminium heatsinks absorb ambient air heat energy and make it even harder for the drivers to dissipate heat, not easier.

Saturday 26 March

[13:42] UART Success! 

I got a YouTube comment on the audio test highlighting the Billibilli comment I saw suggesting that the Rx pin be cut. I didn't want to do that because I didn't want to perform the hardware equivalent of a OTP setting and then find out that it didn't do anything or made the situation worse. Anyway, I thought back to the schematic and how I couldn't shake the disparity between the specified 0R or NC (∞R) on the clock pin and how the SKR 1.3 schematic showed that RX and CK are connected together. I also vaguely remember somone suggesting cutting of the 5160 CLK pin when they first hit the scene years ago. I measured the A4988 and TMC2208 on that pin and it was 100K and 20K respectively. Thus I had the idea of using pliers to bend the CK so that I could try my hypothesis without permanent damage. 

I set the driver to 2209 and didn't get a TMC error message on the screen! Did an M122 to confirm.

Next, I set the hold current to 1.0 as klipper didn't recommend the use of it iirc, but I got an all-low connection error again. 0.99 was apparently fine tho. Oh. I just tried "1" not "1.0" and that worked too. Interesting stuff.

The x axis sounded like spreadcycle when it homed, so I went into the LCD settings and Stealthchop was indeed off. Turned it on and it sounded like it originally did, so it seems that I am indeed getting a connection. Happy days. Now I'm marginally interested in seeing if sensorless was implemented on this here 2209 clone called the 6609, but I'll never use it. Wait wasn't there some cool step loss detection using stall guard? Ok I'll look into it.

[14:22] Doesn't seem that the Marlin team has an implementation yet.

[17:12] Interesting. Started a print and the extruder motor stops turning seconds into the print. The X and Y also sound ever-so-slightly-different. Going to investigate weither this is due to UART mode or motor currents not actually being the assumed 600mA when in standalone.

[17:45] Interesting. Extruder set to 1A didn't do anything. Commenting out MONITOR_DRIVER_STATUS had no effect. Neither did standalone mode. The UART jumper for the extruder had to be disconnected to get the previous functionality back. Perhaps this means that these drivers act more like high current 2208s?

[18:05] Interesting. Putting the UART jumper here allows the extruder to seemingly work fine... once... in standalone mode, but still not in UART mode.

[18:41] Extruder connects but doesn't turn for more than a second if the Rx pin is bent out of the socket instead of the CK, same as with the driver where the CK pin is cut off.

[18:58]  Bent BOTH the Rx and CK pins to no success. 

Well other than being able to set the current without opening and manually tweaking (which takes sub 10 mins and is usually a set+forget task anyway) and being able to max out the current at 2A RMS instead of an assumed 1.77A, there's not really much need for UART. Thus I might run them standalone, since I just wanted a relatively high current, quiet driver that worked at 36V and was cheap.

I'm also taking the UART pins out. If they're affecting the extruder they're likely affecting the other 3 drivers in subtle ways. I can, at least, hear a minor audiable difference. Perhaps it's just an SKR 1.3 thing and the Octopus Pro and/or 36V and/or using Klipper will rectify this issue.

[19:19] Taking out the MS1 and MS2 jumpers didn't do anything either.

Discussions

Eli Wong wrote 06/22/2022 at 06:40 point

Just use it as 2208

  Are you sure? yes | no

kelvinA wrote 04/20/2022 at 15:25 point

I've started testing them on the Octopus Pro: 

https://hackaday.io/project/184184-secsavr-gd0036/log/205148-initial-extruder-tests

  Are you sure? yes | no

paul wrote 04/01/2022 at 08:50 point

niceeee thank for the efforts

  Are you sure? yes | no

huba80 wrote 03/30/2022 at 09:12 point

When I bought my S6609 I couldn't find ANY info by Google. Im glad that someone has picked up on this driver. I spent a lot time to make it work with UART without success.

  Are you sure? yes | no

kelvinA wrote 04/20/2022 at 08:37 point

I thought I should "be the change I want to see in the world", as the saying goes.

  Are you sure? yes | no