MESA 5i23 7i44 7i49 7i37 8i20
- kenny
- Offline
- Senior Member
Less
More
- Posts: 56
- Thank you received: 0
10 May 2015 02:05 - 10 May 2015 02:07 #58524
by kenny
MESA 5i23 7i44 7i49 7i37 8i20 was created 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.
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.
Last edit: 10 May 2015 02:07 by kenny.
Please Log in or Create an account to join the conversation.
- PCW
- Away
- Moderator
Less
More
- Posts: 17899
- Thank you received: 4774
10 May 2015 02:57 #58526
by PCW
Replied by PCW on topic MESA 5i23 7i44 7i49 7i37 8i20
The following user(s) said Thank You: kenny
Please Log in or Create an account to join the conversation.
- kenny
- Offline
- Senior Member
Less
More
- Posts: 56
- Thank you received: 0
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.
"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.
- PCW
- Away
- Moderator
Less
More
- Posts: 17899
- Thank you received: 4774
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)
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.
- kenny
- Offline
- Senior Member
Less
More
- Posts: 56
- Thank you received: 0
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.
- andypugh
- Offline
- Moderator
Less
More
- Posts: 23558
- Thank you received: 4858
11 May 2015 04:08 #58546
by andypugh
Replied by andypugh on topic MESA 5i23 7i44 7i49 7i37 8i20
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.
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.
- kenny
- Offline
- Senior Member
Less
More
- Posts: 56
- Thank you received: 0
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
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.
- andypugh
- Offline
- Moderator
Less
More
- Posts: 23558
- Thank you received: 4858
26 May 2015 06:09 #59043
by andypugh
Replied by andypugh on topic MESA 5i23 7i44 7i49 7i37 8i20
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
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.
- kenny
- Offline
- Senior Member
Less
More
- Posts: 56
- Thank you received: 0
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.
- andypugh
- Offline
- Moderator
Less
More
- Posts: 23558
- Thank you received: 4858
28 May 2015 00:18 #59117
by andypugh
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
Replied by andypugh on topic MESA 5i23 7i44 7i49 7i37 8i20
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: PCW, jmelson
Time to create page: 0.079 seconds