Search Results (Searched for: )
- IronManDylan
- IronManDylan
19 Nov 2024 01:09
Replied by IronManDylan on topic Fast Hole EDM from Hacked Parts
Fast Hole EDM from Hacked Parts
Category: General LinuxCNC Questions
Aciera,
Thanks for the response.
First and unfortunately, I told you wrong. The Powercore is not outputting a HIGH or LOW signal but a PWM signal. Here is a excerpt from the GitHub:
“The Powercore V2.0 provides digital telemetry on the spark ignition rate via the ALRT port. The spark ignition rate, defined as the ratio of 'observed discharges' to 'possible discharges'. The spark ignition rate is a key indicator of feedrate efficiency. A low rate suggests the feedrate can be increased, while a high rate indicates an excessive feedrate or a short circuit. Telemetry is reported as a PWM duty cycle, which can be read by a control board or microcontroller. This port enables closed-loop feedrate control, ensuring optimal material removal. An ignition rate of approximately 80% has been observed to be optimal.”
Here is the link as well: github.com/Rack-Robotics/Powercore-V2.0
So I have a few thoughts. First is hardware compatibility. My machine is running on a Mesa 7I96S and a 7I85S. The 7I85S is essentially unused right now. I am looking through the technical documents and it seems like the 7I85S has ports that can be designed as PWM output ports. I am not sure if they can be configured for input though. Perhaps you would know? There are also a bunch of unused IO ports on both boards, but the technical documents don’t specify if those ports can be used for analog/PWM. The Powercore also doesn’t specify what the voltage would be at 100% duty cycle so I am wondering if it will be compatible with the Mesa in that regard. I suppose if the Powercore is opporating at 3.3v and the Mesa is operating at 5v for example, a multiplier could be added to the input. But if the voltages are reversed there could be an issue of overwhelming the Mesa or damaging it.
If the Mesa does not have a PWM input, it seems like the next option would be to use something like an arduino to interpret the PWM signal from the Powercore and then talk to the Mesa via serial communication. This sounds like a can of worms…
Second, software. 'M52 P1’. Does this need to go into the main hal file? I assumed I would find 'M52 P0' somewhere but I did not. So maybe it is currently on the default for my machine.. My machine is called the hackbot. So it would go somewhere inside the hackbot_srt.hal file? And then would the float variable go into this file as well? Plus whatever logic/code needs to be written to account for the above info from the GitHub (changing the federate based on PWM)? Sorry, I can talk hardware all day long but software I am slow with..
Third, interface. It would be really awesome to have a widget or something on the GUI that shows the PWM spark rate. This is obviously not necessary but it would be very classy. I have no idea how to do this…
Also, it would be very cool to have the machine responding to the PWM and updating the feedrate to keep things at the perfect 80% duty cycle. But if this is too challenging, it could be kept at default federate unless duty cycle goes over some limit (maybe 95%) then federate is briefly reversed. This would also make control via an arduino (or something else) easier as the arduino can just output a high or low which will avoid serial communication…
Thank you for the help.
Best,
-Dylan
Thanks for the response.
First and unfortunately, I told you wrong. The Powercore is not outputting a HIGH or LOW signal but a PWM signal. Here is a excerpt from the GitHub:
“The Powercore V2.0 provides digital telemetry on the spark ignition rate via the ALRT port. The spark ignition rate, defined as the ratio of 'observed discharges' to 'possible discharges'. The spark ignition rate is a key indicator of feedrate efficiency. A low rate suggests the feedrate can be increased, while a high rate indicates an excessive feedrate or a short circuit. Telemetry is reported as a PWM duty cycle, which can be read by a control board or microcontroller. This port enables closed-loop feedrate control, ensuring optimal material removal. An ignition rate of approximately 80% has been observed to be optimal.”
Here is the link as well: github.com/Rack-Robotics/Powercore-V2.0
So I have a few thoughts. First is hardware compatibility. My machine is running on a Mesa 7I96S and a 7I85S. The 7I85S is essentially unused right now. I am looking through the technical documents and it seems like the 7I85S has ports that can be designed as PWM output ports. I am not sure if they can be configured for input though. Perhaps you would know? There are also a bunch of unused IO ports on both boards, but the technical documents don’t specify if those ports can be used for analog/PWM. The Powercore also doesn’t specify what the voltage would be at 100% duty cycle so I am wondering if it will be compatible with the Mesa in that regard. I suppose if the Powercore is opporating at 3.3v and the Mesa is operating at 5v for example, a multiplier could be added to the input. But if the voltages are reversed there could be an issue of overwhelming the Mesa or damaging it.
If the Mesa does not have a PWM input, it seems like the next option would be to use something like an arduino to interpret the PWM signal from the Powercore and then talk to the Mesa via serial communication. This sounds like a can of worms…
Second, software. 'M52 P1’. Does this need to go into the main hal file? I assumed I would find 'M52 P0' somewhere but I did not. So maybe it is currently on the default for my machine.. My machine is called the hackbot. So it would go somewhere inside the hackbot_srt.hal file? And then would the float variable go into this file as well? Plus whatever logic/code needs to be written to account for the above info from the GitHub (changing the federate based on PWM)? Sorry, I can talk hardware all day long but software I am slow with..
Third, interface. It would be really awesome to have a widget or something on the GUI that shows the PWM spark rate. This is obviously not necessary but it would be very classy. I have no idea how to do this…
Also, it would be very cool to have the machine responding to the PWM and updating the feedrate to keep things at the perfect 80% duty cycle. But if this is too challenging, it could be kept at default federate unless duty cycle goes over some limit (maybe 95%) then federate is briefly reversed. This would also make control via an arduino (or something else) easier as the arduino can just output a high or low which will avoid serial communication…
Thank you for the help.
Best,
-Dylan
Time to create page: 0.563 seconds