Verwendest du den ADC des µC? Wenn ja, dann spendier AVCC noch eine
Drossel in Serie (siehe [1] Kapitel 2.1 und 2.2). Eine Trennung GND <-->
AGND wird bei so einer kleinen Platine wahrscheinlich Overkill sein.
Dem Reset ebenfalls einen 100nF Kondensator nach GND spendieren und wie
groß ist denn der Pull-Up Dimensioniert? Ich nehme immer 10k-50k bei
störungsarmer Umgebung.
Brauchst du bei der Spule eine Umpolung des Magentfeldes? Wenn nicht,
dann setzte Direction auf einen definierten Pegel und fahr mit dem PWM
in den PWM-Eingang rein. Das Vereinfacht das Steuern des Motors (0-100%
Duty = 0-100% leistung. Bei deiner jetztigen Lösung bedeutet 50% = 0%
Leistung und alles >50% Vorwärts fahrt und <50% Rückwärts.
Der 1µF Kondensator bei dem Motortreiber muss ein Keramischer sein, d.h.
keine Polung. Siehe Datenblatt Seite 8, SUPPLY BYPASSING. Dann würde ich
dem Schaltplan folgen und einen P6KE62A einsetzten. Auch reicht laut
diesem ein Kerko von 300µF locker aus.
Auch zu überlegen wäre, die gesamte Spulenansteuerung mit einem
Logic-Level N-Kanal MosFET + Freilaufdiode zu realisieren. Käme billiger
in Platz und Geld. Nachteil ist natürlich das Wegfallen der Strommessung
(bzw. müsste dann analog mit Sens-Widerstand & OPV aufgebaut werden).
Auf dem Current Sense Ausgang wirst du deine PWM-Signal (verzerrt)
sehen. Würde da ein Tiefpass mit hinein planen, dessen 3dB-Grenze weit
unter der PWM-Frequenz liegt.
Zu überlegen wäre, die 5V aus den 48V zu erzeugen. Spart dir ein zweites
Netzteil. In Frage kämen zB der LM317HV (aufpassen auf das HV am Ende,
die normalen können nur bis 40V). Ansonsten vielleicht die Spannung auf
<40V fahren und einen 08/15 Spannungsregler reinpacken :).
gruß
Mobius
[1] http://www.atmel.com/dyn/resources/prod_documents/doc2521.pdf