Getting orange pi 3 lts + klipper working with anycubic kobra 2 neo

It is impossible to set the sheet of paper correctly. The tables in K2N are uneven and manual correction cannot be made because they are fixed permanently. If I set the nozzle onto a piece of paper, moving the head in the middle of the table’s table hooks on pei.
The nozzle must be adjusted on the X and Y axes exactly in the stitch of the table height sensor and must these values somewhere saved permanently so that the Leviq 2.0 algorithm can compensate for these unevenness with its algorithms. The alignment also occurs when printing 1 layer and therefore it has a different thickness over the entire surface. These incorrect values can damage the nozzle and pei.
When performing Auto Level, the Leviq 2.0 algorithm. Calculates the compensation of the table unevenness, calculating them in relation to the position of the position value and its amount.
I got the first printer with unpopular sensors of the table height and the head distance from the table. For a month I was struggling with Annycubic techniques how to set the sensors and explained to me the action and before they changed the printer.
In order for the printer to work well, you must first solve the correct setting of the nozzle on the table height sensor and the place of correct recording in the configuration.

Sorry for my English.

Throughout the last posts there is one big misconception (both regarding Marlin and Klipper): The z-offset has nothing to do with a bed mesh

Determining z-offset

  • At an arbitrary point on the bed you define your z-offset with the help of the paper method
  • This can be done either with the help of the probe (in this case you define your z-endstop as virtual endstop) OR with this button (here the button would be your endstop pin)
  • The z-offset is determined as the difference between “triggering the endstop pin” and “nozzle touching the bed”
  • The z-offset is your basic Z=0 and determines your first layer. Typically, it may be fine tuned via babystepping

Bed mesh

  • To build the bed mesh typically the probe is used
  • The bed mesh is neither depending on nor correlating with the z-offset
  • During the printing process (or any movement for that matter) the z-value is corrected by the probed mesh points
  • Of course this correction is especially important on the first layer as it corrects the “paper tested snapshot” over the entire (uneven) bed surface

Neither Marlin nor Klipper has any magic means nor automatism to determine the z-offset. In both firmwares there are helper functions to facilitate this, but again both are very similar. In Klipper these functions are called MANUAL_PROBE, Z_ENDSTOP_CALIBRATE, PROBE_CALIBRATE, DELTA_CALIBRATE and depend on the approach and used hardware.

2 Likes

He has been trying to compile the clipper for 2 days.
What should be the correct configuration of the option?

Does anyone know what the pin info is for the missing filament runout sensor or the round button switch? I want to convert this machine to use a standard physical z-limit switch, as I’m finding the induction abl stop to have a great deal of variance:

I searched the Configuration.h and Configuration_adv.h of the stock fw, but didn’t find anything about the filament runout sensor pin yet.

However, looking at the pic of the mobo, it seems that there is a free 3pinned connector which is blue and at the backside it’s labeled as 3.3V/S/GND. I know the mobo (and the processor being used there) of the regular Neo isn’t the same, but there this exact connector is given as well and it’s being used for the photoelectric z endstop.
I’m actually wondering if here at the K2Neo this connector is connected to the processor as well - I’d assume it is and AC just didn’t bother to add an extra physical z limit switch. Means, it might be possible to add a limit switch here if we could find the belonging pin assignment.
At the Neo this pin is endstop_pin: ^PC14, and PC14 doesn’t seem to be used in the cfg of the K2Neo. Might be worth a try (again: yes, mobo and processor aren’t the same…) - but as I don’t have the K2Neo, I can’t test anything myself, so this is NOT a recommendation to do/try it as I don’t wanna be made responsible if anything breaks… :wink:

I’ll give it a shot. I also realized - theres no reason we shouldn’t be able to use the inbuilt round button switch once we know the pins. I just tested it with a multimeter, its a normally open switch.

Btw, any idea how the enable pins are defined? I have the following for my kobra2neo config, but I dont see a PA15 in the mcu output from klipper.

Constants
ADC_MAX
4095
BUS_PINS_i2c1
PB6,PB7
BUS_PINS_i2c1a
PB8,PB9
BUS_PINS_i2c2
PB10,PB11
BUS_PINS_spi1
PA6,PA7,PA5
BUS_PINS_spi1a
PB4,PB5,PB3
BUS_PINS_spi2
PB14,PB15,PB13
BUS_PINS_spi3
PB4,PB5,PB3
CLOCK_FREQ
72000000
INITIAL_PINS
!PC0
MCU
stm32f103xe


klipper:
#x stepper
[stepper_x]
step_pin: PA12
dir_pin: PA11
enable_pin: !PA15
endstop_pin: ^!PB11


#y stepper
[stepper_y]
step_pin: PA9
dir_pin: !PA8
enable_pin: !PA15
endstop_pin: ^!PC13

#z stepper
[stepper_z]
step_pin: PB0
dir_pin: !PB1
enable_pin: !PA15
endstop_pin: probe:z_virtual_endstop

#extruder config
[extruder]
step_pin: PB15
dir_pin: PB14
enable_pin: !PA15
heater_pin: PB8
sensor_type: ATC Semitec 104GT-2
sensor_pin: PC3
#hotbed
[heater_bed]
heater_pin: PB9
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC1

#inductive probe settings
[probe]
pin: PA1

[controller_fan controller_fan]
pin: PB12

[heater_fan extruder_fan]
pin: PB13

[fan]
pin: PB5
cycle_time: 0.00005 #20kHz

#This pin enables the bed, hotend, extruder fan, part fan.
[output_pin enable_pin]
pin: PB6
static_value: 1

I’ve tried a bunch of tests with the mcu listed pins but with no luck. I’m guessing the mcu output doesnt show all pin names?


[filament_switch_sensor RunoutSensorPB7]
switch_pin: ^PB7

[filament_switch_sensor PB10]
switch_pin: ^PB10

[filament_switch_sensor PA6]
switch_pin: ^PA6

[filament_switch_sensor PA7]
switch_pin: ^PA7

[filament_switch_sensor PA5]
switch_pin: ^PA5

[filament_switch_sensor PB4]
switch_pin: ^PB4

[filament_switch_sensor PB3]
switch_pin: ^PB3

Please format your code as preformatted text.

Format

This way it’s hard to read and can cause errors.

2 Likes

done! sorry about that.

Ok, i’ve figured out PA10 is the button, but cant get the filament sensor to trigger yet

1 Like

@Catnippr btw I figured it out looking at Kobra2_Neo/Marlin/src/pins/stm32f1/pins_AC_TRI_F1_V1.h at 496e6bcfe0bef7d885ddc30d41c333331dc5da61 · ANYCUBIC-3D/Kobra2_Neo · GitHub and then trying most of them. Not sure why I can’t get the filament sensor to trigger yet, thats theoretically PC15

This is working pretty well to use the button as the z-stop! :slight_smile:
[stepper_z]
step_pin: PB0
dir_pin: !PB1
enable_pin: !PA15
microsteps: 16
rotation_distance: 8
position_min: 0
position_max: 220
homing_speed: 2
second_homing_speed: 1
endstop_pin: ^PA0

#zhome probing. Probably dont change this
[safe_z_home]
home_xy_position: 56,238.5
speed: 250
z_hop: 10
z_hop_speed: 15

next I need to write a nozzle wipe macro

Ha, right, that file contains the pin assignments! Totally didn’t think about that one… :see_no_evil:
Hmm, that’s weird tho that you can’t get it to work :thinking:

You’re talking about the silver push button in the back which is the z-offset switch, right? Interesting solution :+1:

Have someone stumbled upon this weird issue with waves on the x/y axis? When i try to print something there is these artifacts on my prints:


I am experiencing this on several types of filaments but still, I can’t get rid of it fully. Any clues?

edit: it’s really not a ringing effect, trust me

Do you mean the extrusion inconsistency or the vertical waves?

The latter might result from either belt tension or motor resonances.
Try printing faster and check whether it becomes more prominent or less.

Yeah, it’s already a hardware z switch, just requires safe home to be set to use it.

Now by repeatedly doing a g28 z and then checking get_position for the mcu stepper_z output I can see it’s certainly losing z steps over time.

Now I’m just not sure what I can do about it, maybe I need to replace the stepper motor.

One q: your site says its using TMC2208 drivers but the marlin source says A4988?

Also do you know what the specifications are for the stepper motors? If I wanted to replace them or get a 0.9 degree stepper.

I’d check the z setup again and make sure everything moves smooth and w/o any binding or so.

Imho it’s unlikely that it’s the motor, it’s more likely that you may have to increase the Vref of the stepper driver a tiny bit, so I personally would do that before swapping motors.

Yes, I know about the A4988 in the source, but imho it’s pretty unlikely (and there’s other stuff set which is wrong as well, don’t remember exactly right now tho). Imho it’s more likely that they’re using the cheap GC6609 instead (which they used at newer mobo revisions at the Neo1 instead of genuine TMC2208 which they used in the beginning), which are somewhat clones of TMC2209, but until someone takes off a heatsink and checks, we don’t know for sure.

You can find the motor specs being listed at the site, you have an overview in the table at the very beginning of the chapter “Axes” (as in every hardware chapter).

What speed should i use to be exact?
I was printing the model above at my own orcaslicer profiles on quality preset, speed was around 70mm/s for outer walls

Try going above 100 mm/s for outer walls/perimeters just for testing and do not look onto the quality.

ok, but keep in mind that my draft preset uses 150mm/s for inner walls and infill and 120mm/s for outer walls and it has really impressiive quality.

When the draft preset looks fine all the better!
If the waves aren’t present their then it might be due to motor resonances.