Hello Guest it is April 25, 2024, 12:45:40 PM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - machiavellian

Pages: 1 2 »
1
Sorry about the delay.  Been a busy week.

FYI the recommendation from Delta Electronics is to wire the alarms together in series, just like you would fail-safe NC switches like home switches, etc.  In hindsight it's obvious (at least to me) this the correct circuit improvement, I should have seen this but got caught up in powering the circuit, etc.  I tested it, it works fine.  No parameter default overrides, nothing exotic required.

For those looking for the short answer on how to hook up servo alarms:  Just hook the alarms all in series, power with +24V, hook to an input and trigger active-low.

I've kind of come full-circle here, am back to considering adding the estop button to the circuit and calling that estop so the machine just retracts & stops on an alarm, no plugins, no brains, it just works.  On the other hand, it would be nice to somehow differentiate alarm vs. estop somehow so the (semi-intelligent) operator (me) doesn't just override an estop by hitting start twice.  Like I have in the past...

Craig, your thoughts?

2
Only have a few minutes but on my lunch I tried ganging the ALRM outputs on DO5 from the drivers together and they appear to be ANDing the output, not ORing them like I need.

I called the Delta technical support number (great idea suggested by a colleague!) and spoke with an excellent engineer about the question of whether this is valid and if not what to do about getting all DO's into a single PLC input.

The short version of the discussion is he suggested trying flipping the signaling to normally low (alarm pulls high), this should get the OR effect I'm looking for.  But he's going to get back to me with the 'official' (supported) way to accomplish this.  I'm going to try to get out in the garage-shop late tonight after work and give it a try.  Will post back if/when that happens & what Delta says.

3
Sorry, it's late and I have to be at work tomorrow at 8AM so I have to be brief.

On Excessive Error, perhaps I'm misunderstanding or over-simplifying things.  My understanding comes from a background in Kalman Filters as implemented for stabilization & navigation in drones.  (My background these days involves a lot of drones, my home project is focused on building parts for really large drone prototypes)  I interpreted Excessive Error as being the delta between current state & desired state.  Why else would the default be so high?  My assumption is/was that if the driver is behind in steps, this is not a good thing but probably not fatal as long as it doesn't overcompensate in increasing feed rate in an attempt to catch up.  My guess (?) is that this might result in a stop short of the final desired move but little more.  And Excessive Error would primarily occur under high-load scenarios like roughing that would be compensated for in later passes.  Isn't this 'undershooting' is one of the things the 2nd rough pass targets before moving to finishing tools for a final pass?

You might be right about power supply.  My home machine is powered by residential single-phase 240AC wired directly the the main breaker panel.  I don't recall the gauge the electrician pulled, but it was overkill for 15/20A service.  I don't think I can improve the power situation for the machine.

My point on the scopes, I'm interested in getting a feel for the orders of magnitude for various dynamic parameters & perhaps some logging, not trying to react in realtime or anything like that.  For example, watching this Position Error as the machine is roughing.  But again I'm the n00b here, haven't even tried it yet.  I'd just like to get my material removal rates as high as I safely can, this seems to be a good way to get a feel for things besides just listening for spindle bogging.  The parts I run are big, roughly star-shaped so are problematic, they need a lot of material removed.  Even with aggressive params a part takes about 90 minutes per setup and there are two setups per part.  and I need to make a lot of these parts.

Yes, I have a cable...  Its been a long day I may be missing your points yet again, sorry if thats the case.  Thanks for the feedback will update this might take a day or two.

4
So I'm going to set my Excessive Error Warning Condition parameter

FYI I was just looking at the ASDA software's scopes capabilities and it looks like you can monitor Position Error (PUU).

5
Interesting.  For my purposes I don't think Excessive Error is an issue, at least as far as accuracy is concerned.  The machine is under high load (I assume inducing Excessive Error?) when roughing but I usually keep 0.05" off the part surface for this pass, then do a 2nd semi-rough to .02", then go to a surfacing technique to +0 using usually one pass.  Point being, the machine (servo error + frame spring) isn't under much load in the final passes when accuracy matters.  I do increase feed / reduce rpm to keep chipload up on final passes, but the apparent machine load is still relatively low.  A good thing to keep an eye on though, definitely.

In my (limited) experience his usually gets me to +/-0.0025" on flat surfaces but I'm getting tessellation artifacts on curves.  When I try to combat them by tightening my CAM tolerance it results in machine hitching, another thing I'm trying to combat by using a new controller.  I'm aiming to get tolerance to .001.  Not sure if it's lookahead controller CPU or link bandwidth bottleneck, but I guess that's a topic for a different thread.

Are you using the Delta ASDA software's 'scopes' functions for monitoring & tuning?  I still have a lot to learn about this.  Thinking of buying a cable for each driver so I can just monitor them all realtime, at least while tuning.

Anyway, like I said, my primary goal is to avoid repeating a crash situation where a servo alarms, releases the brake & shuts down, allowing the bit to get traction and suddenly rapidly feed into the material and the kinetic energy had nowhere to go, which I'm pretty sure is what happened.  LSTP (P1-32) was set to 00 on the servos which should have hit the servo brakes on alarm but this didn't happen for some reason, the servos were free to spin post-crash.  I can't explain this.  Do you have any ideas what might have happened?

Looking at the fault records (P4-01 thru P4-04), I see repeating fault codes 0003 (undervoltage), 0022 (input power phase loss).  Since all drivers are seeing the same errors, I surmise these are power on/off errors and can be safely ignored. (??)  Unfortunately any interesting fault codes from the crash have scrolled out of history and are lost.

Ok, I ordered a 1/2 watt resistor assortment pack, will probably just inline them on the cable.  Or at least take a look at current hogging current flow using a resistor as a temporary shunt.

Thanks again for the valuable advice, Craig.

6
Thanks, Craig, it's all becoming a lot clearer.

I think (with your generous help) I have most issues sorted out.  So rather than going TLDR about that, I'm going to move on.  Just a few things - after more circuit tracing I discovered the manufacturer had connected the emergency stop button using it's 'NO' switches, not 'NC' as is correct practice.  I had just assumed it was correct.  I should have checked the switch operation first off, it would have made so things so much easier.

First new question, is it acceptable to tie all the ALRM outputs (DO5+ & DO5-) from all the servos together as was the machine wired by the manufacturer?  I can't seem to find anything in the manual on this.  (only stuff on cascading inputs not outputs)  I.e. these are active-low outputs, so if, say two are high and one low, will the signal go low?  Or will current flow from the high outputs across drivers as I expect and keep the output high?  I'd like to logically 'OR' these inputs together if possible, I don't have enough inputs on the controller to hook them all up separately along with zero switches, etc.  The manufacturer also had the emergency stop button tied in as well, and this common circuit was all hooked to estop.  Is this acceptable (if maybe not recommended)?  I think the root cause of my estop failure was the 'NO' estop button was causing many if not all the problems.  I'm kind of hesitant to just wire them back together and try now that it looks like I'm on course to getting things working & no fried electronics so far.

Related to this, is there any value to trigger a emergency stop on WARN signal instead of ALRM?  Reading the manual this signals first; I'd like to abort on the first sign of trouble.

For my usage I prefer to have any alarm or estop to just emergency stop the machine.  If this happens I can note any alarm codes, etc, and restart the machine since the job is likely botched or will need some level of manual intervention.  Just looking for shortest path to accomplish that.

Or perhaps separate inputs into three:  WARN, ALRM, ESTOP?  I think I can just afford three inputs on the AXBB controller.  That would keep stop options more flexible.

Regarding HPULSE, just curious, this seems superior to standard PULSE control.  Have you considered using HPULSE?  If you rejected it, can you share why?  I'd think with your advanced usage you would have opted for that.

About the crash, unfortunately I was a little shocked when it happened (it was a pretty loud bang) and I shut off the machine before noting alarm codes.  I recall the servo brakes let go and I could manually rotate them by hand which was unusual.  Several servos were in alarm condition before I powered the machine off.  Hmm, I think the controllers do keep an alarm history, I need to go back and search for alarms that might trace back to the crash...

On tuning (and troubleshooting) and this Following Error, I'll try to understand it better going forward.  The manufacturer had represented the machine as being well-suited & tuned for roughing 6061-T6.  However from what I can tell the servos had no real tuning done to them - comparing their settings to defaults only a few of the most basic parameters were changed.

Now that I'm basically re-engineering the machine I guess I need to take full responsibility for monitoring & tuning.  Thanks for bringing this up.  If you have any recommendations or suggestions for places to read up, watch videos, etc I'm keenly interested in learning more.

One of the things that both impressed and kind of disappointed me watching these servos in operation; even when running challenging jobs the motors never even get warm.  The electronics bay does get to maybe 90F, but nothing gets hot.  I was wondering if the hardware was anywhere near capacity.  Even as it is though, I'm really impressed at these servos - they're as strong, smooth & reliable as I could ever hope for.  Especially for their price, they can be had on Alibaba for really for cheap considering.

Thinking about it, going forward I probably need to dedicate some time to optimizing both G0 air-moves (where the driver automatic self-tuning might work well once I have limit switches correctly hooked up) and G1 material-specific optimization.  Or at least learning to monitor how close to or far from limits I'm pushing these servos (and the spindle) when running jobs.

Any knowlege you or others have to share on these monitoring & tuning topics, I'm sure would be welcome by more than folks just me.

7
Uh sorry for that giant image, should have downscaled it.  Apparently no way to remove it on edit(?)

8
Thanks for the timely and detailed response, Craig.  I'm happy to have found someone with a far deeper knowledge than mine who's willing to help.

First, we seem to be out of sync on page numbers.  I'm looking at this, which is the Delta ASDA-B2 user manual I'm using where details on CN1 begins: https://www.deltaacdrives.com/Delta-ASDA-B2-User-Manual.pdf#page=56  Am I looking at the right manual?

Regarding stepper signaling:

So if I understand correctly, you're aiming to use HPULSE+- instead of PULSE+-?  What are you setting in the servo's parameter P1-00?

On whether to use PULSE or HPULSE, on one hand I definitely like the idea of a higher pulse rate (faster, smoother moves).  On the other hand, I was getting along OK with a 500K pulse rate and I kind of fear potentially up to 8x faster moves.  To implement HPULSE I assume you've got a breadboard setup with transistor & resistor circuits wired up for each servo?  That seems doable, but breadboarding raw components is a little out of my depth and  downtime is killing me.  I really need to get this machine running so I can get on with my project before my wife files for divorce.  No, seriously, since I have the servos stepping what looks to be correctly on PULSE with non-isolated +5V outputs, are you just recommending an ideal config or am I doing something seriously wrong?

Alternatively (or I'm totally missing the point, it happens quite often) could I drive the servo's HPULSE input with the AXBB's isolated outputs (O1-O8) and bypass the breadboarding?  They can do 24V 500mA output.  Can you help clarify TTL (5V) vs. 24V signaling?  I think this is the sources of my confusion.

Regarding connecting CN1-11 to CN1-17, I think I get it, you're putting the servo into source mode [bottom of pg 3-21 (my link above)] that's what's putting you on +24V signaling.  But SON & ARST, on my machine nothing is connected and it works(?)  Is this overridden somehow in the parameters?  I've taken a look at params and don't see anything jumping out at me.  My cables only have 6 wires (see attached image), 2 for pulse, 2 for direction, and 2 for alarm.

Finally, about DO5 alarm output, I think I understand what you're saying, but it appears to be a powered output so why not just wire DOX- (pin 27) to, say I1- and DOX+ (pin 28) to I1+ and keep it fully isolated?

Thanks for your patience, I really appreciate it, Craig.  After staring at the manual for about five hours straight now it's starting to make a little sense.

FYI, just a little background for context, this machine had a bad crash for no apparent reason a few months ago and I've been trying to get it back into operation ever since.  Had to replace the spindle (bent, too much runout) & z-axis ballscrew.  I suspect line power fluctuation - I was running a heavy roughing operation but within parameters that ran fine before - 6061-T6,  1/2" roughing mill, .2 RDOC, .5 ADOC, 20K RPM, forget exact chipload but it was reasonable, maybe .002".  My theory is a servo alarmed, but the servos being improperly connected to the cnc controller by the manufacturer caused it to continue feed instead of estop retracting and this greatly compounded the problem.  So sorry if I'm more than a little paranoid here.

9
Hi Craig,

Sorry to wake this sleeping thread.  It's just that reading thru this, I'm rather confused.  This stuff is out of my pay grade!  You've been so patient with @natefoerg, I'm hoping you or someone else can help me out while setting the record straight so folks like me in the future can 'skip to the end' and get the answers they need without wading thru pages of confusing detail.

I'm also trying to figure out how to hook up my CNCdrive AXBB-E to Delta ASDA-B2 servos as well.  So far I have the the ASDA's PULSE & DIRECTION input signals working by connecting them to AXBB-E's unbuffered outputs O9+ & O10+, O9- & O10- to 5V0 and it seems to work.  Is this correct so far?

Now I'm trying to get the AXBB to monitor the ALRM signal from DO5+ & DO5- (while trying to avoid frying anything) and have a few  questions:

1. Can I simply do the same as the pulse/direction controller output signals above, tie DO5- & I2- to 5V0 and DO5+ to I2+?  This is an isolated input on the AXBB, is +5VDC enough to trigger the input on isolated inputs?  Or should I get a AXBB breakout board and use an unisolated input?  Or should I be somehow using the 24V rail.  I hesitate doing this without clearly understanding doing this for obvious reasons.

2. Without going into the history of this machine (from China, its not short or pretty) it appears that the vendor was trying to wire servo ALRM outputs to the Estop CNC controller (it was a XHC MKX) input.  And the 24V estop button. :( Neither the estop nor servo alarms ever worked properly.  Question is, is it OK to gang all these outputs into one input on the controller like they did?  Or do they have to all go to separate inputs and use a brain to OR them together into an ESTOP signal of some kind?

3  Seeing as these servo driver outputs were apparently apparently subjected to 24 volts, can you summarize how to check inputs & outputs using a multimeter?  Again I'm confused by the detail above, all this wiring up transistors, etc, is it really necessary?

4. This is all the user should have to do to get safe & correct function, right?  Three pairs of wires, no commons.  Two pairs for step & direction.  One pair for monitoring alarms.  Am I missing anything?

Thanks in advance.  :)

10
VB and the development of wizards / Re: How to interrupt a running script?
« on: December 16, 2020, 02:19:58 PM »
Thanks for the feedback & patience.  While trying to sort out my understanding of the issues, I ran across @ger21's 'Mach3 2010 Screenset'.  I wasn't aware of it.  It looks like the real deal so I'm going to buy a copy and try out out.

Pages: 1 2 »