#garfield Logs
Apr 27 2024
#garfield Calendar
04:15 PM polprog: i had to extend the finger sensor tapes in my accelerometer device
04:29 PM polprog: its a flat flex PCB that has the accelerometers on it, and it will be attached to the fingers
04:29 PM polprog: one to each
04:29 PM polprog: of a hand
04:29 PM polprog: and i decided to do the science thing and found some papers that measured the mean finger lengths and the length of the segmens
04:29 PM polprog: and i designed the flex PCB for these measures
04:29 PM polprog: but i forgot to take into account that
04:29 PM polprog: 1) i have big hands
04:29 PM polprog: 2) fingers have non-zero diameter, so when they bend, i need to add some slack
04:29 PM polprog: so i extended the ff pcb by about 4cm total?
04:29 PM polprog: or 5
04:29 PM polprog: that oughta do
04:29 PM rue_mohr: hi
04:29 PM polprog: hey
04:29 PM polprog: good afternoon :)
04:29 PM rue_mohr: how much were the sensors? $10ea?
04:29 PM polprog: less than that
04:29 PM polprog: 20 pln
04:29 PM polprog: $5 each
04:29 PM polprog: but oh my god i had so much hassle with the STM32 on the board
04:29 PM rue_mohr: huh
04:30 PM rue_mohr: oh yea
04:30 PM rue_mohr: ok
04:30 PM rue_mohr: so, bit packed
04:30 PM rue_mohr: 4 bits of ID,
04:31 PM rue_mohr: their 6 axis sensors?
04:31 PM polprog: yeah
04:31 PM rue_mohr: so 3 bits for axis, and 16 bits for value
04:31 PM polprog: they return 16b per axis and i read them all out at once
04:31 PM polprog: sequential registers
04:31 PM rue_mohr: so an start byte with 1 bit locked for sync that has sensor id and axis number
04:32 PM rue_mohr: then 2 bytes of value
04:32 PM rue_mohr: 3 bytes per axis update
04:32 PM polprog: i have a usb-uart bridge there, can only do bytes
04:32 PM rue_mohr: I'd only send an axis if its value has changed
04:32 PM rue_mohr: that has made a huge difference for my robot arms
04:33 PM rue_mohr: can you go over 115200?
04:33 PM polprog: if the STM32 can do it
04:33 PM rue_mohr: yea
04:33 PM rue_mohr: BUT, be careful about the PC buffereing
04:33 PM rue_mohr: I had to use 9600 on my robot arms or the USB uarts would start buffering up data
04:33 PM polprog: the most complicated thing that i would want to is this, 1. pc tells the board which sensors to read, 2. pc issues a start, 3. board dumps these sensors repeatedly, 4. pc issues stop
04:33 PM rue_mohr: latency thru the roof
04:34 PM polprog: This FT260 is some fancy usb-hid bridge, so it took a while to get it to work at all
04:34 PM rue_mohr: I'd just have the stm32 push changed axis unless there is a request for a sync of all of them
04:34 PM polprog: turns out i need a special driver for the uart to appear in Linux (someone wrote it)
04:34 PM polprog: ill keep that in mind
04:34 PM polprog: probably over engineering this though
04:35 PM polprog: the use case now is to track 1 finger because that all the prosthetic arm has
04:35 PM rue_mohr: whats the target update rate?
04:35 PM polprog: cause this is made to measure how the prostethic finger moves and how it compares to a real finger
04:35 PM rue_mohr: 10 50 60 100hz?
04:35 PM polprog: probably no more than 100hz
04:35 PM rue_mohr: is it a hobby servo?
04:36 PM polprog: nor sure, the mech team got their own fancy motors
04:36 PM polprog: so not the blue ones from aliexpress
04:36 PM polprog: fancier
04:36 PM rue_mohr: hmm,
04:36 PM rue_mohr: ask the loop update rate, there is no point in being faster/axis
04:37 PM polprog: ill do that
04:37 PM polprog: since this now is taking shape ill have to find out if they have a programmer for the PC software
04:37 PM rue_mohr: cool project!
04:37 PM polprog: and if they have any prefs for the data format
04:37 PM polprog: inb4 they want a JSON dump
04:37 PM polprog: xD
04:37 PM rue_mohr: heh zx compress the stream ;]
04:37 PM polprog: i will keep you posted :)
04:38 PM polprog: hahaha
04:38 PM polprog: it's an STM32F4 so it's got the powaaah
04:38 PM rue_mohr: I should work on my bend sensor
04:38 PM rue_mohr: see if I can best a university team :]
04:39 PM rue_mohr: hehe
04:39 PM rue_mohr: I need a *tiny* displacement sensor...
04:39 PM rue_mohr: for like 2mm max displacements
04:40 PM rue_mohr: like the size of a 1/4w resistor
04:42 PM rue_mohr: *suddenly it all goes silent*
04:42 PM rue_mohr: haha
04:43 PM polprog: no i had to do the dishes
04:44 PM polprog: bend sensor hmm
04:44 PM polprog: id say the capacitive approach is good
04:49 PM rue_mohr: andy did a cool hologram eh?
04:49 PM polprog: yeah
04:50 PM polprog: benton holograms (the ones you can watch in white light) are pretty clever
04:50 PM polprog: you actually need to expose a regular hologram first and then use that to expose the color ones
04:50 PM polprog: did you see mine?
04:50 PM rue_mohr: the capacitance thing doesn't work cause you cant keep the layer compression controlled
04:51 PM polprog: then maybe some conductive material
04:51 PM polprog: i wonder if some rubber/silicone + carbon would become conductive
04:51 PM polprog: and would change the resistance when bending
04:52 PM polprog: my gut says RF could work as well.. but thats a LOT of processing needed
04:52 PM polprog: thik about it.. rubber, some conductive stripes on it parallel to the bend axis
04:53 PM polprog: bend one way = they get close together, coupling increases
04:53 PM polprog: the other = they spread, coupling decreases
04:53 PM polprog: could work at 100MHz? 50?
04:53 PM polprog: then detect the amplitude with a fast diode
04:56 PM rue_mohr: hmmm
05:22 PM polprog: :)
05:36 PM rue_mohr: what about a capacitive pickup on a strip antenna with a 4mm wavelength?
05:37 PM rue_mohr: the 2mm range...
05:37 PM rue_mohr: ok, maybe 8mm, and use 1/4 of it
05:37 PM rue_mohr: the pickup would be capacitive
05:37 PM rue_mohr: 0-1/4 wavelength
05:37 PM rue_mohr: make sure its a standing wave
05:43 PM polprog: 4mm wavelength
05:43 PM polprog: that is very high freq
05:44 PM polprog: i think a few MHz may be enough to be coupled capacitively
05:44 PM polprog: you could make it way more precise by measuring the resonance frequency of some RF structures made on rubber
05:44 PM polprog: but that is hard core unless you make them into the tens of meters wavelengths
05:47 PM rue_shop3: the problem is that its hard to make a variable capacitor that slides with out also shifting the plate distance
05:48 PM polprog: thats why the "plates" are going to be on the rubber surface
05:57 PM polprog: https://polprog.net/rozne1/ircjunk/bend_sensor.png
05:58 PM rue_shop3: oh I see
05:58 PM rue_shop3: capacitive resistor
05:58 PM rue_shop3: uh
05:58 PM polprog: capistor
05:59 PM polprog: :---D
05:59 PM polprog: more like variable attenuator but yes
06:10 PM polprog: night!