Check out my first novel, midnight's simulacra!

Bambu Carbon X1C: Difference between revisions

From dankwiki
Line 93: Line 93:


=====Details=====
=====Details=====
We use pin D2 for the fan tachometer, employing a hardware interrupt. We use pin D3 for the 25KHz fan PWM, employing hardware PWM. The DS18B20 is read on D4. The VOC detector is read on A5. D14 and D15 control the SSD1306 using I2C.
We use pin D2 for the fan tachometer, employing a hardware interrupt. We use pin D3 for the 25KHz fan PWM, employing hardware PWM. The DS18B20 is read on D4. The VOC detector is read on A5. D14 (SDA) and D15 (SCL) control the SSD1306 using I2C.


[[CATEGORY: Hardware]]
[[CATEGORY: Hardware]]
[[CATEGORY: Projects]]
[[CATEGORY: Projects]]
[[CATEGORY: 3D printing]]
[[CATEGORY: 3D printing]]

Revision as of 18:53, 11 August 2024

My Bambu Carbon X1C arrived 2022-10-10, after preordering in August 2022. It is an incredible machine, far superior to anything I had before. It's not cheap (I paid $1300 iirc), but spare parts are very reasonably priced despite the closed ecosystem (not that closed, though; there are alternate firmwares, such as X1Plus, but I have not used them).

The X1 occupies an area of 389mm² and has a height of 457mm.

MQTT

The X1C makes an MQTT broker available on port 8883 (earlier firmware ran it on 1883, which is closed in recent firmware). Enable TLS, use the username bblp, and use the LAN mode password displayed on your Bambu. The information provided is pretty extensive. The # topic wildcard is supported, but the money topic is device/DEVID/report. Control of the Bambu is achieved via posting to device/DEVID/request.

Fan cables

The X1C uses a JST MX 1.25 connector for fans, not the standard PC fan connector. The cables are colored as follows:

Color Function
Black Power (24V)
Dark gray Ground
Light gray Tach
White PWM

The auxiliary fan runs 3200 rpm at 24V.

Mods in use

All mods were printed on the X1C itself.


The AMS desiccant boxes and trays are great (and the hygrometer fits into the center one perfectly); with them in place, my AMS gets to about 10% humidity despite living in humid Atlanta (my condo at large tends towards 50%+). Every time you open the AMS, it will exchange air with the outside, and humidity will go back up, so keep it closed (and locked--there are two swiveling locks in the corners, easy to miss). Remember, your filaments will be absorbing that water along with your desiccants, and the desiccants aren't going to pull water out of the filaments; for that, you need active drying (I use a $40 food dehydrator, none of those fancy filament dryers, and the Carbon can dry filaments itself thanks to its heated enclosure).

The top glass riser is great for printing PLA/PETG, where you want some airflow but might not want to leave the front door hanging open. Unfortunately, it doesn't play nicely with an AMS atop the X1.

The BentoBox is designed to filter out some of the VOCs generated when printing certain materials. It wants two 40mm fans, a HEPA filter, and activated acid-free charcoal (it is claimed that acidful charcoal will fuck up your printer; I don't know anything about it). I had several Delta 40mm screamers free I'd pulled from an Aruba switch (Noctua NF-A4s are not strong enough to effectively draw air through the tower, sadly). I tapped into the AMS's 24V circuit using a Power Tap v1.3 (see below). The fans are 12V, so I employed a LMS2596 buck converter to efficiently drop the voltage. The BentoBox only serves to draw air through the filter and charcoal; it doesn't vent to the outside or anything. I'll be changing up the power source for this stack; see below.

Additions

The anti-vibration feet reduced noise and shaking significantly. Some people complain that they're not held in by anything other than friction, but my experience is that if you shove them in hard enough, there's no problem. A PEI plate kept clean will eliminate the glue necessitated by the stock cold plate. Spend the extra $10 for a plate that can be detected by the Carbon; my FYSTEC was $13. The SILESS material went along the bottom and sides.

The Power Tap Kit accepts a 6-pin AMS cable, and bridges it to a 6-pin AMS output plus a 24V female barreljack. This allows you to easily break out the 24V line for external power consumption. You could just cut the AMS cable, add two splitters, and solder/hotwrap everything back together, but this is a nice, clean PCB in an attractive box, for $9.

Major systems

These will both require some substantial printing.

Babo Duo

The Babo storage system is a modular set of drawers, risers, and inserts. I've got:

and numerous inserts. I printed in a mix of Atomic Filament Emerald Green PLA, Bambu Black AMS, and Overture Green TPU. The riser has two sides offering the honeycomb system for further extension; I have an external spool holder built into one side for filaments incompatible with the AMS (e.g. TPU).

AMS Hydra Pro

This replacement of the AMS innards allows one to use larger spools, along with other advantages.

Electronics

I'll be adding an Arduino UNO R4 Wifi plus:

  • DS18B20 1-Wire temperature sensor
  • 2x IRLB8721 logic-level MOSFETs
  • a Molex 4-pin fan plug
  • an SSD1306 OLED display
  • a 60C normally-closed temperature switch
  • a 120VAC -> 12V 10A AC adapter
  • 2x 12V ceramic heating elements
  • a LMS2596 buck converter taking 12V to 5V for the air quality sensors
  • air quality sensors

The AC adapter theoretically offers 120W, but it's safer to assume no more than 90W (¾ of the rated output). This will be used to drive our heating elements and fans. The Arduino itself is powered off the AMS circuit. Leaving aside peripherals, it ought not draw more than 500 mA, even when transmitting on wireless. This ought be safe, and is less than our fans were previously drawing from the AMS. Remember, Bambu doesn't guarantee any slack on the AMS circuit, and expressly instructs you not to draw from it.

The temperature switch is a final guard against a failure in power control; it will open (disabling the heater) at 60C, the maximum temperature we want in the chamber. The Arduino enables the heater when either:

  • the chamber temperature, as measured by the DS18B20, is below 10C, and anything is being printed, or
  • the filament being printed is associated with a desired chamber temperature, and the chamber temperature, as measured by the DS18B20, is below that temperature. no filament is associated with a desired chamber temperature above 60C.

The Arduino enables the fans (via PWM) when either:

  • the filament being printed is associated with toxicity, or
  • the VOC detector indicates more VOCs than normal

These filament associations are encoded in the firmware. The filament being printed is acquired from the Bambu's MQTT. The VOC detector may fire even when there is no printing going on (it is expected, for instance, to run for some time after conclusion of a print).

Details

We use pin D2 for the fan tachometer, employing a hardware interrupt. We use pin D3 for the 25KHz fan PWM, employing hardware PWM. The DS18B20 is read on D4. The VOC detector is read on A5. D14 (SDA) and D15 (SCL) control the SSD1306 using I2C.