Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Ambrose Burnside
Aug 30, 2007

pensive

Shame Boy posted:

There's plenty of VoIP services that let you call normal phone numbers. Like Google Voice supports recording, and can dial normal numbers for real cheap:

https://support.google.com/voice/answer/115083?co=GENIE.Platform%3DDesktop&hl=en&oco=0

this is outside the Thread Mandate but if anybody has any reputable VOIP provider suggestions that a canadian can use, please kick em to me, apparently google voice requires a US cell/landline to register

Adbot
ADBOT LOVES YOU

Shame Boy
Mar 2, 2010

Ambrose Burnside posted:

this is outside the Thread Mandate but if anybody has any reputable VOIP provider suggestions that a canadian can use, please kick em to me, apparently google voice requires a US cell/landline to register

Huh they must have added that for some reason, I don't remember it requiring that in the past. Guess people were using it to spam internationally or something :shrug:

Claes Oldenburger
Apr 23, 2010

Metal magician!
:black101:

Do people have opinions on sparkfun micro controller boards? They make a version of the arduino pro micro but with a USB-C input which would be nice for my keyboard project. I don't really know anything about programming or micro controllers but I bought a "uniroi" arduino nano clone a while ago that I couldn't get working. Any other suggestions would be much appreciated if there are better options.

Shame Boy
Mar 2, 2010

Claes Oldenburger posted:

Do people have opinions on sparkfun micro controller boards? They make a version of the arduino pro micro but with a USB-C input which would be nice for my keyboard project. I don't really know anything about programming or micro controllers but I bought a "uniroi" arduino nano clone a while ago that I couldn't get working. Any other suggestions would be much appreciated if there are better options.

Sparkfun's stuff is generally pretty good and has good support, you should be fine with that.

Ambrose Burnside
Aug 30, 2007

pensive
The perfect use-case for SparkFun stuff over cheap chinese clones is specifically when you're starting out. The support and documentation you get is absolutely worth the premium you pay. Then down the line you can revisit that board you couldn't get working and you'll probably have much better luck second time around :v:

Cojawfee
May 31, 2006
I think the US is dumb for not using Celsius
I think a lot of the sparkfun stuff even has tutorials to do things with a lot of their products.

Claes Oldenburger
Apr 23, 2010

Metal magician!
:black101:

Haha yeah I threw the clone into a "for later" box.

Thanks everyone! I'm kind of surprised there aren't more microcontrollers that are USB C but I guess they haven't been around that long?

Shame Boy
Mar 2, 2010

Claes Oldenburger posted:

Haha yeah I threw the clone into a "for later" box.

Thanks everyone! I'm kind of surprised there aren't more microcontrollers that are USB C but I guess they haven't been around that long?

Well you can use a USB-C connector in place of a micro-USB connector to run normal USB 2.0 over (which is almost definitely what the sparkfun thing is doing), so there's nothing really stopping it from happening, but yeah it's mostly just down to USB-C being fairly new still and micro-USB connectors, wires, etc. being cheaper.

Dominoes
Sep 20, 2007



USB-C wired as USB 2.0. Resistor details may depend on your MCU. USB-C is also nice for powering devices; you can leave out the data lines and associated resistors in that case. I think you might still need the CC resistors.

M_Gargantua
Oct 16, 2006

STOMP'N ON INTO THE POWERLINES

Exciting Lemon
Scanlime has a far better calming narration voice than Big Clive. Fight me :colbert:

Also very very long technical livestreams that include their cat.

e; This was the video four years ago that introduced me to the channel https://www.youtube.com/watch?v=TeCQatNcF20 but all the extended tech hacking live streams are in the scanlime-in-progress branch channel

M_Gargantua fucked around with this message at 17:45 on May 9, 2021

ante
Apr 9, 2005

SUNSHINE AND RAINBOWS
Yeah, her polished videos are insanely technically dense

Blackhawk
Nov 15, 2004

Hey all looking for some technical advice. I'm thinking about a project where I'd be spinning a sensor assembly at up to 1000 rpm on the end of a motor shaft, the sensor consists of 3 x 16 bit ADC's operating at up to 400 kHz each. I need to power the sensors and stream the data off over this rotating connection and I'm trying to think of simple/elegant ways to do it.

I figure I can probably power the sensor and electronics via an inductive coupling (one fixed PCB on the end of the motor with a spiral PCB trace antenna and a matching spiral trace on the spinning PCB, aligned along the motor shaft axis) but I'm not so sure about the data transfer, as I'd need at least 10.7 Mbits/sec throughput on average (closer to 20 Mbits/sec peak but the sensors won't be reading 100% of the time).

- I figure that mechanical slip rings probably won't be reliable enough, especially at such high data rates
- Bluetooth data rate is way too low, Wifi would probably work, I'm pretty lovely when it comes to firmware so ideally I could get a module which acts as a transparent serial bridge of some kind
- Some kind of inductive coupling similar to how I plan to transfer the power could work, but again getting such high data rates through something like that sounds like it could be really tricky
- It could also be possible to do the data via an optical connection along the central axis of rotation but ideally I could have two-way communication and I think that would be much harder to do than one-way

Thoughts? I think the wireless communication idea is the easiest although probably the most 'janky', whatever the solution it would need to 'just work' so anything that required pairing would have to be possible to pre-set in firmware and not require user intervention every time.

ante
Apr 9, 2005

SUNSHINE AND RAINBOWS

Blackhawk posted:

Hey all looking for some technical advice. I'm thinking about a project where I'd be spinning a sensor assembly at up to 1000 rpm on the end of a motor shaft, the sensor consists of 3 x 16 bit ADC's operating at up to 400 kHz each. I need to power the sensors and stream the data off over this rotating connection and I'm trying to think of simple/elegant ways to do it.

I figure I can probably power the sensor and electronics via an inductive coupling (one fixed PCB on the end of the motor with a spiral PCB trace antenna and a matching spiral trace on the spinning PCB, aligned along the motor shaft axis) but I'm not so sure about the data transfer, as I'd need at least 10.7 Mbits/sec throughput on average (closer to 20 Mbits/sec peak but the sensors won't be reading 100% of the time).

For most embedded systems, that's extremely fast.

Blackhawk posted:

- I figure that mechanical slip rings probably won't be reliable enough, especially at such high data rates
Probably true

Blackhawk posted:

- Bluetooth data rate is way too low, Wifi would probably work, I'm pretty lovely when it comes to firmware so ideally I could get a module which acts as a transparent serial bridge of some kind

The ESP32 can do up to 20Mbit/s with UDP, according to some casual googling. That doesn't leave you a whole lot of margin, but it might be technically possible.

Blackhawk posted:

- Some kind of inductive coupling similar to how I plan to transfer the power could work, but again getting such high data rates through something like that sounds like it could be really tricky

Also probably not feasible.

Blackhawk posted:

- It could also be possible to do the data via an optical connection along the central axis of rotation but ideally I could have two-way communication and I think that would be much harder to do than one-way

If you can figure out the mechanics, this could work. I would argue that this is jankier than WiFi, and also extremely difficult.

Blackhawk posted:


Thoughts? I think the wireless communication idea is the easiest although probably the most 'janky', whatever the solution it would need to 'just work' so anything that required pairing would have to be possible to pre-set in firmware and not require user intervention every time.

WiFi does seem like your best bet. Prebaking firmware with credentials is no issue, but it's still butting up against your throughput requirements. I suspect you can do a lot of homemade compression with your data before you send it, if you're clever. Things like treating the sensor data as relative measures based on previous measurements, or correlating the three sensors together if they're closely related, or throwing out some MSBs if they're not usually changing.

Blackhawk
Nov 15, 2004

ante posted:

For most embedded systems, that's extremely fast.

Thanks for the feedback, yeah I agree it's pushing it a bit. Ultimately if it's too ambitious I could slow it down a bit at the expense of taking longer to do what I want (which is high resolution scanning of transparencies).

Foxfire_
Nov 8, 2010

If you have budget/volume for it, people make high-speed slip rings (either inductive or conductive liquid instead of brushes). Homebuilt can also probably work if you don't care that much about efficiency. When I was looking at doing something similar, the best homebuilt option seemed to be winding transfomer halves onto a split ferrite core case. Some of the standard shapes can be janked into being separable. They'll leak flux more than when used as designed, but better than open air. Or use a premade wireless charging coils, but most would need a hole drilled in the ferrite part without cracking it or heating it up too much.

You'll want to be doing the AC at 100khz+ so it's more efficient. For data, you could probably modulate a faster signal on top of that, or mount a second coupler on the same shaft for passing data. 10Mbit/s is a lot though, you'd probably need to do multiple bits per symbol.

Stack Machine
Mar 6, 2016

I can see through time!
Fun Shoe
Video tape heads used rotating transformer couplings at about 2000 RPM for about 6MHz of analog bandwidth per channel (so a head assembly from a 4-head VCR could do 20Mb/s with only 2 logic levels per channel). That sort of thing is absolutely feasible if you have a magnetics expert on the project.

Blackhawk
Nov 15, 2004

Come to think of it what I'm looking to make is very similar to a rotating LIDAR scanner. I had a quick look and found two examples:

This one uses a VCR rotary transformer for communication using a magnetic I2C isolation IC, I haven't found a similar IC yet that would go as high as the data rates I want though.
https://hackaday.io/project/26246-lidar-meets-vcr-technology-for-fast-360-scans

This one was using wireless power and RF data transfer:
https://www.robotshop.com/community/forum/t/openlidar-360-degrees-lidar-project/29227/28

Shame Boy
Mar 2, 2010

Wait why wouldn't LIDAR just use a rotating/moving mirror with a fixed laser/sensor?

Dominoes
Sep 20, 2007

The immediate issue I see with that is you're missing out on the abilities of the phased array. Ie using interference to steer the beam. This lets you look at many things at once, as opposed to a mech scan system. Can also be more reliable due to fewer moving parts. For example, modern fighter and SAM radars vice older ones.

The concept's been around longer than the tech's been common - See the Feynman lectures, Interference.

(I'm not positive this applies as well to the higher frequencies used by LIDAR. Can anyone back me up on this?)

Dominoes fucked around with this message at 03:56 on May 10, 2021

Blackhawk
Nov 15, 2004

Just a thought, ethernet uses magnetic isolation so you're already passing the signal through a transformer. I'm guessing it would be possible (but I'm sure by no means easy) to build part of the ethernet magnetics as a rotary transformer like used in a VCR head?

longview
Dec 25, 2006

heh.

Blackhawk posted:

Thanks for the feedback, yeah I agree it's pushing it a bit. Ultimately if it's too ambitious I could slow it down a bit at the expense of taking longer to do what I want (which is high resolution scanning of transparencies).

If you have access to the center of the rotating joint you could do a free space optical link with LEDs or lasers.
Broadcom (Avago (HP)) at least used to have a lot of near IR multimode fiber stuff including discrete drivers and receivers. That speed is not a major problem for LED based modulators.
I think Vishay still has some components that might be usable as well.

If you can squeeze everything into a small distance near the joint you might get away without optics on the receiver, otherwise you'll need a collimating lens on the receiver to get decent SNR.

Foxfire_
Nov 8, 2010

Blackhawk posted:

Just a thought, ethernet uses magnetic isolation so you're already passing the signal through a transformer. I'm guessing it would be possible (but I'm sure by no means easy) to build part of the ethernet magnetics as a rotary transformer like used in a VCR head?
If you aren't specifically designing the primary and secondary to be independent, you will almost always wind both coils on the same core so that magnetic flux couples better through them and the transformer is more efficient.

e.g. here's an ethernet transformer picture stolen from wikipedia:

Both sides are wound around a single toroid core that contains and guides the flux

Stack Machine
Mar 6, 2016

I can see through time!
Fun Shoe
If you're considering ethernet already, wi-fi is not a huge leap and would let you do away with the transformer altogether or use it only for power. The complicating thing about the rotating transformer vs one of those toroidal ones is that the air gap makes the inductance lower for the same number of turns. This means you would either have to go to lower signal levels (I bet the vcr heads operate at millivolts) or higher minimum frequency. I'm sure it'd be possible to get ethernet over something like that (probably only easy for 10Mb), but not without some custom circuitry on both sides.

Shame Boy
Mar 2, 2010

Did you ever say what kind of sensor it was, cuz personally I'd explore any possible other option than a freely rotating sensor. Like do you just need 360 degrees of sensing? Can you just wiggle it back and forth real fast through 90 degrees to get that or something? Or use a mirror to "sweep" the sensor's view across the thing like a barcode scanner does?

e: Like I guess I don't quite get why "high resolution scanning of transparencies" would need 4 rotary sensors, unless "transparencies" is something completely different than what I'm imagining (the things you put on overhead projectors??)

Shame Boy fucked around with this message at 16:12 on May 10, 2021

PDP-1
Oct 12, 2004

It's a beautiful day in the neighborhood.
That part had me confused too - if it really is an overhead projector type transparency then why do you need a rotating scanner head? If there is some reason that relative rotation is needed can't you just rotate the transparency instead?

Assuming the rotating scanner is actually needed, is it possible to just stream high speed data to local memory during a scan and then read the data out at a lower speed later?

ante
Apr 9, 2005

SUNSHINE AND RAINBOWS
SD cards are plentiful and spacious

Blackhawk
Nov 15, 2004

By transparencies I'm mainly thinking of film positives and negatives up to 4x5 inches. I'm thinking about a new 'take' on the drum scanner, which is still considered to be the best possible scan you can get of film and have typically been extremely expensive. In a drum scanner the film/transparency is taped onto the outside of an acrylic drum using mylar sheet and some mounting fluid (basically a light oil) and spun around at high speed while the 'read head' moves axially along the outside of the drum and a light source inside the drum shines through. Obviously this way of doing it is a lot easier in some ways because all of the electronics are more or less stationary but the big downside is that it's really slow, messy and difficult to mount the film onto the drum which you couldn't realistically expect the average person to do. I'm trying to think about how it can be flipped around so that the film remains stationary, which means that you can just feed it into the scanner rather than mounting it.

The advantage of a drum-style scanner is that rather than using a 2D or 3D array of sensors to scan the image you're using a single-point sensor, which means that resolutions are effectively only limited by your motion system and optics. The optics are also a lot simpler and you can put a lot more effort into the quality of the sensor so you can get a lot more dynamic range when compared to an array. Drum scanners typically used three photomultiplier tubes and a set of dichroic filters but I think these days RGB photodiodes with on-die interference filters can do just as good of a job in a much smaller and cheaper package. The reason for spinning anything in the first place is because if you're only sampling a single point at a time you need to move pretty fast across the surface to get any reasonable resolution over a reasonable time, if you had to accelerate and decelerate a motion system over and over again to scan backwards and forwards it would take forever. By moving to a polar co-ordinate system you can have continuous single-direction motion in both axes.

As far as local memory goes for larger size negatives/positives you'd be looking at a ~12 GB file, so I guess it is plausible to store that locally and transfer it off later. I suppose it's probably quite realistic that the user has to load a micro SD onto the read head before scanning and remove it after, that way the only thing you really need to get to the spinning part is power. It's a little bit of a faf but it it makes the whole thing much simpler and cheaper that could work.

Obviously this whole setup where the sensor spins while the film remains stationary has only really become possible recently with electronics becoming so much smaller and more powerful, you were never going to be able to do it with PMT's and 1990's electronics. I've also considered having a spinning angled mirror with the sensor fixed but I was concerned that the optics and mechanical arrangement would be much more difficult. When you consider that you're reading thousands of points per inch if there's any 'wobble' in your mirror the actual line that the sensor traces across the surface if the film will be very wonky. The closer the lens is to the film and the less there is in the way optically the easier it will be to get acceptable precision I think.

I suppose the other option is to have the lens and some simple focus electronics/mechanics rotating but then couple that to the sensor via some fibre with a rotating joint along the axis of rotation...

Foxfire_
Nov 8, 2010

If you are willing to define a failure mode for it, compressing the output should almost always drastically reduce the amount of data to save/transfer. A scan of an actual object is not going to be entirely uncorrelated random incompressible pixels.
You could also save into flash on the spinney part, and then transfer slower instead of physically moving a SD card. Like you do a scan and it spins for awhile, then has to keep transferring for a few minutes after it's done spinning. If you want to be extra fancy, let someone start removing the old film and loading a new one while the previous one is sending.

Shame Boy
Mar 2, 2010

Blackhawk posted:

I suppose the other option is to have the lens and some simple focus electronics/mechanics rotating but then couple that to the sensor via some fibre with a rotating joint along the axis of rotation...

I'm sticking with "use a mirror".

You can get mirror galvanometers that can move incredibly fast which are used for laser light show projectors, or you can just use a polygonal drum mirror from a barcode scanner (which is literally designed to sweep a line across a surface as fast as possible). You'd still need some kind of lens I guess unless you're real clever with it. Maybe use a curved mirror for focus? Or a bunch of them taped together, spinning around, so each time one rotates 90 degrees (or whatever your scanning angle is) the next one's ready to scan another line?

petit choux
Feb 24, 2016

Shame Boy posted:

I'm sticking with "use a mirror".

You can get mirror galvanometers that can move incredibly fast which are used for laser light show projectors, or you can just use a polygonal drum mirror from a barcode scanner (which is literally designed to sweep a line across a surface as fast as possible). You'd still need some kind of lens I guess unless you're real clever with it. Maybe use a curved mirror for focus? Or a bunch of them taped together, spinning around, so each time one rotates 90 degrees (or whatever your scanning angle is) the next one's ready to scan another line?

Hey, this stuff is awesome and pretty beyond me. But why not use radio?

Foxfire_
Nov 8, 2010

Shame Boy posted:

I'm sticking with "use a mirror".
I'm not sure you can get more than one axis out of a mirror. 1D laser barcode scanners work like:

If you tilt the mirror in a second axis too, you can't easily get the reflection to end up on the sensor. That's not a problem for a laser show, but is for a scanner.

2D barcode scanners solve it by just being 2D cameras

You shouldn't need continuous rotation though, either linear motion to advance a scanline across the picture, or tilting the scanner might work out if the sensor's big enough

Foxfire_ fucked around with this message at 07:35 on May 11, 2021

Sagebrush
Feb 26, 2012

I'm just kinda curious about the optics of it. You're saying that you want to avoid the wet-mounting of a drum scanner...but that wet-mounting is one of the major reasons that drum scanning is so good. Film is flexible and curls up and that ruins the perfect focus that you need for a good scan. Mounting it on a drum flattens the film out onto a very smooth, precisely made surface, eliminating a ton of potential optical artifacts. So to get the best results from your scanner you're still going to want to stick it down to a sheet of glass with mounting fluid, and then you're most of the way to a drum scanner.

longview
Dec 25, 2006

heh.
Would it be possible to use a (3 colour) laser scan to illuminate the film and leave the sensors stationary~ish? (Maybe only 1-axis linear movement for the sensor).

Moving lasers around might be easier than moving the sensor assembly (could even fiber couple the light). Alignment could be an annoyance (and I guess the laser spot size defines the resolution in that case).

Dia de Pikachutos
Nov 8, 2012

Sagebrush posted:

I'm just kinda curious about the optics of it. You're saying that you want to avoid the wet-mounting of a drum scanner...but that wet-mounting is one of the major reasons that drum scanning is so good.

The mounting fluid also means you have a film->liquid->glass light path, which has a lower difference in refractive index at each interface than a film->air->glass interface. Depending on what your optical setup is like that can be a big deal, since it can reduce total internal reflections. The higher RI of the mounting fluid might also mean the maximum numerical aperture of the system can be higher as well.

Depending on the viscosity of the mounting fluid it can also eliminate the formation of newton rings since the layer of mounting fluid stops your film and the drum/platen from getting close enough together for thin-film interference to happen.

Dia de Pikachutos fucked around with this message at 11:04 on May 11, 2021

M_Gargantua
Oct 16, 2006

STOMP'N ON INTO THE POWERLINES

Exciting Lemon
If you are flat mounting the film there’s no reason for anything to be rotating like that. Drum scanners work by spinning the film over the scan head so you cover all the surface, but if the film is flat there is no reason to spin the scan head instead. Just sweep it linearly across the XY like all the other modern CNC devices with our modern precision position encoders.

As for the flattening can you just use a very specialized vacuum table to hold it perfectly flat?

KnifeWrench
May 25, 2007

Practical and safe.

Bleak Gremlin
Yeah, I hate to join the pile on, but if you're rotating the sensor, wouldn't that mean you're still mounting the transparency to a cylinder, but just the interior surface? So you've turned a benefit (simplified sensor movement by spinning the transparency) into a cost (needing to design a data channel and power solution that can spin) by inverting the paradigm, but you haven't really made the mounting any easier?

Am I missing something?

Shame Boy
Mar 2, 2010

Foxfire_ posted:

I'm not sure you can get more than one axis out of a mirror. 1D laser barcode scanners work like:

If you tilt the mirror in a second axis too, you can't easily get the reflection to end up on the sensor. That's not a problem for a laser show, but is for a scanner.

2D barcode scanners solve it by just being 2D cameras

You shouldn't need continuous rotation though, either linear motion to advance a scanline across the picture, or tilting the scanner might work out if the sensor's big enough

It sounds like this is also effectively a 1D scanner that's slowly moved from how it's being described. Just mount the whole assembly on a carriage that slowly moves along the inside of the cylinder or something like that.

Dominoes
Sep 20, 2007



This is pretty frustrating.

sharkytm
Oct 9, 2003

Ba

By

Sharkytm doot doo do doot do doo


Fallen Rib
LOL. Get used to it for a while.

Adbot
ADBOT LOVES YOU

poll plane variant
Jan 12, 2021

by sebmojo
Someone build an Arduino but running an old PC processor from the garbage heap imo

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply