I don't remember who pointed me in the direction of Prof. Sam Ben-Yaakov's videos but they're damn good. His mic kinda sucks in the older videos but they're still extremely educational. The inductor sizing issues he raises here were a real eye opener.
Over the last couple days I made a simple motor controller for the STSPIN32F0A in Rust: https://github.com/mcbridejc/stspin-bldc-rs
I like a lot of things about Rust, but I still struggle with what sometimes feels like a lot of hoops to jump through for simple things.
At first I was slow to reach for an unsafe block; now I'm getting more relaxed about that.
For example, there seems to be no way to clear the IRQ flag in timer handler without an unsafe.
Another challenge I hit is that I have one fast commutation IRQ which writes some registers of TIM1, and a slower timer IRQ which writes different regs. I don't want a lock, because the slower one shouldn't block the fast one. I ended up just splitting off a new object with a duplicate pointer to the register block, but I'm embarrassed to admit how long it took me to find the right incantation for that.
If any Rust users have feedback on anything in that repo, I'm very open to learning how to do this better.
I built this wireless remote for the magnet track. Last night I threw in a lipo+switch to disable it, so I could bring it to the Seattle 3H meetup. It uses a cheap/slow OOK 433MHz transmitter -- my humidity/temp sensors are also 433MHz. Today, when I checked my dashboard, I learned that I left the switch on...
My apologies to any neighbors I might have jammed!
I do not recommend these radios for any purpose, but I was curious to try them out. If I end up working any more on these I'll be getting a better transceiver module!
Want to make it a little easier for people to figure out if your mastodon account is *your* account? You can setup cross links between sites you control (or that allow you sufficient control) and your mastodon profile, resulting in a green checkmark and background on those links in your profile.
The process for github is illustrated below, but if you can edit the HTML (your own site, etc), all it takes is a <a rel="me" ...> link, as the edit profile page explains.
Schrödie seems to believe that if she makes sufficient eye contact with anyone behind a booth they are sure to feed her.
My plan is to use this with an Analog Discovery 2 which will drive the input waveform, and use the two scope channels of the AD2 to measure output voltage and current while charging two electrodes with a dielectric sandwiched between them.
Hopefully this will allow me to measure things like dielectric hysteresis, and variation in capacitance with voltage and temperature on different materials like kapton and mylar, which I care about because these films are used as a dielectric layer on the PurpleDrop, and it uses capacitance sensing to determine the volume of fluid present.
The parts for the high voltage amplifier came in yesterday, and it seems to work great so far! Pulls about 40mA at 9V -- this is mostly the quiescent current of the opamp. I messed up a couple footprints, but these were easy to work around.
If I ever do another revision, I think I'll leave off the output terminal block -- it might be convenient, but it seems too easy to accidentally touch the contacts.
Found some of these PA88 450V opamps on ebay for $30, and ordered carrier boards with a 9V to +/-200V power supply. If it works🤞, I'll have a +/-3.3V to +/-200V high voltage amplifier for characterizing some dielectric films.
Perhaps it would have been simpler to do a single stage boost with an external switch for the voltage rating? I ended up with a couple diode boost stages to keep the switch voltage below 75V and to get neg output. Sim seems good. Looking forward to getting the digikey box!