MESA 5i23 7i44 7i49 7i37 8i20

More
10 May 2015 02:05 - 10 May 2015 02:07 #58524 by kenny
Hello.
A few days seeking at this forum and can not seem to find the answer.
I have my own CNC machine staffed cards MESA 5i23 7i44 7i49 7i37 8i20 and TG Drives.
This configuration I chose, therefore, to realize the potential of Mesa cards as servo drivers, more speed and accuracy.

My question is:
1) What do I use a bit of firmware file for 5i23 card in this configuration?
2) Where can I download this file as *.bit along with the *.xml for EMC2?

I found several different information: Use SVSS6_8.bit or use RMSVSS6_8.BIT but this is not working or not downloaded. :(

Thank you for your answers.
If my problem was already solved in another thread, I apologize. :)


Attachments:
Last edit: 10 May 2015 02:07 by kenny.

Please Log in or Create an account to join the conversation.

More
10 May 2015 02:57 #58526 by PCW
Replied by PCW on topic MESA 5i23 7i44 7i49 7i37 8i20
freeby.mesanet.com/rmsvss6_8.bit
should be correct.

7I49 on P2
7I37 on P3
7I44 on P4
The following user(s) said Thank You: kenny

Please Log in or Create an account to join the conversation.

More
10 May 2015 11:10 #58530 by kenny
Replied by kenny on topic MESA 5i23 7i44 7i49 7i37 8i20
Thank you for your reply.

"rmsvss6_8.bit" is downloaded OK.
:)

But, where can I download file rmsvss6_8.xml ?
I need the file to configure an EMC via pncconf.
:(

Please Log in or Create an account to join the conversation.

More
10 May 2015 21:46 #58535 by PCW
Replied by PCW on topic MESA 5i23 7i44 7i49 7i37 8i20
You could try the xml file that mesaflash generates:

sudo mesaflash --device 5i23 --program rmsvss6_8.bit
sudo mesaflash --device 5i23 --readhmid --xml > rmsvss6_8.xml

(This may require updating mesaflash to the latest)
The following user(s) said Thank You: kenny

Please Log in or Create an account to join the conversation.

More
10 May 2015 22:01 #58536 by kenny
Replied by kenny on topic MESA 5i23 7i44 7i49 7i37 8i20
Thank you, I am still gathering experience.

Please Log in or Create an account to join the conversation.

More
11 May 2015 04:08 #58546 by andypugh
I have a very similar setup on my milling machine. I have a 7i64 on the 7i44 for GPI rather than the 7i37, but the rest is much the same.

I don't know how far you will get with pncconf, I don't know how good it is with the bldc component and resolvers.

Here is my HAL file to give some guidance.
loadrt trivkins

loadrt motmod servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES

loadrt hostmot2
loadrt hm2_pci config=[HOSTMOT2]CONFIG 

loadrt bldc cfg=[HAL]BLDC
loadrt pid num_chan=4
loadrt sum2 count=1
loadrt logic names=estop-sw personality=0x103
loadrt oneshot
loadrt near count=1
loadrt and2 count=1
loadrt or2 count=1
setp hm2_5i23.0.watchdog.timeout_ns 10000000

addf hm2_5i23.0.read                        servo-thread
addf motion-command-handler                 servo-thread
addf motion-controller                      servo-thread
addf pid.0.do-pid-calcs                     servo-thread
addf pid.1.do-pid-calcs                     servo-thread
addf pid.2.do-pid-calcs                     servo-thread
addf pid.3.do-pid-calcs                     servo-thread

addf bldc.0                                 servo-thread
addf bldc.1                                 servo-thread
addf bldc.2                                 servo-thread
addf bldc.3                                 servo-thread

addf sum2.0                                 servo-thread
addf and2.0				    servo-thread
addf or2.0				    servo-thread
addf estop-sw                               servo-thread
addf oneshot.0                              servo-thread
addf near.0                                 servo-thread

addf hm2_5i23.0.write                       servo-thread
addf hm2_5i23.0.pet_watchdog                servo-thread

show pin
# +++++++X Axis+++++++++
net res-x-cnts hm2_5i23.0.resolver.01.rawcounts => bldc.0.rawcounts
net x-index hm2_5i23.0.resolver.01.index-enable <=> joint.0.index-enable
net x-home-lim hm2_5i23.0.7i64.0.0.input-14-not => joint.0.pos-lim-sw-in joint.0.neg-lim-sw-in joint.0.home-sw-in

net x-meas-angle bldc.0.rotor-angle => hm2_5i23.0.8i20.0.2.angle
setp hm2_5i23.0.8i20.0.2.current-maxlim 7.5
setp hm2_5i23.0.8i20.0.2.current-minlim -7.5
net x-cmd  joint.0.motor-pos-cmd => pid.0.command
net x-vel-cmd joint.0.vel-cmd => pid.0.command-deriv 
net x-fb hm2_5i23.0.resolver.01.position pid.0.feedback joint.0.motor-pos-fb
net x-vel-fb hm2_5i23.0.resolver.01.velocity pid.0.feedback-deriv
setp hm2_5i23.0.resolver.01.velocity-scale -1
net x-pid pid.0.output => hm2_5i23.0.8i20.0.2.current

#12 motor 49 pulley 5 leadscrew pitch
setp hm2_5i23.0.resolver.01.scale -1.2244898

net amp-enable pid.0.enable
setp pid.0.Pgain [JOINT_0]PGAIN
setp pid.0.Igain [JOINT_0]IGAIN
setp pid.0.Dgain [JOINT_0]DGAIN
setp pid.0.bias [JOINT_0]BIAS
setp pid.0.FF0 [JOINT_0]FF0
setp pid.0.FF1 [JOINT_0]FF1
setp pid.0.FF2 [JOINT_0]FF2
setp pid.0.deadband [JOINT_0]DEADBAND
setp pid.0.maxoutput [JOINT_0]MAXOUTPUT

setp bldc.0.scale -16777216
setp bldc.0.poles 6
setp bldc.0.lead-angle 0
setp bldc.0.encoder-offset -950000

# +++++++Y Axis+++++++++
net res-y-cnts hm2_5i23.0.resolver.02.rawcounts => bldc.1.rawcounts
net y-index hm2_5i23.0.resolver.02.index-enable <=> joint.1.index-enable
net y-home-lim hm2_5i23.0.7i64.0.0.input-12-not => joint.1.pos-lim-sw-in joint.1.neg-lim-sw-in joint.1.home-sw-in
net y-meas-angle bldc.1.rotor-angle => hm2_5i23.0.8i20.0.1.angle
setp hm2_5i23.0.8i20.0.1.current-maxlim 7.5
setp hm2_5i23.0.8i20.0.1.current-minlim -7.5
net y-cmd  joint.1.motor-pos-cmd => pid.1.command
net y-vel-cmd joint.1.vel-cmd => pid.1.command-deriv
net y-fb hm2_5i23.0.resolver.02.position joint.1.motor-pos-fb pid.1.feedback
net y-vel hm2_5i23.0.resolver.02.velocity pid.1.feedback-deriv
setp hm2_5i23.0.resolver.02.velocity-scale -1
net y-pid pid.1.output => hm2_5i23.0.8i20.0.1.current

#12T motor 48T pulley 5.08mm pitch
setp hm2_5i23.0.resolver.02.scale -1.27


net amp-enable pid.1.enable
setp pid.1.Pgain [JOINT_1]PGAIN
setp pid.1.Igain [JOINT_1]IGAIN
setp pid.1.Dgain [JOINT_1]DGAIN
setp pid.1.bias [JOINT_1]BIAS
setp pid.1.deadband [JOINT_1]DEADBAND
setp pid.1.maxoutput [JOINT_1]MAXOUTPUT
setp pid.1.FF0 [JOINT_1]FF0
setp pid.1.FF1 [JOINT_1]FF1
setp pid.1.FF2 [JOINT_1]FF2

setp bldc.1.scale -16777216
setp bldc.1.poles 6
setp bldc.1.lead-angle 0
setp bldc.1.encoder-offset -950000
setp bldc.1.rev 0

# +++++++Z Axis+++++++++
net res-z-cnts hm2_5i23.0.resolver.00.rawcounts => bldc.2.rawcounts
net z-index hm2_5i23.0.resolver.00.index-enable <=> joint.2.index-enable
net z-home-lim hm2_5i23.0.7i64.0.0.input-13 => joint.2.pos-lim-sw-in joint.2.neg-lim-sw-in joint.2.home-sw-in

net z-meas-angle bldc.2.rotor-angle => hm2_5i23.0.8i20.0.3.angle
setp hm2_5i23.0.8i20.0.3.current-maxlim 7.5
setp hm2_5i23.0.8i20.0.3.current-minlim -7.5
net z-cmd  joint.2.motor-pos-cmd => pid.2.command
net z-vel-cmd joint.2.vel-cmd => pid.2.command-deriv
net z-fb hm2_5i23.0.resolver.00.position joint.2.motor-pos-fb pid.2.feedback
net z-vel hm2_5i23.0.resolver.00.velocity pid.2.feedback-deriv
net z-pid pid.2.output => hm2_5i23.0.8i20.0.3.current

#12T motor 40T nut, 5tpi
setp hm2_5i23.0.resolver.00.scale 1.5

net amp-enable pid.2.enable
setp pid.2.Pgain [JOINT_2]PGAIN
setp pid.2.Igain [JOINT_2]IGAIN
setp pid.2.Dgain [JOINT_2]DGAIN
setp pid.2.bias [JOINT_2]BIAS
setp pid.2.deadband [JOINT_2]DEADBAND
setp pid.2.maxoutput [JOINT_2]MAXOUTPUT
setp pid.2.FF0 [JOINT_2]FF0
setp pid.2.FF1 [JOINT_2]FF1
setp pid.2.FF2 [JOINT_2]FF2

setp bldc.2.scale -16777216
setp bldc.2.poles 6
setp bldc.2.encoder-offset -1600000

#E-Stop and machine-on
setp oneshot.0.falling 1
setp oneshot.0.rising 0
setp oneshot.0.retriggerable 1
setp oneshot.0.width 10 #10 second delay before machine can be on after off.
net estop-sw0 estop-sw.in-00 hm2_5i23.0.7i64.0.0.input-06-not
net estop-sw1 estop-sw.in-01 hm2_5i23.0.7i64.0.0.input-07-not
net estop-sw2 estop-sw.in-02 <= oneshot.0.out-not
net estop-loop estop-sw.and => iocontrol.0.emc-enable-in 
net amp-enable joint.0.amp-enable-out oneshot.0.in
#Servo Power (08) 8i20-enable 12
net amp-enable hm2_5i23.0.7i64.0.0.output-08 hm2_5i23.0.7i64.0.0.output-12

# create signals for tool loading loopback
loadusr -W hal_manualtoolchange
net tool-prep-loop iocontrol.0.tool-prepare => iocontrol.0.tool-prepared 
net tool-change-req iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-change-out hal_manualtoolchange.changed => iocontrol.0.tool-changed
net start hal_manualtoolchange.change_button
net tool-num hal_manualtoolchange.number <= iocontrol.0.tool-prep-number

net dummy motion.spindle-brake

#Coolant pump
net coolant-pump hm2_5i23.0.7i64.0.0.output-06 <= iocontrol.0.coolant-flood 

#unlinkp hm2_5i23.0.8i20.0.3.current
#loadrt mux4
#addf mux4.0 servo-thread
#net p1 hm2_5i23.0.7i64.0.0.input-01 mux4.0.sel0
#net p2 hm2_5i23.0.7i64.0.0.input-02 mux4.0.sel1
#net c1 mux4.0.in1
#net c2 mux4.0.in2
#sets c1 0.5
#sets c2 -0.5
#net c hm2_5i23.0.8i20.0.3.current mux4.0.out

#probe
net probe hm2_5i23.0.7i64.0.0.input-16-not motion.probe-input


#loadusr halmeter -s pin lincurve.0.in
#loadusr halmeter -s pin lincurve.0.out
#loadusr halmeter -s pin hm2_5i23.0.resolver.03.velocity
#loadusr halmeter -s pin hm2_5i23.0.pwmgen.00.value

setp motion.jog-while-paused-enable 1
The following user(s) said Thank You: kenny

Please Log in or Create an account to join the conversation.

More
26 May 2015 02:10 #59027 by kenny
Replied by kenny on topic MESA 5i23 7i44 7i49 7i37 8i20
I have mesaflash 3.1 but does not have option --xml outputs.
What version has --xml option ?
In distribution downloaded via linuxcnc.org is only mesaflash ver. 3.0.0
Actually, via Debian Update Manager, I have only ver 3.1, but unfortunatelly --xml options is still not included...

How I can newer version mesaflash loaded to debian?

thank you for your reply

Please Log in or Create an account to join the conversation.

More
26 May 2015 06:09 #59043 by andypugh
Even with an XML file I suspect that pncconf will struggle with your configuration.

I have just realised that the HAL file I posted earlier was for a Joints_axes version of LinuxCNC (where the motors and the axes are treated as separate things) and that that HAL file probably won't work very well with a normal installation.

I think that your best bet is to start with my configuration then make it work for your hardware. This might take a bit of time, as there are some questions such as where the resolver zero-point is compared to the motor zero-point that are not trivial to work out.

Remind me tomorrow and I will get the complete config from the machine. It might even just work for you :-)
The following user(s) said Thank You: kenny

Please Log in or Create an account to join the conversation.

More
27 May 2015 12:40 #59099 by kenny
Replied by kenny on topic MESA 5i23 7i44 7i49 7i37 8i20
Little reminder ... ;)

Please Log in or Create an account to join the conversation.

More
28 May 2015 00:18 #59117 by andypugh

Little reminder ... ;)


I was at work when the reminder came in.

See attached. I don't know if it will actually work as I don't have a LinuxCNC 2.6 system with a 5i23 to test it on.

It uses the Touchy GUI, so the chances are that you won't be able to do anything without sorting out the connections in touchy.hal.

The bits that you will need to change to work with your particualar hardware are highlighted in green for HAL changes and pink for those that need to be changed in the INI below. (for each axis)

# +++++++X Axis+++++++++
net res-x-cnts hm2_5i23.0.resolver.01.rawcounts => bldc.0.rawcounts
net x-index hm2_5i23.0.resolver.01.index-enable <=> axis.0.index-enable
net x-home-lim hm2_5i23.0.7i64.0.0.input-14-not => axis.0.pos-lim-sw-in axis.0.neg-lim-sw-in axis.0.home-sw-in

net x-meas-angle bldc.0.rotor-angle => hm2_5i23.0.8i20.0.2.angle
setp hm2_5i23.0.8i20.0.2.current-maxlim 7.5
setp hm2_5i23.0.8i20.0.2.current-minlim -7.5

net x-cmd axis.0.motor-pos-cmd => pid.0.command
net x-vel-cmd axis.0.joint-vel-cmd => pid.0.command-deriv
net x-fb hm2_5i23.0.resolver.01.position pid.0.feedback axis.0.motor-pos-fb
net x-vel-fb hm2_5i23.0.resolver.01.velocity pid.0.feedback-deriv
setp hm2_5i23.0.resolver.01.velocity-scale -1
net x-pid pid.0.output => hm2_5i23.0.8i20.0.2.current

#12 motor 49 pulley 5 leadscrew pitch
setp hm2_5i23.0.resolver.01.scale -1.2244898

net amp-enable pid.0.enable
setp pid.0.Pgain [AXIS_0]PGAIN
setp pid.0.Igain [AXIS_0]IGAIN
setp pid.0.Dgain [AXIS_0]DGAIN
setp pid.0.bias [AXIS_0]BIAS
setp pid.0.FF0 [AXIS_0]FF0
setp pid.0.FF1 [AXIS_0]FF1
setp pid.0.FF2 [AXIS_0]FF2
setp pid.0.deadband [AXIS_0]DEADBAND
setp pid.0.maxoutput [AXIS_0]MAXOUTPUT


setp bldc.0.scale -16777216
setp bldc.0.poles 6

setp bldc.0.lead-angle 0
setp bldc.0.encoder-offset -950000
The following user(s) said Thank You: kenny

Please Log in or Create an account to join the conversation.

Moderators: PCWjmelson
Time to create page: 0.226 seconds
Powered by Kunena Forum