#robotics Logs
Feb 18 2021
#robotics Calendar
01:13 AM Jak_o_Shadows: Guy spends a week to realise that servo's need calibration: https://www.youtube.com/watch?v=vsTTXYxydOE
05:08 AM srk: lol, and that camera needs calibration as well :D
05:14 AM srk: fun project tho, would be cool if he added something to move the cue
05:15 AM Jak_o_Shadows: Yeah, it's impressive
05:15 AM Jak_o_Shadows: I like the stewart platform
05:15 AM Jak_o_Shadows: kinda my thing
05:22 PM aggrav8d: i'm looking to hire someone to make me 6pc of a motor driver board, with more to follow (maybe)
05:23 PM aggrav8d: STM32 based (CANbus a must), stepper driver (full step only) 24v max 3a, rotation sensor is an IPS2200.
05:23 PM aggrav8d: must be IPS because I need to keep the through-hole clear: https://www.instagram.com/p/CJmcvt_LFKe/
05:23 PM aggrav8d: so that the units can be daisy-chained.
05:24 PM aggrav8d: if you or someone you know is interested, please email me (dan@marginallyclver.com). I am in a lot of channels so don't rely on a message here to reach me.
05:24 PM aggrav8d: thank you!
05:32 PM Tom_L: stmbl
05:32 PM Tom_L: google it
05:49 PM aggrav8d: Tom_L thanks. it "has the ability" to do some of what I want, but doesn't actively support those features (canopen, for starters)
05:50 PM aggrav8d: i'll put it on the list of people I can ask.
05:53 PM Tom_L: it's a fairly versatile driver
05:57 PM Tom_L: looked into closed loop steppers?
08:02 PM rue_mohr: aggrav8d, hi
08:04 PM rue_mohr: I wonder what the overhead is in canbus
08:04 PM rue_mohr: maybe its fast enough that nobody cares
08:06 PM veverak: not really
08:07 PM veverak: there are new standards for CAN that are faster
08:07 PM veverak: (CAN FD?)
08:07 PM veverak: (so somebody cares)
08:07 PM veverak: and there is EtherCAT as even faster alternative
08:07 PM Tom_L: iirc can was developed for the auto industry
08:07 PM veverak: yes
08:07 PM Tom_L: noise immunity
08:08 PM veverak: multimastering :)
08:08 PM veverak: priority messages
08:08 PM veverak: all the good stuff
08:08 PM rue_mohr: iirc it works like a bus of memory chips
08:08 PM rue_mohr: specify addresses and read data
08:09 PM rue_mohr: its been picking up popularity
08:09 PM veverak: well, I suppose chips with it have lower cost?
08:09 PM veverak: I have it on my TODO list
08:09 PM veverak: (I want MC per leg, and can bus between them)
08:10 PM rue_mohr: hmm does the esp8266 have adc?
08:10 PM L: yes
08:11 PM rue_mohr: sweet
08:11 PM rue_mohr: can it do 8kHz I wonder
08:13 PM veverak: btw: my robot realized that I have deadline for an article
08:13 PM veverak: wild bugs appeared
08:13 PM veverak: I had a mistake in state machine
08:14 PM veverak: I found out that rpi4 won't stay stable with the regulator I got for it (But I suppose living with 12 servomotors on same battery is bad for it)
08:14 PM rue_mohr: hmm
08:14 PM veverak: (I was using USB power source for it till now)
08:14 PM veverak: and now I think that last problem is PID
08:14 PM veverak: movements worked last week
08:14 PM veverak: during the weekend I fixed one thing on PID
08:14 PM veverak: now PID won't work in real life
08:14 PM veverak: (but SIM is ok)
08:14 PM rue_mohr: what pid library you using
08:14 PM rue_mohr: ?
08:14 PM veverak: mine
08:15 PM rue_mohr: ah good
08:15 PM rue_mohr: how did you deal with integrator windup?
08:15 PM veverak: clamped
08:15 PM veverak: https://gitlab.fi.muni.cz/xkoniar/emlabcpp/-/blob/master/include/emlabcpp/pid.h
08:16 PM veverak: so, wat I am doing, is that I have "movement" that servo should go from A to B
08:16 PM veverak: I use lin. interp. to get X at time `t` - where between A and B the servo should be at time `t`
08:17 PM veverak: in the patch, I changed the way the X is calculated
08:17 PM veverak: as it produced numerical instabillity
08:17 PM veverak: -> everything worked just fine in SIM, but now the robot is really slow in real life
08:20 PM veverak: so, for tomorrow
08:20 PM veverak: I shall prepare a script, that tests the PID ? like graph desired vs real pos
08:20 PM veverak: or log the stuff
08:21 PM veverak: hmm, no, the script is better
08:25 PM veverak: https://www.youtube.com/watch?v=fHtnsyYP844&feature=youtu.be
08:26 PM veverak: tadaaaah the robot
08:26 PM veverak: there is something wrong, the movement should not be so slow
08:26 PM veverak: but I believe that I can debug it
08:40 PM rue_mohr: wait wait
08:40 PM rue_mohr: so, you been simulting the whole time and not working with the real hardware?
08:42 PM rue_mohr: hmmm, I need to learn how to udp packet on esp8266
08:43 PM rue_mohr: I wonder if I can google my way out of this
11:00 PM aggrav8d: rue_mohr - well i'm not planning on passing a lot of data adn other arms work on canbus. if others have done it so can i :)
11:04 PM rue_mohr: sounds good
11:04 PM rue_mohr: I mean, they use it for air bags on cars?
11:06 PM rue_mohr: aggrav8d, where is that design doc you were talking about?
11:07 PM aggrav8d: on my pc?
11:07 PM aggrav8d: where do you want the few notes i have?
11:08 PM rue_mohr: well, it doesn't sound too horrid, I'm wondering
11:11 PM aggrav8d: https://nopaste.ml/#XQAAAQD9AgAAAAAAAAApG8hHIs64Wq1KB5isByEsp3qLYU0wiAY4Ww7rYwuJkaNx7T7f8Tp5954RN/AjNn7PV/ZFf2j+JdXAlqPkeQyW/1YNioAk4U1sYtAJJ2sAj1ltihfHYz0pSH1rpJXOwsa8rvB5kQbNXoPtLDRDVIfsI5tmz2J42JTO3tlM/lN9q/WIPPhSL9TmGbUby14PlEnKRnsVusEANVL2kJiSqdjykTqAT3GPid8qHkILDoDUdRjah/4WEeoRd7JnTIy5XTrkBPnLI0Kd0izuJpaOaXQM/V3XBFQxc8KsoLWy2rFLraGhBblRU0767aJkxxE3bdfGTqHyKaIJ4s5waIdrahLkQh0nhoN7kwOB
11:11 PM aggrav8d: dywk6kVqnXepu4+Pva4HANfmgrHdP/BsSta9B5YPUsX6WBgjCDGBbf7XMcVptk42yOzJXDQO3D4RJ0jgVqn3xmSUZGSiEShqXVRGTGxvOyFwaGWNxpFgTL456IEbXeCOA29TjKNuDvKaRTRJk19dXyp12VfVQM2MPNIaoJZ5+N78UXU8yBWLVef55fzl0+CozTOmn63PqqJ/7Udcr09YDXCns3n8Hf5XlWWQEqjVZrUKPHjwgmk8fuRZKZLWmpU61pc+HDKj5EE6KkdbIsf88dq+t7JXFsf8tDomiOQqKhed3pgFscpYkb7wgf+Fy2Ug
11:11 PM rue_mohr: haha
11:11 PM rue_mohr: :)
11:11 PM aggrav8d: damn, that is the worst nopaste ever
11:12 PM rue_mohr: was the orig url shorter?
11:12 PM aggrav8d: no...
11:13 PM aggrav8d: Robotics Motor Controller
11:13 PM aggrav8d: daisy-chain-able stepper motor driver
11:13 PM aggrav8d: early work:
11:13 PM aggrav8d: https://www.instagram.com/p/CKS-YVKr51l/
11:13 PM aggrav8d: https://www.instagram.com/p/CJmcvt_LFKe/
11:13 PM aggrav8d: protocols:
11:13 PM aggrav8d: USB for flashing AVR
11:13 PM aggrav8d: OPENcan for inter-board comms https://en.wikipedia.org/wiki/CANopen
11:13 PM aggrav8d: sensor:
11:13 PM aggrav8d: IPS2200 https://www.renesas.com/us/en/products/sensor-products/position-sensors/ips2200-inductive-position-sensor-high-speed-motor-commutation
11:13 PM aggrav8d: minimum ID 16mm
11:13 PM aggrav8d: maximum OD 64mm
11:13 PM rue_mohr: so, why stm23?
11:13 PM aggrav8d: it's not an AVR, it's STM.
11:13 PM aggrav8d: STM32 several models ahve CAN built in
11:14 PM rue_mohr: ditto avr
11:14 PM rue_mohr: supposedly
11:14 PM aggrav8d: i don't want to implement CAN protocol in software.
11:14 PM rue_mohr: hmm
11:15 PM rue_mohr: I'm just going to take a look at avr can for a min
11:15 PM rue_mohr: omg a resolver!
11:16 PM rue_mohr: question, how much does the IPS2200 cost?
11:16 PM aggrav8d: fuckin' cheap as... but making the two patterns...
11:17 PM rue_mohr: rrly? great that someone finally solved that
11:17 PM rue_mohr: I'v never seen an angular resolver done like this, this is great
11:17 PM aggrav8d: 1pc=$15 on digikey
11:17 PM rue_mohr: its got all the answers I need for my
11:17 PM aggrav8d: https://www.digikey.ca/en/products/detail/renesas-electronics-america-inc/IPS2200BI1R/12142150?s=N4IgTCBcDaIJIAUDKYwAY0AIQF0C%2BQA
11:17 PM rue_mohr: OMG ouch
11:18 PM aggrav8d: well considering an AS5147 i was using is ~$50...
11:18 PM rue_mohr: its got all the design stuff I need for my linear variable capacitance sensor
11:18 PM rue_mohr: yea, resolver chips are typically a pain
11:18 PM aggrav8d: and... AND... through-hole design options.
11:18 PM rue_mohr: well
11:19 PM aggrav8d: that's the bit i care about. on axis magnet sensor makes me nuts.
11:19 PM rue_mohr: I *just* (in dec) devised a circuit to do resovers for less than $5
11:19 PM rue_mohr: it uses a MUCH more sane technique than all the junk they do
11:19 PM rue_mohr: and I dont know why nobody is doing it
11:20 PM rue_mohr: are you using digital comm with it or adc?
11:21 PM rue_mohr: see if you know this one, If you feed a triangle wave into a transformer, what does the output look like?
11:24 PM aggrav8d: it has Sin and Cos output
11:24 PM aggrav8d: analog
11:24 PM rue_mohr: no no
11:24 PM rue_mohr: If you feed a triangle wave into a normal transformer, what does the output look like?
11:25 PM aggrav8d: idk. i play with software, not zaps
11:25 PM rue_mohr: rrly?
11:25 PM rue_mohr: I thought you were a jack?
11:25 PM aggrav8d: yes, really.
11:25 PM aggrav8d: only so many hours in the day
11:25 PM aggrav8d: look at me trying ot hire someone to do this.
11:25 PM aggrav8d: i don't have time for everything
11:26 PM rue_mohr: I'm sad
11:26 PM aggrav8d: I know a little about a lot, but a lot about very little.
11:28 PM aggrav8d: I admire those that have deep knowledge about something specific and enjoy paying them to do their thing.
11:29 PM aggrav8d: why am i being defensive with you? I'm the one hiring.
11:29 PM rue_mohr: http://ruemohr.org/~ircjunk/tempimage/p1180142.jpg
11:29 PM rue_mohr: http://ruemohr.org/~ircjunk/tempimage/p1180180.jpg
11:29 PM rue_mohr: linear lvdt I was playing with
11:30 PM rue_mohr: I got the decoder down to a few dollars in parts
11:30 PM rue_mohr: I couldn't get it under $1 tho
11:30 PM rue_mohr: but the capacitive version is WAY under $1
11:47 PM rue_mohr: hmm, this is a modification of a resolver
11:47 PM rue_mohr: oh I see
11:48 PM rue_mohr: ok, so they watch the product too
11:48 PM rue_mohr: no, something still doens't add up
11:51 PM rue_mohr: I just dont get why my completely different method seems to be equivalent in every way, but is so much simpler
11:52 PM rue_mohr: granted I cant make is do 3MHz
11:52 PM rue_mohr: but I can do that with the capacitive version, which is way cheaper
11:55 PM rue_mohr: ok, so versions of the atmega32 and 64 can "do" canbus, and a version of the 90xx
11:55 PM rue_mohr: huh
11:56 PM rue_mohr: not the 328p
11:57 PM rue_mohr: not the normal M32
11:57 PM rue_mohr: stm32F108 – CAN interface (2.0B Active)