movement pauses during the execution of an MCode
08 Sep 2022 07:39 #251469
by mich94
Replied by mich94 on topic movement pauses during the execution of an MCode
ok thank you very mutch for all
now: i'm using a 7i76 that for what i read is slightly different from the "e" version but not so mutch about the analog output i guess.
i have a pneumatic extruder, so until now we utilized the spindle output just because it provides a voltage out in the range 0-5V that we need for the air valve.
from what you said and what i found on the datasheets can i connect the hardware pin (phisically present on the board) "SPINDLE OUT" with the internal pin "motion.analog-out-00" (i guess by changing some commands in the HAL file)?
Would this allow me to set the value of the motion.analog-out-00 with the M67 gcode and have the voltage output i need on the "SPINDLE OUT" pin?
thank you people for the patience
now: i'm using a 7i76 that for what i read is slightly different from the "e" version but not so mutch about the analog output i guess.
i have a pneumatic extruder, so until now we utilized the spindle output just because it provides a voltage out in the range 0-5V that we need for the air valve.
from what you said and what i found on the datasheets can i connect the hardware pin (phisically present on the board) "SPINDLE OUT" with the internal pin "motion.analog-out-00" (i guess by changing some commands in the HAL file)?
Would this allow me to set the value of the motion.analog-out-00 with the M67 gcode and have the voltage output i need on the "SPINDLE OUT" pin?
thank you people for the patience
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5008
- Thank you received: 1441
08 Sep 2022 12:21 - 08 Sep 2022 12:30 #251481
by Todd Zuercher
Replied by Todd Zuercher on topic movement pauses during the execution of an MCode
I think you have a lot of things very confused. Do you have a machine configuration that "mostly" works for you except for the pauses in motion when you try to change the extruder feed using M3Snnn?
If so post your hal and ini config files here by adding them as attachments to your message. Then we can suggest the proper changes you will need to make to those files to get the desired affect.
The hal pin "motion.analog-out-00" has nothing really to do with any true hardware analog outputs, other than being one of many possible ways of sending a float value to one. In this case you should probably be using a hardware stepgen to control your extruder so "motion.analog-out-00" will merely be the means for sending the float value of the speed you want to that stepgen. (All digital nothing analog about it other than the name of the hal pin.)
PS: The name of the hal pin "motion.analog-out-00" is really a bit of a misnomer, a more accurate descriptive name for it would have been "motion.float-out-00". But it is a long standing historic error in semantics that would be more trouble to change than to leave it alone.
If so post your hal and ini config files here by adding them as attachments to your message. Then we can suggest the proper changes you will need to make to those files to get the desired affect.
The hal pin "motion.analog-out-00" has nothing really to do with any true hardware analog outputs, other than being one of many possible ways of sending a float value to one. In this case you should probably be using a hardware stepgen to control your extruder so "motion.analog-out-00" will merely be the means for sending the float value of the speed you want to that stepgen. (All digital nothing analog about it other than the name of the hal pin.)
PS: The name of the hal pin "motion.analog-out-00" is really a bit of a misnomer, a more accurate descriptive name for it would have been "motion.float-out-00". But it is a long standing historic error in semantics that would be more trouble to change than to leave it alone.
Last edit: 08 Sep 2022 12:30 by Todd Zuercher. Reason: Added PS comment
Please Log in or Create an account to join the conversation.
08 Sep 2022 13:35 #251486
by mich94
it works fine but my thesis work is to improve the printing: by making so i made a bunch of functions that calculate the speed of the estruder in all the planned path, then using another algorithm i calculate the best pressure for an uniform extrusion.
I then need to change the pressure (in the G-code) in the points where the speed change over a certain threshold (in the change of direction).
Here comes the problem because when i use the "M3 Snnn" that change the voltage output, that change the pressure of extrusion, the robot stops and this generate an accumulation on the printing path.
i included all the attachments i got for a complete view
thank you for all the help
Replied by mich94 on topic movement pauses during the execution of an MCode
correctI think you have a lot of things very confused
also correct,Do you have a machine configuration that "mostly" works for you except for the pauses in motion when you try to change the extruder feed using M3Snnn?
it works fine but my thesis work is to improve the printing: by making so i made a bunch of functions that calculate the speed of the estruder in all the planned path, then using another algorithm i calculate the best pressure for an uniform extrusion.
I then need to change the pressure (in the G-code) in the points where the speed change over a certain threshold (in the change of direction).
Here comes the problem because when i use the "M3 Snnn" that change the voltage output, that change the pressure of extrusion, the robot stops and this generate an accumulation on the printing path.
i included all the attachments i got for a complete view
thank you for all the help
Please Log in or Create an account to join the conversation.
08 Sep 2022 16:20 - 08 Sep 2022 16:24 #251501
by Aciera
Replied by Aciera on topic movement pauses during the execution of an MCode
You could try to manipulate the analog spindle output of the 7i76 with the float value in
"motion.analog-out-00".
So either try to feed your desired "speed" directly into this:
net spindle-output => hm2_7i80.0.7i76.0.0.spinout
Or use the "halui.spindle.0.override" pins
linuxcnc.org/docs/html/man/man1/halui.1.html
Note that, if I remember correctly, the 7I76 will only output the analog signal if hm2_7i80.0.7i76.0.0.spinena is true.
edit: personally I would try the override first
"motion.analog-out-00".
So either try to feed your desired "speed" directly into this:
net spindle-output => hm2_7i80.0.7i76.0.0.spinout
Or use the "halui.spindle.0.override" pins
linuxcnc.org/docs/html/man/man1/halui.1.html
Note that, if I remember correctly, the 7I76 will only output the analog signal if hm2_7i80.0.7i76.0.0.spinena is true.
edit: personally I would try the override first
Last edit: 08 Sep 2022 16:24 by Aciera.
The following user(s) said Thank You: mich94
Please Log in or Create an account to join the conversation.
19 Sep 2022 09:52 #252329
by mich94
Replied by mich94 on topic movement pauses during the execution of an MCode
thank you for the answer!
sorry for my late reply
for what i read i have understood that the override can provide an increment or decrement of actual pin value (am i right?), what i need is to change the value multiple time with some pre-calculated numbers,
for this reason i think i could not follow your personal suggestion
by the way i think the first way you exposed could be the right one!
i'm now studying the HAL file in order to "manipulate the analog spindle output with the float value in motion.analog-out-00" as you said
i already have the command for "net spindle-output => hm2_7i80.0.7i76.0.0.spinout" in the HAL so i guess i need to change the link for "spindle-output" that now is on the PID to the analog.motion
(now is "net spindle-output <= pid.s.output")
sorry for my late reply
for what i read i have understood that the override can provide an increment or decrement of actual pin value (am i right?), what i need is to change the value multiple time with some pre-calculated numbers,
for this reason i think i could not follow your personal suggestion
by the way i think the first way you exposed could be the right one!
i'm now studying the HAL file in order to "manipulate the analog spindle output with the float value in motion.analog-out-00" as you said
i already have the command for "net spindle-output => hm2_7i80.0.7i76.0.0.spinout" in the HAL so i guess i need to change the link for "spindle-output" that now is on the PID to the analog.motion
(now is "net spindle-output <= pid.s.output")
Please Log in or Create an account to join the conversation.
19 Sep 2022 13:49 #252343
by mich94
Replied by mich94 on topic movement pauses during the execution of an MCode
we got it guys!!
thanks for all your help and time!
the Gcode now starts with an M3 M67 E0 Qxxx so the spindle is activated and the speed is modified by the pin 00, when i need to change the pressure i just M67 E0 Qxxx and it changes without stopping the motion
i just changed 1 line in the .hal file:
it was : net spindle-output <= pid.s.output
it became : net spindle-output <= motion.analog-out-00
(replies will follow if something don't go as planned)
thanks for all your help and time!
the Gcode now starts with an M3 M67 E0 Qxxx so the spindle is activated and the speed is modified by the pin 00, when i need to change the pressure i just M67 E0 Qxxx and it changes without stopping the motion
i just changed 1 line in the .hal file:
it was : net spindle-output <= pid.s.output
it became : net spindle-output <= motion.analog-out-00
(replies will follow if something don't go as planned)
Please Log in or Create an account to join the conversation.
Time to create page: 0.071 seconds