Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Pinout of the M36 Connector and PCB. #5

Open
wants to merge 22 commits into
base: main
Choose a base branch
from
Open
209 changes: 209 additions & 0 deletions KlipperConfig/head.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,209 @@
## M36 HUB V1.1 Lite (with GC6609)
## For more info
## https://github.com/FYSETC/M36_HUB_V1
## https://wiki.fysetc.com/M36_HUB_V1/

# This file contains common pin mappings for the Fysetc M36 HUB V1.1
# To use this config, the firmware should be compiled for the
# STM32F072 with "No bootloader" ,"Internal clock" and Communication interface USB

# How to get in DFU mode:
# 1. hold BT0 button for 2 seconds
# 2. Hold RST button for 2 seconds
# 3. Release the BT0 button
# 4. wait 2seconds
# 5. Release the RST button
# "lsusb" check if get in DFU mode

# After running "make", run the following command to flash the board:
# "dfu-util -R -a 0 -s 0x08000000:leave -D out/klipper.bin" to upload
# or "make flash FLASH_DEVICE=0483:df11" compile and upload at once.


## *** THINGS TO CHANGE/CHECK: ***
## MCU path [mcu] section
## Z and Extruder motor currents [tmc2208 stepper_*] sections. Uncomment the stepper motor you have
## Full steps per rotation for Extruder [extruder] section
## Thermistor types [extruder] and [heater_bed] sections - See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types
## Extruder motor currents [extruder] section
## PID tune [extruder] and [heater_bed] sections
## Fine tune E steps [extruder] section

## For more info check https://docs.vorondesign.com/build/startup/#v0
## See docs/Config_Reference.md for a description of parameters.

[mcu head]
serial: /dev/serial/by-path/platform-4101000.usb-usb-0:1.4:1.0
#restart_method: command


#####################################################################
# Extruder
#####################################################################

[extruder]
step_pin: head:PB15
dir_pin: head:PB14 # Add ! if moving opposite direction
enable_pin: !head:PB1
full_steps_per_rotation: 200 # Set to 200 for 1.8 degree motor, set to 400 for 0.9 degree stepper motor
rotation_distance: 22.23 # See calibrating rotation_distance on extruders doc
gear_ratio: 50:10 # For Mini Afterburner
microsteps: 32
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: head:PA0
## Check what thermistor type you have. See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types.
## Use "Generic 3950" for NTC 100k 3950 thermistors
sensor_type: Generic 3950
sensor_pin: head:PA1
control: pid # Do PID calibration
pid_Kp: 28.182
pid_Ki: 1.978
pid_Kd: 100.397
min_temp: 0
max_temp: 270
min_extrude_temp: 10 # set 10 to test,please change to 170 for real use
max_extrude_only_distance: 150
max_extrude_cross_section: 1.5
pressure_advance: 0.2 # See tuning pressure advance doc
pressure_advance_smooth_time: 0.040

[tmc2209 extruder]
uart_pin: head:PA9
interpolate: False
run_current: 0.7
diag_pin: head:PA8
sense_resistor: 0.220
stealthchop_threshold: 0 # Set to 0 for spreadcycle, avoid using stealthchop on extruder


#####################################################################
# Fan Control
#####################################################################
#FAN0_EN:PB11
#FAN0_PWM:PB10
#FAN0_TACH:PB12

#FAN1_EN:PB4
#FAN1_PWM:PA15
#FAN1_TACH:PB3

#FAN2_EN:PB9
#FAN2_PWM:PB8
#FAN2_TACH:PA10

[heater_fan hotend_fan]
pin:head:PB4
max_power:1.0
shutdown_speed:0.0
cycle_time:0.5
hardware_pwm:false
kick_start_time:0.10
off_below:0.1
#tachometer_pin:
#tachometer_ppr:
#tachometer_poll_interval:
#enable_pin:
heater: extruder
heater_temp: 50.0
fan_speed: 1.0

[multi_pin part_cooling]
pins: head:PB9,head:PB11

[fan]
pin: multi_pin:part_cooling

#####################################################################
# Temperature Sensor
#####################################################################

[temperature_sensor head_mcu_temp]
sensor_type: temperature_mcu
sensor_mcu: head
min_temp: 0
max_temp: 100

[temperature_sensor Chamber_on_M36]
sensor_type: EPCOS 100K B57560G104F
sensor_pin: head:PA2
min_temp: 0
max_temp: 100

#####################################################################
# Neopixel
#####################################################################

[neopixel left_rgb]
pin: head:PB13
chain_count: 1
color_order: GRB
initial_RED: 0.1
initial_GREEN: 0.1
initial_BLUE: 0.1

[neopixel right_rgb]
pin: head:PB0
chain_count: 1
color_order: GRB
initial_RED: 0.1
initial_GREEN: 0.1
initial_BLUE: 0.1

# If you want the LEDs on both sides to be synchronized, you can also use multi_pin to configure it.
# [multi_pin rgb]
# pins: head:PB0,head:PB13
# [neopixel rgb]
# pin: multi_pin:RGB
# chain_count: 1
# color_order: GRB
# initial_RED: 0.9
# initial_GREEN: 0.9
# initial_BLUE: 0.9

#####################################################################
# ADXL345
#####################################################################

[adxl345]
cs_pin: head:PA4
# The SPI enable pin for the sensor. This parameter must be provided.
#spi_speed: 5000000
# The SPI speed (in hz) to use when communicating with the chip.
# The default is 5000000.
spi_bus: spi1
#spi_software_sclk_pin:PA5
#spi_software_mosi_pin:PA7
#spi_software_miso_pin:PA6
# See the "common SPI settings" section for a description of the
# above parameters.
axes_map: -x, z, y
# The accelerometer axis for each of the printer's X, Y, and Z axes.
# This may be useful if the accelerometer is mounted in an
# orientation that does not match the printer orientation. For
# example, one could set this to "y, x, z" to swap the X and Y axes.
# It is also possible to negate an axis if the accelerometer
# direction is reversed (eg, "x, z, -y"). The default is "x, y, z".
rate: 3200
# Output data rate for ADXL345. ADXL345 supports the following data
# rates: 3200, 1600, 800, 400, 200, 100, 50, and 25. Note that it is
# not recommended to change this rate from the default 3200, and
# rates below 800 will considerably affect the quality of resonance
# measurements.

[resonance_tester]
accel_chip: adxl345
accel_per_hz: 75 # default is 75
probe_points:
60, 60, 20 # an example

[input_shaper]
shaper_freq_x: 66
shaper_type_x: ei
shaper_freq_y: 70.8
shaper_type_y: mzv

[menu __main __octoprint]
type: disabled


Binary file added assets/Connector Pinout.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/PCB Pinout.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes.
73 changes: 23 additions & 50 deletions readme.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
## THIS IS THE INSTRUCTION FOR USING M36 BOARD FOR ANY BOAD

![M36_HUB_TOP](assets/M36_HUB_TOP.png)

## 1. Introduction

M36集线板是专门为使用36圆形步进电机(Nema14)而设计的,可以用在mini Stealthburner 或者其他使用36电机的打印头上。该板可以配合多种主板使用,尤其是我们的catalyst和BullAnt。配合专用连接线材也可适配任何其他使用klipper的系统。

M36分为两个版本,主要是电机驱动芯片不一样,普通版本为TMC2209,与Catalyst主板配合使用;Lite版本为GC6609,与BullAnt主板配合使用。

The M36 hub board is specially designed for use with 36 circular stepper motors (Nema14) and can be used on mini Stealthburner or other print heads using 36 motors. This board can be used with a variety of motherboards, especially our catalyst and BullAnt. With special connection cables, it can also be adapted to any other system using klipper.

M36 is divided into two versions, mainly because of the difference in motor driver chips. The normal version is TMC2209, used with Catalyst motherboard; the Lite version is GC6609, used with BullAnt motherboard.

### 1.1 Feature

- Based on STM32F072
- USB interface or CAN(need addon board)
- USB interface ~~or CAN(need addon board)~~
- Onboard TMC2209 / GC6609 (Lite Version)
- 3 x 4Pin(2pin/3pin compatible) controlled Fans (default VIN power supply, 5V optional)
- 1x signal input / output interface (default 5V power supply, VIN optional , with level shift)
Expand All @@ -27,11 +25,14 @@ M36 is divided into two versions, mainly because of the difference in motor driv
- Comes with terminal housing and wire crimping tabs
- Onboard ADXL345

### 1.2. Klipper Config
[Config](KlipperConfig/head.cfg)

## 2. Hardware Guide

### 2.1 Install

5.
>Update later

### 2.2 Connectors

Expand All @@ -52,25 +53,34 @@ M36 is divided into two versions, mainly because of the difference in motor driv
| RGB2 | SH1.0-3P | PB0, 1A MAX sigal line RGB port, 5V,for NeoPixel, WS2812<br/>安装R39=0-100R,可以将RGB1和RGB2串联起来,仅用PB13控制。<br/>Install R39=0-100R, you can connect RGB1 and RGB2 in series and only use PB13 to control them. |





### 2.3 Wiring

2.3.1 With Bullant
> Have not tested yet

2.3.2 With Catalyst V1
> Have not tested yet

2.3.3 With Catalyst V2
> Have not tested yet

2.3.4 With Spider and Raspberry Pi
2.3.4 With Other Board and Raspberry Pi

Boot0 need to be connected to 3.3v pin and reset need to be connected GND pin.

### 2.4 SCH DXF STEP

Get SCH, DXF, STEP files on github:
#### Connector Pinout

![alt text](assets/Connector%20Pinout.png)

##### PCB Pinout

![alt text](assets/PCB%20Pinout.png)


### 2.4 SCH DXF STEP

Get SCH, DXF, STEP files on github: [SCH](hardware/M36%20HUB%20V1.1%20SCH.pdf), [DXF](hardware/M36%20HUB%20V1.1%20DXF.pdf), [STEP](hardware/M36%20HUB%20V1.1.step)


## 3. Firmware Guide
Expand All @@ -95,45 +105,8 @@ This is only Klipper firmware support. If you are Klipper beginner please check

7. When you see the word "successfully", it means the programming is successful.



1. 打开机器电源,等待CM68完全启动,大致需要30-90s。
2. 按住M6上的BT0按钮不松开,按住RST按键2秒以上松开,等待3S,松开BT0按钮;
3. 在SSH界面输入 ‘lsusb‘ 你应该能看到 DFU 设备出现;
4. ‘cd klipper ’进入klipper目录
5. ‘make menuconfig’ 进行固件配置,如下图:
6. make flash FLASH_DEVICE=0483:df11 进行编译并烧录;
7. 当看到successfully字样的时候表示烧录成功。

### 3.2 Config

We put the Klipper configuration file in github, you need to get the DEVICE ID by "ls /dev/serial/by-id", then replace the id in the config file.

On Catalyst and Bull Ant motherboards, the USB path is used by default for connection, and an ID is no longer required. In theory, it can be used after updating the firmware and restarting.

我们将Klipper的配置文件放在github中,需要通过“ls /dev/serial/by-id”获取DEVICE ID,然后替换配置文件中的id。

在催化剂和公牛蚁主板上,默认使用USB路径来进行连接,不再需要ID。理论上,更新完固件,重启之后既可使用。





## Buy

[Taobao](https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-23828897339.22.229c1613tHAtLW&id=690431280049)

[Aliexpress](https://www.aliexpress.com/item/1005004880078163.html)

[Official website](https://www.fysetc.com/products/fysetc-sb-can-tool-board-based-on-stm32f072-support-klipper-with-tmc2209-axl345-acceleration-sensor-for-3d-printer-parts?variant=42187842519215)

## Contacts

QQ: 1041794121

Facebook grounp:https://www.facebook.com/groups/197476557529090

Discord:https://discord.gg/Fb6FdND4

email:[email protected]