#robotics Logs
Jun 08 2017
#robotics Calendar
12:33 AM rue_house: hmm I think I should have put a runtime counter in my smart light, one of the leds has failed
01:25 AM rue_shop3: ok I got 2 3d printers going, I should go make supper
01:42 AM rue_house: ok, the servo load code is working more now
01:42 AM rue_house: I just need to set it up with the load detector circuit
01:42 AM rue_house: but I got supper started, which is good, I'm an hour and a half overdue
01:43 AM rue_house: if (dutyCounting) {
01:43 AM rue_house: if (gpio_get(GPIOC, GPIO14)) {
01:43 AM rue_house: duty = 65535; // 100%
01:43 AM rue_house: } else {
01:43 AM rue_house: duty = 0; // 0%
01:43 AM rue_house: }
01:43 AM rue_house: }
01:44 AM aberon: go on...
01:44 AM rue_house: thats the fix
01:44 AM aberon: oh. i was hoping to read more code
01:44 AM aberon: it's okay
01:44 AM rue_house: http://paste.debian.net/970562/
01:45 AM rue_house: there you go
01:45 AM aberon: what is nvic.h? i suppose exti.h is for external interrupts?
01:45 AM rue_house: right now it just runs one servo, but its easily expanded for more
01:46 AM rue_house: nvic is the programmable interrupt controller
01:47 AM rue_house: exti is the external interrupt system
01:47 AM rue_house: there are a million systems on the stm32
01:48 AM rue_house: and each one of them needs to be handled individually
01:48 AM aberon: have you been able to check out jitter yet?
01:49 AM aberon: oh my god
01:49 AM rue_house: yup
01:49 AM rue_house: cant measure or detect it with my 25Mhz scope
01:49 AM rue_house: its about 1/100th or less of the deadtime on the servo
01:50 AM aberon: oh that's very nice, so "more than enough"
01:50 AM rue_house: I have to get to playing with the DMA sometime
01:51 AM rue_house: iirc, there is about 48000 counts of resoution between the ends of the servos range?
01:51 AM rue_house: 60k-12k
01:51 AM rue_house: thats from 0.5 to 2.5ms...2ms delta...
01:52 AM aberon: https://hackaday.com/2017/02/28/understanding-dma/
01:52 AM rue_house: .04us
01:52 AM rue_house: oh I know dma, but I dont know stm32 dma
01:52 AM rue_house: from my brief passes over the datasheet, the address pointers are missing
01:52 AM aberon: i don't know either
01:52 AM rue_house: so I dont know what they did
01:53 AM rue_house: the dma I'm used to, you set two start addresses, a count, and there is a trigger for each transfer
01:53 AM rue_house: I cant find start or destination addresses, and the trigger system is a black box (sofar)
01:54 AM rue_house: but I do know that the 7 dma channels are specific to specific systems
01:54 AM rue_house: aka, timer 3 can only be used with dma #5
01:54 AM aberon: so would you say on this plateform trying to optimize things with going into assembly is futile?
01:54 AM rue_house: at 72Mhz? yea...
01:55 AM rue_house: BUT there is only 64k code space, so...
01:55 AM rue_house: so far, I'v only one hit my head on the limit of a tiny13's memory space
01:55 AM rue_house: once
01:55 AM aberon: the one with 8k?
01:55 AM rue_house: isn't the tiny13 2k?
01:55 AM aberon: i don't know
01:56 AM aberon: i think on my quadcopter controller it was kind of a lot of code
01:56 AM aberon: but like 3k max
01:56 AM rue_house: 1k
01:56 AM rue_house: (tiny13)
01:56 AM rue_house: the tiny85 is more
01:57 AM aberon: any new cool servo technology came out this last year? I've been out of the game
01:57 AM rue_house: bah, acrobat reader is so unstable
01:58 AM rue_house: sure, I worked out how to do load detection!
01:58 AM aberon: GIVE ME very small very strong very cheap very cheap servos lol
01:58 AM rue_house: sg90
01:58 AM aberon: need 30+ kg of torque !
01:58 AM rue_house: see how I pulled a google there? I took what you asked and only gave you one
01:58 AM aberon: but it's like Moore's law
01:59 AM rue_house: winshield winder motor
01:59 AM rue_house: er, winshild wiper
01:59 AM rue_house: car abandoned in bush: free
01:59 AM aberon: to bypass the fact that frequency of processors are getting limited, people start using parallel computing, so with enough software and feedback circuits, using several servos to do the work of one should be possible
02:00 AM rue_house: hah, do you realize, at 72Mhz, how slow mechanical things move?
02:00 AM aberon: oh, windshield motor is too heavy and large :)
02:00 AM aberon: rue_house, yes
02:01 AM aberon: although, mechanical vibration and harmonic disbalance would occur between servos i guess
02:01 AM aberon: unless it's done right
02:01 AM rue_house: I wonder if PLA is strong enough to put that much torque...
02:01 AM rue_house: 30kg-cm?
02:02 AM rue_house: hmm
02:02 AM aberon: yes
02:02 AM rue_house: 30L of water over 1cm
02:02 AM rue_house: 8inch wrench
02:02 AM rue_house: 20cm
02:02 AM rue_house: 1.5kg-20cm
02:02 AM rue_house: ~2L of water on a 8" wrench
02:03 AM aberon: lol
02:03 AM aberon: wait are you sure
02:03 AM rue_house: milk jug of water on a 8" spanner
02:03 AM rue_house: so....
02:03 AM aberon: it's 2L==2Kg for 15 centimeters
02:03 AM aberon: 30/2 = 15 cm
02:03 AM rue_house: you would want a shaft a bit bigger than 1/4"
02:03 AM rue_house: 5/8"
02:04 AM rue_house: yea, 5/8" would do
02:04 AM rue_house: aberon, that was safety margin rounding
02:04 AM rue_house: the answer I was going for is 5/8" steel shaft
02:05 AM aberon: or box aluminum
02:05 AM rue_house: if the last gear was about 6cm dia, I'd prolly make it... pla.... about 2.5cm thick
02:06 AM rue_house: I'd use a 1/4" shaft on the next gear down,
02:07 AM rue_house: so it would prolly be about 2.5cm dia... with mesh overlap of about 1/8...
02:08 AM rue_house: so thats a 2.4 reduction
02:08 AM rue_house: so the 30kg-cm is then 12.5kg-cm
02:09 AM rue_house: so the next one could maybe be about 1.5cm thick
02:09 AM aberon: have you seen yet the article of the 3d printer that makes a 3d printer?
02:09 AM rue_house: 6cm : 2cm
02:09 AM rue_house: say we get about a 2.8 from that
02:10 AM rue_house: leaves 4.5kg-cm
02:10 AM rue_house: an sg90, for context, is ... 1.2kg-cm
02:11 AM rue_house: so we should take it down again before a dc motor
02:11 AM rue_house: if we get another 2.8
02:11 AM rue_house: 1.6kg-cm, which is starting to get reasonable for a mid-sized dc motor
02:12 AM rue_house: one more, and its golden for a smaller-high speed motor
02:12 AM rue_house: like a brushless
02:12 AM rue_house: 2.4*2.8*2.8*2.8
02:12 AM rue_house: 53:1
02:13 AM rue_house: so, a motor that can do about 8000rpm..
02:13 AM rue_house: 151rpm
02:14 AM rue_house: 906 degrees/sec
02:15 AM rue_house: .2sec (180 degrees)
02:15 AM rue_house: which is a bit slow for a servo
02:15 AM rue_house: aberon, ok, I engineered your servo
02:15 AM rue_house: its about $6 in 3d printed plastic
02:15 AM rue_house: $4 in misc hardware
02:16 AM rue_house: $7 in electronics
02:16 AM rue_house: do I have to design it all for ya now?
02:16 AM aberon: rue_house, of course
02:16 AM rue_house: ok, so we open up librecad here....
02:16 AM aberon: by wait, won't that be a snail-speed servo?
02:16 AM rue_house: 30kg-cm, 0.2sec
02:17 AM rue_house: the SG90 is 0.12sec
02:17 AM aberon: i thought you were using an SG90 to put out 30KG with gearing, I'm lost
02:17 AM rue_house: if you go 15krpm on the motor, you get 0.1sec
02:18 AM rue_house: no, I was using the amount of force to strip the gearbox of an sg90 as a standard for how much torque is going on
02:18 AM rue_house: cause I'v stripped a few
02:18 AM rue_house: by hand...
02:18 AM rue_house: testing things...
02:19 AM rue_house: like force feedback...
02:19 AM aberon: aluminum cases need to be cheap
02:19 AM aberon: so much stuff to be done
02:19 AM rue_house: 3d printed
02:20 AM aberon: wut?
02:20 AM rue_house: I had a really big plumber *try* to break a pla handle I printed, 25mm thick, he couldn't
02:20 AM rue_house: it was only printed at 30%
02:21 AM * aberon looks for his own place
02:21 AM aberon: only way to have a 3d printer
02:21 AM rue_house: ? no
02:22 AM rue_house: 3d printer takes up 40cm wide of a desk
02:22 AM rue_house: aka a mid-sized side table
02:23 AM rue_house: and there is enough room under it for a box of all the screwed up prints (providing your giving them away fast enough)
02:26 AM aberon: there is also a need for metallic inserts in the shapes of a pipe for using as bearings for the gears inside the case
02:26 AM rue_house: if your path is that of mine, you have a 33% efficiency: 1) the "oh god, thats not at all what I meant" 2) the "perfect, except for how it printed THAT" 3) the "geez, it works, but I could adjust these 18 things... but I'v already made 3 and only need 1, so I'm going with it"
02:27 AM rue_house: speaking of, I wonder how my prints are going
02:27 AM aberon: yeah i feel like the perfect kit would be a 3d printer and the necessary stuff to make small bearings
02:29 AM aberon: because sure, pla is awesome but like plastic it deforms over time if you have metal things spinning inside it
02:29 AM aberon: do you write programs to make your 3d models before printing or just clicking until done?
02:34 AM aberon: how long does this last at line 174? for (i = 0; i < 4000; i++);
02:34 AM aberon: of: https://paste.debian.net/970562/
02:35 AM rue_house: to make small bearings, like using 2 washers, and a 3d printed race, with small bearing balls from china for about $1/1000?
02:35 AM rue_house: 3d printing dosn't work like that, you can model it to hell and realize its not what you thought after you print it
02:36 AM rue_house: a fraction of a second
02:36 AM rue_house: well, less, if you dont put a NOP in it, gcc may optimize it out
02:37 AM rue_house: iirc 800000 takes about half a second
02:40 AM aberon: i mean you did 4000 just to tune the frequency of your pwm or what?
02:41 AM rue_house: no, just to make the update rate not quite so insane
02:41 AM rue_house: its still adjusting WAY faster then the 50Hz the pwm operates at
02:42 AM rue_house: a delay with a few nops helps the irq time
02:42 AM rue_house: if you interrupt from a 1 cycle instruction, your 1 cycle faster than waiting for the second cycle of a 2 cycle instruction
02:44 AM rue_house: so a loop with 2 or 3 nops increases your odds
02:45 AM rue_house: aberon, you falling asleep or something?
02:47 AM * rue_house pokes aberon
02:47 AM rue_house: I think your too late
02:47 AM rue_house: I do too
02:47 AM rue_house: hah its past midnight
02:47 AM rue_house: yea, were doomed
02:47 AM rue_house: prolly too late for a melatonin
02:47 AM aberon: rue_house, yes, while trying to read https://www.codementor.io/olatundegaruba/nodejs-restful-apis-in-10-minutes-q0sgsfhbd it is web dev i have no idea what is going on, I'm a low-level programmer
02:47 AM rue_house: yea, seems we need about 8 hours runway for that
02:48 AM rue_house: ssh he spoke
02:48 AM rue_house: hmm lets see
02:48 AM aberon: seems easy though like putting legos together, i just don't know my lego bricks yet
02:48 AM rue_house: its still loading...
02:48 AM aberon: i have to get up to speed on this for work
02:49 AM aberon: yeah i know i had to click on "temporarily allow the javascript" TWICE
02:49 AM aberon: like there are two waves of javascript assaulting my eyes
02:50 AM rue_house: who the hell would use soemthing like mogodb instead of postgres or mysql!?
02:51 AM aberon: that's just what the tut calls for I won't be difficult
02:52 AM rue_house: ...serverside js!? ughkh
02:54 AM justan0theruser: http://i.imgur.com/UGHkgRd.gifv
02:54 AM rue_house: heh
02:54 AM rue_house: NO PORN
02:54 AM * rue_house watches the metal porn
02:55 AM rue_house: mmmm carbide.....
02:55 AM rue_house: interesting, you can see chatter
02:56 AM aberon: this lack of lubrication is disgusting...
02:56 AM rue_house: maybe its just the chip
02:56 AM aberon: just the tip??
02:56 AM rue_house: see the chip twitch?
02:56 AM aberon: yeah
02:56 AM aberon: that looks bad
02:56 AM rue_house: I cant tell if the cutting speed is jerking or if its just the lack of lube
02:57 AM rue_house: causing the chip to lurch along the cutter surface
02:57 AM rue_house: I think the cut speed is jerking
02:58 AM rue_house: ok where was I
02:58 AM rue_house: nodemon, is not availabel for debian, this makes sense, debain has evicted almost all packages from everyone
03:00 AM rue_house: is the client side js exchanging data on port 3000?
03:01 AM aberon: yeah im on windows so i should be okay
03:01 AM aberon: after using linux for a long time using windows is more bearable if you use the cmd often
03:02 AM rue_house: sofar they have init'd a json dir and installed/initialized a nonstandard database
03:02 AM aberon: wait, you're too fast
03:02 AM aberon: im on express and nodmon
03:02 AM aberon: (not doing it just reading )
03:02 AM rue_house: its funny, ya, know, I'v done all this using php/postgres
03:03 AM rue_house: I can see where they are comming from
03:03 AM rue_house: but the idea of serverside javascript makes me laugh
03:03 AM rue_house: why dont we use VB and a JET database?
03:03 AM rue_house: :)
03:04 AM rue_house: JET databases going corrupt because you sneeze means DONT SNEEZE!
03:07 AM rue_house: MongoDB is a high-performance, open source, schema-free
03:07 AM rue_house: document-oriented data store that's easy to deploy, manage
03:07 AM rue_house: and use. It's network accessible, written in C++ and offers
03:07 AM rue_house: the following features:
03:07 AM rue_house: .
03:07 AM rue_house: * Collection oriented storage - easy storage of object-style data
03:07 AM rue_house: * Full index support, including on inner objects
03:07 AM rue_house: * Query profiling
03:07 AM rue_house: * Replication and fail-over support
03:07 AM rue_house: * Efficient storage of binary data including large objects (e.g. videos)
03:07 AM rue_house: * Auto-sharding for cloud-level scalability
03:08 AM rue_house: sounds like a pretty harry feature list
03:09 AM rue_house: postgresql-9.4-plv8 - Procedural language interface between PostgreSQL and JavaScript
03:09 AM rue_house: interesting
03:18 AM rue_house: I can see what they are doing, they are taking all the things I had to put in all my php projects, and condensing it to a library that does it all automatically
03:18 AM rue_house: that page you posted is like the arduino version of an avr program
03:19 AM rue_house: there is no main(), just init() and loop()
03:19 AM aberon: :b
03:19 AM aberon: i don't know it's giving a good ball-breaking feeling
03:19 AM aberon: i prefer socket projects in c
03:20 AM aberon: **imagine funny angry cat here**
03:25 AM aberon: okay
03:25 AM aberon: seems pretty doable
03:26 AM aberon: the challenge will be to actually learn anything from it
03:26 AM aberon: but "Optimism sounds exhausting" :)
03:27 AM rue_house: :) hmm
03:29 AM rue_house: did they use port 3000 instead of 80 just as an example?
03:29 AM aberon: they used 3000
03:29 AM rue_house: or is the whole node.js thing trying to parallel http?
03:29 AM aberon: lol
03:29 AM aberon: i still am very fuzzy on all this
03:29 AM rue_house: casue, you can do all that via http
03:29 AM rue_house: but I think part of the whole node.js thing is to use ... what they call it...
03:30 AM aberon: the people i work with are all into rest , node, mongodb
03:30 AM rue_house: fad people
03:30 AM aberon: but they're systems engineers so they know the name of the bricks but can't really teach me how it works
03:31 AM rue_house: rest is just a term for what needs to be done anyhow, node.js is... well its a system for rewriting html on the client side instead of reloading a page, there's another name for that
03:31 AM aberon: my eyes are crying
03:31 AM aberon: bed time
03:31 AM rue_house: and mongodb is just a kids version of a real database, with some specializations around documents
03:31 AM aberon: (I'm not crying, I'm tough)
03:32 AM rue_house: there is a thing I cant remmeber the name of!
03:32 AM rue_house: json I think
03:32 AM aberon: ya
03:32 AM rue_house: where you have javascript rewrite parts of your page for ya
03:32 AM rue_house: I'v used it a few times
03:32 AM aberon: thing is i need this to be FAST i hope this web dev stuff won't let me down
03:33 AM aberon: BED BED
03:33 AM rue_house: http://ruemohr.org/~ircjunk/robots/arm9/slide.htm
03:33 AM rue_house: there, for the sideshow
03:33 AM rue_house: but its a simple example, cause there is no serverside
03:33 AM aberon: that circuit is wrong
03:33 AM aberon: it isn't grounded
03:33 AM rue_house: WhAt!?
03:35 AM rue_house: anyhow, I think node.js is a system for all the stuff that would normally be done as html, but done under a misc port via javascript to skirt around loading pages in the browser
03:35 AM rue_house: so, node.js is json on steroids
03:36 AM rue_house: gnight
03:36 AM rue_house: now I'm alone again
03:36 AM rue_house: no, no your not
03:36 AM rue_house: oh ya
03:36 AM rue_house: but we should go to bed
03:36 AM aberon: zzzfor realzzzzzzzzz
03:36 AM rue_house: its 1am dude, its waaaay to late to go to bed
03:37 AM rue_house: are... are those horns on your head?
03:37 AM aberon: no it's 4 your geographical location is wrong
03:37 AM rue_house: horns?! where? no...
03:37 AM rue_house: your blushing...
03:37 AM rue_house: me!? no...
03:37 AM rue_house: oh your normally that colour?
03:37 AM rue_house: uhh...
03:38 AM rue_house: and... is that a tail!?
03:38 AM rue_house: uhh, THE BETTER TO DISTRACT YOU AS I RUN AWAY!
03:38 AM rue_house: mmhm
03:38 AM rue_house: tommorow morning is garbage day... *sigh*
03:40 AM rue_house: gnight rue
03:40 AM rue_house: gnight
04:11 AM justan0theruser is now known as justanotheruser
03:21 PM aberon: !ops
03:22 PM robopal: no operators, only agents
04:08 PM homu: hey, i was just wondering if anyone could recommend a good servo to start out with? i'm a beginner just interested in starting out doing small tilt/pan project with 2 degrees of freedom (with arduino), that i'd like to turn into an arm project with 4 - 6 "DOF" in the future.
04:09 PM homu: i've kind of been obsessing over purchasing some servos for the past couple of days
04:10 PM aberon: which ones have you been looking at?
04:10 PM SpeedEvil: A bag of crappy servos is a reasonable first project
04:11 PM homu: well, i just keep thinking that i'd rather spend a little bit extra now so i can save some money and trouble in the bigger picture
04:12 PM aberon: that sounds retarded, buy some really cheap stuff now and learn how to use them then as the need arises get better stuff
04:12 PM homu: well, the MG995 and MG996R seem to come up a lot when i'm searching ebay for tilt/pan stuff
04:12 PM homu: but they seem to get pretty bad reviews
04:14 PM veverak: hmm
04:14 PM veverak: I think I would recommend MG90S
04:14 PM aberon: mg995 is pretty good, I broke one on the anckle of my robot but only because the controller told it to over torque, repeatedly
04:14 PM veverak: homu: MG90 cheapest servo that exists
04:14 PM veverak: and it's small
04:14 PM veverak: you WANT to start with small projects, trust me
04:14 PM veverak: (and cheap)
04:14 PM aberon: the mg996r is a shit version of the mg995
04:14 PM veverak: MG90s is version with metal gears
04:14 PM veverak: :)
04:15 PM veverak: which are more rigid and stronger
04:16 PM aberon: https://www.amazon.com/RioRand-MG995-Metal-Speed-Torque/dp/B00M8TXSBO/ref=sr_1_3?ie=UTF8&qid=1496954542&sr=8-3&keywords=mg995
04:17 PM homu: wow this page says 55 x 20 x 38mm
04:18 PM homu: one i was on earlier said it was 40mm instead of 55mm
04:18 PM aberon: 55 is 40 plus the attaching brackets on each side
04:19 PM homu: ohh, that makes sense
04:19 PM homu: https://servodatabase.com/servo/towerpro/sg-5010
04:19 PM homu: any opinions on this one?
04:19 PM aberon: then i started buying those but they ran out of stock so i only have 2: https://hobbyking.com/en_us/turnigytm-mg959-v2-alloy-dg-mg-servo-30kg-0-15sec-78g.html
04:21 PM aberon: same price except weaker
04:29 PM homu: ok. thanks for the recommendations, guys
04:29 PM homu: i have to afk for a little right now, but i feel a bit more confident in buying some of these cheaper ones now
08:57 PM rue_house: anyone know when I went poof, it looks like the ups is belly-up
09:10 PM SpeedEvil: [02:25:02] <rue_house> anyone know when I went poof, it looks like the ups is belly-up
09:11 PM SpeedEvil: [17:05:44] <-- rue_house (~rue@d205-250-204-74.bchsia.telus.net) has quit (Ping timeout: 260 seconds)
09:14 PM aberon: sorry i used to display joins and parts and stopped a while ago was cluttering the chat
09:41 PM z64555: my client collapses those if there's more than 2
10:47 PM aberon: progress on stm32? 2.4 Ghz communication, lipo power supply and charger, wifi stack
10:47 PM aberon: bluetooth just for shits and giggles to use factory playstation controllers
10:50 PM z64555: PS3, presumably
10:51 PM z64555: the highest tech PS controllers were the dualshocks :P
10:58 PM aberon: i understood the cicuitry from the logitech!
10:58 PM aberon: wanted to make my own and stopped heh
10:58 PM aberon: or no i wanted to convert it with my own microcontroller
10:59 PM aberon: so i could make it wireless and 2.4ghz
10:59 PM aberon: with nrf24l01
10:59 PM aberon: those were the day !
11:10 PM aberon is now known as trefle
11:10 PM trefle is now known as aberon