Hallo, ich möchte mit Hilfe eines ACS773 den Strom in der Phase eines BLDC messen. Zur weiteren Verarbeitung soll der Spannungsausgang an einem uC ausgewertet werden. 1. Die Auswetung mit einem atmega328p integriertem ADC funktioniert. Die Auflösung von 10-bit ist für die Auswertung nicht wirklich brauchbar. Also benutze ich einen LTC1859 ADC welcher via SPI an die MCU angeschlossen wird. 2. Messung bei Stillstand ist sehr gut. Aber sobald ich den Motor einschalte, schwanken die Werte extrem. Ich denke, das kommt von den Einschaltstörungen des BLDC. Wie kann ich nun am besten diese Störungen vom ADC fernhalten? Aufgebaut ist zur Zeit alles auf einem Steckbrett. Ich bin für hilfreiche Tips dankbar. BG Peter
Peter schrieb: > Wie kann ich > nun am besten diese Störungen vom ADC fernhalten? In der Mitte des PWM-Pulses messen, dafür ist der Center-Aligned-Mode gedacht. Das synchronisiert die Messung automatisch auf die PWM und der Abtastwert ist immer im "EIN" oder je nach PWM-Polarität "AUS" Zustand des Schalters und das auch noch mittig.
Danke für die schnelle Antwort. Ich habe bereits probiert mit einer Wartezeit von 20 mikrosekunden nach dem Schalten zu Messen, leider bleibt das Verhalten gleich, auf dem Oszi sind auch keine Spikes auf der Strommessung zu sehen.
Guten Morgen :) Die Messung in die Mitte der PWM zu setzen brachte leider keinen Erfolg, es kommt nach wie vor immerwieder zu "GRenzausschlägen". Der Stromausgang zeigt am Oszi jedoch keine Auffälligkeiten, auf der Masse sind nur die EIN- / AUSSchaltstörungen zu sehen. Die Messung erfolgt aber dazwischen.
Ingo Less schrieb: > Kannst du das irgendwie zeigen/visualisieren? Ich habe zwar versucht es mit Serialausgabe darzustellen aber dann erwische ich nicht jeden Wert, Aber ich habe da bereits gesehen, dass es Ausschläge gibt, welche so nicht möglich sind. Des weiteren habe ich als Debugmöglichkeit eine LED angeschlossen, welche beim überschreiten des SOLL-Wertes angehen soll. Diese Leuchtet jedoch auch unter dem Sollstrom auf, wenn die Maschine im Leerlauf ist und dieser Sollwert defeinitiv nicht erreicht wird!
Anbei ein Screenshot vom Oszi wenn der Motor läuft. GELB: Zeigt mit der steigenden Flanke den Beginn der ADC Conversation und mit der fallenden Flanke das Ende. BLAU: Zeigt das Rauschen der Masse, wenn der Motor läuft.
Peter schrieb: > 1. Die Auswetung mit einem atmega328p integriertem ADC funktioniert. Die > Auflösung von 10-bit ist für die Auswertung nicht wirklich brauchbar. Warum reicht es nicht, einen Sensor mit +-1% Fehler mit einem ADC mit 0,1% Auflösung auszulesen? Da ist doch schon die letzte dezimale Stelle falsch. MfG Klaus
Klaus schrieb: > Warum reicht es nicht, einen Sensor mit +-1% Fehler mit einem ADC mit > 0,1% Auflösung auszulesen? Da ist doch schon die letzte dezimale Stelle > falsch. Weil ich mehr Stufen haben möchte um diverse Einstellungen vor zu nehmen. Mir reicht es nicht zwischen 6 und 8 Ampere zu unterscheiden sondern lieber zwischen 6,1 und 6,2.
Peter schrieb: > Mir reicht es nicht zwischen 6 und 8 Ampere zu unterscheiden Setzen wir dazu mal eine Auflösung von 1A an, dann brauchst du dazu 3 Bit. Peter schrieb: > sondern lieber zwischen 6,1 und 6,2. Also 61 bzw 62 bei 0,1A pro bit. Das bekommst du bei 6 Bit Auflösung hin. !0 Bit reichen also allemal. MfG Klaus
Klaus, der zu erwartende Strombereich ist 10 - 200 Ampere, Deshalb reichen die 10 bit nicht.
Es geht ja auch nicht darum die Auflösung zu reduzieren, auch wenn es ausreichend wäre, sondern um eine Lösung um das Rauschen in den Griff zu bekommen. Wäre für Hinweise und Vorschläge sehr dankbar.
Peter schrieb: > Wie kann ich > nun am besten diese Störungen vom ADC fernhalten? Als erstes wäre ein "richtiges" Layout wichtig: - ist der GND vom ACS773 und ADC getrennt geführt vom Digitalteil und den Leistungspfaden? => GND vom ACS773 mit GND des ADC (AGND) verbinden, und nur an dieser Stelle (GND des ADC) gibt es eine Verbindung zum Digital-GND. - wo verlaufen die Leiterbahnen? => Das Analogsignal zwischen ACS773 und ADC sollte kurz sein und nicht durch verstörte Bereiche laufen. Ggf. kann man die Leitung auch abschirmen oder auf einer Leiterplatte mit AGND-Leitungen "stabilisieren" (rechts + links + Rückseite). Wenn das nicht reicht, könnte man ein Filter vor den ADC bauen, z.B. ein einfaches RC-Filter. Übrigens: Ist VCC von ACS773 und ADC zumindest mit Stützkondensatoren abgeblockt und am besten noch mit LC-Filter vom Digitalteil getrennt? > Aufgebaut ist zur Zeit alles auf einem Steckbrett. Das ist allerdings ein sehr ungünstige Umgebung (siehe oben)!
Danke für die Hinweise. Werde morgen den Analogteil „kürzer“ aufbauen und die Massen so wie oben beschrieben verbinden. Wenn das nicht zu besseren Werten führt werde ich um eine Proto Platine nicht drum herum kommen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.