Thermostat for 3D Printer extruder head

Rather than spend coin to replace my CNC's TinyG board, I decided to use stuff I had lying around to control the extruder temperature

Similar projects worth following
This project details [my total lack of EE knowledge as well as] my attempt to build a thermostat for a Mk-V style JHead extruder using a Tiva C launchpad and Nokia 5510 LCD for monitoring

My first attempt was using a Launchpad Tiva. I rather like the board and the large selection of GPIO, but ultimately I'm trying to reduce the project size to something I can put on a small board. DIP packaging is more suitable for the tools I have handy, so I'm converting the effort to MSP430. This is the schematic I had for Tiva.

The MSP430 variation of this isn't very different but I did change R2 value. The MSP430 only has 10-bit ADC (compared to Tiva's 12-bit) so using such a high pull-down (10k) resistor results in poor resolution of input, so I have switched it to 3.9k and use 4x oversampling to read it. I was able to get this all working in-code but had to take many shortcuts because the MSP430 chip I have on-hand only has 2kb. Not only did I have to use a table to convert thermistor readings to temperature, but I also had to cut out most of the LCD font to fit everything in memory. I'm ordering a bigger MSP430 chip so I can have more GPIO and flash, so this should only be a transient problem.

Once I am satisfied and clean up the code I will post my Energia project to Github and start on the relay control and interfacing with TinyG

  • 1 × TI Launchpad Tiva C TM4C123 version, though the TM4C129 and even an MSP430 would be ok with adjustments
  • 1 × Nokia 5510 LCD Note that backlight colors and pinouts, pin labels vary, and that's OK.
  • 1 × J-Head MK-V extruder head (with Thermistor pre-installed) Because the thermistors is pre-installed it really makes calibration difficult, read on...
  • 1 × Energia IDE It's free and has lots of samples, what's not to love?
  • 1 × Breadboard Electronic Components / Misc. Electronic Components

View all 10 components

  • Part 6: Final assembly

    Brendan Robert01/20/2015 at 18:17 0 comments

    This will detail the final installation on to the CNC, though the full conversion to 3D printing will likely be its own project... :-)

  • Part 5: Pull the switch!

    Brendan Robert01/20/2015 at 18:16 0 comments

    This part will detail controlling the 12vdc power source to the heating element. I don't expect it to be all that complicated (relays are cheap and easy but a mosfet might be a better idea if I want to rapidly control voltage, e.g. PWM). This part is TBD.

  • Part 4: Calibrating the thermistor

    Brendan Robert01/20/2015 at 18:14 0 comments

    This is the part that is currently underway -- Since I don't know what thermistor was used I don't have a data sheet that tells me its resistance at a known temperature (25C) or its beta value. If you use an extruder head with a known part number for the thermistor you will not have to do this part...

  • Part 3: Reading the thermistor

    Brendan Robert01/20/2015 at 18:13 0 comments

    This is done, but as Part 4 will explain having the pre-installed thermistor isn't as convenient as I thought it would be...

  • Part 2: Hello World

    Brendan Robert01/20/2015 at 18:12 0 comments

    This part will detail hooking up the Nokia LCD and displaying characters on it (this is done, I just have to add content here...

  • Part 1: Intro and Getting Started

    Brendan Robert01/20/2015 at 17:51 0 comments

    I have a Zen Toolworks CNC mill that has sat in a closet mostly unused (CAM software is too darn expensive, and free CAM software is not really sufficient for anything I'd want to really do). Because of this (and the request of my son who wants to make things) we decided to convert the mill to a 3D printer. Zen Toolworks also sells a pre-made 3D printer conversion kit, though I just bought their mounting plate with stepper-based feeder and JHead mount.

    I've never done more with embedded programming beyond turning I/O pins on and off (camera intervalometer, larson scanner) so I knew this was going to be a step in my evolution as an embedded systems tinkerer. :-) Since I had the Tiva C launchpad and Nokia LCD screen, I decided to go with those. I could probably scale this down to an MSP430 (depending on its ADC capabilities) but I wanted to start with the Tiva C since it has more pins and a 12-bit ADC.

    I bought the J-Head hot end from E-Bay. Though it was rather convenient to have a pre-assembled hot end, no part numbers were provided so I have really no idea what kind of thermistor was used. That means that instead of reading a data sheet for specifications (namely the resistance at 25C and the Beta value), I will have to calibrate the head before I can get really accurate temperatures.

    Based on the previous experiences I've had with Launchpad tinkering, I decided to use Energia. It takes away the annoyance of building tool-chains and you really can't beat the price (free). Some of the examples are handy, too. Mostly, I like it because it knows how to support all of the launchpad versions that I own (MSP430 value line, F-RAM, Tiva C) so if I decide to upgrade a project I can just switch the board type on my project and keep going.

    (To be continued: Setting up Energia and finding examples)

View all 6 project logs

Enjoy this project?



Brendan Robert wrote 01/20/2015 at 18:23 point

The build logs will contain my progress of each step. I'm in the process of thermistor calibration (assuming my circuit is correct...). Once all parts are finished I'll probably digest it in the instructions for people who do not like reading long-winded rants.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates