Nowadays, it is hard to recommend a general-purpose opamp. Just plug the desired parameters into the search function and sort what's left by price.
(Distributors like DigiKey and Mouser have somewhat adequate search functions; I usually have to go to manufacturers' web sites like https://www.ti.com/amplifier-circuit/op-amps/general-purpose... to be able to filter by all important parameters. I'm mentioning TI because they have a large selection and a good search; even when you do not end up selecting on of theirs, you see what is possible.)
___
If you need only a small negative supply and have nothing else, the LM7705 charge pump can generate −0.23 V. (This is designed to fit into the typically allowed 5.5 V range of a nominal 5 V opamp.)
I do not know what a "significant current" is for you, but there are opamps with strong outputs. (When comparing opamps, you usually have to estimate the drive strength from the short-circuit current.)
What I meant by "requiring one of the opamps to sink significant current very close to the negative rail" is that, if you look at the schematic, the differential-to-single-ended op-amp that measures the voltage across the current-sense shunt resistor is using 10kΩ resistors in its feedback path, and the inverting input to that feedback network might be close to the positive voltage rail, say 12V, while the single-ended output is ideally millivolts from ground. So you have 12 volts across 20kΩ, which works out to 600μA, which has to be sunk into that op-amp's output.
600μA doesn't sound like a lot, and it certainly isn't going to strain the drive strength of any op-amp IC, but in this context we're hoping for millivolt precision down near the negative rail. The OPA4197 datasheet https://www.ti.com/lit/ds/symlink/opa4197.pdf figure 14, "Output Voltage Swing from Negative Power Supply vs Output Current (Maximum Supply)", shows what you might call a gently nonlinear output impedance roughly in the 40–80Ω range depending on temperature (2–4V at 50mA), which means 0.6mA of output current works out to tens of millivolts (24–48mV using those nominal impedances). Worse, even under no-load conditions, it's rated to swing only down to as much as 25mV from the negative rail (§6.7, "Electrical Characteristics: VS = ±4 V to ±18 V (VS = 8 V to 36 V) (continued)", p. 8, "Vₒ: Voltage output swing from rail, Negative rail").
In retrospect, it seems obvious that the op-amp's output isn't going to be able to reach beyond the input rails (unless it integrates a charge pump like the LM7705 internally) and is going to have trouble getting too close to them when it's sinking any current (for the negative rail, or sourcing for the positive). Because where is that current being sunk to? You need some voltage drop to get the electrons and holes to move in the desired direction through the silicon. A small negative supply might be the right solution. Or a differential output, which would be easy.
A general purpose OpAmp is just that, your general purpose first choice.
If you know more specific information about your circuit or it's application, the. You can specialize. But general purpose OpAmps are jack of all trades with specific known weaknesses to avoid.
In most cases, you calculate the error bars and none of the errors matter, so sticking with a cheap general purpose amp is best engineering.
In this strong form, this is excellent advice for someone who is not me and is not doing what I am doing.
I live in a third-world country where importing chips from abroad is expensive, unreliable, slow, and sometimes dangerous. There are circuits I cannot build because I cannot get the very specialized parts they need. Obviously a linear power supply that can measure how much current it's supplying is not such a circuit, unless you have very stringent precision requirements.
It would be to my benefit to figure out a relatively small set of parts I can buy, ahead of time, in bulk, to cover a wide range of possible circuits. Better still if they're so popular that local distributors have them in stock. An analog comparator probably needs to be in that set. A chip specialized for current measuring probably does not.
If you're designing a product for mass production that needs to be competitive in the market, you can't do it that way. Super-specialized parts will always have better performance, and usually better price/performance than overpowered general-purpose parts. (Also, you need to live in Shenzhen.) But hobbyists have other priorities.
This comment reminds me of a video I saw recently (not sure if I could find it) where someone broke down failure points for projects based on different aspects of engineering, using "designing a drone" as the example project.
For someone working on the systems interactions, the failure point is making sure all the bits of the project are working together.
For someone working on optics, the failure point is finding cost-effective optics -- if you can't do that, then the project isn't going to go forward.
For the hobbyist? The failure point is <i>getting the project done</i>. Every other concern takes a back seat to this!
From my vantage point as someone living in America, however, I'm probably in a similar boat to you, because of my inexperience in electronics. If I want to take a deep dive into the subject, I'd be much better off getting a lot of generic cheap parts I can accidentally burn through, but would give me 90% of what I need, and I can worry about whether or not I need something highly specialized later, as my projects -- and my knowledge and skills! -- mature.
Yeah, that's a good point, and I've actually been terrible at getting projects done recently. Maybe a key question should be how few datasheets you can get by reading?
The idea of parsing indeed is to transform data, from a lower level of abstraction to a higher level of abstraction.
Parsing text (a sequence of characters) or binary files (a sequence of bytes) are well known.
The author mentions the case where a JSON parser has generated a bunch of JSON objects, but you want your own object types. (Deserialization libraries can do this automatically if all that is required is setting fields or properties, but for more complex cases you need custom code.)
Similar for XML parsing: all you get is a stream of element events, or a tree of generic XML objects, and you have to transform that further.
Another case would be when you get import data in the form of an Excel or CSV file. Your code starts with a 2D array of generic cells/values, and has to transform it into your own table/object types.
(Distributors like DigiKey and Mouser have somewhat adequate search functions; I usually have to go to manufacturers' web sites like https://www.ti.com/amplifier-circuit/op-amps/general-purpose... to be able to filter by all important parameters. I'm mentioning TI because they have a large selection and a good search; even when you do not end up selecting on of theirs, you see what is possible.)
___
If you need only a small negative supply and have nothing else, the LM7705 charge pump can generate −0.23 V. (This is designed to fit into the typically allowed 5.5 V range of a nominal 5 V opamp.)
I do not know what a "significant current" is for you, but there are opamps with strong outputs. (When comparing opamps, you usually have to estimate the drive strength from the short-circuit current.)
reply