dragontamer

joined 1 year ago
MODERATOR OF
 

Hacker News was talking about this little device, which looks cool. I can't say I'm that into MPUs (like Rasp. Pi, Beaglebone or vocore), but there's a degree of niftyness to them.

1
submitted 11 months ago* (last edited 11 months ago) by [email protected] to c/[email protected]
 

Editor's note: I can't post pictures from my Lemmy.world account. I presume that recent trolling-attacks vs Lemmy.world have to do with this restriction, so I'll use my Lemmy.ca account for this post.

Today is a "Sidenote" for my "Beginner Series", because its not a particularly scheduled discussion point. I was browsing the internet for some documentation when I found Microchip's Signal Chain Design Guide.

Yes, this is marketing material. But its well written and covers many important concepts for beginners. Again, the PDF is here: https://ww1.microchip.com/downloads/en/DeviceDoc/21825g.pdf

At the crux of the 'Signal Chain' is the following diagram:

Many, many applications can be simplified down to this loop. Sensors provide a signal of some kind: changing voltages or currents as real life events happen. Temperature changes resistance and/or voltage of a thermocouple, pressure changes resistance of resistors as well. More complex sensors like IR Photodiodes will change their current due to the presence of light. (and that IR Photodiode may itself be encoded information: with lights turning on-and-off associated with machinery RPMs).

Whatever the "sensor" is, it may need analog processors to condition. OpAmps are the most common analog processor, but instrumentation amps, differential amps, and sometimes even raw BJTs are used for this step (when high-frequency is needed, such as amplification of radio signals). There's a side note here about digital-potentiometers and their ability to calibrate analog bits of your circuit, but calibration can be skipped if you don't care much about accuracy.

In particular: whatever your "signal" originally was needs to be converted into a voltage of the appropriate size for your ADC. For example, a capacitive touch sensor can track the human-body (fingers) moving across different electrical pads. This "signal" is watching for the change of capacitance over different electrical lines. But "capacitance" isn't voltage. Instead, you need to inject small amounts of current into the various pads while measuring their change-of-voltage over time, which converts the "change of capacitance" into a "change of voltage" formula, thereby allowing later stages to operate upon your data.

Once the signal is processed to appropriate levels of voltage and/or current (or if you're lucky enough: the raw signal is good enough without need of preprocessing), then you can feed it into an ADC and digitize the signal.

Once the signal is in digital form, you write a computer program to analyze and manipulate the data. For many, the data will remain in digital form perpetually, sent out over WiFi, Bluetooth, or perhaps to a MicroSD card for recording. But for others, the job is not done yet. The combined sensor data goes into an algorithm to determine actuator outputs.

Those actuator outputs leave in either PWM form or DAC as an analog signal directly. Alas, microcontrollers usually have weak pins, so output processing and amplification is needed to increase power levels to appropriate voltages and/or currents.

Finally, those voltages and/or currents affect an actuator. That could be a servo, a motor, LEDs to blink or really anything.


While these steps are individually pretty simple, as a whole they constitute a pattern and architecture that matches a huge number of electronic designs. Your thermostat (temperature sensor -> microcontroller -> turn furnace on or AC on). Drones (accelerometers to measure bearings in space - microcontroller -> motor controls), motor controls (sense current through motor to estimate torque -> microcontroller -> BLDC Motor signals), and more.


This page summarizes the sensors available from Microchip. And remember, this is just one company. There are plenty of sensors available around the world in many other forms.

As far as actuators... Microchip doesn't make too many of those. But motors, speakers, MEMS, refrigerators... anything you can hook up to electricity is something you can control with a microcontroller.

 

Discussions elsewhere:

The TL;DR:

"Tesla requested redaction of fields of the crash report based on a claim that those fields contained confidential business information," an NHTSA spokesperson told Insider in a statement. "The Vehicle Safety Act explicitly restricts NHTSA's ability to release what the companies label as confidential information. Once any company claims confidentiality, NHTSA is legally obligated to treat it as confidential unless/until NHTSA goes through a legal process to deny the claim."

[–] [email protected] 2 points 1 year ago

That didn’t fit with his limiting how many tweets users are able to view.

The theory behind that is that Twitter failed to pay for their web-services and needed to suddenly cut traffic, otherwise they'd be shutdown by Amazon / Google.

After Twitter paid Amazon/Google, they raised the tweet view-limits appropriately, but the damage was already done.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

Yeah, cause the Win32 API + DirectX is more stable than the rest of Linux.

There's a reason why Steam games prefer to emulate Win32 API on Linux, rather than compiling to Linux binary native. Wine is more stable than almost everything else, and Windows's behavior (both documented, and undocumented) has legendary-levels of compatibility.

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

You know that doesn't matter when commercial software often only releases and tests their software on Ubuntu and RedHat, right?

I run Ubuntu / Red Hat / etc. etc. because I'm forced to. Do you think I'm creating a lab with a billion different versions of Linux for fun?


Linux kinda-sorta works if you've got the freedom to "./configure && make && make install", recreating binaries and recompiling often. Many pieces of software are designed to work across library changes (but have the compiler/linker fix up minor issues).

But once you start having proprietary binaries moving around (and you'll be facing proprietary binaries cause no office will give you their source code), you start having version-specific issues. The Linux-community just doesn't care very much about binary-compatibility, and they'll never care about it because they're anti-corporate and don't want to offer good support to binary code like this. (And prefers to force GPL down your throats).

There's certainly some advantages and disadvantages to Linux's choice here (or really, Ubuntu / Red Hat / etc. etc. since each different distro really is its own OS). But in the corporate office world, Linux is a very poor performer in practice.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (4 children)

like saying you are running last night’s upload

If only. I'm running old stuff, not by choice either.

Ubuntu 18.04 and up literally fails to install on one of my work computers. I've been forced to run Ubuntu 16.04. BIOS-incompatibility / hardware issues happen man. It forces me to an older version. On some Dell workstations I've bought for my org, Ubuntu 22 fails to install and we're forced to run Ubuntu 20.04 on those.

Software compiled on Ubuntu 16.04 has issues running on Ubuntu 20.04, meaning these two separate computers have different sets of bugs as our developers run and test.

I'm running old LTS Ubuntu instances, not because I want to mind you. But because I've been forced with hardware incompatibility bugs to do so. At least we have Docker, so the guy running Ubuntu 20.04 can install docker and create an Ubuntu 16.04 docker to run the 16.04 binaries. But its not as seemless as any Linux guy thinks.


CentOS is too stable and a lot of proprietary code is designed for Ubuntu instead. So while CentOS is stable, you get subtle bugs when you try to force Ubuntu binaries onto it. If your group uses CentOS / RedHat, that's great. Except its not the most popular system, so you end up having to find Ubuntu boxes somewhere to run things effectively.

There's plenty of Linux software these days that forces me (and users around me) to use Linux in an office environment. But if you're running multiple Linux boxes (This box is Ubuntu, that one is Ubuntu 16 and can't upgrade, that other box is Red Hat for the .yum packages...), running an additional Windows box ain't a bad idea anyway. You already were like 4 or 5 computers to have this user get their job done.


Once you start dealing with these issues, you really begin to appreciate Windows's like 30+ years of binary compatibility.

 

This is the Virginia crash talked about a few weeks ago. Now its officially an NHTSA investigation.

[–] [email protected] 1 points 1 year ago

Test post for my alt to be promoted to moderator.

 

So there's lots of alternative instances that remain federated with Lemmy.world. It may take some number of minutes to move data between Lemmy.world and alternative instances, but you should be able to stay reasonably up-to-date to this support forum as long as federation works.

Ex: https://sh.itjust.works/c/[email protected]

https://sh.itjust.works/c/[email protected]

The way "Federation" works means that lemmy.world and other hosts (ex: sh.itjust.works) will automatically retry and try to synchronize messages as https://lemmy.world goes up-and-down. Effectively, use the other-instances to "automatically F5 / Refresh" for you, so you don't have to manually F5 on lemmy.world.

 

As the lemmy.ca community has been growing, I've begun to look at some of your /c/communities and ... things are bugged. I can't really post or comment very well on my https://lemmy.world account.

So I created this local https://lemmy.ca account to maybe bring attention to this federation problem.

I'm not sure if this is due to the growth of https://lemmy.world, or some configuration issue on the backend. But I figure that tracking and testing my account access from both sides can help everyone get to the bottom of this.