#garfield | Logs for 2016-04-16

Back
[00:00:04] <katsmeow> aka "you can break this!"
[00:00:25] <rue_shop3> the only one I dont know if I can beak is the dyneema
[00:00:32] <rue_shop3> I was watching some videos fro dyneema
[00:00:38] <rue_shop3> they say its wear resistant
[00:01:16] <katsmeow> it acts like nylon, slick, slight stretch under heavy load
[00:01:39] <rue_shop3> and it IS stronger than stainless
[00:01:41] <rue_shop3> per size
[00:02:01] * katsmeow nods
[00:02:02] <rue_shop3> the video demo, the dyneema was about 5% stronger
[00:02:10] <rue_shop3> not a LOT, but more.
[00:02:20] <katsmeow> and limper, wraps arouond smaller pulleys easily
[00:02:31] <rue_shop3> my robots dont work hard
[00:02:49] <rue_shop3> even worrying about wear is silly
[00:02:54] <katsmeow> ok
[00:03:04] <rue_shop3> its the engineer in me
[00:03:47] <rue_shop3> ok, I will pay 2x for 1/10 of the material, so I can evialuate it
[00:04:02] <rue_shop3> if I like it, I can buy the 180m
[00:04:17] <katsmeow> wb
[00:04:52] <katsmeow> if you can servo everything, and combine shipping, the 180 is prolly the best deal
[00:05:18] <rue_shop3> but I bought like 300m of 0.8mm bare stainless
[00:05:23] <zhanx> Shower was nice
[00:05:29] <katsmeow> o
[00:05:44] <rue_shop3> and a binch of 0.6mm
[00:05:55] * rue_shop3 swaps the i and u keys
[00:06:00] <katsmeow> shower was too short, zhanx, as a civilian you can use twice the time and water if you like
[00:06:25] <zhanx> I am getting better at it
[00:06:28] <rue_shop3> and 20 pcs attiny26 SOIC
[00:06:43] <rue_shop3> I need to design adc baords for them
[00:07:33] <rue_shop3> katsmeow, what do you know about the cutoff freq selection for passive filter to an ADC?
[00:07:56] <katsmeow> google nyquist
[00:07:58] <rue_shop3> at samplerate/2 you prolly wanna be more than -3db
[00:08:03] <rue_shop3> er ay
[00:09:20] <rue_shop3> maxim is prolyl gonna use some crazy freaking filter chip for each channel
[00:09:35] <rue_shop3> why did maxim change their logo again?
[00:10:10] <katsmeow> i dunno
[00:11:54] <rue_shop3> dear god,, I'm 75% thru the article and they just started about anti-alias filters
[00:12:59] <rue_shop3> oh yea, there they go, they are listing filter chips
[00:13:14] <rue_shop3> and there is the end of the article
[00:13:25] <rue_shop3> nothing about where to set your -3db
[00:13:56] <katsmeow> why -3db? many poeple would use a brick-wall 12 or 18 db higher up
[00:16:01] <rue_shop3> real numbers
[00:16:21] <rue_shop3> 14 bit adc, +-0.5lsb, would be 90db attenuation
[00:16:50] <katsmeow> :-/
[00:17:35] <rue_shop3> ok, so, this makes sense, I need to know what 0.5lsb of my signal is, and hit that point at the nyquist freq
[00:29:41] <rue_shop3> so lets say 5V
[00:29:45] <rue_shop3> 10 bits
[00:29:58] <rue_shop3> 1023
[00:30:13] * katsmeow says it out loud
[00:30:13] <rue_shop3> 0.00488759V
[00:30:43] <rue_shop3> but
[00:30:55] <rue_shop3> how many db is 1023
[00:30:56] <katsmeow> unless you have +/- 50v psu n your amps
[00:31:05] <katsmeow> it isn't db
[00:32:00] <rue_shop3> THE dynamic range of your ADC is calculated as DR= 6.021*N + 1.763 dB where N= is the number of bits i.e 12 bit DR= 74dB.
[00:32:02] <rue_shop3> ok...
[00:32:03] <rue_shop3> so
[00:32:39] <rue_shop3> about 62db for a 10bit adc
[00:32:59] <rue_shop3> now I wonder what the sample rate of the tiny26 is
[00:33:31] <katsmeow> oh, between 1 bit and 10 bits is ~80 voltage db, or 40db in power
[00:33:47] * katsmeow has a chart
[00:33:48] <rue_shop3> lets use 260us conversion
[00:34:14] <rue_shop3> divided by 11 channels
[00:34:19] <katsmeow> 3846 converts/sec
[00:34:34] <katsmeow> 350 converts/sec
[00:35:18] <rue_shop3> ok, so
[00:35:26] <katsmeow> 2.86 ms tween converts per channel
[00:35:40] <rue_shop3> at 700hz, you want to be at -62db?
[00:36:14] <rue_shop3> or 175hz
[00:36:16] <katsmeow> ummm
[00:36:24] <rue_shop3> brain failure
[00:36:34] <rue_shop3> nquist is at sample rate/2
[00:36:50] <rue_shop3> so at 175Hz, you want to be at -62db
[00:36:51] <katsmeow> are you sampling a dc voltage, a slow mechanical movement, or an mp3?
[00:37:00] <rue_shop3> movement
[00:37:20] <katsmeow> [00:12] <rue_shop3> so at 175Hz, you want to be at -62db <<== i have no clue where you get that data
[00:37:40] <rue_shop3> the -62db should be about +-1lsb
[00:37:57] <rue_shop3> the idea, is that at the nyquist freq, your +-1lsb
[00:38:12] <rue_shop3> 10db/decade
[00:38:14] <rue_shop3> ...
[00:38:25] <rue_shop3> (I just want to see where this goes)
[00:39:13] <katsmeow> <rue_shop3> lets use 260us conversion ; [00:10] <katsmeow> 3846 converts/sec ; [00:10] <rue_shop3> divided by 11 channels ; [00:10] <katsmeow> 350 converts/sec <<== is anything on the robot moving even 1% of that
[00:39:40] <rue_shop3> if it is, its prolly flying off
[00:39:49] <rue_shop3> :)
[00:40:06] <rue_shop3> oh god, wait
[00:40:14] <rue_shop3> passive filter is 3db/decade
[00:40:25] <rue_shop3> over 62db
[00:40:31] <rue_shop3> is gonna be like .00000000175hz
[00:40:42] <katsmeow> yeas, so you have an acceptable range, if it's ut of range, it's bad data, either moving too fast or a connector fell off or a grug screw loostened or a servo driver shorted, etc etc
[00:41:05] <rue_shop3> I want to filter out noise, I have the wrong approach
[00:41:08] <katsmeow> hence the 3-pole brickwall filtering
[00:41:16] <rue_shop3> I will need to take it from a mechanical standpoint
[00:41:45] <rue_shop3> so, lets say maximum joint roation speed is...
[00:41:52] <rue_shop3> 2rps?
[00:42:02] <rue_shop3> 3RPS?
[00:42:05] <katsmeow> that's pretty fast
[00:42:15] <rue_shop3> yea, I think thats lots of allowance
[00:42:36] <katsmeow> count your elbo joint and divide by 4 to get a full rev
[00:42:55] <rue_shop3> 3RPS is 1080 degrees/second
[00:43:50] <katsmeow> then at 3rpm and 350 converts/sec, you get a sample every 3 degrees
[00:44:10] <rue_shop3> ooo nice number
[00:44:41] <rue_shop3> I was going to say, maximum joint movement I'v seen, for a joint is 180 (its less)
[00:44:45] <rue_shop3> and thats 0-5V
[00:44:59] <katsmeow> i assume you will be trying to input all that data and do trigonometry on it, best of lucks
[00:45:28] <rue_shop3> 180 degrees, would happen in, for this case,
[00:46:11] <rue_shop3> 167ms
[00:46:44] <rue_shop3> about 2.9ms per sample
[00:46:51] <katsmeow> honestly, i would build a portion (an arm, perhaps), and test, you have oscope, i figure you need rf filtering and low impedances, and you'll be fine
[00:47:04] <rue_shop3> 57 samples per 180...
[00:47:20] <rue_shop3> yup, thre is the ~3 degrees
[00:47:36] <katsmeow> i think you will find you reach a point he tendons rip off the bones tryong to flood the adc, but your math mungers will get overloaded well before that
[00:48:01] <rue_shop3> well, I need to design an adc board that will work for the servo loop
[00:48:20] <rue_shop3> I'm just designing the adc board
[00:48:27] <rue_shop3> around the tiny26
[00:48:43] <rue_shop3> cause its 11 10 bit channels for about $1.20
[00:49:04] * katsmeow nods
[00:49:05] <rue_shop3> er, sorry, 83c
[00:49:29] <rue_shop3> I need to make sure I come up with a really time critical ssytem for it
[00:50:07] <katsmeow> and a cache, because the cpu it's feedng cannot say "sample this right now" if the adc is running full blast in circles
[00:51:13] <rue_shop3> well, as long as all the timing is stable it should be ok
[00:51:27] <rue_shop3> you dont need 0 latency, you just need it fixed
[00:51:52] <rue_shop3> like T1
[00:51:56] <katsmeow> write to a cache, let the spu ask for it's data there, it won't be any faster to ask the adc chip
[00:52:27] <rue_shop3> the tiny26 will send data via serial
[00:52:31] <katsmeow> it's going to be so slow, relatively, you can write all the dat to one single sram
[00:52:41] <rue_shop3> I'm thinking that the recievers will be hardware
[00:53:00] <rue_shop3> and the cpu just accesses the values like ram
[00:53:22] <rue_shop3> 8051 processor
[00:53:27] <rue_shop3> for n servo loops
[00:53:49] <rue_shop3> the target system, with the mecha is all binary outputs for the solinoids
[00:54:06] <rue_shop3> so a nice bus is good for operating the valves
[00:55:39] <rue_shop3> I think the 8051 can do it all fast enough
[00:55:47] <rue_shop3> the new ones are descent
[00:56:08] <rue_shop3> some dual ported ram might be nice tho
[00:56:31] <katsmeow> use fast enough rams, simulate the dual porting
[00:56:44] <rue_shop3> I'm not good at muxing like that
[00:58:01] <rue_shop3> http://www.aliexpress.com/item/CY7C132-55PC-Encapsulation-DIP-48-IC-2KX8-DUAL-PORT-RAM/32290005904.html
[00:58:04] <rue_shop3> hmm
[00:58:27] <rue_shop3> I recall the two ports are usually interlocked anyhow
[00:58:38] <rue_shop3> there is a 'please stand by' on each side
[00:59:20] * rue_shop3 wonders about fifo chips
[01:02:21] <rue_house> ya know, with an 8051 I could make lookup tables for the loop gain
[01:02:41] <rue_house> like a 10 bit lookup table in ram
[01:02:49] <rue_house> pulled from a serial eeprom on startup
[01:03:51] <rue_house> ya know, I could have a ram chip for P I and I
[01:03:53] <rue_house> ya know, I could have a ram chip for P I and D
[01:04:27] <rue_house> nonlinear gains
[01:05:29] <katsmeow> i think i'll put a slice of pizza int the nukebox, brb
[01:05:52] <rue_house> your gonna get a surprise, there is alerady one there
[01:06:00] <rue_house> might be a bit dry
[01:16:49] <rue_house> want to use SPDIF optical for the comm signals to the position controller
[01:17:07] <katsmeow> normally, i wold not consider pizza at 0:30, but since i didn't feel like eating a day and was lethargic, i am going with "this is a good symptom of better health"
[01:20:13] <rue_house> what you do you think of the idea of using serial eeprom to load rams with calculation lookup tables?
[01:20:32] <rue_house> in 3 lookups and an add, should be able to do the whole pid calc
[01:21:23] <katsmeow> is the serial eeprom better than a parallel eeprom/flash ?
[01:21:39] <rue_house> loaded on startup
[01:21:52] <rue_house> so you can dynamically modify the tables if you want
[01:21:58] <rue_house> cause their in ram
[01:23:02] <katsmeow> serial vs parallel is better for that? how?
[01:23:03] <rue_house> https://www.youtube.com/watch?v=yUYyg6ILgA0
[01:23:15] <rue_house> did someone make a film about the story I wrote?
[01:25:14] <rue_house> kinda
[01:35:10] * katsmeow wonders if rue has managed to make emailable reprap files for pizza yet
[01:38:58] <rue_house> dough keeps getting stuck in the nozzel
[01:39:35] <katsmeow> so place the dough ingredients separately on a hot plate?
[01:40:05] <rue_house> maybe it should all just be mixed and mashed up, it ends up that way anyhow
[02:08:59] <katsmeow> "ok, start with 5lbs of shrimp shelled and de-veined ..... " "who is Sheldon DeVaned?"
[02:18:03] * katsmeow waves gnites
[16:41:33] * ^kat^ peeks in while eating alate lunch
[17:05:09] * ^kat^ targets a pill bottle of M&M's just to see what happens
[17:14:14] <^kat^> <plink>
[17:14:24] <^kat^> <plink><plink>
[17:14:36] <^kat^> <plank>
[17:14:42] <^kat^> <plink>
[17:17:38] * ^kat^ hangs all the fixtures and roosts in the chicken pen from the sky, and puts the "ground" on an endless belt (like a treadmill)
[17:23:35] * ^kat^ begins feeding them at one end, slowly turning up the belt speed till they are running flat out to stay near, nevermind they cannot possibly eat any of the feed i am tossing
[17:24:03] * ^kat^ instantly reverses the belt
[17:26:17] * ^kat^ saves all the chickens that learn, and the rest go into the stew
[17:30:10] <^kat^> gotta decide somehow, and breeding only the smart ones seems like a good idea
[17:31:41] <^kat^> ok, bak outside to more welding