Hallo Christoph,
vorab: ich habe nicht den ganzen Thread gelesen.
Im Prinzip hast du zwei möglichkeiten:
- Spannungsabfall über shunt
- Magnetfeldmeßung über Leiter

Möglichkeit eins wird bei eher kleinen Leistungen verwenden. Nach U=R*I fällt eine Spannung ab, wegen P = I² * R darf der Strom nicht zu groß sein. Der Widerstand wird wegen der Verlustleistung möglichst klein gehalten und muss deswegen für den ADC verstärkt werden. Dafür kannst du z.B. einen diskreten OPamp verwenden. Oder den differentiellen ADC deines atmel µCs.
Zusätzhlich hast du noch die Wahl des Bezugspunktes: Highside oder lowside. Lowside ist einfacher auszuwerten ist aber leider nicht immer möglich.
Unter http://cq.cx/smps.pl findest du einen LED-Treiber. Der Strom wird über den differentiellen ADC eines µC gemeßen, und das sogar highside. Schau dir den Plan mal an, ich fand es ganz überraschend, dass so etwas funktioniert. Meiner meinung nach sollte man höhere Ströme sowieso nur differentiell meßen, weil die Masse sich auch verschieben kann.

Zusätzlich hat man noch das Problem der überlagerten PWM. Man kann z.B. den Strom nur während der ON-Phase meßen, indem man die Shunt-SPannung über einen n-fet leitet, der synchron zum anderen Leistungsschalter durchgeschaltet wird. Sozusagen ein Kleinsignalmosfet parallel zu einem richtigen Mosfet. Den Strom kannst du dann zurückberechnen über den Dutycycle.
Sinnvoller ist aber ein Tiefpass (allgemeines Konzept). Dieser lässt sich z.B. über ein RC-Glied realisieren (das suchst du wahrscheinlich). Dieses RC-Glied hat eine Grenzfrequenz. Unterhalb dieser Grenzfrequenz wird alles stark geglättet, bei exact dieser Frequenz kommen noch 70% des Wechselspannungsanteils durch (ist nicht richtig ausgedrückt, ich weiß). Damit auch alles schön glatt ist, sagt man dass f_grenz < 100*f_meß sein soll. Dadurch wird natürlich auch deine Regelung träger, falls du eine aufbauen möchtest.
In dem Fall gibt es aktive Tiefpässe, die man z.B. mit einem Opamp realisieren kann.

Bei einer Motorsteuerung ist es oft der Fall, dass man eine Überlastabschaltung realisieren möchte. Hiefür verwendet man gerne Komperatoren, die die am Shunt abfallende Spannung mit einer Referenzspannung vergleichen. Nur so kann man schnell genug reagieren, dort würde ich dann auch keinen Tiefpass verwenden. Zusätzlich gleicht man Softwarefehler aus oder hat ein weiteres Sicherungselement.

Einen Instrumentenverstärker brauchst du IMHO nicht, das hört sich nach overkill an. Was du brauchst ist ein opamp mit geringem offset und je nach dem railtorail eingänge/ausgänge. Die Geschwindigkeit ist wahrscheinlich egal, der Spannungsbereich, Eingangswiderstand Stromverbrauch wahrscheinlich auch. Schau dir mal den LM358 an, der kostet wirklich wenig und vielleicht reichen dir die technischen Daten. Unter http://www.mikrocontroller.net/artic...erst.C3.A4rker findest du viele tolle empfehlungen, auch für alles andere

Ein weiteres Problem ist der Shunt. Reichelt hat temperaturkompensierten Widerstandsdraht im Angebot, ist aber nicht billig. Conrad hat 0.1Ω smd widerstände, von denen könntest du mehrere parallel schalten. Selber machen könntest du ein Stück Kupfer, z.B. deinen Anschluss zum Motor. Allerdings hat Kupfer einen starken Temperaturkoeffizienten. Diesen könntest du entweder in Software kompensieren (temperatur meßen) oder als solchen akzeptieren, weil auch viele andere Bauelemente bei höheren Temperaturen nicht so leistungsfähig sind. Dann würde z.B. deine Überstromabschaltung bei 80°C ein gutes Stück früher anschlagen als bei 25°C.