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

Add Creality Ender 2 Pro config #633

Merged
merged 17 commits into from
Dec 21, 2021

Conversation

spuder
Copy link
Contributor

@spuder spuder commented Dec 15, 2021

Adds a configuration for the new Ender 2 Pro

Features

  • 165x165x180 mm bed
  • Single Z Axis
  • Based on the Creality Silent 4.2.3 board (at least thats what arrived in my unit).

Code

99% of the code was copied from config/examples/Creality/Ender-3 V2/CrealityV422/CrealityUI/Configuration.h
and config/examples/Creality/Ender-3 V2/CrealityV422/CrealityUI/Configuration_adv.h. Since that uses the very similar 4.2.2. mainboard and likely a similar (12864) screen.

Comparisons were also made against config/examples/Creality/Ender-2/Configuration.h

Current issues

  • Bed goes to max temperature on boot
  • Logo shows ender 3
  • Rotary encoder on LCD screen recognizes pushes, but not rotations
  • Change offset to -18, 2, 0 to match stock firmware
  • Use A4988 or TMC2208_STANDALONE drivers

@spuder
Copy link
Contributor Author

spuder commented Dec 15, 2021

Notes

Both Ender-3/CrealityV422/Configuration.h and Ender-3\ Pro/CrealityV422/Configuration.h have the A4988 stepper drivers

Where as Ender-3 V2/CrealityV422/MarlinUI/Configuration.h which also uses the 4.2.2 board uses TMC2208_STANDALONE drivers.

I suspect it doesn't matter which one is uesd. I'm going to use A4988 out of caution

# Ender-3/CrealityV422/Configuration.h
# Ender-3\ Pro/CrealityV422/Configuration.h

#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
# Ender-3 V2/CrealityV422/MarlinUI/Configuration.h

#define X_DRIVER_TYPE TMC2208_STANDALONE
#define Y_DRIVER_TYPE TMC2208_STANDALONE
#define Z_DRIVER_TYPE TMC2208_STANDALONE

@The-EG
Copy link
Contributor

The-EG commented Dec 15, 2021

I suspect it doesn't matter which one is uesd. I'm going to use A4988 out of caution

The defaults you noted are due to the fact that Ender 3 and Ender 3 Pro have been seen to ship with the 4.2.2 boards that have the A4988 while the Ender 3 v2 has the 'upgraded silent drivers,' ie. the 4.2.2 board with TMC2208s.

For your case, you'd know the difference between A4988 and TMC22xx already just based on the sound of the steppers.

And for reference, you may be able to check the board. I'm not sure if 4.2.3 boards would have this or not, but 4.2.2 and 4.2.7 boards have a letter written in sharpie on the sdcard slot:

@spuder
Copy link
Contributor Author

spuder commented Dec 15, 2021

Thank you very much for the information. I've updated pictures and a video of the printer while running: here.

There are no sharpie marks on the board. This printer is quieter than my prusa (the only point of reference that I have) so I'm suspecting it may actually have TMC22** drivers.

@The-EG
Copy link
Contributor

The-EG commented Dec 15, 2021

video of the printer while running: here.

I think it's safe to assume you have the TMC22xx drivers. For reference, he's an Ender 3 Pro with A4988's: https://youtu.be/aj2nWV_3w20

@spuder spuder mentioned this pull request Dec 16, 2021
@spuder
Copy link
Contributor Author

spuder commented Dec 16, 2021

Additional Notes:

NO_SD_HOST_DRIVE

Printer Defined Board
Ender 2 -
Ender 3 v4.2.2
Ender 3 Pro v4.2.2
Ender 3 V2 v4.2.2-Creality
Ender 3 V2 v4.2.2-Marlin
Ender 3 Max -
Ender 5 -

LCD_INFO_MENU

Printer Defined Board
Ender 2 -
Ender 3 v4.2.2
Ender 3 Pro v4.2.2
Ender 3 V2 v4.2.2-Creality
Ender 3 V2 v4.2.2-Marlin
Ender 3 Max -

@spuder
Copy link
Contributor Author

spuder commented Dec 16, 2021

Output of M503

Recv: echo:  G21    ; Units in mm (mm)
Recv: echo:  M149 C ; Units in Celsius
Recv: 
Recv: echo:; Filament settings: Disabled
Recv: echo:  M200 S0 D1.75
Recv: echo:; Steps per unit:
Recv: echo: M92 X80.00 Y80.00 Z400.00 E92.60
Recv: echo:; Maximum feedrates (units/s):
Recv: echo:  M203 X300.00 Y300.00 Z5.00 E25.00
Recv: echo:; Maximum Acceleration (units/s2):
Recv: echo:  M201 X300.00 Y300.00 Z100.00 E1000.00
Recv: echo:; Acceleration (units/s2): P<print_accel> R<retract_accel> T<travel_accel>
Recv: echo:  M204 P300.00 R300.00 T600.00
Recv: echo:; Advanced: B<min_segment_time_us> S<min_feedrate> T<min_travel_feedrate> X<max_x_jerk> Y<max_y_jerk> Z<max_z_jerk> E<max_e_jerk>
Recv: echo:  M205 B20000.00 S0.00 T0.00 X6.00 Y6.00 Z0.40 E5.00
Recv: echo:; Home offset:
Recv: echo:  M206 X0.00 Y0.00 Z0.00
Recv: echo:; Material heatup parameters:
Recv: echo:  M145 S0 H200 B60 F255
Recv: echo:  M145 S1 H240 B70 F255
Recv: echo:; PID settings:
Recv: echo:  M301 P10.30 I0.53 D49.80
Recv: echo:  M304 P96.72 I16.17 D385.83
Recv: echo:; Power-Loss Recovery:
Recv: echo:  M413 S1
Recv: echo:; Filament load/unload lengths:
Recv: echo:  M603 L0.00 U100.00
Recv: echo:; 0:en 1:cn language change font:
Recv: echo:  M414 S0
Recv: ok
  • Steps per unit (M92 X80.00 Y80.00 Z400.00 E92.60) [ Default is 80,80,400,93 ]
  • Maximum Feedrate ( M203 X300.00 Y300.00 Z5.00 E25.00 )
  • Maximu Acceleration (M201 X300.00 Y300.00 Z100.00 E1000.00)
  • Acceleration (M204 P300.00 R300.00 T600.00)
  • Advanced BMin segment time ( B<min_segment_time_us> S<min_feedrate> T<min_travel_feedrate> X<max_x_jerk> Y<max_y_jerk> Z<max_z_jerk> E<max_e_jerk>
    Recv: echo: M205 B20000.00 S0.00 T0.00 X6.00 Y6.00 Z0.40 E5.00)
  • Home Offset (M206 X0.00 Y0.00 Z0.00)
  • Material heatup parameters:
    • M145 S0 H200 B60 F255
    • M145 S1 H240 B70 F255
  • PID Settings
    • M301 P10.30 I0.53 D49.80
    • M304 P96.72 I16.17 D385.83
  • Power-Loss Recovery ( M413 S1)
  • Filament load/unload lengths (M603 L0.00 U100.00)

@spuder
Copy link
Contributor Author

spuder commented Dec 16, 2021

The 4.2.3 board has a different pinout than the 4.2.2 board. PA2 and PA3 are mapped to different ports which likely explains why the roatery encoder doesn't work. Started pull request here: MarlinFirmware/Marlin#23307

image

4.2.3

PB6 PB2
PA2 PA3
PB14 PB13
PB12 PB15
GND 5v

@spuder
Copy link
Contributor Author

spuder commented Dec 16, 2021

I removed a heatsync to find that the chip is actually a MS35775
IMG_0924

https://www.alibaba.com/product-detail/Popular-MS35775-Stepper-Motor-Driver-with_1600328815113.html
Screen Shot 2021-12-15 at 11 34 59 PM

@sjasonsmith
Copy link
Contributor

I managed to find a full datasheet here:
https://www.kalixchips.com/_files/ugd/fcf19a_626b86ecc149487c9fcc319cb5cd5110.pdf

Is this a TMC2208 clone? At a glance it seems to be providing a similar feature set, but I didn't explore whether it is implementing the same register set and UART protocol.

@sjasonsmith
Copy link
Contributor

The main (maybe only?) difference between using A4988 or TMC2208_STANDALONE is the timing of stepper pulses. The datasheet shows 100ns as the minimum step pulse time, with matches a TMC2208.

Using TMC2208_STANDALONE is going to waste less time in the stepper ISR than A4988, so I would suggest using that.

image

@thinkyhead thinkyhead marked this pull request as ready for review December 19, 2021 01:59
@thinkyhead thinkyhead merged commit 0b40e59 into MarlinFirmware:import-2.0.x Dec 21, 2021
@spuder spuder deleted the ender2pro branch December 28, 2021 07:19
@bbqqqq
Copy link

bbqqqq commented May 9, 2022

hi spuder
why u deleted the ender2pro branch?
ihave a 4.2.3mainboard ender3 v2
i can't find any firmware ...

@ellensp
Copy link
Contributor

ellensp commented May 9, 2022

@bbqqqq It was merged into marlin
https://github.com/MarlinFirmware/Configurations/tree/release-2.0.9.3/config/examples/Creality/Ender-2%20Pro/CrealityV423
And a Ender 3v2 is NOT a Ender 2 pro. So it wont help you.

@bbqqqq
Copy link

bbqqqq commented May 9, 2022

@bbqqqq它被合并到 marlin https://github.com/MarlinFirmware/Configurations/tree/release-2.0.9.3/config/examples/Creality/Ender-2%20Pro/CrealityV423 并且 Ender 3v2 不是 Ender 2 pro。所以它不会帮助你。

thanks my friend , i think may be i can rebuild a firmware and make it fit for ender3 v2

@ChubbyBunny1
Copy link

Hello, which version of marlin do you use to compile with the Ender 2 pro configuration? Also are you using SD card to upload the bin file to the printer?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants