Giter VIP home page Giter VIP logo

prntrboard's Introduction

Prntr Board V1

Deprecated

This project has run it's course. Most of the features are complete and there is little I can improve further. I have switched my focus to the V2 design.


PrntrBoard is a 3D printer controller board designed to work with STM32 NUCLEO dev kits. The current version (V1) supports NUCLEO-64 series kits. The design is being developed on F446-RE kit, but other models could work as well. IMO the STM32F446 NUCLEO-64 kit offers very good performance (180MHz CPU) for the price ($15).

Picture of Rev2 Kicad Rendering Some features of the board:

  • 5x Trinamic super quiet drivers (TMC2130, TMC2660 or TMC2209)
  • Marlin 2.0 firmware
  • (2+2) controllable fans and 2x "always on" fan connectors
  • 3x min and max endstops for the x, y and z axis
  • 2x end stops for fillament end detection
  • SPI or I2C display connector for ST7735 or SSD1306 screen + one button and rotary encoder
  • Dual thermocouple connectors (for MAX31866, MAX31855 or MAX6675 boards)
  • Input voltage (Vin): 12-24V
  • selectable fan voltage (5V or Vin)

Because the NUCLEO-64 has limited number of IO pins, some compromises had to be made:

  • No sd-card (sd-card is added using new NUCLEO-64 compatible board)
  • The thermocouple connectors share pins with the E0 and E1 cool fan controls. You'll have to decide to use one or the other via jumpers on the board. Most printers I've seen come with "always on" extruder fans, the choice seemed like a worthy sacrifice.

Generic shortcuts I don't plan to improve:

  • 5V power supply is external. These are available from various resellers and fairly cheap - less than $1. No need to waste board layout space and component count. (this has beed addresses with the new NUCLEO-64 compatible daugherboard)
  • Heated bed MOSFET - large heated beds consume a lot of power and it is challenging to provision the design for > 20A current (there is simply not enough copper space on the board to support this current). External heated bed MOSFETs are very affordable < $10 and support 20A-40A with no issues. If you have large heated bed - use external MOSFET or SSR.

Details

I use the daily build of KiCad (soon to be released V6) - let me know if you have trouble opening the files.

The current PCB desing is using 4 layer board, 6/6 mil track width/clearance, 12 mil min via hole size and 20 mil via diameter.

There are tree active branches:

  • tmc2130 - the board design for TMC2130 drivers
  • tmc2130-redesign - redesign of the TMC2130 branch with the nucleo board flipped
  • tmc2660 - the board design for TMC2660 drivers
  • tmc2209 - the board design for TMC2209 drivers

TMC2130 and TMC2660 PCB designs use the QFP version of the driver ICs, because they can handle a bit more power. The TMC2209 is available only in QFN package.

Status

TMC2130 version is table and been running for over a year. TMC2660 is being tested at the moment. Prototypes of the TMC2209 are being made.

old status: I've been running a prototype of this board for a few months now and I'm very happy with the board stability. I'm trying to figure out how to make these at scale.

I have made prototypes of the TMC2130 board design (rev0) - the board has a few bugs, that are corrected in the rev1 version. Rev0 did not have LCD screen, it was added in Rev1. I'm trying to work-out the thermal design issues. Rev1 board have been ordered and the dev branch is now switched to Rev2. The thermocouple connectors are added Rev2. Rev2 borads have been ordered. The current working board is rev3. Added 2 more pins to the LCD connector for the rotary encoder input. I also re-connected the E1 and E0 CS pins, so the LCD pins can be connected to the hardware I2C pins. This way one can use SPI or I2C screens.

This branch is a redesign of the TMC2130 board. The main difference is that the NUCLEO board is flipped in a more natural position. In addition I'm now using a dedicated ground plane, larger heatsink areas for the mosfets. I'm much happier with the thermal layout of this branch.

The NUCLEO-64 board was limiting the design in many ways. I have a replacement board using STM32F407VE. This is 100 pin part. The new daughter board is the same form factor as the NUCLEO-64. It adds SPI EEPROM as well as native USB interface and micro SD-Card socket. The new board also has enough space for 24V to 5V buck converter, so power supply can beintegrated.

Tested circuits:

  • Heater control
  • Thermistor input
  • Fan control
  • Motor driver control
  • Z probe
  • End stops
  • Thermocuple interface (tested MAX31855 with Smoothieware)
  • LCD interface (tested REPRAP discount full graphics controller - the panel has issues sharing the SPI port with the TMC drivers. Could be solved with adapter board with extra AND gate)

Circuits that need verification:

  • Stall guard alert from the motor driver

Software

The software for the board is a clone of Marlin at bugfix-2.0.x branch of my repository. It is quite usable. I keep it relatively in sync with the Marlin branch. Note: there are other branches of Marlin, only the bugfix-2.0.x supports the STM32 microcontroller.

Marlin is using Adruino IDE or Platform IO. I personally had issues with Platform IO not supporting the STM32F4 board, so I use Arduino version 1.8.5. To compile the firmware code you would need to install the STM32 Arduino port.

I'm also porting Smoothieware V1 to the board. So far I got the heater control and the stepper drivers working. My smoothie port is available here. Please not the Smoothie port is not ready yet (there is an issue with the ADC). I have done only minimal tests so far.

Visit my blog for status updates on the development of the board.

prntrboard's People

Contributors

ghent360 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

prntrboard's Issues

some advices

This version has the biggest problem. I guess no one except you dares to copy this board. My idea is very simple. You can clear all the TMC2660 and use a double-layer board layout, which will save a lot of cost. Provide 4 signals for each axis of the closed-loop printer: P+D+E+GND, which will greatly facilitate players who use external drives

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.