Nochmals Guten Abend zusammen, ich habe ja jetzt mit Eurer Hilfe ein Motoransteuerungsboard entwickelt, so wie ihr es auf dem Bild sehen könnt. Mein Anwendungsziel mit dem Mikrocontroller ist es nun diesen Motor im Leerlauf verfahren zu lassen und das interne!! 10K Poti (als WEgegeber) auf Zuverlässigkeit zu prüfen!! Oft höre ich von Kunden im Außendienst, dass ihr Gerät nicht immer die Position anfährt, die es soll. Ich schließe daraus, dass das interne SChleifpoti nicht immer den richtigen WErt zurückgibt, da es im LAufe der Jahre verschleisst und damit springt. Diesen Fehler möchte ich nun mit dem Mikrocontroller aufspüren. Wie würdet ihr das am Besten realisieren??? Hier meine Vorstellung: Beim Verfahren des Motors muss der Potiwert, gemessen über den Analogeingang des Controllers (1023 Stufen 10bit Atmega 16) kontinuirlich linear steigen. Wenn der Wert zu stark springt, z.B. vom 597 auf 612, dann kann ich auf einen Fehler schließen. Was haltet ihr von diesem Prüfansatz?? Wenn der Ansatz ok ist, möchte ich daraufhin meine Prüfroutine schreiben. :-) Ich würde über einen Timer alle 0,3 Sekunden einen Analogwert auslesen und diesen mit den vorherigen vergleichen und prüfen lassen, ob dieser nicht zu sehr springt. Habt ihr andere, bessere Ideen? Vielen Dank für Eure Unterstützung. Bei weiteren NAchfragen stehe ich gern zur Verfügung. Viele Grüße, Matthias.
Wieviele Umdrehungen macht der Motor, dreht nur 360 Grad oder mehr? Und das Poti? Gibt es eine Nullreferenz? Ist das ein Schrittmotor? Wenn ja, wieviele Schritte/U? Wie ist das Poti angeschlossen? Liefert es eine Spannung oder muss ein Widerstand gemessen werden.... junge, junge.....Informationen bitte. Lass doch einfach den Motor langsam drehen und schreibe die Spannungswerte in den Speicher. Anschliessend vergeleichst Du diese Werte mit den SOllwerten. Was ist denn die ANforderung? Dass der Potiausgang ueber dem Drehwinkel monoton ist? Oder dass er linear ist? Oder dass die Abweichung nicht groesser als X ist? Auch 10 Bit aufloesung verhindern nicht, dass ein Sprung zwischen zweien deiner 10 Bits passiert. Ich wuerde das anders machen: Motor dreht Poti mit konstanter Geschwindgkeit. Potispannung wird analog (JA, ihr uC-Fresser, ANALOG!) auf einen differenzierer geschickt. Dieser liefert Dir einen konstanten Wert am Ausgang, solange die Potispannung gleichmaessig (linear) steigt oder faellt. Eine Abweichung laesst sich leicht messen (auch mit weniger als 10 Bit Aufloesung). Mit ein wenig merh Technik laesst sich der Max. oder Min. Wert auch analog solange speichern , bis Deine Wandlung abgeschlossen ist. So entgeht Dir nichts! Gruss Michael
Du nimmst einfach ein doppeltes Poti und liest beide Spuren aus und prüfst auf Sinnhaftigkeit (Toleranzband zwischen beiden Werten).
Hallo Michael, danke, dass Du Dich meiner annimmst! Hätte nicht gedacht, dass noch so viele Informationen meinerseits fehlen. Hiermit reiche ich sie nach, so weit ich das kann!! > Wieviele Umdrehungen macht der Motor, dreht nur 360 Grad oder mehr? Auf dem Motor steht: i=100:1 / Poti 4,4:1 was das bedeutet weiß ich nicht!! ich kann mir aber gut vorstellen, dass der Motor sich 100 Umdrehungen drehen muss, bis das Poti am Ende ist. Kann das aus den Angaben möglich sein? > Und das Poti? > Gibt es eine Nullreferenz? Das Poti bekommt 10V und gibt am Schleifer eine Analoge Spannung aus, die von einer Maschinenlogik ausgewertet wird. > Ist das ein Schrittmotor? Bürstenbehafteter Gleichstrommotor mit dickem Getriebe, der Motor sreht sehr langsam, so 3 SEkunden bis sich die Welle einmal gedreht hat. > Wenn ja, wieviele Schritte/U? > > Wie ist das Poti angeschlossen? Liefert es eine Spannung oder muss ein > Widerstand gemessen werden.... junge, junge.....Informationen bitte. > > Lass doch einfach den Motor langsam drehen und schreibe die > Spannungswerte in den Speicher. Wenn sich der Motor langsam dreht, bis er die Endposition über das poti erreicht hat, dann ändern sich dazu linear auch die Spannungswerte am Poti und steigen von 0V auf bis 10V untere und obere Endposition > > Anschliessend vergeleichst Du diese Werte mit den SOllwerten. Sollwerte gibt es in diesem Sinne nicht und ich habe keinen Sollwert zum Vergleichen. Kann nur prüfen, ob das Poti (der Spannungswert) gleichmäßig ansteigt oder springt. Das denke ich, muss festgestellt werden, oder? > Was ist denn die ANforderung? Dass der Potiausgang ueber dem Drehwinkel > monoton ist? ich versthe zwar nicht ganz, aber ich denke die Antwort lautet ja. Motor dreht und der Drehwinkel ist proportional zur Spannungsänderung am Poti > Oder dass er linear ist? > Oder dass die Abweichung nicht groesser als X ist? > > Auch 10 Bit aufloesung verhindern nicht, dass ein Sprung zwischen zweien > deiner 10 Bits passiert. Weiß nicht wie Du das meinst Michael. > > Ich wuerde das anders machen: > Motor dreht Poti mit konstanter Geschwindgkeit. > Potispannung wird analog (JA, ihr uC-Fresser, ANALOG!) auf einen > differenzierer geschickt. Womit soll ich bitte differenzieren, ich habe nur das Potisignal? > Dieser liefert Dir einen konstanten Wert am Ausgang, solange die > Potispannung gleichmaessig (linear) steigt oder faellt. Das klingt gut! Konstanter Wert am Ausgang solange die Potispannung gleichmäßig (linear) steigt oder fällt. > Eine Abweichung laesst sich leicht messen (auch mit weniger als 10 Bit > Aufloesung). Das klingt gut. > Mit ein wenig merh Technik laesst sich der Max. oder Min. Wert auch > analog solange speichern , bis Deine Wandlung abgeschlossen ist. > So entgeht Dir nichts! Verstehe nichts. :-) Nochmals Danke für Deine Hilfe Michael. Ich sehe, mir fehlt noch einiges an Wissen, um das Problem zu lösen, aber schön, das wir das hier erstmal besprechen. Mein SChaltungsdesign der Motoransteuerung habe ich ja auch mit Eurer Hilfe! verstanden. Vielleicht kannst Du mir ja noch ein paar Hinweise geben, die Deine guten Ausführungen für mich noch mehr verständlich machen. Ich werde dann zu sehen, dass ich mir die nötigen Infos im Netz besorge und das fehlende Wissen mit Deinen Hinweisen nacharbeite. :-) Einen schönen Abend wünscht Matthias.
Simon K. schrieb: > Du nimmst einfach ein doppeltes Poti und liest beide Spuren aus und > prüfst auf Sinnhaftigkeit (Toleranzband zwischen beiden Werten). Guten Abend Simon, danke, dass Du mich bei meinem Projekt weiter begleitest! Die Idee ein zweites Poti zum Vergleich zu nehmen finde ihc gut! Nur leider fehlt mir die Möglichkeit im Getriebe des Motors ein zweites Poti anschließen zu können, dass sich dann genauso schnell wie das original interne dreht. Oder hab ich da etwas noch nicht verstanden? Viele Grüße, Matthias.
ich tüftel gerade an einer solchen anwendung auch wenn das einsatzgebiet völlig anders ist. meine strategie ist in etwa diese: motor einschalten, alle 2 ms eine messung des potiwerts sobald 100 messungen gemacht sind wird noch während die messung weitergeht der durchschnitt ausgerechnet, da es in meinem fall nach 200 ms nur eine änderung von ~30 gibt wird nun überprüft ob der durchschnittswert bei + - 15 liegt, dies bei jeder der 100 gemachten messungen ,bei jeder abweichung incrementiere den fehlerzähler.(kann probleme bei logarithmischen potis geben ) desweiteren muss jede messung der messung zuvor größer oder zumindest gleich sein, aber niemals kleiner,bei abweichung wieder FZ incrementieren. potiwert darf nur "hängenbleiben" wenn motorstrom erhöt erhöten motorstron benutze ich auch um die richtung umzuschalten desweiteren habe ich festgestellt das es sinnvoll ist die beidseitige prüfung doppelt auszuführen und jeweils die durchschnittswerte zu vergleichen.
Guten Abend Maximilian, find ich klasse, dass Du ein ähnliches Prohekt betreibst. :-) Wenn Dui magst, können wir und die Tage darüber mal ausführlich unterhalten. Ich zeig Dir wie weit ich mit meinem Projekt schon gekommen bin. Die Hardwareansterung ist fertig. Das Board mit dem MotorIC funktioniert. Kann Dirdie Tage gern ein paar Bilder schicken. Jetzt werde ich hier erstmal schluß machen, da ich kaputt bin und in meinem Kopf nichts mehr reingeht. War heute auch schon arbeiten. Ich geb Dir gern meine Mailadresse briefkastenmh@gmx.de, dann können wir uns die Tage kurzschließen, wenn Du magst. Vielleicht kommen wir beide so schneller voran und es macht mehr Spaß. Viele Grüße, Matthias.
Hallo Matthias, also alles schon klarer. Wie steuerst Du den DC-Motor? Schafft Deine Motorsteuerung denn, ihn mit konstanter Drehzahl zu bewegen? Hast Du denn ein Drehzahlsignal irgendwo vorliegen? Analog oder digital? > Sollwerte gibt es in diesem Sinne nicht und ich habe keinen Sollwert zum Vergleichen. Kann nur prüfen, ob das Poti (der Spannungswert) gleichmäßig ansteigt oder springt. < Du musst Sollwerte haben. Anders ausgedrueckt: Du musst wissen, was ein GUTES Poti liefert! > Das denke ich, muss festgestellt werden, oder? < Das fragst Du? Wichtig ist als erstes eine Spezifikation: WAS genau soll denn festgestellt werden, oder anders ausgedrueckt: WANN ist ein Poti gut und wann ist es schlecht. Bei Max´ System z.B. wird nicht erkannt, ob das Poti irgendwo zwischen den Messwerten, die eben nur alle 2ms genommen werden, einen "Lupfer" hat, also ein Abheben des Schleifers. Nochmal mein Vorschlag: Bedingung: Motor dreht mit konstanter Geschwindigkeit ODER ein Geschwindigkeitssignal liegt vor: Fahre an Anschlag links, Gebe Potispannung auf Differenzierer (einfache Operationsverstaerkerschaltung). Fahre Motor bis Rechtsanschlag. Die Ausgangsspannung des Diffeenzierers entspricht der Steigung der Ausgangsspannung des Poti. Bei einem linearen Poti und konstanter Drehgeschwindigkeit also eine Gleichspanung. Bei linearem Poti und nicht konstanter Drehgeschwindigkeit aber vorhandenem Geschwindigkeitssignal, entspricht der Ausgang des Differenzierers (nach Skalierung) genau dem Geschwindigkeitssignal. Zum Testen von logarithmischen Potis kann man ebenso eine konstante Poti-Veranederunggeschwindigkeit messen, wenn man die Motorgeschwindigkeit entsprechend der Potikennlinie steuert, also NICHT mit konstanter Geschwindigkeit dreht. Die Auswertung ob Poti gut oder schlecht benoetigt keinen Mikrokontroller und ist trivial (Abweichung zwischen Geschwindigkeitssignal und Potispannung -> Grenzwert gut/schecht) Gruss Michael
Wozu ein analoger Differenzierer, wenn eh ein Mikrocontroller dran hängt? Das kann man auch mit weniger Hardware Aufwand lösen.
Die Drallklappensteuerung meines Autos (da ist aber nur ein 270 Grad Poti drin) hat so was ähnliches. In Anlehnung daran, wie wäre es mit folgender Prüfroutine: Initial wird eine Kennlinie des Potis aufgenommen (das klingt für mich "vernünftig", denn eine 100,00 prozentige Linearität scheint mir nicht zwangsläufig gegeben zu sein.) der Erwartete Istwert wird mit dem erfassten Sollwert verglichen. Ist die Regelabweichung zu groß (2%), erfolgt ein Eintrag im Fehlerspeicher (istwert zu groß/zu klein) Der Stellwert wird dann solange nachgefahren, bis der Sollwert erreicht ist Erfolgen zu viele Eintragungen innerhalb einer festgelegten Zeit / Nutzungsdauer, erfolgt eine Neuaufnahme der Kennlinie (incl. Protokollierung im Fehlerspeicher)
Was hältst du davon einfach den ADC wert auf ein Graphik Display zu schreiben? Anhand der Kurve ist ganz leicht zu sehen ob da Sprünge drin sind. Dort könnte mann auch mehr Messungen machen als horizontale Pixel vorhanden sind und eine min, avrg. und max Kurve schreiben.
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.