bigtreetech / BIGTREETECH-S42B-V1.0

The closed-loop drive is to feedback the rotation angle of the stepping motor to the control panel, compare the distance that needs to be rotated with the distance of the actual rotation, calculate the error value, and then compensate, so as to prevent the problem of multi-step and lost step. The closed-loop drive can completely overcome the lost step of the open-loop stepping motor, and can also significantly improve the performance of the motor at high speed
109 stars 53 forks source link

Calibration Runs / Motors Won't Move #24

Open MetalBeard72 opened 3 years ago

MetalBeard72 commented 3 years ago

I am using the Kit... Should have just bought it already assembled. I would return it and exchange if it weren't shipping from China. (delay).

I have read through the other threads: 1-Changed spacing of board to magnet both ways 2-Changed Marlin: a- #defineMINIMUM_STEPPER_PULSE 7 b- #defineMAXIMUM_STEPPER_RATE 150000 c- commented out x and y driver designations 3-Stripped everything down to just one motor and a bare SKR V1.4 Turbo at 12v 4-Calibration runs successfully 5-Switch pot 4 on dipswitch to off 6-Motor does not turn in open or closed loop modes a-Vibrates but does not move b-Red light comes on with "Err: 035.99"

I'm not sure what else to try. How sensitive is it to the magnet being perfectly center? If it is super sensitive, how do you get it centered perfectly? I have superglue all over my fingers and a big frowny face.

Quas7 commented 3 years ago

normally, constant red light means too close or too far away from the magnet. Also, if the magnet is deep inside a cavity for some NEMA17 motors, it gets issues. Can you post a sideview photo of your assembly?

What sound strange to me is that you have no movment at all even in open-loop (dip-switch 3). Just because the board would not care for anything magnet related. Are you sure, the motor is wired correctly with its phases (some motors have cross-over phases like A1 B1 A2 B2 instead of A1 A2 B1 B2 on the S42B)? Is the motor moving constantly with 1.8deg per step during calibration or does jump sometimes or move a bit less? It sounds not always the same during calibration, if it is not wired up correctly.

MetalBeard72 commented 3 years ago

20201021_160604 20201021_160744 I will try a spacer under the magnet. As far the wiring. Pretty standard stuff. These have been running on a printer with an SKR v1.4 Turbo and TMC2209 drivers for some time. I will double check though. Movement during calibration looks pretty consistent.

MetalBeard72 commented 3 years ago

It was wiring. I put a spacer on the magnet as well. Motor moves in open loop. Calibration runs vey smooth. But still get same error in closed loop. Magnet pokes about 1mm out of hole. Added another spacer washer.

Quas7 commented 3 years ago

In my experience the centering of the magnet is less important than the flatness or parallelism to the encoder chip (no runout of the airgap). If you run in open-loop, do you see any wobbling of the magnet in Z (airgap) or XY (top view on magnet). You can take the board off for checking that, I think.

MetalBeard72 commented 3 years ago

Looks level. I re-did the magnets justvto make sure. Is there a US source yet? I teallyvwant to return these and just get the assembled version. What motors are recommended?

MetalBeard72 commented 3 years ago

20201023_080331 looks a little off. I have fiddled with this for 5 days. Getting the magnet level and centered seems beyond my capabilities. Regardless. It still only returns a 35.99 error.

Quas7 commented 3 years ago

And you did try already 4mm or higher as distance with more spacers as this looks like only 2 to 3mm? If you need more spacers, I personaly only use one diagonal for mounting (2 screws) instead of overconstraining with 4 mounting screws. Also, opening 4 screws of the nema17 at once theoretically can increase tolerances, e.g. step error.

MetalBeard72 commented 3 years ago

20201023_173952.jpg I added more space, changed the screws to just 2 corners. No luck.

Quas7 commented 3 years ago

That is really strange. Last try would be using a different motor. But it is a 1.8deg motor, right?

MetalBeard72 commented 3 years ago

Yes. https://images.app.goo.gl/9hRqTCS8wh2aHETv8

MetalBeard72 commented 3 years ago

I even tried one more spacer.

MetalBeard72 commented 3 years ago

Are there any US retailers yet?

swanepoeljan commented 3 years ago

A quote from the Nano Zero Stepper manual:

"The magnet will be glued to the back of the stepper motor on the shaft, it is recommended for the maximum accuracy that a nylon washer be glued between the stepper motor and magnet. The nylon washer between the motor shaft and the magnet reduces the magnetic loss through the motor shaft, thus increasing the magnetic field for the encoder to read. The magnet shipped with the NZS is a “strong” magnet and will work without using the nylon washer between motor and magnet but the increased magnetic field with nylon washer is better for encoder."

Maybe it's also something to try...

Edit: Ah see you have already tried a spacer, was it metal or some type of plastic?

Quas7 commented 3 years ago

hehe, exactly. I have 2x nylon washers as magnet spacers. I also tried using a second magnet from another set but that was the worst perfromance ever as it short circuits the magnet (needed to be almost touching to get calibration)

MetalBeard72 commented 3 years ago

I asked for an exchange

MetalBeard72 commented 3 years ago

I switched to another motor and it works. Quas7 suggested a magnet test in Issue19. Worked for me. I managed to fry one of my boards though. It no longer powers up.

tiagomaricate commented 3 years ago

I'm having the same problem. So basically is related to the distance from the magnet? I also had to switch the order of the wires. ON motor is A-B-C-D and on the board is B-A-D-C.

Quas7 commented 3 years ago

@tiagomaricate it can be the magnet distance to the board IC (2-4mm) or the magnetic surrounding of the magnet (ferromagnetic bearing right next to the shaft backside). It might help to add non-magnetic (plastic) spacers below the magnet but it has to stay somewhat centered and level! See also #19. Note, that AB CD and BA DC is the same - no need to change anything besides maybe the rotation direction in the S42B menu. What you might have got is a cross-wired motor with AC BD (Board AB CD) that would rotate erratic with no constant movement and uneven torque in open-loop or during calibration.

tiagomaricate commented 3 years ago

@tiagomaricate it can be the magnet distance to the board IC (2-4mm) or the magnetic surrounding of the magnet (ferromagnetic bearing right next to the shaft backside). It might help to add non-magnetic (plastic) spacers below the magnet but it has to stay somewhat centered and level! See also #19. Note, that AB CD and BA DC is the same - no need to change anything besides maybe the rotation direction in the S42B menu. What you might have got is a cross-wired motor with AC BD (Board AB CD) that would rotate erratically with no constant movement and uneven torque in open-loop or during calibration.

Got it! I will remount the magnet and recheck the distance. I back with the results.

tiagomaricate commented 3 years ago

@tiagomaricate it can be the magnet distance to the board IC (2-4mm) or the magnetic surrounding of the magnet (ferromagnetic bearing right next to the shaft backside). It might help to add non-magnetic (plastic) spacers below the magnet but it has to stay somewhat centered and level! See also #19. Note, that AB CD and BA DC is the same - no need to change anything besides maybe the rotation direction in the S42B menu. What you might have got is a cross-wired motor with AC BD (Board AB CD) that would rotate erratic with no constant movement and uneven torque in open-loop or during calibration.

I just replace the magnet now closer to the sensor. Tested trying to rotate the axis through the TFT screen. The motor just rotates once and a little step. After that, it becomes unresponsible.

Brian-Zombait commented 3 years ago

I'm having the same problem. So basically is related to the distance from the magnet? I also had to switch the order of the wires. ON motor is A-B-C-D and on the board is B-A-D-C.

Okay, so the board motor pinout is (AB) (CD). Now, I just have to do an ohm check on my motors. Been trying to get this working, too, with similar issues.

Machine is an Anycubic Mega S. Have updated firmware and set stepper maximum speed to 150,000, and stepper minimum pulse to 3.

Stepper moves on one direction in a stutter step throughout the calibration process. It juggled in place before the above mentioned firmware changes.

Trying to move it using the onboard axis controls causes the red LED to come on and the motor to lock in place. This was true before and after the firmware changes.

Hoping to find that the harness isn't wired for my motor as that would be a very simple fix.

tiagomaricate commented 3 years ago

I'm having the same problem. So basically is related to the distance from the magnet? I also had to switch the order of the wires. ON motor is A-B-C-D and on the board is B-A-D-C.

Okay, so the board motor pinout is (AB) (CD). Now, I just have to do an ohm check on my motors. Been trying to get this working, too, with similar issues.

Machine is an Anycubic Mega S. Have updated firmware and set stepper maximum speed to 150,000, and stepper minimum pulse to 3.

Stepper moves on one direction in a stutter step throughout the calibration process. It juggled in place before the above mentioned firmware changes.

Trying to move it using the onboard axis controls causes the red LED to come on and the motor to lock in place. This was true before and after the firmware changes.

Hoping to find that the harness isn't wired for my motor as that would be a very simple fix.

Well, I tested with another motor and the wire order worked with ABCD -> ACBD. Basically inverting the two wires on the middle. The first motor had metal cover. The second, plastic. Not sure if this is related. I’m replacing the motors for a new one of the same model worked.

dzid26 commented 3 years ago

My magnet is 0.3mm from the sensor and it seems to work fine. I also tried 1.7mm and 2.3mm and seemed the same.

The key is to arrange phases as BTT "intended":

If calibration does "uneven" steps, swap wires 1&3. If calibration seems to step rotate OK, but close loop doesn't work after restart, change rotation direction by swappping 1&2 or change DirPin direction in the menu.

jlmxyz commented 3 years ago

Hi, I've the same problem here what I've done

  1. dip switch are all on, using LCD I do the calibration, the slider move 1cm forward then 1cm backward
  2. power off, switch all dip on, then change dip switch 1 to off, send 1cm move order => 1 step is done then leds go green+red constant
  3. power off, switch all dip on, then change dip 1 and 2 off, power on, send 1cm move => same
  4. power off, switch all dip on, then dip 4 off, power on, send 1cm move => same
  5. power off, switch all dip on, then dip 3&4 off, power on, send 1cm move => slider move 1.5cm (but move...)

the magnet is attached to the shaft using a nylon spacer. distance between the magnet and the sensor, about 1.6mm, tried with shorter distance, same...

jlmxyz commented 3 years ago

I managed to make it work somehow...

My magnet is 0.3mm from the sensor and it seems to work fine. I also tried 1.7mm and 2.3mm and seemed the same.

The key is to arrange phases as BTT "intended":

If calibration does "uneven" steps, swap wires 1&3. If calibration seems to step rotate OK, but close loop doesn't work after restart, change rotation direction by swappping 1&2 or change DirPin direction in the menu.

I managed to make it works somehow.....

  1. I had to swap 1&2 motor wire
  2. put all dip on
  3. redo calibration
  4. reset et power off
  5. move dip4 to off
  6. power on

it's working somehow..... I make a move 10cm, it begins to move with an awful noise then suddenly stop and make an really really awful noise, as if the motor was stuck by something.... it made me so worry that I jumped on power plug to switch off.... I redone the same test with the dip3 off (no closed loop) everything runs smoothly and quietly... O_o...

marshr32 commented 2 years ago

I've been having similar issues with my kit. For me the DIP switches are the right way around, so 4 is calibrate and 3 is closed loop. 4 being the one at the top, closest to the OLED connector. There is a note in the manual that DIP switches 1+2 must be set to the same microstep amount as what is set on the screen.

When I first plugged it in as supplied and got the cal to run, it made a clunk clunk, pause, clunk clunk kinda sound and the motor was only turning in one direction. Despite this it still said the cal was successful. The fix for this was to swap the 2 middle wires at the motor end of the board to motor harness so that the drivers were actually connected to the coils properly. Check the pinout of your motor. The output on the S42B is A+ A- B+ B- but some motors are A+ B+ A- B- on the connector, and it seems that the supplied wiring is suited for this.

Ok so now it moves properly during cal but even after putting DIP4 off will only run in open loop mode. Closed loop (DIP 3) causes the error to go straight to 35.9 and the red light flashes. Still rubbish. This is a pic of the wiring at that stage. 20211025_173926

Enter an Amazon review that suggested swapping all wires, HOLY CRAP IT WORKS! So now my wiring is "1:1" as per the pic where you can see the top red wire from the board going to the top of the motor connector. 20211025_180648

What I think is happening is that the controller expects the motor to go one way, but it physically goes the other, causing an instant massive error when the controller tries to correct.

Hope this helps someone who's been pulling their hair out all day like I have.

marshr32 commented 2 years ago

So @MetalBeard72 from your wiring pic at the top, try swapping positions of the red and black wires only. If you even still give a shit that is!

dzid26 commented 2 years ago

Yes. Some motors are wired differently, and the firmware doesn't have implemented the wiring recognition.

Yeah, people should try swapping two wires at a time.

vb8080 commented 1 year ago

b-Red light comes on with "Err: 035.99"

For me it helped that i adjusted the "Motor mA" value!

marshr32 commented 1 year ago

How sensitive is it to the magnet being perfectly center?

Since this thread got bumped again I thought I'd add something else I found out. The magnet doesn't have to be perfectly centred for the system to work, however for me, moving it around a little has massively improved how smooth the motor operates.

I didn't glue the magnet, just dropped on in the end of the shaft so it stuck itself. So I can just poke it with a plastic screwdriver to move it.

Also, you can loosen the screws on the board slightly and move the board to center with the motor running, which also helps with smoothness and noise.

Happy playing!