PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wicklungstest der Platine RN-Schrittmotor



pidhunter
30.12.2008, 20:25
Ich habe ein Problem mit dem Wicklungstest am Board RN-Schrittmotor.

Die Platine läuft mit 12V und die Motoren mit 24V. Beide Massepotentiale sind verbunden.

Die Platine meldet Wicklungsschluss - es ist aber nach Durchmessen der Motoren kein Wicklungsschluss bei den Motoren und nach Masse vorhanden und die Motoren wurden auch nicht umgekabelt und liefen auch schon an dem Board. Das Problem muss innerhalb der Schaltung liegen.

Der Fehler nach anclicken von Motorstatus ist Wicklungsschluss Nr. 9 beide !! rote LED´s leuchten ??

Es ist nirgends dokumentiert was Nr.9 bedeutet und es ist ungewöhnlich dass beide Motoren zur gleichen Zeit einen Schluss haben sollen???

Kennt sich jemand mit den Fehlercodes genauer aus?

Ergänzung:

Irgendwie scheint die Stromregelung die Ursache zu sein - 1s nach Reset fließt mal kurz der ungechopperte Strom, als wenn die Stromregelung
zu dem Zeitpunkt noch nicht wirkt und nach dieser kurzen Freigabe raucht es warscheinlich kurz drauf auch schon die Chips und dann die Dioden ab.

Ich bin bald am Verzweifeln mit dem Board. Ziehe ich alle Motoren ab kommt die 15 und sonst die 11 zurück, da es nicht dokumentiert ist nützt mir die ganze Meldung auch nichts.

Ich habe in beide Motoren x-mal 100mA reingeschrieben - es kommt auch 42 zurück - nur es wirkt eben nicht.

slaxor
07.05.2010, 11:48
ich hab son ähnliches problem, inzwischen hab ich den status 12 bei meiner steuerung, numerische fehler neven echt, die paar bytes mehr für nen text wären doch wohl sicher drin gewesen :(
hast du denn irgendwo vielleicht ne antwort bekommen?

pidhunter
07.05.2010, 15:04
Ich glaube dass der verwendete Chip für einen "groben Einsatz am Schrittmotor unter Drehmoment" einfach nicht robust genug ist.

Ich habe x-mal die Chips und die Dioden gewechselt - es ging eine Weile und dann ohne ersichtlichen Grund - peng - und dann sahen die Bauteile alle jedesmal leicht "zersprengt" aus.

Vermutung: Ich habe das Timing des Prozessors in Verdacht.

Ich habe dann letztlich wegen Termindruck bei gleichen Motoren und gleichem Netzteil andere Endstufen genommen.

Ich weiss allerdings nicht ob ich hier den genauen Typ sagen sollte ohne hier Ärger zu kriegen - ich will keinen Ärger haben.

Also ich habe ein RnLcdModul dann an ein 16MHz Atmega32 AVR-Controllerboard gehängt und andere Endstufen dran und das bei
29V DC 8A Schaltnetzteil, also stabilisiert und mit Reserven. Daran kann es auch nicht gelegen haben. Die derzeitgen Endstufen sind sogar schwächer.

Das war dann die Lösung die bis heute funktioniert hat.

Das Lehrgeld für diesen Schritt waren hundert Euro für dutzend neue
Chips und Dioden und ein Aquivalent von paar tausend Euro an Zeitaufwand für ständige Repararuren und um mich dazu durchzuringen
dann eben andere Endstufen zu nehmen, um wenigstens das Projekt zu retten.

slaxor
08.05.2010, 07:45
ohje das klingt ja etwas frustrierend, ich hab allerdings auch n etwas "gemischten eindruck vom board, ich hatte es mir gekauft um einfach mal schnell prototypen zusammenzubasteln, und erste erfahrungen mit echter mechanik zu sammeln.
warum du hier ärger kriegen solltest ist mir nicht ganz klar, aber wenn es mir weiterhilft, wäre es nett wenn du mir die info zu deiner endstufe - nofalls als pm - zukommen liessest

viele grüsse
Sascha

pidhunter
08.05.2010, 10:19
Du hast Post :-)

pidhunter
05.06.2010, 14:15
... und gehen die Teile jetzt ? :-)

nero123
06.08.2010, 23:22
Hi
Hab auch das RN-Schrittmotor und bekomme auch den Motor 1 nicht zum laufen.Es leuchtet immer die LED 4.Wenn ich die Motoren tausche bleibt der Fehler immer auf 1.Die Motoren laufen auf 2 immer.Habe schon L298N getauscht,hat nicht s gebracht.
Habe robotikhardware schon einige Mails geschrieben,aber da bekommt man eine Antwort.Ein Sch... Service dieser Laden(anrufen geht auch nicht).
Wer kann mir helfen?

pidhunter
07.08.2010, 09:04
Die genaue Fehlerursache zu ermitteln ist ohne die Mithilfe des Herstellers schwierig.

Aus meiner Sicht macht das Board die Stromregelung über Chopperbetrieb in Interrupt, also letztlich doch wieder mit Software der Interruptroutine und diese ist unterbrechbar.

Mit anderen Worten wenn der Prozessor aus irgendwelchen Gründen bei seltenen ungünstigen Bedingungen (mehrere verschiedene Interrupts unterbrechen sich ) nicht mehr dazukommt den Strom nachzustellen, dann rauchts. Ebenso rauchts wenn der Watchdog zuschlägt (weil die komplette Initializierung durchlaufen wird) oder garkein Watchdog drin ist und der Prozessor hängt (Stacküberlauf oder so)

Das ist zwar alles "tendenziell selten", aber wegen der Häufigkeit der Interupts dann im Produkt beider Faktoren doch wieder häufig genug, dass es bei einigen Nutzern und auch bei mir mehrfach die Endstufen abgeraucht hat.

Chopperbetrieb macht man deshalb üblicherweise in reiner Hardware. Dafür gibt es spezielle Chips, die in Schaltnatzteilen massenhaft verbaut werden und ohne Software den Strom regeln und dann klappt das auch mit der Endstufe. Bei mir hat es sogar 8A Dioden weggeraucht und hab dann andere Endstufen nehmen müssen.

Ganz sicher raucht es wenn man während des Betriebes die Platine berührt. Das ist hoffentlich jedem klar, war aber im o.g. Fall nicht der Fall und auch nicht die Ursache.

nero123
07.08.2010, 11:03
Hast du deins zum laufen gebracht?
Meins läuft nicht.Ich glaub ich muss von einem anderen Anbieter was kaufen.Oder kann mir jemand meins reparieren

pidhunter
07.08.2010, 11:16
Nun denn, wie Du oben im Thread sicherlich schon gelesen hast, habe ich mich schrittweise an das Problem rangetastet und meine Platine x-mal wieder und wieder repariert, die lief dann jeweils knapp 14 Tage im Dauertest und plötzlich gab es einen lauten Knall und dann hat es jedes mal die Endstufe regelrecht "weggesprengt" und ein tiefer Krater war im Chip. Ich habe auch schon hochwertigere Elkos eingesetzt, nützte alles nichts - es ging immer nur eine Weile.

Die Netzteile liefern stabilisierte Spannung und genug Strom, also selbst 8A-Dioden glühten die Netzteil locker weg - an unterdimensionierten Netzteilen kann es also auch nicht gelegen haben. :-)

Dann rückte aber auch die deadline des Projektes immer näher und ich habe dann einen anderen Typ von Endstufen eingebaut, sonst aber nichts verändert und siehe da es läuft bis zum heutigen Tag sogar im produktiven Einsatz.

nero123
07.08.2010, 11:49
Ja du hast es gut ,wenn du davon was verstehst.Ich aber hab da keine Möglichkeiten.Muss wohl umsteigen auf andere Teile, für die man auch Service bekommt.

pidhunter
07.08.2010, 12:20
Du hast Post :-)

pidhunter
07.08.2010, 12:30
Schreib mal ob es auf Anhieb funktioniert hat.

Wichtig ist die automatische Stromreduzierung einzuschalten, also den entsprechenden Kontakt auf Masse zu legen, sonst werden die Motoren zu warm.

Nimm die Ausführung mit 1/8-Schritt und mit Alu-Gehäuse und die Anschlusskabel mit offenem Ende als Zubehör mitbestellen. Nimm nicht die 1/16- Ausführung, sonst drehen die Motoren zu langsam. Der Unterschied ist kaum hörbar, aber die Geschwinigkeit ist in den meisten Fällen zu niedrig.

Ein ATMEGA32-Board mit 16MHz als Ansteuerung sollte für zwei Motoren ausreichen.

pidhunter
07.08.2010, 12:52
Acho die richtige Ausführung hat hinten ein G dran - G wie Gehäuse, 1/8-Schritt und mit Stromreduzierung - Standard ist ohne - das muss man speziell verlangen.

pidhunter
08.08.2010, 11:21
Hier noch ein Tip: Als ich habe derzeit noch ein Getriebe 3:1 dran. Da der Motor genug Reserven hat wird das Getriebe auf 2:1 umgebaut und damit dreht der Abtrieb schneller.

Gerechnet bei 3:1 wird so:

Pulsanzahl=Motorpolpaarzahl ( 200 ) * Getriebeuntersetzung ( x ) * Mikroschitt ( 8 ) = 200*3*8 = 4800 Pulse pro Umdrehung

Bei 4800 Pulsen ist die Abtriebswelle erst einmal rum. Wenn man also den Abtrieb zügig drehen lassen will, dann braucht einmal genug Pulse und zum andern auch noch genug bits im ISR1-Register für die Geschwindigkeitsregelung der Pulsweitenmodulation also die Anfahr- und Bremsrampe. Du mächst eine Markierung auf die Abtriebswelle und lässt sie 10x drehen und schaust nach ob der Abstrieb wieder an dieser Stelle stehenbleibt. Wenn ja ist die Polpaarzahl und die Mikroschitteinstellung richtig. Wichtig ist Du muss immer volle 8 Mikroschritte ausgeben, nicht weniger, denn der Motor kann zwischen zwei Schritten eh nicht stehenbleiben.

Das ISR1 Register hat zwar 16 bits, aber es sind nicht alle bits nutzbar, sonst dreht der Motor so langsam wie ein Sekundenzeiger oder der Prozessor kriegt eine "Interruptissimo-Krise" und dann kommt der Prozessor garnicht mehr zum arbeiten. Ich nutze da ein Excel-File und optimiere Interruptzeiten, Prescaler und IRS1 Ober- und Untergrenzen.

In der ISR1-Interruptroutine setzt Du nur die Zähler für die gefahrenen Schritte um "1" hoch, wenn der Motor mathematisch positiv dreht, sonst um "1" runter wenn der Motor mathematisch negativ dreht. Geschaut wird standardmäßig in Energieflussrichtigung also in Abtriebsrichtung. Ebenso wird die Getriebezahl so angegeben, also immer in Energieflussrichtung.

Den Rest macht die Hardware selbst. Auf keinen Fall PWM1A und PWM1B Interrupts einschalten. Der Prozessor geht sonst in die Knie. Genutzt wird Mode 8 des Timers 1.

Das PWM1A und PWM1B Register wird größer also ISR1 gesetzt, wenn der Motor stillstehen soll. PWM1A+PWM1B muss aber immer größer gleich 3 sein sonst geht es auch nicht. (Timing)