#emc-devel | Logs for 2006-10-17

[18:03:29] <Lerneaen_Hydra> maybe bugmenot has a login
[18:06:41] <skunkworks> I could register twice ;)
[18:06:54] <SWPadnos> but then you'd have twice as much support work to do ;)
[18:07:19] <alex_joni> yeah, but he can start flamewars
[18:07:23] <alex_joni> and argue with himself
[18:07:25] <SWPadnos> cool!
[18:07:28] <skunkworks> It would be nice - Most of the questions I have no clue. ;)
[18:07:28] <alex_joni> sounds like fun
[18:07:44] <skunkworks> No it wouldn't - Yes it would
[18:15:09] <skunkworks> I have cought fenn lurking from time to time ;)
[18:15:33] <skunkworks> caught
[18:27:49] <LawrenceG> skunkworks: how is the FET bridge cooking?
[18:29:59] <alex_joni> simmering slowly
[18:30:44] <LawrenceG> cool.... I have a use for a 3 1/2 bridge version for driving a 3ph servo
[18:31:59] <LawrenceG> micrcontroller side is running, but I need a power stage
[18:33:19] <LawrenceG> alex_joni: hi....
[18:35:25] <skunkworks> LawrenceG: I don't know if the circuit would be condusive to 3 phase. I would think you would need to control both the high and low fets separatly.
[18:35:58] <A-L-P-H-A_> A-L-P-H-A_ is now known as A-L-P-H-A
[18:35:59] <skunkworks> The circuit I have uses a ir2111 which has only 1 input - high activates the high fet - low activates the low fet
[18:36:41] <LawrenceG> skunkworks: that should be ok as I am generating 3 pwm phase signals
[18:37:27] <LawrenceG> getting all the fets onto a heatsink might be an interesting layout challenge
[18:37:55] <LawrenceG> maybe 3" al pipe with flats milled on it!
[18:38:39] <skunkworks> LawrenceG: http://www.electronicsam.com/images/KandT/servostart/almost.JPG
[18:39:50] <LawrenceG> adding 2 more fets and 2 more diodes and a 2111 could be interesting
[18:40:00] <skunkworks> Cool
[18:40:19] <LawrenceG> got to take the dog for a walkabout... bbl
[18:44:27] <skunkworks> Give me a sec - I can upload the eagle schematic to my website.. it should only be used for connection - not values :)
[18:49:44] <skunkworks> SWPadnos: http://www.electronicsam.com/images/KandT/servostart/schem/
[18:50:50] <SWPadnos> cool. thanks
[18:50:56] <SWPadnos> gotta run, but I'll take a look later
[18:53:14] <jepler> the docs say: It is OK to use M3 or M4 if the spindle speed is set to zero.
[18:53:25] <jepler> emc actually says: Spindle speed needs to be non-zero in order to enable.
[18:53:26] <jepler> If speed is 0 we have no way of telling that you really wanted clockwise.
[18:53:28] <alex_joni> hmm.. really?
[18:54:07] <jepler> and in fact with this simulated spindle, mdi s0 / m3 / s100 does send the spindle to 100rpm after giving an error
[18:54:15] <jepler> but if it was in a program it would abort because of this message
[18:54:50] <jepler> "It is OK to use M3 or M4 if the spindle speed is set to zero. If this is done (or if the speed override switch is enabled and set to zero), the spindle will not start turning. If, later, the spindle speed is set above zero (or the override switch is turned up), the spindle will start turning."
[18:55:05] <jepler> besides the error, the implementation seems to match the documentation
[18:55:55] <alex_joni> I remember adding that for a reason
[18:56:12] <alex_joni> now I remember.. spindle inc/dec
[18:56:28] <alex_joni> if you kept decreasing from some spindle speed it would go negative at some point
[18:56:36] <alex_joni> not sure what the behaviour needs to be there
[18:58:41] <LawrenceG> skunkworks: thankyou... it looks like your picture if of a virginal drive.... have you let any smoke out yet?
[18:59:26] <skunkworks> run it as a spinle through emc2 - 60+ volts - few amps. No smoke yet.
[18:59:53] <jepler> alex_joni: this code is only called from the interpreter, it's unrelated to spindle speed increase/decrease through the GUI
[19:00:27] <LawrenceG> cool... my servos are 100v about 4 amp.... might get away with minimal heat sinks
[19:00:37] <skunkworks> want to run these :) http://www.electronicsam.com/images/KandT/DSC_0242.JPG
[19:01:04] <LawrenceG> yea ha... that should warm em up
[19:01:25] <skunkworks> LawrenceG: there is no current limiting in the circuit yet as you can see. They may be ver 2 depending on how things work.
[19:02:03] <alex_joni> jepler: that may be
[19:02:09] <alex_joni> can't really recall
[19:03:38] <LawrenceG> understood.... I have been playing with another servo amp (linear mode current source) for small brushed motors that is working quite well...
[19:03:41] <skunkworks> LawrenceG: page 20 has a 3 phase circuit using an ir2110 (2 input) http://www.irf.com/technical-info/appnotes/an-978.pdf
[19:04:32] <skunkworks> LawrenceG: cool. how are you controlling it? right from emc - or through a uP
[19:05:54] <skunkworks> (I am trying to make it a simple as possible - emc as the pid loop)
[19:05:59] <LawrenceG> it uses a dspic and gets a quadrature phase drive from emc. The servo code is very similar to the hal module,,,, just cut down to 1 axis.
[19:06:32] <jepler> extra points for using quadrature, by the way
[19:06:35] <LawrenceG> that keeps things simple.... no encoder interface needed in the pc
[19:07:37] <skunkworks> Jepler: Agreed. Then you can output steps at period - correct?
[19:08:02] <LawrenceG> yea I like quadrature drive.... more noise immunity, twice as fast as step dir as it can move on each phase change
[19:09:49] <skunkworks> My kiss plan is emc2->pwmgen->h-bridge->servo->encoder->emc2.....
[19:10:07] <skunkworks> pwmgen is a hal module
[19:10:08] <alex_joni> jepler: some parts use only the speed to set direction too, if I remember it correctly
[19:11:18] <skunkworks> pretty much what jepler and cradek have done with thier toys
[19:11:39] <LawrenceG> yea... I didnt want to encumber the pc with having to keep up with all the i/o required for encoder interface
[19:12:07] <skunkworks> If you have the ability. I don't right now. I/o is cheap for me :)
[19:12:33] <LawrenceG> the off pc servo loop is a little harder to tune, but once setup it doesnt need much maintenance
[19:12:37] <alex_joni> jepler: sorry.. can't remember more than that.. try taking it out of emccanon.cc
[19:13:18] <skunkworks> LawrenceG: very similar to the gecko servo drives? except your using quadrature instead of step and dir?
[19:13:30] <jepler> alex_joni: you mean that some machines without spindle speed control would turn on the spindle with 'S0 M3'?
[19:13:46] <jepler> alex_joni: those machines could be fixed with an alteration to their .hal
[19:14:22] <alex_joni> probably so.. but there might be some other issue I can't remember :(
[19:14:56] <LawrenceG> skunkworks: yes... my output stage is limited to about 6 amps peak
[19:15:41] <LawrenceG> skunkworks: your output stage would just about tie onto my controller without many changes
[19:16:21] <jepler> actually, motion.spindle-on, -forward, and -backward all go to false if S0 is commanded, even if M3 or M4 is also active
[19:16:24] <skunkworks> Cool. :)
[19:16:36] <alex_joni> jepler: at least I got something right
[19:16:47] <alex_joni> well.. I have no issues if you take it out
[19:16:56] <alex_joni> if something breaks we'll fix it :)
[19:17:07] <LawrenceG> skunkworks: I use a dir and pwm to control the power i/o, but that could be changed to 2 complementary pwm signals
[19:17:48] <skunkworks> either way - probably easier to change in code rather than adding logic.
[19:18:22] <alex_joni> http://cvs.linuxcnc.org/cgi-bin/cvsweb.cgi/emc2/src/emc/task/emccanon.cc.diff?r1=1.29;r2=1.30
[19:18:25] <LawrenceG> skunkworks: yes... a quick reflash of the micro
[19:18:31] <jepler> not all micros have complementary pwm
[19:18:37] <alex_joni> jepler: just the reverse of that diff :)
[19:18:40] <jepler> older avrs don't
[19:18:46] <jepler> alex_joni: yeah, I found that diff too
[19:19:12] <alex_joni> I spent the last 10 minutes trying to remember why I added that
[19:19:17] <LawrenceG> dspic has 6 pwm which can be setup as 3ph complementary drive
[19:19:40] <jepler> "aditional checking for spindle clock/counterclockwise opperation. if speed is 0, we have no way of telling what direction is used." -- change message from 1.30
[19:20:01] <alex_joni> yeah, saw that.. but doesn't ring much of a bell
[19:20:32] <alex_joni> jepler: you know there are a few things missing from AXIS :)
[19:21:41] <alex_joni> jepler: it looks like it still works as it should
[19:22:08] <alex_joni> only thing I'm seeing is if you use spindle forward, then decrease the speed to 0 you won't be able to go back
[19:22:17] <jepler> interestingly, you made a change to ioControl.cc at the same time which fixed the behavior of the spindle-on and spindle-forward signals when speed is 0
[19:22:17] <alex_joni> need to stop, and hit spindle forward again
[19:23:12] <jepler> yep that's true
[19:23:22] <alex_joni> guess that's a feature :)
[19:23:41] <jepler> maybe we should forbid EMC_SPINDLE_DECREASE from going to 0?
[19:24:04] <alex_joni> hmm..
[19:25:21] <alex_joni> that's easy
[19:25:27] <alex_joni> * alex_joni tries it out
[19:27:16] <alex_joni> looks good
[19:27:50] <jepler> check 'er in
[19:27:57] <alex_joni> in it comes
[19:28:24] <alex_joni> at times like this I realize how important cvs commit logs are :D
[19:33:43] <alex_joni> jepler: better?
[19:36:32] <jepler> yep looks good
[19:38:16] <alex_joni> I wonder if an opto driving an transister would be enough to set spindle speed
[19:38:25] <alex_joni> using pwmgen I mean
[19:38:40] <Lerneaen_Hydra> this stuff that's going on now, is it for 2.1 or 2.1+n?
[19:38:49] <alex_joni> 2.1 for now
[19:39:01] <alex_joni> it hasn't been branched yet
[19:39:26] <alex_joni> only after branching will it go to feature freeze
[19:39:33] <Lerneaen_Hydra> wasn't there feature-lock a while back?
[19:39:36] <Lerneaen_Hydra> oh, I see
[19:39:44] <alex_joni> only for 2.0
[19:40:04] <Lerneaen_Hydra> ok
[19:40:35] <alex_joni> which is one of the reasons why 2.1 is taking so much :)
[19:40:41] <alex_joni> 2.0 basicly works great
[19:40:43] <alex_joni> no issues
[19:40:59] <alex_joni> so, not a real pressure for 2.1
[19:41:18] <jepler> 2.1 is in pretty good shape, and it has a lot of great features. I think we should freeze for 2.1 sooner rather than later, so that our users get these features.
[19:41:21] <jepler> bbl
[19:41:38] <skunkworks> alex_joni: how many amps?
[19:41:42] <alex_joni> yeah, I think so too
[19:41:45] <Lerneaen_Hydra> but they can always run cvs head!
[19:41:48] <Lerneaen_Hydra> * Lerneaen_Hydra ducks for cover
[19:41:52] <alex_joni> Lerneaen_Hydra: that's bad
[19:41:52] <alex_joni> :P
[19:42:16] <Lerneaen_Hydra> * Lerneaen_Hydra 's sheild protects very well
[19:42:27] <alex_joni> skunkworks: up to 3-4
[19:42:37] <alex_joni> small motor :)
[19:43:04] <skunkworks> Give it a try. Do you have any darlington transisters? I would think an opto would run a darlington just fine.
[19:43:19] <alex_joni> need to look :)
[19:43:24] <alex_joni> I have some nice IGBT's
[19:43:35] <alex_joni> 300A @ 600V .. do those count ?
[19:43:41] <skunkworks> there you go.
[19:43:42] <alex_joni> :P
[19:44:06] <Lerneaen_Hydra> a safety margin is always nice :p
[19:44:23] <alex_joni> lol.. driving a 12V 1A motor
[19:44:43] <Lerneaen_Hydra> you never know what could happen
[19:45:05] <alex_joni> well.. if it's too small I can find bigger ones :)
[19:45:26] <alex_joni> remember our welding PSU's go up to 650A or so :D
[19:45:32] <Lerneaen_Hydra> yeah, might be worth looking into
[19:46:00] <Lerneaen_Hydra> that would be insane, having to have welding PSU's to drive the *servo*
[19:46:32] <alex_joni> probably way too low voltage
[19:46:40] <alex_joni> only up to 70-80V DC
[19:47:31] <Lerneaen_Hydra> ssh! don't make it not come true
[19:51:26] <skunkworks> alex_joni: just don't run the darlingtons into saturation. Don't want any of that slow switching :) (kidding)
[19:52:37] <alex_joni> :D
[19:52:49] <alex_joni> hmm.. here's a thought
[19:52:59] <alex_joni> how about using a H-bridge and an ir2111
[19:54:16] <skunkworks> Good luck so far :) Don't knock it
[19:54:30] <skunkworks> Your just jelous
[19:54:32] <skunkworks> ;)
[19:54:47] <alex_joni> yeah
[19:54:48] <skunkworks> you're that is
[19:55:06] <alex_joni> but I had better transistors :P
[19:55:11] <alex_joni> irfz44n :)
[19:55:51] <alex_joni> RDSon = 17mOhm
[19:56:07] <alex_joni> 35A @ 100 deg C
[19:57:49] <skunkworks> I think I have a bunch of them :)
[19:58:15] <alex_joni> so why not use them?
[19:58:35] <skunkworks> what voltage are they? like 60v?
[19:58:37] <alex_joni> my bridge used 2 of those, and 2 x IRF4905
[19:58:50] <skunkworks> p channel?
[19:59:12] <alex_joni> yeah
[19:59:19] <alex_joni> _no_ ir2111 :P
[19:59:31] <alex_joni> a tiny bit more expensive, but way easier to get running
[19:59:41] <skunkworks> not enough voltage.
[19:59:52] <alex_joni> 55V Vdss for both
[20:00:05] <alex_joni> I was running at 12V
[20:00:10] <alex_joni> so it was enough for me
[20:00:23] <skunkworks> You keep saying "way easier" but I have not had any problems yet :)
[20:00:40] <alex_joni> like I said.. either you got lucky, or I got bad luck
[20:01:34] <skunkworks> I have not pushed them yet - but I have run around 60v at 2 amps through it so far.
[20:01:53] <skunkworks> I have my mica insulators so I can add the heatsinks now also.
[20:03:49] <alex_joni> is it really mica?
[20:03:55] <skunkworks> So I can see if I can vaporize pcb traces :) I have some 2oz copper clad coming.
[20:05:06] <skunkworks> TOZAI IS-3MP 407 MICA INSULATOR FOR TO-3P / TO-247
[20:05:23] <alex_joni> haven't seen mica in a while :)
[20:05:28] <alex_joni> only synthetic stuff
[20:05:32] <skunkworks> old stock I assume
[20:05:38] <skunkworks> price was right
[20:05:58] <alex_joni> I got a few bags with samples from the trade last week :)
[20:06:04] <alex_joni> always handy
[20:06:59] <alex_joni> off to bed now
[20:07:01] <alex_joni> good night all
[20:07:15] <skunkworks> Night alex. Dream about spindle control
[20:07:15] <Lerneaen_Hydra> 'night
[20:07:54] <alex_joni> * alex_joni wakes up in the middle of the night screaming and full of sweat
[20:08:06] <alex_joni> skunkworks: :P
[20:08:09] <skunkworks> Oh - thats normal. don't worry about it
[20:08:29] <Lerneaen_Hydra> normal eh...
[20:08:31] <alex_joni> ok, I'll try not to worry too much
[20:08:36] <alex_joni> later
[20:08:39] <Lerneaen_Hydra> bye