PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schrittmotor an Kreuzspulenmesswerk-Technik anschließen



Bjoern3003
01.06.2013, 14:48
Servus und schönes Wochehende miteinander,

ich hoffe, dass ich hier richtig bin und man mir bei meinem Vorhaben helfen/unterstützen kann.

Es geht im Speziellen um eine Platine aus einem Kombiinstrument eines Autos.
Ich möchte dies, gegen ein anderes tauschen.

Das alte Kombiinstrument hat Kreuzspulenmesswerke für Drehzahl, Geschwindigkeit, Tank und Ladedruck.
Das neue Kombiinstrument arbeitet mit Schrittmotoren.

Da ich platztechnisch leider den Motor nicht übernehmen kann, war meine Idee, ob es möglich ist, mit z.B. einem iC die Ansteuerung des Kreuzspulenmesswerkes auf den Schrittmotor zu übertragen.

Kann ein Profi sagen, ob das technisch/theoretisch möglich ist?

Seht mich ruhig als absoluten Laien, der löten kann und sich an seiner erst Platine versucht, die natürlich extrem rudimentär aufgebaut sein wird.

Es wäre also super, wenn man mir sagen kann, ob das Projekt realisierbar ist.

Ich danke schon mal fürs Lesen und freue mich auf Antworten.

ranke
01.06.2013, 15:59
Wenn ich es richtig verstanden habe soll ein Kombiinstrument in Kreuzspultechnik durch ein Kombiinstrument mit Schrittmotortechnik getauscht werden. Man möchte annehmen, dass die Treiberelektronik für die Schrittmotoren bereits im neuen Kombiinstrument integriert ist. Dann sieht es recht unproblematisch aus, sofern die Signale der einzelnen Geber gleich kodiert sind wird man nicht viel tun müssen.
Bei Deiner Problembeschreibung klingt es aber eher so, als ob nur die Schrittmotoren selbst, ohne weitere Treiberelektronik vorhanden wären. In diesem Fall sehe ich die Aufgabe auch prinzipiell lösbar aber es sieht nach ziemlich viel Arbeit aus.
Bei der Geschwindigkeitsanzeige könnte sich neben der technischen Umsetzung möglicherweise auch ein rechtliches Problem ergeben, sofern das Fahrzeug im öffentlichen Verkehr bewegt werden soll, da sollte man sich evt.vorher bei einem Sachkundigen schlau machen.
Ansonsten hängt der Aufwand auch von den Details des einzubauenden Instruments ab. Wahrscheilich ist es am einfachsten, man spendiert jedem Anzeigemotor einen eigenen Mikrocontroller der das Gebersignal einliest und die Ansteuerimpulse für den Motor generiert. Außerdem noch eine Initialisierungsroutine die den betreffenden Schrittmotor nach Einschalten der Zündung in eine definierte Lage fährt.

Bjoern3003
01.06.2013, 16:23
Servus,

danke für deinen Beitrag. Das rechtliche und der Zeitliche Aufwand soll erst mal aussen vor bleiben. Damit kann ich mich dann selbst auseinandersetzen :-)

Mir geht es um die technische Umsetzung, wo ich Hilfe bräuchte.

Ich habe beide Platinen hier.

Wobei ich die Grundplatine mit der Kreuzspulentechnik im Kombiinstrument verbaut lassen möchte. Die Platine steuert ja noch ein LCD mit Wegstreckenzähler etc. Ich möchte dort dann mit Drähten meine Informationen abgreifen und auf eine neue Grundplatine auflöten. Dort soll der Schrittmotor mit ggfl. iC verbaut werden.

Welche Informationen werden benötigt? Ich kann Fotos machen, unterschiede Erklären etc.

Ich habe angst, dass wenn ich zu weit aushole, dass es schnell undurchsichtig wird und man nicht versteht, was ich vor habe ;-)

021aet04
01.06.2013, 16:59
Das erfordert das genaue Verfahren der Datenübertragung. Das wirst du vermutlich auch nicht wissen. Werden die Anzeigen mit Strom angesteuert, mit einer Spannung oder einem Bus wie z.B. CAN o.Ä.

Erst wenn man das hat (im Norfalfall bekommt man diese Angaben nicht, dann muss man mit dem dementsprechenden Equipment messen) kann man die Steuerung für die neue Anzeige planen/bauen.

MfG Hannes

Bjoern3003
01.06.2013, 17:05
Servus,

also ich habe eigentl. vor, die Leitungen direkt an der Platine abzugreifen, wo die Motoren saßen.

Heisst, Motoren auslöten, Kabel anlöten, auf die neue Platine anlöten und dort den Motor drauf setzen.

Da ich auf der neuen Platine platzbedingt leider kein Kreuzspulenmesswerk verbauen kann, wollte ich dort die original Schrittmotoren des neuen Tachos einbauen. Natürlich mit einer Steuerungselektronik dazwischen.

Eigentl. sollte es daher egal sein, wie der Tacho selbst angesprochen wird.

021aet04
01.06.2013, 17:20
Mach einmal ein Foto.
Was willst du genau verwenden. Normalerweise läuft es ca. so ab: Sensor => (Anzeige) oder Sensor => Bordelektronik => (Anzeige).
Die Anzeige hat dann normalerweise etwas Elektronik, die die Signale auswertet und die Aktuatoren (Tachonadel, Drehzahlmessernadel, LCD,...) ansteuert. Funktioniert das bei dieser anders? Willst du die Signale auswerten die an die Anzeige kommen oder willst du die Auswerteelektronik des Kombimoduls verwenden und nur die Leitungen zu den Aktuatoren abgreifen?

MfG Hannes

Bjoern3003
01.06.2013, 17:43
okay, also siehe Anhang.

Habe es mal versucht, grob einzuzeichnen.

Ich habe meine Grundplatine (oben). Dort waren die Kreuzspulenmesswerke drinnen.

Unten habe ich meine neue Platine, die geäzt wird. Man sieht schon die Bohrungen für die neuen Motoren (habe mal Beispielhaft den neuen Schrittmotor daneben gelegt).

Zwischen Platine (oben) und Platine (unten) muss ja nun irgend eine Steuerung, die die Impulse, die das Kreuzspulenmesswerk erhalten hat, in ein Signal für den Schrittmotor "umwandelt".

021aet04
01.06.2013, 18:09
Grundsätzlich würde ich alles mit einem µC (Mikrocontroller) arbeiten, wobei du da programmieren musst.

Die 4 Anschlüsse sind für die Motoren? Wenn ja musst du wissen was dort ankommt. Analogspannung, PWM, linearer Strom,... Davon hängt es ab was du benötigst.
Bei einer linearen Spannung (glaube ich nicht) kannst du direkt an einen µC oder wenn die Spannung zu hoch ist über Spannungsteiler. Bei PWM kannst du entweder glätten (damit du eine Analogspannung bekommst) oder die Impuls/Pausendauer auswerten. Wenn die Motoren mit einer Konstantstromquelle angesteuert werden musst du mit einem Widerstand den Strom in eine Spannung wandeln und dann so arbeiten wie ich bei der Analogspannungsauswertung geschrieben habe.

Eventuell findest du die Motortreiber (falls vorhanden) bzw Fet/Transistor und kannst die Sollwerte davor abgreifen. Dann hast du 5V Pegel (oder 3,3V) und kannst damit direkt den µC ansteuern.

Wenn du die Sollwerte hast kannst du das dann in die benötigten Impulse umrechnen und somit einen Schrittmotortreiber (eine bewährte Kombi ist L297/L298, ist jedoch schon alt) ansteuern. Du musst jedes mal Starten auch einen "Nullabgleich" machen.

MfG Hannes

Bjoern3003
01.06.2013, 18:22
Hi Hannes,

das hört sich so an, als wenn du 1000x mehr Ahnung hast, als ich ;-)

Das was du erzählst, hört sich an, als wenn da Ahnung hinter ist. Zumindest wenn es jemand wie ich liest.

Ähm also, auf der Platine sind jeweils 3x Controller für 4 Motoren. Was der macht, keine Ahnung. Dafür reicht mein Fachwissen nicht :-(
Einer derer treibt den Motor links (Ladedruck) und rechts (Tankinhalt) an.
Beschriftung der Controller: N710020CFMBFGA von der Firma Philips. Drunter steht noch jeweils: C220706 und Fn0231 A

Die 4 Anschlüsse sind jedenfalls für die Motoren. Das ist korrekt. Leider sind die Motoren nicht beschriftet und es findet sich daher auch keine Doku darüber.

der Schrittmotor ist ein Handelsüblicher Motor von Sonceboz. Die werden 1000fach in den Kombiinstrumenten verbaut. Da liegen mir auch die technischen Daten vor.

WIe kann ich nun als nächstes vorgehen?

021aet04
01.06.2013, 18:44
Leider finde ich nichts von dem IC. Ist irgendein Exot. Hast du Netzgerät, Messgerät,... damit du die Anzeigenmotoren testen kannst?

MfG Hannes

Bjoern3003
01.06.2013, 19:08
Leider habe ich nur Hobby equipment. Heisst Lötkolben und multimeter. Von welchem Motor bräuchtest du denn Daten? Testen könnte ich nur unter real Bedingungen im Auto.

021aet04
01.06.2013, 19:27
Miss einmal im KFZ was sich ändert wenn du die Anzeige einbaust. Also ob sich nur der Strom bzw Spannung an einer Spule oder bei beiden ändert. Versuche auch einmal die Anzeige abzuklemmen und dann die Spannung messen.

MfG Hannes

Bjoern3003
01.06.2013, 19:49
Also du meinst beide spulen bei eingebautem kombiinstrument messen? Einmal mit eingebautem Motor, einmal ohne Motor?

021aet04
01.06.2013, 20:00
Richtig. Du baust die Kombianzeige mit dem Drehspulinstrument ein und misst die Spannung an den beiden Spulen. Du merkst dir was die Anzeige anzeigt (z.B. Anzeige zeigt die Hälfte des Ausschlages an). Danach klemmst du die beiden Spulen ab und misst die Spannung nocheinmal. Diese Werte notierst du.

Sind die Spannungen in beiden Fällen gleich (Messwerk angeschlossen bzw abgeschlossen) handelt es sich um eine Spannungssteuerung. Ist die Spannung bei getrennten Spulen höher handelt es sich um eine Stromsteuerung.

PS: Bei Drehspulinstrumenten spricht man nicht von Motoren, auch wenn beide auf der gleichen Technik (magn. Anziehung/Abstoßung) basieren.

MfG Hannes

Bjoern3003
01.06.2013, 20:23
Also ich hoffe, meine wert sind nutzbar. Habe mal die Leerlaufdrehzahl gemessen. Auch wenn die immer etwas schwanken, aber die konnte ich im Stand gut messen, und auch mal den Wert verändern.

Links/rechts mit Motor: 5,5V
Oben/unten mit Motor: 7,5V
Links/rechts ohne Motor: 5,4V
Oben/unten ohne Motor: 7,8V

Spielt man mit dem Gaspedal, geht die Spannung an der einen Wicklung hoch und an der anderen runter.

Edit: sorry meine natürlich nicht Motor sondern Messwerk ;-)

021aet04
01.06.2013, 21:35
Das ist schon mal sehr gut. Die Steuerung des Messwerks ist Spannungsgesteuert (mit und ohne Messwerk ist die Spannung gleich). Da die Spannung der beiden Spulen gegengleich sind benötigst du einen Differenzverstärker. Dieser ist relativ leicht aufgebaut (http://www.elektronik-kompendium.de/sites/slt/0210153.htm). Du bekommst also eine Spannung in Abhängigkeit des Sollausschlages des Messwerks. Diese kannst du mit dem µC leicht auswerten. Jetzt musst du mit dem Programm "nur" die Sollspannung in die benötigten Impulse umrechnen.

Ich würde das gesamte Projekt in kleine Bereiche teilen, damit du nicht überfordert wirst.
Zuerst den Analogteil (auswerten des Signals und wandeln in eine für den µC passende Spannung), Die Ansteuerung des Schrittmotors (Hardware bzw Software), Wandeln von Signal zu Impulse,... und erst zum Schluss alles verbinden. Auch eine Routine zum Eichen der verschienden Anzeigen einplanen.

Edit: Eventuell würde es auch genügen wenn du nur eine Spannung nimmst und diese an die benötigte Schaltung anpasst.

MfG Hannes

Bjoern3003
01.06.2013, 21:53
Hmm was ist denn, wenn die Masse beider spulen nicht die gleiche Potenz haben? Kann ich dass dann mit der Schaltung überhaupt auswerten?

021aet04
01.06.2013, 22:01
Die Spannungen haben ein gleiches Bezugspotential. Du kannst messen welches das Bezugspotential ist. Du misst die Spannung zwischen Masse und den Spulen. Somit findest du heraus ob das Bezugspotential die Versorgungsspannung oder Masse ist.

MfG Hannes

Bjoern3003
01.06.2013, 22:20
Ich hoffe, ich schreibe nun keinen Blödsinn oder verstehe es noch nicht korrekt, aber alle 4 Beine vom Messwerk gehen an den o. g. controller, zudem du nichts gefunden hast. Somit ist die Masse beider spulen doch komplett entkoppelt. Damit ist die gleiche Masse doch gar nicht mehr gewährleistet? Oder meinst du ich hole mir eine eigene Referenz Masse und differenziere nur die Spannung? Meinst du das reicht.?

ranke
02.06.2013, 09:06
Da die Spannung der beiden Spulen gegengleich sind benötigst du einen Differenzverstärker

Eine Differenzbildung ist hier nicht zielführend, beim (klassischen) Kreuzspulmesswerk ist die Zeigerstellung abhängig vom Verhältnis der beiden Spulenströme.
Beim real verbauten Kreuzspulmesswerk können wir annehmen, dass noch eine zusätzliche Rückstellkraft (magnetisch oder Feder) existiert. Auf die stationäre Zeigerstellung wirken also mindestens mal 3 Kräfte ein (die beiden aus den Spulenströmen resultierenden und die Rückstellkraft).
Ein möglicherweise gangbarer Weg wäre:
1. Vermessen der eingebauten Meßwerke: Welche Anzeige bekommt man bei welchen Kombinationen von Spulenströmen?
2. Mathematische Modellierung, also Aufstellen einer Rechenvorschrift, die aus den Spulenströmen die Zeigerstellung rechnet
3. Implementation des Rechenmodells in einen MC, Einlesen der Ströme per ADC, Ausgabe für Schrittmotor an Ports (evt. mit zusätzlichem Treiber)
4. Zusätzliche Sensorik für Nullpunktsreferenz und entsprechende Initialisierungsschleife für den Einschaltvorgang
Ob das dann auch so geht ist zweifelhaft, weil das existierende Kreuzspulmeßwerk vermutlich mit PWM getrieben wird und man die tatsächlichen Ströme nur messen kann, wenn man das alte Meßwerk drin läßt (reelle Spulen sind komplexe, nichtlineare Widerstände).
Ich würde eher abraten. Falls man an die originalen Sensordaten herankommt ist das wahrscheinlich eher durchzuführen. Bei älteren Fahrzeugen sind die oft ins Kombiinstrument geführt, bei neueren im CAN-Bus zu finden. Gibt es einen Stromlaufplan zum Fahrzeug?

Bjoern3003
02.06.2013, 10:19
Moin,

Stromlaufpläne sind kein Problem. Jedoch liegen die benötigten Daten auf einem PWM Datenbus.

Das Kreuzspulenmesswerk hat übrigens keine eigene Rückstellkraft. Wenn man keinen Zeiger dran hat, bleibt die Nadel da stehen, wo man sie manuell hingedreht hat.
Mit angebautem Zeiger fällt sie durch die die hohe Hebelkraft und Erdanziehung natürlich ab. Genauso würde sie aber auch hoch wandern, wenn man das Kombiinstrument auf den Kopf stellt ;-)

021aet04
02.06.2013, 11:06
Ich vermute das die Spulen zwischen einem Transistor und (Fahrzeug-)Masse liegen, da du eine Spannung misst auch wenn keine Spule angeschlossen ist. Kontrolliere das aber einmal. Weißt du einen Punkt am Kombiinstrument das ab Fahrzeugmasse liegt?

MfG Hannes

Bjoern3003
02.06.2013, 11:14
Ja weiss ich. wiegesagt, ich habe die Stromlaufpläne des Fahrzeugs bis zum Stecker am Kombiinstrument. Die Spulen werden jeweils über den N710020CFMBFGA angetrieben. Dazwischen ist nichts, ausser Leiterbahnen. PIN Belegung von dem Baustein habe ich auch soweit fast aufgeschlüsselt (Bahn für Bahn nachverfolgt). Ich vermute nur, dass das nichts hilft, ohne Datasheet?!

Eine blanke Theorie vielleicht noch: Könnte es nicht vielleicht möglich sein, dass der og. Treiber vielleicht genauso angesprochen wird, wie z.b. einer für einen Schrittmotor?

021aet04
02.06.2013, 11:31
Das der Chip wie ein Schrittmotor angesprochen wird wäre natürlich möglich, ich glaube es aber nicht. Hast du schon überprüft ob irgenein Punkt der Spulen mit Masse verbunden ist?

MfG Hannes

Bjoern3003
02.06.2013, 12:09
Wiegesagt, die Punkte der Spulen gehen alle direkt auf den Controller. Ohne Umwege, ohne direkte Masseverbindung. Lediglich die Spule vom Ladedruck hat an einem Bein direkten Kontakt zur Masse.

ranke
02.06.2013, 12:51
Um einen Zeigerwinkel von mehr als 90° zu realisieren muss die Stromrichtung in den Spulen umkehrbar sein. Im Prinzip ähnelt das Kreuzspulmeßwerk dann einem Schrittmotor mit nur einem Schritt pro Umdrehung im Mikroschrittverfahren.
Dass es keine explizite Rückstellung gibt, ist vermutlich eine gute Nachricht. Wenn die Spulen sonst gleich sind, sollte der Tangens des Zeigerwinkels dem Quotient aus den beiden Spulenströmen entsprechen. Zur Messung dieser Ströme wird man nach Ausbau des Meßwerks für jede Spule einen Widerstand einsetzen. Die Spannungen an den vier Spulenanschlüssen werden mit je einem ADC eines neu hinzuzufügenden MCs gemessen. Wahrscheinlich sind es gepulste Ströme, deshalb bekommt jeder ADC noch ein RC-Glied als Tiefpass spendiert. Der MC rechnet den inversen Tangens des Quotienten, vergleicht das Ergebnis mit der tatsächlichen Zeigerstellung und fährt den Schrittmotor bei Bedarf nach. Abhängig von der Stromaufnahme des Schrittmotors braucht man wahrscheinlich noch etwas zusätzliche Verstärkung.
Als MC könnte sich z.B. so einer (http://www.atmel.com/Images/8183S.pdf) eignen.
Das könnte der Weg in aller Kürze sein. Ich bleibe dabei: es ist nichts, was man als Anfänger an zwei oder drei Wochenenden schafft. Du kannst Dir mal das vollständige Datenblatt des MC herunterladen und versuchen damit klar zu kommen. Tutorials über Programmierung etc finden sich - auch deutschsprachig - im www.

Bjoern3003
02.06.2013, 13:48
Ich bleibe dabei: es ist nichts, was man als Anfänger an zwei oder drei Wochenenden schafft.

Das muss es auch nicht. Aufgrund von fehlendem Fachwissen und fehlender Zeit, lag das Projekt jetzt eh bereits schon 1 1/2 Jahre brach.

Hab mich ja extra hier ans Forum gewandt, um die benötigte Unterstützung zu erhalten. Für mich ist das alles Neuland, was aber nicht heisst, das ich in der Hinsicht nicht lernfähig bin ;-)

Leider merke ich gerade wieder, dass deine Nachricht für mich lauter Böhmische Dörfer sind ;)

Der Schrittmotor hat eine Stromaufnahme von maximal 35mA. Im Durschnitt sind es 20mA

ranke
02.06.2013, 14:38
Der Schrittmotor hat eine Stromaufnahme von maximal 35mA. Im Durschnitt sind es 20mA

Dann reicht es wahrscheinlich ohne zusätzlichen Verstärker, der Atmel treibt max. 40mA pro Pin (soweit ich es im Kopf habe).

Zu den böhmischen Dörfern eventuell konkret nachfragen. Mit MC meinte ich Mikrocontroller, ich habe mal einen von Atmel verlinkt, weil es zu diesen Typen viele Tutorials und Forenbeiträge gibt, außerdem kenne ich mich mit denen ein bißchen aus. ADC ist ein Analog-Digital Wandler. Der ist im verlinkten MC schon eingebaut und macht aus einer an einem Pin angelegten Spannung eine interne Zahl, mit der dann weitergerechnet werden kann. Quasi eine Art eingebautes Voltmeter. Die messbaren eingangsspannungen sollten aber die Betriebsspannung des MCs nicht überschreiten, man wird also erstmal sehen müssen, woher der Phillips Kreuzspultreiber seine Betriebsspannung bekommt. Vermutlich nicht direkt aus dem Bordnetz, dessen Spannung ist zu undefiniert..

Bjoern3003
02.06.2013, 15:48
Die Abkürzungen konnte ich aus dem Kontext heraus sogar herleiten ;-)

Werde mir mal nen USB Programmer kaufen und 1-2 solcher MC... dann werde ich mal testen müssen.

Manf
03.06.2013, 04:53
Nur als kleine Anmerkung zum Einsatz von Kreuzspulenmesswerken.


Vor allem in Kraftfahrzeugen und
auf Booten werden Anzeigen mit Kreuzspulmesswerken noch häufig für Tankinhalt, Öldruck oder Motortemperatur verwendet, da die Messanordnung recht unempfindlich gegenüber Schwankungen der Versorgungsspannung ist.

Wenn die Messgröße mit Sensoren ermittelt wird, z.B. in einer Messbrücke, dann ist das Ergebnis proportional zur Versorgungsspannung der Brücke. Die Abhängigkeit lässt sich eliminieren indem man bei der Anzeige durch die aktuelle Versorgungsspannung teilt, früher eben einfach elektromechanisch mit einem Kreuzspulenmesswerk. Die Messwertverarbeitung ist in dem Fall überschaubar.
Ein Steppermesswerk mit einer analogen Größe anzusteuern ist schon aufwendiger.

ranke
03.06.2013, 07:02
@Manf:
Anfangs hatte ich auch in diese Richtung gedacht. Solche Kompensationsschaltungen hat man zu Zeiten gemacht zu denen man Halbleiter noch nicht zuverlässig am Bordnetz betreiben konnte. Das Fahrzeug von Björn scheint jüngeren Datums zu sein:


Die Spulen werden jeweils über den N710020CFMBFGA angetrieben ... die Punkte der Spulen gehen alle direkt auf den Controller


Jedoch liegen die benötigten Daten auf einem PWM Datenbus

Es ist wohl so, dass der Controller die Daten vom CAN Bus holt und über die Kreuzspulmeßwerke zur Anzeige bringt. Warum gerade Kreuzspul weiss ich nicht, ich habe neben den allgemein üblichen Schrittmotoren auch schon Drehspulmeßwerke (Federrückstellung, so modifiziert dass ein Drehwinkel von ca. 250° möglich ist) gesehen. Es muss keinen technischen Grund haben, warum sich mehrere technische Lösungen für eine Aufgabe halten.

Bjoern3003
03.06.2013, 08:52
Moin,

Das Auto hatte eine Bauphase von 98-2004.
Ab 2002 etwa gab es ein Facelifiting. In diesem Zuge wurde unter anderem auch der Tacho geändert. Von Kreuzspulmesswerk auf Schrittmotor. Warum dieser Schritt gegangen wurde, keine Ahnung. Vielleicht war die Produktion aufgrund von Bauteilen günstiger?!
Jedenfalls arbeitet der Tacho, den ich verbauen möchte (wieder anderes Modell) eben genau mit diesen Schrittmotoren. Dürfte theoretisch technisch also keine Probleme geben.

Bjoern3003
10.06.2013, 16:11
So, ich habe jetzt ne kleine Schaltung aufgebaut, mit einem attiny24a und dem Stepper (siehe Anhang).

Mithilfe eines Potis und einer kleinen Programmroutine habe ich den Stepper nun dazu bekommen, dass er einmal voll ausschlägt, auf Null zurückfährt und die Stellung des Potis einnimmt.

Leider zuckt der Stepper noch gelegentlich hin und her. Ich nehme an, dass die Werte vom Poti nicht konstant ankommen. Verhält sich im Auto aber ähnlich. Die Drahzahl schwankt ja auch ständig und sollte sauber angezeigt werden.

Kann man das irgendwie sauber dämpfen?

Meine Programmiersprache ist Bascom.

ranke
10.06.2013, 17:51
Mithilfe eines Potis und einer kleinen Programmroutine habe ich den Stepper nun dazu bekommen, dass er einmal voll ausschlägt, auf Null zurückfährt und die Stellung des Potis einnimmt.

Da hast Du ja schon bemerkenswert viel in kurzer Zeit geschafft.

Bezüglich Zucken: wenn es nur einen Stepperschritt hin- und hergeht, dann wäre das nicht ungewöhnlich. So wie Du es beschreibst, ist es mehr als nur ein Stepperschritt. Das könnte auch eine schwankende Versorgungsspannung sein, (demzufolge eine schwankende Referenzspannung), auch am Eingangspin des ADC sollte eine kleine Kapazität nach Masse hin, wenn das Poti hochohmig ist. Ich glaube dazu steht auch etwas im Datenblatt des ATtiny. Ein Schaltplan Deines jetzigen Aufbaus wäre auch hilfreich. Normalerweise sollte es ohne Zucken gehen.

Wenn man will (ich denke man wird wollen) kann man auch softwaremäßig filtern, üblicherweise mittels gleitender Mittelwertbildung (http://de.wikipedia.org/wiki/Gleitender_Mittelwert). Dazu gab es hier im Forum auch schon ein paar threads, bemühe mal die Suche nach diesem Stichwort, es ist recht einfach in Programmcode umzusetzen.

Manf
10.06.2013, 19:13
Ich staune auch wie schnell das mit dem Einsatz des Controllers ging, schöner Erfolg.
Die Korrektur kleiner Werte kann grundsätzlich zu einem Zucken des Zeigers führen, wie bei einem Schrittmotor üblich. Wird der Motor mit Vollschritten oder mit Halbschritten angesteuert?

Bjoern3003
10.06.2013, 19:53
Danke für die Blumen. Ich staune selbst ein wenig, aber nicht alles ist auf meine Arbeit zurückzuführen.

Da ist mithilfe eines Forenfremden Kollegen und viel Recherche entstanden.

Da Programmierung nicht ganz fremd ist und auch die Grundkentnisse für Elektrotechnik vorhanden sind, kam halt der Rest irgendwann.

Die Referenzspannung hole ich intern aus dem iC. Sollte man dennoch an HREF einen 100µF Kondensator an HREF anklemmen?

Wollte eigentl. ungern per Software den Mittelwert errechnen. Dass das geht, habe ich auch schon gesehen (habs sogar schon programmiert), aber ich fand, dann ist der Zeiger recht träge geworden.

Anbei übrigens nen Video des Aufbaus: http://www.youtube.com/watch?v=ZK3572EINDA

Der Poti wurde mittlerweile durch einen anderen ersetzt. Der scheint nicht so hochohmig zu sein. Das Zucken ist schon wesentlich weniger geworden, aber immer noch vorhanden.

021aet04
10.06.2013, 21:09
Das ging ja wirklich schnell. Glückwunsch.

Wieviel Ohm das Poti hat steht doch drauf, oder ist die Beschriftung weg?

MfG Hannes

Bjoern3003
10.06.2013, 21:42
Der aktuelle hat 1kOhm

ranke
11.06.2013, 07:29
Wollte eigentl. ungern per Software den Mittelwert errechnen. Dass das geht, habe ich auch schon gesehen (habs sogar schon programmiert), aber ich fand, dann ist der Zeiger recht träge geworden.

Dagegen hilt es, die Abtastfrequenz des ADC zu erhöhen. Der MC sollte dafür ausreichend Reserven haben.


Der Poti wurde mittlerweile durch einen anderen ersetzt. Der scheint nicht so hochohmig zu sein. Das Zucken ist schon wesentlich weniger geworden, aber immer noch vorhanden ... Der aktuelle hat 1kOhm

1kOhm ist schon ziemlich niederohmig, auch 10kOhm sollte noch keine Probleme machen. Manche Potis neigen auch zum "kratzen", wenn der Kontakt des Schleifers mit der Schleifbahn nicht einwandfrei ist. Du kannst es mal mit verlöteten Festwiderständen statt dem Poti probieren, das sollte dann frei von Zuckungen sein wenn es am Poti liegt.

Bjoern3003
11.06.2013, 08:32
Moin Moin,

naja aber das Eingangssignal im Fahrzeug ist ja auch keine Feste Spannung. Gerade im Bereich Drehzahl schwankt der Wert ja echt extrem.

Wie meinst du Abtastfrequenz erhöhen? Ich habe eine Dauerschleife im Programm mit gerade mal 3ms Wartezeit für den Stepper, da er mit weniger nicht zurecht kommt. Das schafft er dann nicht mehr.
Wenn ich mit Microsteps Arbeite, dann zuckt er nicht mehr, jedoch hat er extrem an Geschwindigkeit eingebüßt.
Kann man da irgendwas drehen?

Manf
11.06.2013, 09:14
Um ein Zucken zu verringern kann man die Schrittflanke etwas Trapezförmig machen (mit einem Tiefpass). Sehr viel wird das vielleicht nicht helfen.
Wenn Du schon Mikroschritte eingesetzt hast dann gibt es natürlich grundsätzlich die Möglichkeit die Differenz zwischen Sollwert und Istwert auszuwerten und bei großen Differenzen mit Vollschritten zu arbeiten bei kleinen Differenzen mit Halbschritten oder Mikroschritten.

Bjoern3003
11.06.2013, 09:28
Von dem Tiefpass habe ich auch schon gelesen. Aber wenn es nicht viel bringt!?!...

Ist es nicht möglich, den Tiny höher zu takten? Der läuft auf 8Mhz Oder würde der Stepper dann aufgrund der Microschritte wieder nicht hinterherkommen?

ranke
11.06.2013, 14:38
Mit der Abtastfrequenz hatte ich das Einlesen des ADC-Werts gemeint. Wenn das schon alle 3ms geschieht und über 16 Datenwerte gemittelt wird, wird man sicher keine Verzögerung der Anzeige wahrnehmen können.

Wenn der mit 8MHz taktet und du für eine Programmschleife 3ms Zeit hast, dann passen rund 24.000 (in Worten: vierundzwanzigtausend) Einzelbefehle in die Programmschleife. Ich glaube nicht, dass man den Takt erhöhen muß (vielleicht aber die Effizienz der Software verbessern). Leider kann ich mit Bascom nicht helfen.

Bjoern3003
11.06.2013, 15:47
Er läuft mittlerweile relativ sauber.

Ich habe heute noch mal ein wenig überlegt und geplant.

Laut Datenblatt kann der Schrittmotor 800 Grad/sekunde.

Ich würde sagen, aktuell macht er gerade mal 200Grad/sekunde

Kann es sein, dass ich den einfach mit mehr Spannung befeuern müsste?
Er kann ja 4.5 - 7.5V ab. Der iC liefert ja nur 5V am Ausgang. Wäre für mich zumindest eine Erklärung, warum er so langsam dreht.

021aet04
11.06.2013, 17:03
Grundsätzlich gilt bei Schrittmotoren je höher die Spannung desto besser ist es. Der Schrittmotor sollte mit einem konstanten Strom angesteuert werden. Der Schrittmotortreiber muss das aber können. Du könntest einmal versuchen mit den ca. 12V zu arbeiten (nur kurzzeitig zum Testen) ob es dann besser wird.
Welchen Treiber verwendest du? Hast du den L297/L298 genommen oder etwas anderes?

MfG Hannes

Bjoern3003
11.06.2013, 17:28
Hi, gar keinen Treiber. Ich gehe direkt an den tiny.

ranke
11.06.2013, 20:07
Ohne zusätzlichen Treiber kommst Du nicht über die 5V Grenze, die Dir der ATtiny vorgibt. Mit zusätzlichem Treiber darf man den Schrittmotor ohne explizite Strombegrenzung bis 7,5V betreiben. Die Strombegrenzung könnte im einfachsten Fall ein Vorwiderstand sein, dann könnte das an den ca. 14V des Bordnetz, das ist zumindest einfacher als ein 7,5V Spannungsregler.
Laut Datenblatt verliert der Stepper bei 5V Betrieb bis 600°/s nur die Hälfte des Drehmoments, das könnte ja genügen um den Zeiger zu bewegen. Vermutlich sind es Resonanzen, die den Motor nicht über die 200°/s fahren lassen. Gegen Resonanzen hilft es statt Vollschritt Halbschritt zu fahren (oder statt Halbschritt Mikroschritt). Das ist wahrscheinlich effektiver als die pure Spannungserhöhung, bei der die Resonanzen dann eben ein bißchen später kommen.
Falls trotzdem eine Treiberlösung angedacht wird, könnte man das evt. mit einem Logikgatter erschlagen. Alternativ gibt es auch spezielle Schrittmotortreiber, die meisten werden etwas überdimensioniert sein für den Winzling.

Bjoern3003
12.06.2013, 08:49
Gut, dann werde ich wohl bei den 5V bleiben müssen, denn einen zusätzlichen Treiber wollte ich ungern verbauen.