Probleme mit der Ausgabe des TI DRV8825

Es gibt ein elektrisches Schema meiner Platine:

Elektrisches Schema

Das sehe ich am Ausgang, wenn der Schrittmotor nicht angeschlossen / angeschlossen ist:

Mit_eng Ohne_eng

Der Schrittmotor bewegt sich nicht und erzeugt ein quietschendes Geräusch und Vibrationen, aber ich spüre ein kleines Drehmoment am Schrittmotor. Kann nicht herausfinden, was falsch ist.

V Motor ist 12 V, VREF = ~ 1,1 V. Schrittmotor 17HS4401.

Es gibt ein PCB-Layout:

PCB-Layout Obere Schicht PCB-Layout untere Schicht

UPD: Jetzt habe ich den Treiber auf das Breakout-Board gesetzt und das Polulu-Schema wiederholt. Immer noch nicht gelungen.

Dieses Oszillogramm gilt für den STEP-Pin von DRV8825: Die STEP-Impulsdauer HIGH und LOW beträgt beide mehr als 3 us

SCHRITT

Dies gilt für R10 und R11 (mittlere Amplitude liegt nahe bei 100 mV):

R1011

Geben Sie hier die Bildbeschreibung ein

Möglicherweise haben Sie die Schrittfolge falsch..
Auf was ist R26 eingestellt? Welchen maximalen Antriebsstrom erwarten Sie?
Sie können auch einen Link oder ein Datenblatt für den von Ihnen verwendeten Motor bereitstellen und uns mitteilen, wie Sie die Spulen angeschlossen haben. Wird das untere Bild mit der gleichen Sweep-Einstellung wie das obere Bild (und mit der gleichen Schrittrate) aufgenommen?
Strombegrenzung ist korrekt, Spulenanschluss ist korrekt. Bilder werden mit denselben Einstellungen aufgenommen. SM funktioniert ordnungsgemäß mit 'Polulu DRV8825 Carrier' bei denselben Einstellungen. Ich habe zwei Unterschiede zwischen 'Polulu DRV8825 Carrier' und meinem Board: 1. R26 ist 20 kOhm (statt 10) 2. C11 ist 10 nF 25 V (statt 10 nF 50 V) Ich versuche, 100 nF 50 V anstelle von C11 zu verwenden ( habe gerade keine richtige Kappe), aber es hat nicht geholfen.
"Strombegrenzung ist korrekt, Spulenanschluss ist korrekt." "R26 ist 20 kOhm" ... Ich denke, wenn Sie die gestellten Fragen umgehen, sind Sie auf sich allein gestellt. Viel Glück.
R26 ist ein Trimmerwiderstand. Es ist so konfiguriert, dass die Ausgangsspannung am Pin ARef/BRef etwa 0,4 V beträgt, was 0,8 A für die Strombegrenzung entspricht. Also ja, ich denke, dass die Strombegrenzung richtig ist.
Nur eine Anmerkung zu Ihrem Schaltplan: Sie haben nFAULT und nSLEEP miteinander verbunden, während Fault ausgegeben und Sleep eingegeben wird und sie separat gesteuert / erfasst werden sollten.
@GAttuso, an dieser Verbindung ist nichts auszusetzen. Es wird auch auf dem Pololu Breakout Board verwendet. Grundsätzlich versetzt es den Chip im Fehlerfall in den Ruhezustand. Wenn der Sleep-Pin jedoch vom AVR angesteuert wird, tut die Verbindung nichts.
Mit welcher Schrittfrequenz fährst du? Welche Motoren hast du?
Das PCB-Layout wäre auch nützlich, um es zu sehen.
Versuchen Sie, den C13 auf 100 uF zu erhöhen.
@Tom Carpenter Ok, das ergibt Sinn, danke. Bitte ignorieren Sie meinen vorherigen Kommentar.
Ein guter nächster Diagnoseschritt wäre, den Schrittmotor durch 2 Leistungswiderstände (12 V / 0,5 A -> 24 Ohm oder 20-25 Ohm) zu ersetzen, wobei einer für jede Spule verwendet wird. Das stellt sicher, dass die Dinge grundsätzlich funktionieren. Wenn das funktioniert, verwenden Sie für jede Spule einen 10-Ohm-Leistungswiderstand und testen Sie die Strombegrenzung.
1. Der Austausch von C13 hat nicht geholfen; 2. Die Schrittrate beträgt 100 ms; 3. Fulling-Motoren 28SH51-0674A.
@A.Shirkov Das GND-Symbol, das im Schaltplan nach oben zeigt, lässt mich zusammenzucken. Es gilt als guter Stil, wenn es nach unten zeigt
@Manu3l0us Danke, ich werde das berücksichtigen.
Die Bahnen, die einen signifikanten Strom leiten sollten, sind zu dünn und lang. Schwachstrom- und Hochstromabschnitte der Schaltung sollten keine gemeinsamen Leiterbahnen in der Stromversorgung haben.
Die Amplitude des Signals auf dem Oszillogramm sollte einen erheblichen Teil des Bildschirms einnehmen (70 % -90 %). Bitte wählen Sie Volt/DIV korrekt aus und aktualisieren Sie sie. Es ist auch wichtig, den Strom an den Spulen des Motors zu kennen und nicht die Spannung. An R10 und R11 kann eine dem Strom der Spulen proportionale Spannung gemessen werden. Bei Strom 1A soll die Spannungsamplitude 0,1V erreichen. Dieser Wert reicht aus, um das Oszilloskop zu messen.
@AltAir OP aktualisiert. Ich bekomme 100 mV an R10/R11, wenn Vref ~ 1,1 V beträgt (es ist eine Strombegrenzung von ~ 2 A für mein Schema).
Wie hoch ist die Spannung an den Pins 4 oder 11 des Treibers? Mach bitte ein Oszillogramm. 5 Volt der Stromversorgung sind für diesen Treiber ein niedriges Niveau.
Vmot ist 12 V, also sind die Pins 3,4,11 auch 12 V. Mit "Logikpegel ist 5 V" meinte ich, dass der logische HIGH-Pegel 5 V beträgt.
Die ersten beiden Oszillogramme zeigen, dass die Amplitude der Spannung am Treiberausgang nur 5V beträgt. Ich habe gesehen, dass Sie 12 V deklarieren, aber überprüfen Sie, ob es wahr ist.
Oh, Entschuldigung, ich verstehe. Wahrscheinlich gibt es einen Fehler in den Einstellungen des Sondenmultiplikators oder etwas anderes, denke ich (weil auf alten Bildern 12 V vorhanden sind). Aber ich werde dieses Problem noch einmal überprüfen.

Antworten (1)

Denken Sie daran, dass Sie den IC außerhalb der Datenblattvorschläge verwenden.

Geben Sie hier die Bildbeschreibung ein

Wobei mit einer schlechteren Genauigkeit, die bereits zwischen 15% und 25% nominell liegt, Sie den Controller verwirren können, wenn man die relativ niedrige Stromeinstellung berücksichtigt (die laut den Kommentaren bei 1,6 A zu liegen scheint). Dies hängt stark davon ab, wie das Layout erstellt wird, sowie von etwaigen Störungen des Steuer-ICs selbst, wenn nicht einmal EMI innerhalb der MCU selbst, wodurch einige Steuersignale nicht übereinstimmen. Mit Atmel-Teilen und enormer EMI von Motoren könnte dies die MCU vorübergehend blockieren.

Ein bisschen mehr auf Ihrem Zielfernrohr. Auch wenn der Treiber tatsächlich Ausgangsleistung ist, erzeugt er ein geeignetes Signal entsprechend der Eingangsrechteckwelle. Was Sie also sehen (und wir nicht, weil die Scope-Zeiteinteilung in Ihrem Bild zu groß ist), ist wahrscheinlich, dass der Controller mit etwas zu kämpfen hat. Wenn kein Motor angeschlossen ist, ist es sehr wahrscheinlich, dass der Ausgang einfach dem Eingang folgt.

Um zum Schluss zu wissen, was hier eigentlich vor sich geht, sollten Sie zumindest: die Modus-Pins überprüfen, den Stepper mit einer Referenz innerhalb der richtigen Werte arbeiten lassen, die Wicklungseigenschaften (Datenblatt des Steppers) angeben und nicht zuletzt einen Zoom der Oszilloskopaufnahme, wenn der Motor das Quietschgeräusch erzeugt.

Konfiguration der Strommodus-Pins: RESET – High, SLEEP – High, ENABLE – Low, M0 – Low, M1 – Low, M2 – Low, DIR – Low. Motordatenblatt . Oszillogramme wurden in OP aktualisiert. "Den Stepper mit einer Referenz innerhalb der richtigen Werte arbeiten lassen" - Ich verstehe nicht ganz, was ich tun muss. Wenn wir über V3P3OUT und R26 sprechen, habe ich jetzt einen 10-kOhm-Trimmer anstelle von 20 kOhm, und die Strombegrenzung ist jetzt auf 0,5 A eingestellt.
@A. Shirkov R10 und R11 auf dem PCB-Layout müssen direkt und eng mit GND des U5 verbunden werden. Bitte fügen Sie eine Zielfernrohraufnahme auf STEP der U5, R10, R11 hinzu.
OP wurde aktualisiert. An R10 und R11 sehe ich nichts wie erwartet (übrigens ist der Spannungsabfall an diesen Widerständen unbedeutend gering).
@A. Shirkov müssen Sie Volt/DIV für CH1 des Oszilloskops für kleine Signale ändern.
Versuchen Sie, ein <1-kHz-Signal an den STEP-Pin anzulegen, und sehen Sie, ob etwas passiert. Was ich sehe, scheint ein Fehler von 8 V auf 5 V-Logik zu sein, also versuchen Sie auch, den Pin zu schützen. R26 ist nicht wichtig, ich muss wissen, wie hoch die Spannung an der Trimmung R26 ist und nicht der Widerstandswert. Aber wenn 0,5 A richtig sind, liefern Sie 0,25 V als Referenz, wobei das empfohlene Minimum 1 V beträgt.
@AltAir sind sowohl die STEP-Impulsdauer HIGH als auch LOW > 3us
@thexeno VREF = 0,25 V, richtig, aber ich kann keinen Hinweis auf 1 V finden, der im Datenblatt empfohlen wird. Bei einem Eingangssignal von 900 Hz ändert sich der Sound und der Motor hört auf zu arbeiten im langsamen Decay-Modus.
Den Verweis auf 1 V finden Sie in Tabelle 7.3 in meiner Antwort. Beginnen Sie mit einer Frequenz von maximal 50 Hz, gehen Sie nicht von höher nach niedriger. Aber auch hier stellen Sie den IC ZUERST in die vorgeschlagenen Betriebsbedingungen.
@thexeno OP aktualisiert. Ich platziere den Treiber auf dem Breakout-Board (wie im Polulu-Schema), Vref ist jetzt> 1 V, überprüfe Logik und Code. Immer noch nicht gelungen.
Ok, was ist mit der Frequenz?