High precision DC current measurement
What I find curious is that it is easy to achieve 0.05% accuracy for voltage measurement, and it is damn difficult to get beyond 1% for resistors. Makes no sense.


It's quite simple actually ;)

Resistors with high enough value can be made with film technology (thin or thick) which is very cheap. This is why your average SMD chip resistor costs next to nothing. Thru-hole parts are a bit more expensive but not much. High accuracy for cheap prices is achieved via laser trimming. Quite impressive when you consider how little these things actually cost.

For low resistance values it gets more complicated, thicker films are required, trimming is more difficult, and in a high current density scenario, the laser-cut shape concentrates the current into a small part of the film, which decreases pulse power handling. If the resistor is wirewound, then it can't be laser-trimmed. Basically, less cheap/accurate manufacturing options are available for low resistor values.

Also, the resistance of whatever sits between the resistive element and the PCB (like endcaps, leads, etc) begins to matter. And these are usually metal, which is inaccurate and has very bad temperature coefficient of resistance. For example if you buy a 0.02 ohms leaded resistor, its value will depend on how long the leads are after it is soldered.

So, you say:


  Four power resistors of 1 Ohm and only 5% tolerance are twice as expensive and at least an order of magnitude less accurate.


This one for example, isn't expensive. Now, obviously, it has a huge +/- 300ppm/°C tempco which means at its rated load of 5W, with a temperature rise of 200°C according to the datasheet, tempco alone will cause a +/- 6% drift, which means precision will be crap.

Thus you would select a 1% resistor. It does have a much better tempco (50ppm/K). It is also expensive, since it is more of a niche product.

If you want 0.1% though, you're in trouble because 0.1% of 1 ohm is 1 mOhm and this means the endcaps and leads matter. Thus you are stuck with this luxury product which, obviously, has 4 terminals and a TO-220 package so it can be kept cool with a big heat sink.

It's basically supply and demand. Current sense resistors are used quite often, but in scenarios that don't require high accuracy, like in power supply, chargers, etc. So you can get low value current sense resistors like 10-100 mOhm in SMD format for low prices. But a high accuracy version will interest few customers. This is the reason why you're having problems getting cheap high-power, high-precision resistors: people choose a power resistor when it will get hot. If it's hot, you get tempco problems. Therefore, you need to do it like everyone else:


Rethink the project


If your need for accuracy stems from a need to measure from 0 to 3A while keeping good precision near zero, you need more ranges like in a multimeter. Use a higher value shunt resistor for low currents.


Use a lower resistance value (less heat), for example a 0R1 resistor.


This requires a lower offset amplifier (or calibration). This is likely your best option.


Use 4 wire sensing (eliminates inaccuracies due to terminal/wire resistance)


This requires SMD resistors or very special thru hole resistors, but it is mandatory if you want accuracy on a 0R1 resistor. Here is some reading material. link link (second one is quite interesting!)


Require less accuracy by using calibration (but the resistor can still heat up, so you still need a low tempco).


Also, if you want a resistor that is: very accurate, low drift, high dissipation power, etc... get a hundred 1% thin film SMD resistors and solder them on a double sided board that you make for this purpose using one of the cheapo $10 chinese PCB shops. Place the board vertically so it is air cooled by convection. The large surface area will do wonders for dissipation. A proper layout is a must though.