#avr | Logs for 2014-10-15

Back
[04:22:22] <ivanshmakov> OT. Curiously, is there any MCU (not necessarily AVR) which can handle /overall/ load current of around 200 mA (as in: some 10 LEDs)? Better still if it can cope with twice as much.
[04:24:27] <malinus> ivanshmakov: I don't think so.
[04:26:22] <malinus> ivanshmakov: it wouldn't make sense
[04:27:40] <ivanshmakov> malinus: How so?
[04:28:33] <evil_dan2wik> ivanshmakov, they are Controllers, not LED drivers.
[04:28:43] <evil_dan2wik> you are better off getting a load of small transistors.
[04:29:22] <ivanshmakov> evil_dan2wik: Well, that’d be my second choice. The problem is that the space is somewhat limited for this case.
[04:29:42] <evil_dan2wik> are you going to print your own PCB?
[04:30:06] <ivanshmakov> evil_dan2wik: Yes, but it’d be subject to certain space constraints.
[04:30:26] <evil_dan2wik> because you could get it down to 2cmx2cmx4mm including multiple LED drivers.
[04:30:29] <ivanshmakov> I think there’re FPGAs with power outputs; presumably, these could be programmed to either perform the intended function, /or/ (in the case of a big enough chip) to act as an MCU by itself.
[04:31:11] <evil_dan2wik> but again, this depends on your intended use.
[04:31:24] <ivanshmakov> evil_dan2wik: Any examples on the Web?
[04:31:32] <evil_dan2wik> examples of what?
[04:31:47] <ivanshmakov> evil_dan2wik: Of such PCB designs.
[04:31:56] <evil_dan2wik> I'll see what I can find.
[04:32:26] <ivanshmakov> One another problem is that the very same PCB has to carry the payload device(s), which impose some further constraints on the layout.
[04:32:39] <evil_dan2wik> payload devices such as?
[04:33:11] <ivanshmakov> evil_dan2wik: By a chance, could you recommend particular transistors to act as LED drivers?
[04:33:43] <evil_dan2wik> I'll assume you want SMD versions.
[04:33:57] <ivanshmakov> evil_dan2wik: Yes.
[04:36:30] <evil_dan2wik> ivanshmakov, 1 LED per transistor right?
[04:36:38] <evil_dan2wik> How big will the LEDs be?
[04:36:39] <ivanshmakov> evil_dan2wik: Exactly.
[04:36:53] <evil_dan2wik> just SMD indication lights?
[04:37:01] <evil_dan2wik> like the ones on the arduinos?
[04:37:15] <ivanshmakov> evil_dan2wik: 3 mm LEDs.
[04:37:22] <evil_dan2wik> ok
[04:37:24] <evil_dan2wik> 20ma
[04:37:29] <ivanshmakov> evil_dan2wik: Yes.
[04:41:09] <ivanshmakov> It seems I’ve missed a thing: per the datasheet, ATmega8A /already/ allows for 300 mA overall current! (Up to 40 mA per GPIO pin.)
[04:41:42] <anton02> in those code are they using both the timer for the OCR1A and OCR1B pins? I thought they might be since tccr1a and ticcr1b are being used. http://extremeelectronics.co.in/avr-tutorials/servo-motor-control-by-using-avr-atmega32-microcontroller/
[04:43:20] <ivanshmakov> anton02: They set COM1A1 and COM1B1 bits in TCCR1A, which is what makes the MCU drive both OCR1B and OCR1B pins.
[04:43:48] <anton02> did you typo last bit of sentence
[04:43:58] <ivanshmakov> TCCR1A and TCCR1B are two parts of what’d otherwise be a single 16-bit control register for TC1.
[04:44:31] <anton02> i thought tccr1a correlated to OCR1A. And tccr1b correlated to OCR1B
[04:45:03] <ivanshmakov> anton02: Not at all; they have completely different designations for their bits.
[04:45:26] <anton02> so is OCR2B == TC3?
[04:45:40] <anton02> 4 i mean
[04:45:44] <anton02> TC4
[04:46:00] <evil_dan2wik> ivanshmakov, I could have told you that but I thought the max draw was 200ma
[04:46:38] <ivanshmakov> anton02: The ‘2’ in OCR2B is for TC2; similarly for the (OCR1A, OCR1B) pair, etc.
[04:46:41] <ivanshmakov> evil_dan2wik: ?
[04:47:11] <anton02> inflex: oh so each 2 pins only get one timer counter
[04:47:47] <evil_dan2wik> ivanshmakov, I thought the max draw for the atmega was 200ma
[04:48:06] <evil_dan2wik> which meant you would damage it if you turned on all 10 LEDs
[04:48:07] <anton02> ivanshmakov: i mean
[04:48:24] <anton02> ivanshmakov: oh so each 2 pins only get one timer counter
[04:51:11] <malinus> ivanshmakov: remember there is also a limit of 40mA per port or so
[04:54:26] <ivanshmakov> malinus: That’s fine, – I need to drive only a single 20 mA LED per port.
[04:59:40] <evil_dan2wik> Port or pin?
[04:59:41] <malinus> ivanshmakov: so only like 3-4 led's?
[05:02:40] <ivanshmakov> evil_dan2wik: The latter, indeed.
[05:03:20] <ivanshmakov> malinus: Up to 10 pins with up to 20 mA each, which sums up to 200 mA. Or am I making some mistake here?
[05:06:11] <malinus> ivanshmakov: like I've said, each *PORT* is max 40mA or so
[05:06:40] <malinus> so you are both right an wrong
[05:08:10] <ivanshmakov> malinus: Per http://www.atmel.com/Images/Atmel-8159-8-bit-AVR-microcontroller-ATmega8A_datasheet.pdf, it is: “DC Current per I/O Pin 40.0mA”. Where is the “40 mA per port” limit is documented?
[05:12:04] <evil_dan2wik> malinus, wrong
[05:12:09] <evil_dan2wik> Per pin is 40ma
[05:12:24] <evil_dan2wik> per port is around 150ma depending on the atmega
[05:12:43] <evil_dan2wik> but, still something to take into consideration, ivanshmakov
[05:12:50] <ivanshmakov> evil_dan2wik: And where is /that/ documented?
[05:13:44] <ivanshmakov> Well, near the end of the datasheet, as it seems.
[05:13:57] <evil_dan2wik> yeah.
[05:15:17] <malinus> well I've said "40mA or so"
[05:15:32] <malinus> never claimed it was that specific number
[05:15:34] <ivanshmakov> FTR: “The sum of all I[OL], for ports C0–C5 should not exceed 100 mA. … for ports B0–B7, C6, D0–D7 and XTAL2, should not exceed 200 mA.” And similarly for I[OH].
[05:15:47] <evil_dan2wik> ok, cool.
[05:15:53] <evil_dan2wik> so you should still be good.
[05:16:13] <ivanshmakov> malinus: Well, it’s more like 100 mA for Port C, and 200 mA for the rest of the ports together.
[05:16:40] <ivanshmakov> evil_dan2wik: Yes; although I may get rather close to the limit.
[05:16:58] <malinus> pff I was less than a factor of 10 off. You got nothing on me.
[05:17:44] <ivanshmakov> malinus: As a programmer, I tend to think in factors of 2; which means.
[05:18:54] <ivanshmakov> Still, I may benefit from the limits twice as much, so I guess I’d be reading more datasheets.
[05:19:36] <malinus> ivanshmakov: what are you making btw.?
[05:20:15] <ivanshmakov> malinus: Well, the thing is too silly (and to early in the design) for me to speak of it publicly.
[05:20:33] <malinus> nothing too silly for #avr
[05:20:47] <evil_dan2wik> nothing too silly.
[05:20:51] <ivanshmakov> Basically, it’s a toy with a bunch of LEDs.
[06:50:10] * JamesJRH waits for anton02...
[06:51:34] <JamesJRH> anton02: This is a good article that introduced me to timer wrap: http://thetaeng.com/TimerWrap.htm
[06:52:08] <anton02> alright, thanks, ill ready through it
[06:52:42] <LeoNerd> Woo. My big electronics order arrived. I have final bits for about 4 projects at once now.. and a full selection of ATtiny chips in various sizes :)
[06:54:12] <JamesJRH> Even if it's not relevant to this project, I suggest getting it right from the start and get into the habit of it. I'm trying to find something else that's useful...
[06:58:14] <LeoNerd> First task: how out how I can hand-solder a SOIC8
[06:58:52] <anton02> what is a good frequency to PWM motors?
[06:58:56] <ivanshmakov> LeoNerd: Huh? What could be a simpler task?
[06:59:20] <oakwhiz> LeoNerd: hand soldering a SOIC is very easy
[06:59:21] <LeoNerd> Well, I've not done smaller-than 0.1" stuff before. Except a few hacks at HD15 connectors
[06:59:34] <LeoNerd> I bought a few spare boards and chips just in case ;)
[06:59:36] <oakwhiz> in fact I am quite happy when an IC I want comes in a SOIC format
[07:00:28] <anton02> why are mosfets used in motors driver ICs instead of the superior NPN transistor
[07:01:06] <anton02> oops, wrong channel
[07:01:07] <ivanshmakov> LeoNerd: Coat the pads on the board with the solder; put the case on top; press it there with something (I use a wooden pencil, usually); apply soldering iron on one side (you can make it press against all the four pins, usually); apply to the other.
[07:01:08] <LeoNerd> FETs don't have a channel voltage drop
[07:01:33] <LeoNerd> ivanshmakov: Righty; yup that's about what I'd read online. It doens't seem too difficult
[07:02:15] <JamesJRH> anton02: I think this is the example sketch that I was looking for regarding millis(); it's for Arduino but it should be relevant to your question: http://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
[07:02:42] <anton02> JamesJRH: alright, cheers
[07:05:05] <JamesJRH> I think the blink page should have a direct link to that sketch in its See Also section because delay is the wrong way to do things other than be the simplist possible demonstration sketch.
[07:05:34] <JamesJRH> Ah..
[07:05:51] <JamesJRH> Even better, it says it higher up.
[07:05:57] <JamesJRH> :-)
[07:06:18] <JamesJRH> “Once you've understood the basic examples, check out the BlinkWithoutDelay example to learn how to create a delay while doing other things.”
[07:08:36] <JamesJRH> But although it isn't mentioned, the ‘(currentMillis - previousMillis > interval)’ expression in BlinkWithoutDelay is the correct way to do it.
[07:09:42] <anton02> JamesJRH: are the OCR H and L registers used only when your number is larger than 8 bits?
[07:12:55] <JamesJRH> I don't know.
[07:16:55] <anton02> im not sure if you can just do OCR1 = 50000; or if you need to go OCR1AH = (CTC_MATCH_OVERFLOW >> 8); OCR1AL = CTC_MATCH_OVERFLOW;
[07:17:12] <anton02> where CTC_MATCH_OVERFLOW = 50000
[07:22:42] <JamesJRH> 11:39:28 < anton02> what is a good frequency to PWM motors? ← Surely the higher the better, right? So why not go up to the maximum the chip is capable of?
[07:25:38] <anton02> JamesJRH: how come highers better? I have no idea to be honest
[07:28:28] <oakwhiz> anton02: 1kHz is usually a rough minimum for motor PWM
[07:29:08] <oakwhiz> anton02: However you may want to select a frequency outside of the human hearing range, or else you might hear an annoying sound from the motor
[07:29:18] <oakwhiz> something in excess of 20 kHz should work
[07:29:32] <anton02> sheesh
[07:29:40] <anton02> that's a high frequency
[07:30:02] <oakwhiz> 25 to 30 kHz is what I would go with
[07:30:12] <anton02> i see
[07:30:28] <oakwhiz> however there are other factors at work which might affect the motor's operation
[07:30:39] <JamesJRH> As of my current understanding, I think it would be cleaner to have a series inductor right next to the chip followed by a parallel capacitor next to the motor, especially if the motor has a long lead. But I don't know exactly how important this is. And then use as high a frequency as the chip allow unless the is some reason why this is not a good idea.
[07:31:04] <anton02> if you look at the code half way down this page they set it to 8khz https://sites.google.com/site/qeewiki/books/avr-guide/pwm-on-the-atmega328
[07:31:30] <JamesJRH> allows*
[07:31:33] <JamesJRH> there*
[07:32:56] <JamesJRH> Does a higher frequency use more pow? I.e. due to switching or that the chip never sleeps or something like that.
[07:33:02] <JamesJRH> power*
[07:33:18] <oakwhiz> switching is not instantaneous
[07:33:42] <anton02> yeah i think Rds of the chip has more of an influence on power loss with higher PWM
[07:33:44] <oakwhiz> during the switching edge, the switch is less efficient
[07:33:46] <anton02> frequency
[07:34:03] <oakwhiz> there's also a gigantic current spike when the motor is turned on
[07:34:22] <JamesJRH> Right, so switching looses power due to the mid-way resistance while switching.
[07:35:10] <JamesJRH> anton02: What is “Rds”?
[07:35:32] <anton02> JamesJRH: mosfet drain-source resistance i think
[07:35:50] <JamesJRH> Oh.
[07:35:53] <anton02> sink*
[07:36:19] <oakwhiz> It's the resistance while in the saturation region.
[07:36:27] <JamesJRH> So R_ds then without the proper ability to subscript.
[07:36:42] <JamesJRH> Right.
[07:36:55] <oakwhiz> Wait actually what I said might not be correct
[07:40:44] <JamesJRH> So having been reminded of switching loses, I'd use a lower frequency and put a series inductor right next to the chip and a parallel capacitor next to the motor.
[07:42:29] <JamesJRH> Does the chip have to wake up each time a switch occurs, or is there a dedicated part of the chip that deals with PWM allowing the rest of the chip to sleep?
[07:43:01] <anton02> you wouldnt want the Fc of that lpf to be so low as to not let the frequency through
[07:44:04] <JamesJRH> What is the c for and what is lpf?
[07:44:52] <anton02> cut off frequency but now i think about it, that wouldnt matter because it doesnt matter if the motor sees the waveform it just cares about the effective voltage it sees
[07:45:05] <anton02> lpf = low pass filter
[07:45:25] <JamesJRH> Yeah, it doesn't matter.
[07:46:11] <anton02> in fact you'd probably want Fc to be above the frequency you send
[07:46:23] <anton02> to minimize switching
[07:48:26] <anton02> better option than a heatsink right
[07:48:48] <JamesJRH> The inductor just completely averages it out. It would constantly accelerate and decelerate slightly such that the average current turns out to be the right amount to maintain a voltage proportional to the duty cycle.
[07:49:07] <JamesJRH> What heatsink?
[07:49:20] <JamesJRH> Um.
[07:49:29] <JamesJRH> I missed something.
[07:49:43] <JamesJRH> A diode for flyback.
[07:50:37] <anton02> it won't average it out though was my point if you dont select the correct inductance
[07:51:13] <JamesJRH> Otherwise the inductor would ‘tug’ a large negative voltage spike each time the PWM output switches off.
[07:51:17] <anton02> heatsink for mosfet I mean. With lower losses you get less heat
[07:51:30] <JamesJRH> Right.
[07:53:14] <JamesJRH> anton02: Because of less switching, right? Wow, I didn't know it made such a difference. So if you have the MOSFET always on or off, do you not need a heatsink?
[07:54:16] <anton02> i'm not sure to be honest. Just thought of it as a possibility just now.
[07:55:17] <JamesJRH> But do you need a heatsink if the MOSFET is just always on or off?
[07:55:50] <JamesJRH> Because infrequent switching would approach that.
[07:56:07] <anton02> dunno. dont have much hands on experience
[08:11:56] <anton02> is this right: Timer 1 is the only timer on an atmega328 with 16bit output compare registers. So you're only able to use very large output compare match values for those 2 output pins or as an alternative you could set the prescaler to be high (64 for example) and this would then mean needing a lower TOP value.
[08:12:33] <xorm> if it's a relatively static condition then you dissipate pretty much only what the Rds(ON) value would entail
[08:13:10] <xorm> you can put a lot of current through a FET with no heatsinking given a low Rds(on) and long switching cycles
[08:13:14] <jadew> anton02, that’s correct
[08:13:28] <anton02> jadew: cool, thanks
[08:13:36] <jadew> np
[08:32:03] <JamesJRH> xorm: Oh of course, practically no power would be dissipated when off because R_ds is probably very high when off.
[08:32:34] <xorm> indeed, negligible
[08:33:11] <xorm> i can't remember a time i've cared about what a FET was doing when it was off
[08:35:16] <jadew> that reminded me about LOTR and now I want to watch harry potter all over again
[08:43:28] <xorm> this inductor comes in a "12560 SMD" package
[08:43:35] <xorm> i never knew such a thing existed!
[08:43:46] <xorm> but 12560 is a very satisfying number to look at
[08:46:04] <xorm> 2^2 * 5^5 + 2^2 * 3 * 5
[08:46:10] <xorm> i just had to do this to it
[08:46:34] <xorm> of course god knows how it actually factors
[08:47:04] <xorm> 2^4 * 5 * 157 apparently
[08:49:42] <anton02> jadew: what reminded you of LOTR?
[08:56:02] <jadew> anton02, the fact that xorm can’t remember a time when <...>
[08:56:11] <jadew> so I thought about the intro of LOTR
[08:56:41] <jadew> when the shire was being presented
[09:16:26] <anton02> is it possible to use a servo without ICR1?
[09:16:31] <anton02> hobby servo*
[09:32:29] <blathijs> Ey folks. Anyone here happen to have a tarball of the AVR8 toolchain 3.4.2 for Linux lying around?
[09:32:47] <blathijs> (the compiled toolchain as distributed by Atmel)
[09:32:58] <blathijs> It seems Atmel only offers the most recent version for download
[09:42:54] <blathijs> Ah, nvm, managed to guess the correct filename: http://atmel.com/Images/avr8-gnu-toolchain-3.4.2.939-linux.any.x86.tar.gz
[09:50:50] <twnqx> 3.4.2....
[09:50:55] * twnqx is t a loss of words
[09:59:23] <blathijs> twnqx: What for exactly? This is not gcc 3.4.2, but atmel toolchain 3.4.2 (which has gcc 4.7.something)
[09:59:54] <twnqx> 4.7... so old...
[10:00:06] <blathijs> And I'm trying to recreate a specific build of a bootloader, so I need the same compiler version that was used before
[10:00:19] <twnqx> i would just recreate it with 4.9.1
[10:00:37] <twnqx> :)
[10:01:11] <blathijs> I'm partly trying to confirm if a given source tree was actually used to create the bootloader used in production as well
[10:01:36] <blathijs> But it seems multiple compiler versions were mixed, so I'll just have to assume the source is correct...
[13:09:40] <Casper> Tom_itx: item out for delivery!
[14:11:41] <Casper> now... will the assh... err postman will deliver the package? or will he leave it at the post office...
[16:56:10] * [F_F] slaps bsdfox around a bit with a large trout
[18:18:45] <LeoNerd> Sooooo.. uhm. Given a SOIC8 chip, how do I know which side is pin 1 ?
[18:19:52] <LeoNerd> It lacks a dot or a circular dent in the case side
[18:20:44] <cmtptr> flip a coin
[18:24:37] <cmtptr> LeoNerd, is one side beveled?
[18:25:02] <cmtptr> one edge, rather
[18:27:05] <cmtptr> well alright, then
[18:27:16] <LeoNerd> Hi.. oops.
[18:27:22] <LeoNerd> cmtptr: Yes; I see a bevel along one edge
[18:27:30] <cmtptr> that's the side with pin 1
[18:27:34] <LeoNerd> Ahh. OK
[18:27:45] <LeoNerd> Ooh, that might explain what the extra line on the datasheet means then
[18:27:52] <cmtptr> :p
[18:33:05] <LeoNerd> OHYES.. I did it :)
[18:34:53] <cmtptr> you did pin 1??
[18:35:22] <LeoNerd> I did all 8. It's on the board
[18:35:35] <cmtptr> and then what happened?
[18:36:36] <LeoNerd> Well, now I need to see if I have any spare 220nF caps to test it with
[18:49:49] <Tom_itx> LeoNerd there is always some indication for pin 1
[18:51:57] <cmtptr> I suspect that he knows that, he just didn't know what it was in this case
[18:52:17] <Tom_itx> that's what data sheets are for
[18:52:56] <cmtptr> I for one haven't seen a data sheet yet that comes right out and says "look for this on the package."
[18:53:44] <Tom_itx> if you look at the mfg packaging one they do
[18:54:06] <cmtptr> whatevs. this is a stupid thing to argue about
[18:54:14] <Tom_itx> no argument
[18:56:32] <LeoNerd> Yah; I'm used to the circular dip on one end, or a dot to indicate pin 1; I've never seen this bevel before
[18:56:49] <LeoNerd> Thanks to cmtptr for pointing it out :) I now have two of these things nicely soldered up
[18:57:27] <Tom_itx> i've seen qfp with pin1 in the center of the row
[18:58:25] <cmtptr> qfps have a dot
[19:03:37] <LeoNerd> https://twitter.com/cpan_pevans/status/522532490402365441 :) Done
[19:04:39] <cmtptr> noice
[19:05:56] <Tom_itx> first time?
[19:07:24] <N1njaneer> Tom_itx: I know those stupid QFPs you speak of. Scrapped out a ton of boards years back since I accidentally grabbed a footprint with the mid-pin #1 arrangement and hadn't noticed :)
[19:07:46] <Tom_itx> yeah it can bite
[19:07:52] <Tom_itx> you're sure not looking for it
[19:08:04] <N1njaneer> Not at all.
[19:08:14] <N1njaneer> Pins should never start mid-device, like... ever!
[19:08:51] <LeoNerd> Yup.. first time I've made something smaller than 0.1" really
[19:09:43] <Tom_itx> time to graduate: http://tom-itx.ddns01.com:81/~webpage/temp/tiny/tinyTPI1.jpg
[19:10:42] <LeoNerd> Impressive
[19:10:47] <LeoNerd> SOT23 size?
[19:10:53] <Tom_itx> http://tom-itx.ddns01.com:81/~webpage/temp/tiny/tinyboard1.jpg
[19:11:00] <Tom_itx> yes, 3 traces under it too
[19:11:12] <Tom_itx> toner transfer
[19:12:20] <twnqx> slightly overetched, eh
[19:12:35] <twnqx> but pretty need, all in all
[19:12:42] * twnqx never got into making PCBs himself
[19:12:53] <Tom_itx> you get rough edges with toner
[19:13:20] <Tom_itx> not like a UV mask
[19:13:58] <twnqx> but it saves the extra step of developing the film, right?
[19:14:18] <Tom_itx> overall cheaper yes
[19:14:23] <twnqx> anyway, i personally think the time is over with boardhouses all over the place
[19:14:39] <twnqx> unless you want something NOW and not pay the surcharge
[19:14:49] <Tom_itx> that's the only time i make my own
[19:15:13] <twnqx> and i normally want two layers :P
[19:15:23] <twnqx> oh well, time to head to work
[19:15:27] <twnqx> bbl
[19:15:30] <N1njaneer> See ya twnqx
[19:15:34] <Tom_itx> i've used half dozen different board houses
[19:15:37] <Tom_itx> maybe more
[19:16:00] <Tom_itx> seeed was really the only one i didn't like
[19:16:03] <N1njaneer> Advanced and PCBUniverse have left nothing for want from me! They will match anyone else's prices on apples-apples
[19:16:22] <Tom_itx> advance is in Colorado aren't they?
[19:16:31] <Tom_itx> iirc
[19:16:41] <N1njaneer> Colorado, Arizona, and Minnesota now.
[19:17:37] <Tom_itx> http://tom-itx.ddns01.com:81/~webpage/boards/new_batch/cables2.jpg
[19:17:48] <Tom_itx> that's always a relaxing brake from soldering under a glass
[19:17:54] <N1njaneer> 3rd largest manufacturer of PCBs in the US now :)
[19:18:05] <Tom_itx> i wonder who laen uses
[19:18:17] <Tom_itx> ( the purple boards )
[19:18:28] <Tom_itx> i think he told me once but i forgot
[19:18:32] <N1njaneer> Anyone can make purple :)
[19:18:56] <Tom_itx> yeah but he's the only one doing protos in purple only
[19:19:16] <Tom_itx> started out as a crappy brown
[19:19:20] <N1njaneer> PCBUniverse will mix any combination of colors for you that you want as long as you pay a slight surcharge that isn't muh more than the color surcharge beyond just green.
[19:19:43] <N1njaneer> Advanced is now starting to offer the embedded passives now, too, in multi-layer stackups.
[19:19:52] <N1njaneer> Crazy expensive I'm sure.
[19:19:59] <N1njaneer> But daaaaaaaaaamn for density!
[19:20:00] <Tom_itx> http://tom-itx.ddns01.com:81/~webpage/boards/atmega32u4/atmega32U4_3.jpg
[19:20:06] <Tom_itx> that was his first attempt at purple
[19:21:04] <N1njaneer> Might need some white mixed in to bring up the color :)
[19:22:14] <anton02> Tom_itx: how do you control a hobby servo with avr? Because I mean, if you change the OCR value, that will mean your effective frequency changes, but servos require 50hz the whole time
[19:22:28] <Tom_itx> anton02 you should ask rue_house
[19:22:38] <Tom_itx> he's got avr code for 10bit servo control
[19:22:50] <Tom_itx> rue_house
[19:22:50] <rue_house> you should ask me what
[19:22:51] <Tom_itx> !!!
[19:23:05] <Tom_itx> servo code you ninny
[19:23:14] <rue_house> yes, 10 bit, true, runs on a 328p
[19:23:17] <rue_house> want?
[19:23:25] <anton02> rue_house: also do you know the answer to my above question?
[19:23:32] <rue_house> runs 9600 baud serial
[19:23:45] <rue_house> I dotn even know what the question is, how the hell should I know the answer
[19:23:58] <Tom_itx> how do you control a hobby servo with avr? Because I mean, if you change the OCR value, that will mean your effective frequency changes, but servos require 50hz the whole time
[19:24:03] <rue_house> want my 8 servo code or not?
[19:24:11] <Tom_itx> wanna answer the question?
[19:24:16] <anton02> rue_house: naw, im using analogue not digital
[19:24:17] <rue_house> I'll explain it in C
[19:24:45] <anton02> though i am using digital output pins
[19:24:51] <Tom_itx> they don't require 50hz the whole time, they need to be updated at that rate
[19:24:52] <anton02> to drive its signal
[19:25:11] <N1njaneer> Or bit-bang your PWM :)
[19:25:26] <N1njaneer> Or just do it from an FPGA and you can do whatever you want. :D
[19:25:34] <anton02> Tom_itx: yeah but they need to be updated via a 50hz wave right?
[19:25:46] <rue_house> nobody is interested in my answer are they?
[19:25:50] <N1njaneer> anton02: Depends on the servo
[19:26:00] <Tom_itx> rue_house, you're avoiding the question
[19:26:05] <anton02> rue_house: do you know the answer for analogue servos?
[19:26:09] <rue_house> I dont want to explain the code
[19:26:24] <rue_house> how about I thrust the ocde upon you and let you jsut see it
[19:26:41] <anton02> rue_house: but you said baud. Doesn't that mean serial?
[19:26:53] <Tom_itx> it's a serial servo controller
[19:27:43] <rue_house> the part that drives the servos still does it
[19:28:36] <anton02> alright, im interested to see
[19:28:38] <anton02> the code
[19:28:45] <N1njaneer> Pastebin?
[19:28:58] <rue_house> hold on
[19:29:10] <rue_house> the archive is made, figuring out where to put it
[19:29:29] * N1njaneer fights with setting up 4 SERCOMs on SAMD20
[19:30:26] <rue_house> http://ruemohr.org/~ircjunk/programming/hobbydriver.tgz
[19:30:29] <rue_house> ^^ there!
[19:32:15] <rue_house> all you have to do is rewrite AFTER sei() and modify position[x] with the value you want the servo to go to
[19:32:43] <rue_house> but do NOT use an interrpt to do it, or it'll throw out the servo pulse timing, do it all in main()
[19:34:33] <anton02> rue_house: if starting at position 0, can you just keep sending 2ms to reach position 180. or do you need to first send the signal to reach position 1 degrees, then 2 degrees and so on
[19:35:06] <rue_house> oooh you need a tutorial on how servos work
[19:35:07] <rue_house> well then
[19:35:26] <anton02> once i know the answer to that Q, ill completely understand them
[19:35:40] <N1njaneer> anton02: Simple servos just use the ratio of the PWM duty cycle to map the position of the servo.
[19:35:54] <rue_house> http://ruemohr.org/~ircjunk/tutorials/elex/hobbyservo/servo101.html
[19:35:59] <rue_house> ^^ read that
[19:36:05] <Tom_itx> anton02 you send the pulse you want to end at
[19:36:15] <rue_house> http://ruemohr.org/~ircjunk/tutorials/elex/hobbyservo/servo101.html
[19:36:16] <rue_house> http://ruemohr.org/~ircjunk/tutorials/elex/hobbyservo/servo101.html
[19:36:17] <Tom_itx> the servo will loop internally until it reaches it
[19:36:19] <rue_house> http://ruemohr.org/~ircjunk/tutorials/elex/hobbyservo/servo101.html
[19:36:37] * Tom_itx slaps rue_house
[19:36:49] * rue_house wakes up for a bit, then nods off again
[19:39:00] <rue_house> Tom_itx, where is your link on how servos work?
[19:41:28] <N1njaneer> Yay, 2 of 4 SERCOMs online...
[19:43:27] <rue_house> anton02, understand yet?
[19:45:02] <Casper> Tom_itx: I have a small issue with the programmer, I'm sure it's me, but... I appear to get nothing on it's output...
[19:45:18] <rue_house> windows or linux?
[19:45:23] <Casper> linux
[19:45:25] <Casper> as root
[19:45:31] <rue_house> what command line are you using?
[19:45:45] <rue_house> usbinstall:
[19:45:45] <rue_house> avrdude -c avrisp2 -P usb -p m328p -e -U flash:w:$(PRG).hex
[19:45:50] <rue_house> thats like what I use
[19:46:04] <Casper> hmmm -P usb..
[19:46:17] <rue_house> :)
[19:46:26] <anton02> rue_house: so i see you do it using the CTC rather than PWM register bit
[19:46:40] <Casper> ah AH! I get reset now!
[19:46:40] <rue_house> waaaay more resolution
[19:46:43] <Casper> thanks!
[19:46:49] <rue_house> np
[19:47:07] <Casper> I assumed that avrdude would be bright enought to go usb...
[19:47:12] <Casper> ... do not assume...
[19:48:42] <rue_house> anton02, could get more if I pushed the first 8000 into a different timing cycle
[19:48:51] <rue_house> I was happy with 10+bits
[19:48:55] <anton02> i wonder if virii have ever been considered as ending prehistoric dinosaurs
[19:49:32] <rue_house> were pretty sure it was the winter caused by the meteor
[19:50:03] <anton02> ebola got me thinking
[19:53:09] <anton02> rue_house: so once it reaches output compare match, do you then pull the pin high, delay in software for a brief moment, then pull low again?
[19:53:10] <Casper> rue_house: atmega88pa... they use mosi/miso/sck/reset right? or they use other pins?
[19:55:42] <Casper> because I have 2 unresponsive chip... so I wonder if both are dead (possible) or if they are like the mega128...
[19:59:13] <N1njaneer> Casper: 48/88/168/328 uses MOSI/MISO/SCK/RESET yet
[19:59:15] <N1njaneer> +yes
[19:59:28] <Casper> ok... so I have 2 dead chips
[19:59:30] <Casper> ow well...
[19:59:37] <N1njaneer> Pins 15, 16, 17, 29 on the TQFP package
[19:59:48] <N1njaneer> Sure you have valid clock?
[19:59:54] <Casper> yes
[19:59:55] <N1njaneer> ISP won't run without valid clock
[20:00:19] <Casper> tried a 5MHz squarewave and a 20MHz sinewave
[20:00:23] <N1njaneer> Checked programmer speed?
[20:00:39] <Casper> 2 different programmers
[20:00:46] <N1njaneer> Try lower speed waveform (like 1Mhz or less) and slowest speed possible on programmer.
[20:00:54] <N1njaneer> Did you check the speed on the programmer bus, though?
[20:00:59] <Casper> no
[20:01:12] <N1njaneer> Set it as slow as it will go and try a chip read.
[20:01:17] <N1njaneer> chip +ID read
[20:01:44] <Casper> can you slow down tom's programmer?
[20:04:36] <anton02> rue_house: i guess the downside of your code is that it requires two different timers right? One for pulling the pin high and one for pulling it low.
[20:20:01] <rue_house> one timer starts the output pulese such that theya re timed to produce 50hz on cheach channel
[20:20:26] <rue_house> the other time stops the pulse 1 to 2ms later
[20:21:18] <rue_house> yea, yhoou have to have a valid clock source for the avr to program it
[20:21:44] <rue_house> thats why toms programmers have a 4mhz oops clock, so you can recover fuses
[20:22:38] <Tom_itx> Casper you can but it's prety slow by default
[20:22:49] <Tom_itx> 250khz iirc
[20:22:57] <Casper> Tom_itx: ok
[20:23:07] <Casper> so that confirm that the chips I have are dead
[20:23:16] <Tom_itx> and there is an internal clock pin on the programmer but you gonna open it up to get to it on the blue one
[20:23:19] <Tom_itx> 4Mhz
[20:23:25] <Tom_itx> labelled "Clock"
[20:23:32] <Tom_itx> i think
[20:23:41] <Casper> I most likelly got a bad batch of mega88pa... or counterfeit ones... all of them never worked well
[20:24:12] <Tom_itx> i test each programmer just before it goes into the static bag so i know it works
[20:24:16] <Casper> of course, digikey give no support, and atmel say they never had any issues and that they all pass quality control and all...
[20:24:57] <Casper> now... I'll wire up the 328 soon and will see the speed
[20:25:24] <anton02> rue_house: which atmega which is the code for?
[20:26:58] <N1njaneer> Casper: We've never really sees bad ones outright from DigiKey in the thousands we've ordered. I would sleuth a bit deeper.
[20:27:42] <Tom_itx> Casper i'm not sure how you set it in avrdude but you can increase the ISP clock rate from the default
[20:27:50] <Tom_itx> it does become the new default
[20:28:18] <Tom_itx> just make sure it's 1/4 the clock rate or less
[20:29:09] <Casper> N1njaneer: yeah, well, I have them since a few years... some never programmed, one never identified... some crashed...
[20:29:22] <Casper> so those 2 left might be those that didn't programmed :D
[20:29:47] <Casper> but now... let's take a bath... bbl
[20:29:53] <N1njaneer> We've rarely seen problems with the actual silicon, though we did send a few devices to the Atmel Norway office to investigate :)
[20:30:13] <N1njaneer> Anything is possible!
[20:30:20] <Casper> yeah
[20:30:41] <Casper> but my reading online has show that I wasn't alone, and on many avr parts
[20:30:53] <Casper> so there was maybe something going on
[20:31:00] <Casper> but... bbl
[20:31:04] <anton02> rue_house: do all of your servos need to be on PWM output pins?
[20:31:16] <Tom_itx> anton02 i doubt it
[20:31:54] <anton02> Tom_itx: what's the difference between using CTC and using a PWM pin? Is CTC more CPU intensive?
[20:32:24] <Tom_itx> i don't think i've used CTC mode
[20:32:59] <anton02> by CTC i just mean that it goes into the ISR vector
[20:33:25] <Tom_itx> he said don't use interrupts
[20:33:31] <Tom_itx> didn't he?
[20:34:56] <anton02> Tom_itx: i don't know what he meant by that because he's already implemented 2 ISRs
[20:35:54] <Tom_itx> well you'll have to ask him when he wakes up
[20:36:37] <anton02> Tom_itx: i found an answer here http://electronics.stackexchange.com/questions/108193/why-shouldnt-i-brute-force-pwm
[20:36:49] <anton02> that's not really brute force in the traditional sense though
[20:37:01] <anton02> he's using an ISR, not delaying
[20:37:18] * Tom_itx slams anton02's head on the table to demonstrate brute force
[20:37:49] <Tom_itx> i didn't look at his code
[20:38:00] <Tom_itx> i just knew he had it
[21:02:50] <rue_house> anton02, none of them are on pwm pins
[21:02:57] <rue_house> see the comments at the top of the code
[21:03:28] <rue_house> it useses the interrupts of 2 timers
[21:05:55] <anton02> rue_house: i think ill just drive my servo at 250hz
[21:07:07] <rue_house> sorry,m i fell asleep, I'm awake how
[21:07:08] <rue_house> now
[21:07:11] <rue_house> kinda
[21:07:29] <rue_house> anton02, you cant drive them at 250hz
[21:07:51] <rue_house> like the document said, they need the time between the pulses to do their position correction
[21:07:58] <rue_house> if you send pulses too fast they will burn out
[21:08:02] <rue_house> and not work properly
[21:08:12] <anton02> rue_house: oh right, you can go lower but not higher
[21:08:21] <rue_house> needs to be 1-2ms pulses at a 50 or 60hz rate
[21:08:35] <rue_house> if you go lower, the servos will not really hold their postion well
[21:09:19] <rue_house> the way I did it produces one of the most accurate timing pulses you can
[21:09:45] <rue_house> if you use standard code for driving a servo, they pulses varry by a few ns, which causes the servos to jitter
[21:09:59] <rue_house> makes robots look like they have parkinsons
[21:10:32] <anton02> rue_house: just trying to find the most cpu inintensive way to go to one of two positions, either 0 degrees or 180 degrees. Anywhere in between won't be required
[21:10:39] <anton02> unintensive*
[21:10:49] <rue_house> the interrupts are the least work method
[21:11:02] <rue_house> ooh hmm
[21:11:16] <rue_house> if your not interested in a bunch of resolution
[21:11:29] <rue_house> there are prolly a number of other ways
[21:11:41] <rue_house> but realize that also means you will have NO speed control
[21:11:53] <anton02> max speed is okay i guess
[21:11:55] <rue_house> are you just making a lock?
[21:12:30] <anton02> nah, a car powered by a fan's thrust needs to rotate 180 degrees depending on whether it wants go forwards or backwards
[21:12:50] <N1njaneer> Why not just reverse the direction of the fan?
[21:12:58] <rue_house> why not just reverse the fan
[21:12:58] <anton02> polarity of the blades
[21:13:18] <rue_house> its like a helicopter blade?
[21:13:32] <N1njaneer> I hate when I hook my fan blades up backwards!
[21:13:40] <anton02> yep
[21:14:01] <rue_house> so, varrying the pitch will also give you speed control of the vehicle
[21:14:14] <rue_house> means more than 0 or 180
[21:14:20] <anton02> i cant change pitch
[21:14:39] <rue_house> so they aren't like helicopter blades that you can change the pitch
[21:14:55] <anton02> no just as in fixed polarity
[21:15:05] <rue_house> and you cant just reverse them, intersting
[21:16:15] <rue_house> well, I think my library is pretty good for 'just throw it in'
[21:16:25] <N1njaneer> What happens if you just reverse them? :)
[21:16:26] <rue_house> as long as you have the right clock rate its all calculated
[21:16:36] <rue_house> and it'll run 8 servos...
[21:16:44] <rue_house> how many srevos you need to run then?
[21:17:05] <anton02> so i need a 50hz wave, where i can change duty cycle from 10% to 5%
[21:17:18] <anton02> just 1 servo
[21:17:26] <anton02> 10% = 2ms
[21:17:40] <anton02> 5% = 1ms
[21:17:55] <anton02> 2ms = 180 degrees, 1ms = 0 degrees
[21:18:23] <anton02> problem is the prescalers dont guy high enough to give me 50hz off the bat
[21:19:06] <N1njaneer> Mmmm, FPGA
[21:19:12] <anton02> what's that
[21:19:24] <N1njaneer> Field Programmable Gate Array :)
[21:19:42] <N1njaneer> Would do exactly what you need with clock-cycle accuracy for PWM outputs, though a bit more complex.
[21:20:06] <N1njaneer> Trivial to drive dozens of servos with as much bit accuracy as you want from a single chip.
[21:20:20] <N1njaneer> Since you're programming at the register-transfer level.
[21:20:37] <N1njaneer> Then talk to it from your Atmel via SPI, or whatever interface you like.
[21:21:25] <N1njaneer> Just a thought :)
[21:22:03] <N1njaneer> I did one a number of years back with 128 channels of PWM out of the single FPGA
[21:22:55] <N1njaneer> It's a great solution if you need a lot of servos and you need extreme accuracy at high update rates.
[21:23:08] <N1njaneer> Zero timing jitter, too, since the fabric is 100% deterministic.
[21:23:12] <anton02> actually, i think i found a way. phase correct PWM
[21:23:29] <anton02> ill check the lowest freq i can get
[21:24:56] <anton02> yep i can get as low as 30hz
[21:26:48] <N1njaneer> Awesome!
[21:27:40] <anton02> then i just need to change the OCR value to change the duty cycle
[21:32:50] <rue_shop2> anton02, or just use my code
[21:34:13] <anton02> rue_shop2: it's just that im already using timer1 as a millis() counter. Also did you know that your method qualifies as 'bit banging'?
[21:34:28] <rue_shop2> you COULD also make a 555 circuit that by outputting a 1 or 0 to would automatically generate the two position pulses
[21:34:37] <anton02> rue_shop2: http://electronics.stackexchange.com/questions/108193/why-shouldnt-i-brute-force-pwm
[21:34:43] <anton02> according to them anyway ^
[21:34:47] <rue_shop2> anton02, the millis() isn't as accurate as what I did
[21:35:04] <rue_shop2> if you get a servo that jitters, its not my fault :)
[21:35:09] <anton02> rue_shop2: im not using millis for servo
[21:35:20] <anton02> rue_shop2: as that would be too CPU intensive
[21:35:42] <rue_shop2> yea, the start pulses can be all over the place
[21:35:57] <rue_shop2> the timing pulses need to be within nanoseconds
[21:36:02] <rue_shop2> to not jitter
[21:36:11] <N1njaneer> I'm telling you... FPGAs :)
[21:36:20] <anton02> mind you, this method would only work with a 328p, not 328. cause lowest freq you can get at 16Mhz is 60hz
[21:36:25] <rue_shop2> that code has lots of carefull engineering to it
[21:37:37] <rue_shop2> and its been tested with a scope :)
[21:38:03] <rue_shop2> if everyone who wrote pwm servo code put it on a scope, they would know why their servos jitter
[21:38:20] <rue_shop2> the pulses from avrlib are all over the map
[21:38:43] <anton02> rue_shop2: question is can i still use it without it interrupting my millis funcitonm
[21:38:56] <anton02> which uses timer1
[21:39:59] <rue_shop2> ooo
[21:40:08] <rue_shop2> my code needs you to leave those timers alone
[21:41:26] <rue_shop2> there is a pwm chip, sold on ebay as a 16 bit servo controller, which is halarious, by the time you have it makeing servo pulses its worse than 7 bit
[21:42:02] <rue_shop2> I realize it dosn't matter in your case, but I find it funny
[21:43:26] <anton02> actually, i was wrong about phase-corrected pwm not working with 328. it would have an even lower frequency. 328p=36hz 328=30hz. 328p would still be better therefore due to it being closer to 50hz
[21:44:24] <rue_shop2> if your anywhere between 48 to 65hz your prolly fine
[21:44:38] <rue_shop2> it might chainge the gain a bit
[21:45:26] <anton02> rue_shop2: why not 20hz
[21:46:05] <rue_shop2> the correction pulses wont line up
[21:46:38] <rue_shop2> the servos correction gain is a function of the update pulse rate
[21:46:52] <N1njaneer> Hooray, all four SERCOMs now happy.
[21:47:03] <rue_shop2> unless its a true digital servo
[21:47:07] <N1njaneer> Time for GPIO wrangle, and then I can port in the rest of this code.
[21:48:43] <anton02> rue_shop2: what's a correction pulse?
[21:49:50] <rue_shop2> your control pulse
[21:50:01] <rue_shop2> did you read that document on how servos work?
[21:50:04] <rue_shop2> no....
[21:50:21] <anton02> what do you think the likelihood is that it will work at 36hz
[21:51:02] <rue_shop2> it prolly wont turn smoothly, it'll pause in the middle a bit
[21:51:06] <rue_shop2> middle(s)
[21:51:45] <anton02> it should be at least half speed though right?
[21:51:49] <anton02> 25hz = half speed?
[21:55:22] <rue_shop2> no
[21:55:33] <rue_shop2> di you read the document I wrote on how servos work?
[21:56:17] <rue_shop2> http://ruemohr.org/~ircjunk/tutorials/elex/hobbyservo/servo101.html
[21:56:18] <rue_shop2> http://ruemohr.org/~ircjunk/tutorials/elex/hobbyservo/servo101.html
[21:56:18] <rue_shop2> http://ruemohr.org/~ircjunk/tutorials/elex/hobbyservo/servo101.html
[21:56:18] <rue_shop2> http://ruemohr.org/~ircjunk/tutorials/elex/hobbyservo/servo101.html
[21:56:18] <rue_shop2> http://ruemohr.org/~ircjunk/tutorials/elex/hobbyservo/servo101.html
[21:56:19] <rue_shop2> http://ruemohr.org/~ircjunk/tutorials/elex/hobbyservo/servo101.html
[21:56:20] <rue_shop2> http://ruemohr.org/~ircjunk/tutorials/elex/hobbyservo/servo101.html
[21:56:22] <rue_shop2> http://ruemohr.org/~ircjunk/tutorials/elex/hobbyservo/servo101.html
[21:56:24] <rue_shop2> http://ruemohr.org/~ircjunk/tutorials/elex/hobbyservo/servo101.html
[21:56:26] <rue_shop2> http://ruemohr.org/~ircjunk/tutorials/elex/hobbyservo/servo101.html
[21:56:31] <rue_shop2> read that and then ask me things
[21:56:32] <anton02> this question isnt address there
[21:57:06] <anton02> A loaded servo, will never be able to completely correct the error, so the motor will be recieving correction pulses every time there is a control pulse, and the motor will draw current for that period, which is proportional to the load on it.
[21:57:10] <anton02> nvm
[21:57:45] <anton02> but if its load is so low that it's close to no-load torque conditions it will still rotate
[21:58:52] <rue_shop2> each pulse causes it to get a pulse thats proportionate to the difference in the internal and control pulse
[21:59:22] <rue_shop2> so, the first pulse it'll get a big motor pulse, then it might be smaller for the next one, cause its moved closer
[21:59:28] <rue_shop2> then smaller again
[21:59:33] <rue_shop2> so it'll step
[21:59:43] <rue_shop2> if you spread out the pulses
[21:59:55] <rue_shop2> | | | | | |
[22:00:06] <rue_shop2> where the right side is the destination
[22:00:36] <rue_shop2> if your pulses are at the right rate, it'll not stop in between (on the lines)
[22:01:11] <rue_shop2> iirc I takes a servo about 5 pulses when its on the position you want it to be, to make it decide that IS where it wants to be
[22:01:12] <Tom_itx> ^^ really?
[22:01:22] <rue_shop2> Tom_itx, you try it!
[22:01:31] <rue_shop2> put your scope on the internal pot
[22:01:38] <rue_shop2> its fed by a ~2.2V supply
[22:01:52] <Tom_itx> like 10 posts all the same...
[22:02:23] <rue_shop2> he didn't catch the first 10 did he?
[22:02:35] <Tom_itx> you're not gonna talk him into it
[22:02:52] <Tom_itx> so go build your arm
[22:04:05] <rue_shop2> I am!
[22:04:18] <rue_shop2> I'm crying over what i'v done to all my carbide bits!
[22:04:20] <Tom_itx> and i'm too pooped to do anything at all righ tnow
[22:04:32] <Tom_itx> did you abuse them?
[22:04:52] <rue_shop2> well all 3 tips are shattered off them all...
[22:05:12] <Tom_itx> you're using the wrong feedrates then
[22:05:29] <rue_shop2> on all 3 holders
[22:05:46] <rue_shop2> and dropping, and taking them in too far and having upforce on them
[22:05:57] <Tom_itx> i finally found a happy speed for the plastic boxes so the bit doesn't load up and it doesn't get hot and melt
[22:06:33] <Tom_itx> i could run air or mist on it and run it faster but i don't want to
[22:07:04] <rue_shop2> I heard that just air goes a long way
[22:07:04] <Tom_itx> insert cutters?
[22:07:08] <rue_shop2> yea
[22:07:13] <rue_shop2> the triabgular ones
[22:07:14] <Tom_itx> get some more inserts
[22:07:19] <rue_shop2> $$$
[22:07:23] <Tom_itx> want a Sanvik catalog?
[22:07:30] <rue_shop2> at the rate I'm just destroying them, I'm not allowed to have more
[22:07:34] <Tom_itx> i bet ebay has some
[22:07:37] <rue_shop2> yea
[22:07:42] <rue_shop2> but I'm just wrecking them
[22:07:50] <Tom_itx> but you don't know what your getting there
[22:08:11] <rue_shop2> these were good ones from the big expensive machine shop
[22:08:12] <Tom_itx> stop abusing your lathe or i'll come take it from you
[22:08:33] <rue_shop2> every so often I burn the edge off a HSS bit too
[22:08:51] <Tom_itx> you need this feed/speed app for your phone
[22:09:47] <Tom_itx> http://zero-divide.net/index.php?page=fswizard&shell_id=199&load_tool_id=27011
[22:10:10] <N1njaneer> HSS is often better for plastic than carbide, as it tends to be sharper.
[22:10:18] <Tom_itx> http://zero-divide.net/index.php?page=fswiz_mobile
[22:10:26] <Tom_itx> there's the mobile site
[22:10:41] <Tom_itx> N1njaneer i tried it and they just dulled quicker
[22:10:47] <N1njaneer> I have nice carbide inserts on my facemill :)
[22:10:59] <N1njaneer> Can rotate them when they get dull.
[22:11:07] <Tom_itx> i've been using the same cutter for dozens of boxes
[22:11:11] <N1njaneer> Tom_itx: What's your max RPM?
[22:11:21] <Tom_itx> i run it around 3000
[22:11:55] <Tom_itx> it'll go higher but that's a good place for it
[22:12:20] <N1njaneer> Cool :)
[22:12:34] <Tom_itx> i've got belt issues if i go any higher
[22:12:37] <N1njaneer> I've found coolant to be useful to keep plastic from sticking to high-speed bits.
[22:12:49] <Tom_itx> i really wanna find a timing belt / pulleys for it
[22:13:09] <Tom_itx> i've used coolant in the past but i don't wanna crud these all up
[22:13:18] <Tom_itx> or spend time cleaning em
[22:14:22] <Tom_itx> ^^ that's a pretty good calculator if you're into that sort of thing
[22:15:04] <Tom_itx> http://www.onsrud.com/plusdocs/Doc/index.html?model.code=FeedSpeeds
[22:15:10] <Tom_itx> that's a good one for various materials
[22:15:15] <Tom_itx> for chip load
[22:16:57] <Tom_itx> http://www.daycounter.com/Calculators/GCode/Feed-Rate-Calculator.phtml
[22:17:02] <Tom_itx> and another decent one
[22:18:25] * Casper waves
[22:20:08] * rue_shop2 waves
[22:20:27] <rue_shop2> Casper, wait crowd waving or 3am goodnight waving?
[22:20:51] <Casper> or just randomly waving
[22:21:33] <rue_shop2> random waiving is failing
[22:21:37] <Casper> now, what do I do, I have 1 hour left :D
[22:22:04] <Casper> do I shop for avr... or do I waste time... or do I shop for the caps I need for work...
[22:23:14] <Casper> need some 25V/1000µF and some 16V ones... and some 25V 470µ and 35V 100µ and 25V 330µ 680µ 820µ
[22:24:42] <rue_shop2> "and lead to a fnancial structure wher ethe income revenue of a buniness was strictly defined by its holiday sales, so many holidays were created that incomes went up, due to everyone working on a holiday
[22:28:26] <Casper> ... man ISIS are stupid...
[22:28:53] <Casper> are they trying to break the record of the one to piss off as many "camps" as possible?
[22:29:09] <Casper> c'mon.. they threaten country and now religions...
[22:29:30] <Casper> it look to me as if they try to get all of the world against them...
[22:33:42] <brabo> to me it doesn't look like they're trying..
[22:36:09] <Casper> right
[22:36:14] <Casper> they succeded already
[22:37:06] <Casper> Tom_itx: with a working chip, it work :D 1.2k in 0.4s not too bad
[22:37:28] <brabo> Casper: ye
[22:37:46] <brabo> it's all pretty fucked up
[22:38:00] <Casper> much better than the bit bang serial one I have... that did it in like 2 minutes over a usb-serial :D
[22:38:25] <Casper> brabo: but it just prove that they have no goal but to cause blood to spill
[22:38:52] <brabo> it's just history repeating
[22:39:01] <brabo> very sad
[22:39:18] <brabo> but apparantly mankind isn't *that* evolved :p
[22:40:12] <Casper> nope
[22:40:20] <Casper> when I used to have a good channel...
[22:40:36] <Casper> people said I was hard on idiots
[22:40:39] <brabo> and conficius knew this so much time ago hehe
[22:40:45] <Casper> you know, those that flood and cause issues...
[22:40:49] <Casper> perm ban right away...
[22:40:59] <Casper> people always said I was too rought...
[22:41:03] <brabo> naah
[22:41:13] <brabo> irc can be like the jungle
[22:41:15] <Casper> letting them get in was always a matter of minutes before they started again
[22:41:30] <Casper> then second ban, then more complains...
[22:41:35] <brabo> especially certain networks :p
[22:41:51] <Casper> but irc is just a mirror of the world
[22:42:03] <brabo> ye
[22:42:19] <Casper> they hide behind mask and "religion"
[22:42:33] <Casper> but in reality, they are just troublemakers...
[22:42:40] <brabo> it's not real, altho friendships can come to existence, and i think those can be real
[22:43:46] <Casper> yeah..
[22:44:06] <Casper> sadly, often a good online friend... can't become real life one due to distance
[22:44:16] <Casper> got a few ones over the years
[22:44:35] <Casper> "closest" was 'only' a 7 hours drive
[22:44:36] <brabo> well, not real, it depends.. you have many places online where idiots reside galore, but you also have lots of more private circles where it's okay
[22:44:48] <Casper> plus one country change
[22:44:56] <brabo> aw
[22:44:59] <brabo> well
[22:45:08] <Casper> another one was only a 14 hours drive
[22:45:08] <brabo> i am lucky to have several
[22:45:16] <brabo> some in my own city
[22:45:25] <Casper> and another one... brasil is a bit far from canada you know :D
[22:45:30] <brabo> some other cities of my country or a neigbouring
[22:45:41] <brabo> Casper: haha no kidding ;)
[22:46:02] <Casper> she almost came to visit me
[22:46:21] <brabo> i luckily live in western europe, lots of relatively small countries on top of each other
[22:46:38] <Casper> 'unfortunatelly' she got a boyfriend... and then a baby...
[22:46:44] <brabo> so it's still logical to have friends in other countries :)#
[22:47:03] <Casper> she was an hotess for japan airline, had very good price on some airplane tickets
[22:47:37] <brabo> lol
[22:48:07] <Casper> 80% rebate she said