Minor tweaks to the layout. Added some text on the back size
This commit is contained in:
parent
9c03d4737a
commit
10b87cea13
File diff suppressed because it is too large
Load Diff
@ -2987,6 +2987,7 @@ F 0 "J1" H 7200 4267 50 0000 C CNN
|
||||
F 1 "Conn_02x02_Odd_Even" H 7200 4176 50 0000 C CNN
|
||||
F 2 "Connector_Molex:Molex_Micro-Fit_3.0_43045-0400_2x02_P3.00mm_Horizontal" H 7150 4050 50 0001 C CNN
|
||||
F 3 "~" H 7150 4050 50 0001 C CNN
|
||||
F 4 "C122413" H 7150 4050 50 0001 C CNN "LCSC"
|
||||
1 7150 4050
|
||||
-1 0 0 -1
|
||||
$EndComp
|
||||
|
||||
14
README.md
14
README.md
@ -1,16 +1,16 @@
|
||||
# Huvud 3D Printer toolhead board
|
||||
A very small 3D printer board for use on a direct drive toolhead. It is designed to be used with Klipper firmware.
|
||||
Klipper has the awesome feature to be able to use multiple MCUs connected to the host over a (relatively) high latency connection. Using CAN bus it is possible to chain many small board using just a pair of twisted wires and power. A good solution for multiple head 3D printers.
|
||||
Klipper has the awesome feature to be able to use multiple MCUs connected to the host over a (relatively) high latency connection. Using CAN bus it is possible to chain many boards using just a pair of twisted wires and power. A good solution for multiple head 3D printers.
|
||||
|
||||

|
||||
|
||||
Features:
|
||||
* CAN bus.
|
||||
* One TMC2209 stepper driver for the extruder
|
||||
* Two MOSFET drivers fans
|
||||
* One bigger MOSFET driver for a hotend heater
|
||||
* Two MOSFETs for fans
|
||||
* One big MOSFET for the hotend heater
|
||||
* Thermistor input
|
||||
* One endstop
|
||||
* Support for an endstop (or filament runout sensnor)
|
||||
* STM32F103 72Mhz MCU
|
||||
* USB, for flashing firmware
|
||||
|
||||
@ -20,6 +20,12 @@ All done in KiCad and open source.
|
||||
|
||||
If you are interesting in helping out, testing or eventually using this board feel free to contact me at glpontus@gmail.com.
|
||||
|
||||
### Documentation
|
||||
|
||||
* [Pinout and hook up](doc/pinout.md)
|
||||
* [Klipper configuration](doc/klipper.md)
|
||||
* [CAN bus](doc/canbus.md)
|
||||
|
||||
---
|
||||
|
||||
## 2020-05-18:
|
||||
|
||||
BIN
doc/045pinout.jpg
Normal file
BIN
doc/045pinout.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 198 KiB |
58
doc/canbus.md
Normal file
58
doc/canbus.md
Normal file
@ -0,0 +1,58 @@
|
||||
# Working with CAN bus
|
||||
|
||||
## Adapters
|
||||
|
||||
You will need a CAN bus adapter for your Raspberry Pi (or other board you run klippy on). There are many options available.
|
||||
|
||||
### MCP2515 based CAN HATs
|
||||
|
||||

|
||||
|
||||
The MCP2515 is a very common SPI connected CAN bus chip. It is a pretty bad options since it has very small buffers on chip and creates a lot of CPU load on the Raspberry Pi. It is not recomended if you use more than 1 or 2 boards.
|
||||
|
||||
When using an MCP2515 hat you have to increate the linux CAN bus tx queue length or the system will not be stable. "ip link set can0 txqueuelen 128". This is again due to the lack of buffers in the MCP2515.
|
||||
|
||||
TBD: The txqueue can be set at reboot using udev, how is that done?
|
||||
|
||||
TBD: Is the MCP2517FD based HATs any better? They are made for CAN-fd but should be backwards compatible.
|
||||
|
||||
Easily available option is "Waveshare RS485 CAN HAT"
|
||||
|
||||
There are some dirt cheap MCP2515 boards made for arduino. Some hacking might be needed to make them use 3.3V for SPI, the raspberry is not 5V tolerant!
|
||||
|
||||
|
||||
### USB CAN adapter
|
||||
|
||||

|
||||
|
||||
The better option
|
||||
|
||||
Easily available option is "Innomaker CAN to USB adapter". It is even optically isolated.
|
||||
|
||||
|
||||
## Linux setup
|
||||
|
||||
The klipper CAN bus implementation needs a program to run on the host that tunnels serial over CAN bus to the Huvud boards.
|
||||
|
||||
https://github.com/bondus/CanSerial
|
||||
|
||||
The program will open virtual serial ports in /tmp when boards are discovered on the CAN bus. The serial ports are named depending on the unique ID of the STM32 MCUs. Such as /tmp/ttyCAN0_0d8da6c6698e.
|
||||
|
||||
|
||||
## Wiring
|
||||
|
||||
### Connecting Huvud
|
||||
|
||||
There are two options to connect the Huvud board, either use the 4-pin JST-PH connector or the combined power and CAN bus Molex Micro-fit. All CANL pins are connected together on the board, same with the CANH pins.
|
||||
|
||||
### Cables
|
||||
|
||||
|
||||
CAN bus is a bus, it must be terminated at each end with 120ohm resistors.
|
||||
|
||||
Twisted pair ... Ethernet cables or specifically made CAN bus cables. If shielding is used it should only be grounded at one point.
|
||||
|
||||
As we run default at 500kbits/s each stub length can be up to 1.6m long.
|
||||
|
||||
|
||||
|
||||
BIN
doc/hotendbackside.jpg
Normal file
BIN
doc/hotendbackside.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 225 KiB |
BIN
doc/idexxaxis.jpg
Normal file
BIN
doc/idexxaxis.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 158 KiB |
BIN
doc/innomakerusbcan.jpg
Normal file
BIN
doc/innomakerusbcan.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 73 KiB |
34
doc/klipper.md
Normal file
34
doc/klipper.md
Normal file
@ -0,0 +1,34 @@
|
||||
|
||||
|
||||
## Klipper configuration
|
||||
|
||||
### Firmware configuration
|
||||
|
||||
* Enable Micro-controller Architecture (STMicroelectronics STM32)
|
||||
* Pick STM32F103
|
||||
* Pick Bootloader offset (2KiB bootloader (HID Bootloader))
|
||||
* Disable Use USB for communication (instead of serial)
|
||||
* Enable Use CAN for communication (instead of seria)l
|
||||
* Pick CAN pins (Pins PB8(rx) and PB9(tx))
|
||||
|
||||
It is possible to use USB instead of the CAN bus, like most other controller boards.
|
||||
|
||||
### Bootloader and Flashing
|
||||
|
||||
The boards come preloaded with the HID bootloader for flashing over USB. Note that the board can not be powered over USB.
|
||||
|
||||
To enter the bootloader pin BOOT1 must be connected to 3.3V when the board is powered up or reset. When in the bootloader the green LED will flash quickly. Flash with the command "make flash FLASH_DEVICE=1209:beba"
|
||||
|
||||
Hopefully a CAN capable bootloader will be developed to allow flashing over CAN bus.
|
||||
|
||||
### printer.cfg
|
||||
|
||||
[Example partial printer.cfg](printer.cfg)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
61
doc/pinout.md
Normal file
61
doc/pinout.md
Normal file
@ -0,0 +1,61 @@
|
||||
|
||||
# Huvud Hardware, Pinout and Hookup
|
||||
|
||||
(all pictures are of pre production partially hand assembled boards, the real thing will be slighly different and look a lot better)
|
||||
|
||||
## Pinout
|
||||
|
||||

|
||||
|
||||
Look at [printer.cfg](printer.cfg) for pinouts.
|
||||
|
||||
|
||||
## Powering
|
||||
|
||||
The board works from 10V up to 28V. It must be powered through the Molex Micro-Fit connector. It can not be powered with USB and powering though the 3.3V must be avoided, the stepper driver can get damaged.
|
||||
|
||||
The power connector is rated for max 8A
|
||||
|
||||
## Hooking up peripherals
|
||||
|
||||

|
||||
|
||||
|
||||
### Fans
|
||||
|
||||
JST-PH 2 mm connectors. Max 1A per fan
|
||||
|
||||
### Thermistor / PT1000
|
||||
|
||||
JST-PH 2 mm connectors. The thermistor input has a 2.2KOhm pullup resistor to allow for better resolution when using a PT1000 sensor.
|
||||
|
||||
### Hotend heater
|
||||
|
||||
Max 4A. Enough for a 100W heater when running on 24V
|
||||
|
||||
### Endstop
|
||||
|
||||
The endstop supplies 3.3V to work with an optical endstop sensors. For a microswitch (NO) connect it to GND and Signal.
|
||||
Please note that klipper requires an enstop to be on the same board as the stepper driver, if the board is used for an extruder the endstop can not be used for a bed probe. The endstop works as a filament runout on a hotend, or as an axis endstop if the board is used for movement.
|
||||
|
||||
### CAN bus
|
||||
|
||||
The CAN bus can be hooked up in multiple different ways. There is a 4-pin JST-PH connector with two pairs of CANL/CANH, and a 2x2 pin Molex Micro-fit shared with power.
|
||||
There is no on board CAN bus termination resistor.
|
||||
|
||||
### LED
|
||||
|
||||
There is a user controlled green LED near the debug connector, it is connected to PC13.
|
||||
|
||||
## Thermals
|
||||
|
||||
The TMC2209 is a very efficient stepper driver and does not generate a large mount of heat. Still temerature should be checked if you run at high currents. The board is designed to spread the heat over the entire PCB.
|
||||
|
||||
Testing shows that the board works comfortly without any extra cooling up to 1.2A driver current (it will reach about 25C above ambient). The board is designed to work up to 85C, so even if it gets very hot it will work fine.
|
||||
|
||||
If the driver or boards gets too hot add small cooling fins, or if possible use a thick thermal pad on the bottom to lead the heat into something like an alu extrusion or other metal object.
|
||||
|
||||

|
||||
|
||||
If huvud is used for movement you can even monitor the temperature with a thermistor and turn on a fan if it gets too hot.
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
#
|
||||
|
||||
[mcu head0]
|
||||
serial: /tmp/ttyCAN3
|
||||
serial: /tmp/ttyCAN0_5aa658bb599a # Change to your ID
|
||||
restart_method = command
|
||||
|
||||
[extruder]
|
||||
@ -17,6 +17,7 @@ nozzle_diameter: 0.400
|
||||
filament_diameter: 1.750
|
||||
sensor_type: EPCOS 100K B57560G104F
|
||||
sensor_pin: head0:PA0 # "THERMISTOR"
|
||||
pullup_resistor: 2200 # The board uses a 2.2k ohm pullup to work with a PT1000
|
||||
min_temp: 0
|
||||
max_temp: 250
|
||||
|
||||
@ -26,7 +27,7 @@ tx_pin: head0:PA9
|
||||
microsteps: 16
|
||||
interpolate: True
|
||||
run_current: 0.9
|
||||
sense_resistor: 0.100
|
||||
sense_resistor: 0.110
|
||||
hold_current: 0.5
|
||||
stealthchop_threshold: 0
|
||||
|
||||
|
||||
BIN
doc/thermalconnect.jpg
Normal file
BIN
doc/thermalconnect.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 179 KiB |
BIN
doc/wavesharecanhat.jpg
Normal file
BIN
doc/wavesharecanhat.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 69 KiB |
Loading…
x
Reference in New Issue
Block a user