Hello Guest it is April 19, 2024, 06:01:41 PM

Author Topic: AASD Spindle Servo Upgrade – ESS/MB3 Mach4 – PM833TV – Rigid Tapping – SS Motor  (Read 107 times)

0 Members and 1 Guest are viewing this topic.

These instructions are for my setup which; if you are like me wanted a CNC then had to learn how to build one.  Hope this helps someone.

The Mill is a PM833TV which has been converted to CNC - The machine doesn't matter but this is what I am working with.
https://www.precisionmatthews.com/shop/pm-833tv-ultra-precision-milling-machine/

I use an MB3/ESS combination
https://cncroom.com/en/product/ess-mb3/

And for Servos the cheap generic ones available on eBay or AliExpress
https://www.ebay.com/itm/392911210777?var=661819044574

AASD 30 1.8Kw 3000rpm 6Nm Nema42 Servo is what I have – It will fit on the existing motor mount but you will have to drill and tap new holes for the mounting screws for the motor since they don’t line up with stock ones.

I got a new 5M 60T pulley for the servo so the spindle spins 1:1 and a matching 20mm, 5M-620mm belt
https://www.aliexpress.com/item/1005003661659624.html?spm=a2g0o.order_list.order_list_main.16.2e431802knRtHM
https://www.aliexpress.com/item/1005004218515558.html?spm=a2g0o.order_list.order_list_main.5.2e431802knRtHM

Also a 300W 200ohm Breaking Resistor:
https://www.aliexpress.com/item/32846478258.html?spm=a2g0o.order_list.order_list_main.40.2e431802knRtHM

The hardest part of this is getting the servo encoder to talk to the ESS/MB3 and all the settings that have to be input to make it work right.  Modifications to the MB3 board are required.  The encoder from The AASD servo controller outputs 5V so some soldering is needed so that the ESS/MB3 can see the pulses from the ASSD Servo.

Page 33 – This must be done or the MB3 won’t see the encoder pulses.  YES You have to do this.
https://cncroom.com/wp-content/uploads/downloads/MB3-Owner-Manual-E20R2.pdf

Close the solder-bridge for each input (X310/X311/X312/X313/X315) I use this group because the optocouplers on these inputs are fast compared to the others. (not all encoder outputs are used but I hooked them up anyway, I had the room YMMV). (I did all 5 to keep things simple but you can get away with soldering just 2 MB3 pins for A and B encoder signals just follow the manual to isolate the other 3)

Power these 5 ports with 5V! do not use 24V for this bank anymore.
Add a Jumper wire from CM.D to 5V – Very important!

Once that is done the wiring is simple Hook the wires from the AASD servo to the MB3 pins
MB3 > ASSD
X311   > P20      PA+   A Encoder signal output         
0V   > P19      PA-               
x312   > P18      PB+   B Encoder signal output         
0V   > P17      PB-            
X313   > P15      PZ+   Z Encoder signal output         
0V   > P16      PZ                  
Y310   > P22      OZ   Spindle Index signal output
0V   > P1              GND            

That’s it for the encoder now to make the servo work. Now wire the servo to the 6th motor axis (C) as a step and direction motor on the MB3.  It has to be Motor C since this is the channel that the MB3 will be considering the spindle with the settings made later.

MB3 > ASSD
CS+   > P3      PP+ STEP   
CS-   > P14   PP- STEP   
CD-   > P4      PD+ DIR   
CD+   > P5      PD- DIR

2 more wires are need for my setup
Y101   > P6      SigIN1: SRV-ON   - The signal that will turn the servo on - this can be done in the servo settings saving a pin on the MB3
X206   > P11   SigOUT1: Servo ready.

This wiring setup works for me   and is what I put together from reading tons of web articles.
Some parameters are required to be set in the servo drive.  The manual is challenging to understand but these are the only ones that I had to change.  A similar set up is used for all 3 Axis servos except the parts dealing with the encoders  and enabling the drive.

The encoder feedback 2500p/r,15 line increment model, differential output has been geared down to 100.            
Spindle Servo Parameters see the manual for how to change.
            
PN001   15   (the actual motor number 110st_m06030 – Yours may be different)         
PN002   2            
PN003   0   (Servo Enabled Y101 - P6 - Set to 1 to save a pin on the MB3.  Servo will always be on, wont rotate freely)      
PN005   5            
PN006   3

These setting change the pulse output of the encoder, so it does not overwhelm the ESS.  The encoder pulses at 2500 this will scale it down to 100 pulses per revolution.   
         
PN016   25   
PN017   4   
PN018   1

That takes care of the wiring and the servo drive now to configure the MB3/ESS.  We need to tell Mach4 that we have a new spindle and we hook it up as an SS Motor.

https://warp9td.com/index.php/gettingstarted/setting-up-the-smoothstepper-and-mach4#EssSpindle


In SS Motor Mode you will be able to make your spindle run as Step/Dir. SS Motor will automatically use MOTOR 5 for the spindle. You must assign motor tuning values to Motor 5 in the Mach Config, and then assign step and dir pins to motor 5 in the ESS Output Signals tab.  The SS Motor is preferred for Step/Dir mode compared to the Mach OB motor.

ESS plugin configuration.  My settings are:

SPINDLE TAB
SS Motor
Delay 0.010
Spindle Encoder A
Averaging 1.00
Yes to report spindle RPM
Prescaler 1
Effective PPR 100
Nothing changes in PID

PINS CONFIG
Port1 Pin1 – Active High – Spindle Enable (This can be set in the servo drive so the pin can be saved but you loose some safety I feel)
Step and direction pins are already set for the MB3
Port2 Pin 16 – Active low – CS (set to low so my spindle turns the right way)
Port 2 Pin 17 – Active High -  CD
These pins are for the encoders.
Port3 Pin 10 – X311 – Spindle Index
Port 3 Pin 11- X311 - PA+
Port 3 Pin 12- X312 - PB+
Port 3 Pin 13- X313 - PZ+

INPUT SIGNALS TAB
Encoder Spindle Phase A – X311
Encoder Spindle Phase B – X312
Spindle Index – X311 (you can use the signal from the servo index Pin22/Y310 or Phase Z but I didn’t)
Input11 – X206 (Any open input can be used but I used 11)

OUTPUT SIGNALS
Spindle ON – Enabled – Y101

Now to configure MACH4

GENERAL TAB
Enable – Feed hold stops spindle
Enable – Exiting Feed Hold Restores Spindle

MOTORS Tab
On Motor 5 my settings are
Counts Per Unit – 500
Velocity – 3000
Acceleration – 1000

AUX POSITIONS tab
Enable motor 5
Encoder – ESS/Encoders/ Encoder Spindle
(Do not enable motor 5 in AXIS MAPPING)

SPINDLE tab
On line 0
MAX RPM – 3000
Accel Time – 1
Decel Time – 1
Max Spindle Motor RPM – 3000
Spindle Override Delay – 25
Step/Dir – None
Enable – Enable Step/Dir spindle rigid tapping

That’s it, it should work. 

Then for fun I added this-
https://documentation.warp9td.com/Hardware/ESS/Software_Mach4/lua/luaEncoderInDegreesWithZero.htm

Thank you to everyone who added to the knowledge base so I could figure this out.  This is me trying to pay it forward.  Next project Rotary Axis A and a tool changer to supplement my power draw bar - what a great hobby.  Spend months and years building a machine and never make anything...lol.
« Last Edit: March 17, 2024, 07:07:15 PM by Steelbarz »

Offline Tweakie.CNC

*
  • *
  •  9,198 9,198
  • Super Kitty
    • View Profile
Excellent write-up, looks like you are well on your way to making chips now.  :D

Tweakie.
PEACE