Elektronik_Header_3Lüftersteuerung mit ESP-01

 

Auswuchtsteuerung

Um die hier beschriebene Auswuchtmaschine als Standalone-GerĂ€t betreiben zu können, wird eine Steuerung benötigt, die sowohl den Ablauf fĂŒr die Ermittelung der Messwerte kontrolliert als auch die Auswertung der Messung ermöglicht und Betrag sowie Lage der notwendigen Ausgleichsmasse angibt.

Im Bestand findet sich ein Atmel AtMega328p im 28poligen DIP-GehĂ€use sowie eine LCD-Anzeige mit 2 Zeilen mit je 24 Zeichen. Ein paar Taster zur MenĂŒsteuerung sind auch schnell gefunden, die Hardware wĂ€re also soweit vorhanden.

Die Software soll mit BASCOM erstellt werden, der stellt Routinen zur Abfrage von einfachen Tastaturen sowie zur Ansteuerung von LCD-Displays mit Standard-Controllern zur VerfĂŒgung.

Das Schaltbild war schnell zusammen gehĂ€kelt, fĂŒr Tests habe ich auch hier zuerst mal einen Prototyp auf Lochraster-Material aufgebaut, weil die Port-Belegung noch ein wenig unsicher war. Es stellte sich z.B. heraus, dass die an sich schon vielfach erfolgreich verwendete doppelte Portbelegung fĂŒr LCD-Ansteuerung und Tastaturabfrage mit den von BASCOM zur VerfĂŒgung gestellten Routinen nicht funktioniert.

Genauso stellte sich im Zuge meiner Entwicklung heraus, dass sowohl die Definition des SchlĂŒsselwortes “$baud” im Code als auch offenbar implizit die Verwendung eines Bootloaders zur Firmwareaktualisierung, die Verwendung der Pins der Hardware-Seriell-Schnittstelle als IO-Ports verhindert. Im Umkehrschluss ergibt sich damit folgerichtig, dass immer ein SPI-Programmer zum Firmwareupdate verwendet werden muss. Aber das nur am Rande.

Das Stichwort MenĂŒ ist weiter oben ja schon gefallen, hier drĂ€ngt sich also die Verwendung des prima gemachten GrundgerĂŒsts fĂŒr eine MenĂŒ-Steuerung aus dem RoboterNETZ auf. Ich habe lediglich die Vorgabetexte auf zwei Zeilen erweitert, natĂŒrlich die einzelnen MenĂŒ- und SubmenĂŒ-Routinen mit passendem Leben gefĂŒllt und darĂŒber hinaus ein paar eigene Zeichen definiert, um in jedem State des MenĂŒs die möglichen Richtungen fĂŒr den nĂ€chsten Statewechsel per Tastatur anzuzeigen.


Doch zuerst musste die Hardware erstellt werden. Der Prototyp der Steuerung sieht so aus:

Auswuchtsteuerung - Prototyp

Am rechten Rand der Platine sitzen die beiden Stecker fĂŒr die PWM-Motorsteuerung sowie den Eingang vom MessverstĂ€rker. Das Kabel rechts oben fĂŒhrt zum Programmieradapter, unten links sieht man den 16poligen Stecker fĂŒr das LCD-Display, unten rechts das Kabel zur Tastatur. Der 3polige Stecker oben links ist der nicht verwendbare Anschluss der seriellen Schnittstelle. Einzelne Massepins und ein Doppelstecker fĂŒr den Reset des ”C vervollstĂ€ndigen die vorhandenen AnschlĂŒsse. Das Poti dient zum Einstellen des Kontrasts am LCD-Display.

Das Schaltbild ist recht ĂŒbersichtlich geraten:

Schaltbild der Auswuchtsteuerung (Click fĂŒr volle Auflösung)             (Click auf das Bild fĂŒr grĂ¶ĂŸere Darstellung)

Das Layout konnte durch Verwendung von 3 DrahtbrĂŒcken einseitig realisiert werden, die Tastatur ist abgesetzt und besteht aus 5 Tasten, die zusammen einen Cursor-Kreis bilden. Die mittlere Taste ist zur Zeit unbenutzt, kann aber noch aktiviert werden, sollte sich das als notwendig erweisen.

Layout der Auswuchtsteuerung und Tastatur

Ohne Platine lassen sich die Schalter kaum korrekt anordnen, so dass ich kein Foto machen kann. Deshalb hier eine Abbildung vom Hersteller des Tastaturmoduls:

NaviMEC Tastatur, Copyrigth MEC Switches A/S, Denmark

Auch diesmal die 3D-Ansicht der Platine zur gefÀlligen Begutachtung ;-)

Platine der Auswuchtsteuerung

Nachtrag
Die Platinen sind inzwischen angekommen:

Bei MME gefertigte Platinen fĂŒr die Auswuchtsteuerung

Die große Platine fĂŒr den ”C ist hier von der Unterseite gezeigt, die Oberseite ist unbestĂŒckt wenig beeindruckend ;-)

Jetzt kann ich auch die Schalter auflöten und das gewÀhlte Ultrablau prÀsentieren:

Tastatur in Utrablau

Das Auflöten der Schalter auf die Platine ist eine spannende Angelegenheit, da die Tastenkappen montiert sein mĂŒssen, um den Abstand zueinander korrekt ausrichten zu können. Somit kommt man kaum noch an die Lötstellen heran. Der mittlere Schalter muss zuerst aufgelötet werden und dient dann fĂŒr die anderen als Ausrichthilfe. Das alles trifft natĂŒrlich nur fĂŒr die von mir verwendeten SMD-Varianten der Schalter zu.


Die Komplettansicht des lauffÀhigen Prototyps der Steuerung, allerdings noch mit kleinen Defiziten in der Berechnung der Auswuchtergebnisse:

Auswuchtsteuerung - Prototyp komplett

Angezeigt werden hier die X- und Y-Komponenten des resultierenden Vektors fĂŒr die Korrekturmasse sowie der Winkel, bezogen auf einen beliebig festgelegten Null-Winkel, die zu applizierende Masse als relative Angabe in Bezug auf die Testmasse, mit der die Messwerte ermittelt wurden, sowie der Quadrant im Einheitskreis, in dem die Korrekturmasse angebracht werden muss. Letztere Angabe dient nur zur Kontrolle des Ergebnisses und wird im endgĂŒltigen Zustand der Software nicht mehr vorhanden sein.


Die beiden Prototypen (Steuerung mit ”C und Tastatur) sind in der Zwischenzeit durch bei MME gefertigte Platinen ersetzt worden:


Auswuchtsteuerung - finale Elektronik

Unterhalb des Display sieht man den Tiefpass-MessverstÀrker-Messgleichrichter.

Mendocinomanni hat seiner Steuerung ein adÀquates Zuhause spendiert:

GehÀuse der Steuerung


Die Software ist noch nicht vollstĂ€ndig implementiert, die bereits vorhandenen Teile sind hier in einer Übersicht dargestellt.

Die MenĂŒstruktur ist in einem Zustandgraphen festgehalten:

MenĂŒstruktur  (Click fĂŒr grĂ¶ĂŸere Darstellung)             (Click auf das Bild fĂŒr grĂ¶ĂŸere Darstellung)

Die möglichen Zustandswechsel sind mit farbigen Pfeilen angegeben. Die Farben haben jeweils eine festgelegte Bedeutung:

  • Blau: manuell ausgelöster Zustandswechsel
  • GrĂŒn: automatischer Zustandswechsel nach Ablauf einer bestimmten Zeit oder nach Erreichen eines internen Zustandes
  • Rot: Auswahl nur zum Test, wird spĂ€ter still gelegt
  • Gelb: State-Nummer, findet ihre Entsprechung im Code

Pfeile mit heller Farbgebung habe ich verwendet, wenn sie ĂŒber einen Text hinweg verlaufen, die Bedeutung der Farbe ist identisch.

ZusĂ€tzlich habe ich alle Zeichen in den verschiedenen Anzeigen aufsummiert, weil ich anfangs befĂŒrchtete, dass die vielen Texte den Speicher des ”C sprengen werden. Diese BefĂŒrchtung erwies sich allerdings bis jetzt als unbegrĂŒndet, der Chip ist momentan erst zu ca. 64% ausgelastet.

Zuletzt habe ich die Struktur des MenĂŒs noch etwas aufgerĂ€umter gestaltet, Festlegungen, die lĂ€nger gelten in ein UntermenĂŒ verbannt und, weil die Programmiererei gerade so gut lief , noch ein paar Gimmicks eingebaut, die nicht unbedingt notwendig fĂŒr die Funktion sind.

Die erste Zeile des BegrĂŒĂŸungsschirms kann jetzt frei gestaltet werden, hilfreich, wenn man nicht gerade Manni heißt ;-)
Der “Editor” hierfĂŒr ist, geschuldet den wenigen Tasten, nur sehr rudimentĂ€r, aber das macht man ja auch nicht alle Tage.
Dann gibt es eine kleine “Bitte warten”-Animation und in der rechten unteren Ecke wird mit benutzerdefinierten Zeichen angezeigt, in welche Richtungen man den aktuellen Zustand verlassen kann.

Ach ja, nicht zuletzt funktioniert auch die Bestimmung der Korrekturmasse ganz ordentlich, wenngleich ich von der Reproduzierbarkeit der Ergebnisse nicht ganz ĂŒberzeugt bin. Ich hĂ€tte erwartet, dass mehr oder weniger unabhĂ€ngig von der Masse des Testgewichts und/oder der (fĂŒr alle vier Messungen eines Laufs gleichen) Drehzahl beim Messen, immer der gleiche Winkel und die gleiche Masse zur Korrektur der Unwucht errechnet wird. Das stimmt aber leider nicht, sowohl Winkel als auch Masse variieren leicht.

Und zu guter Letzt ist das Ergebnis des Auswuchtens noch korrekturbedĂŒrftig. Allerdings konnte ich einen sehr liederlich zusammen getackerten Testrotor durch drei zusĂ€tzlich nach GefĂŒhl angebrachte Korrekturmassen zu sehr rundem Lauf bringen, nachdem ich mit zwei MesslĂ€ufen nacheinander die beiden Seiten ausgewuchtet hatte. Mit ein bisschen gutem Willen wĂŒrde ich das als Erfolg werten :-)

Im Programm noch nicht bedacht ist bisher die Korrektur einer dynamischen Unwucht. Die Aufteilung der Korrekturmasse des zweiten Laufs auf die beiden Seiten des Rotors liegt noch in der Zukunft.

Programm
Die oben aufgezeigte MenĂŒstruktur ist im richtigen Leben des verwendeten ”C durch Befehle in BASCOM-Sytax realisiert. Ich verzichte auf die Darstellung des Listings und gebe den Downloadlink fĂŒr den Code der Auswuchtsteuerung an. Auf Grund des Umfangs ist die Vollversion von BASCOM notwendig um den Code zu ĂŒbersetzen.

Die verlinkte Version V2 der Software enthĂ€lt bereits Vorbereitungen auf die Erweiterung der gleichzeitigen Messung mit zwei Sensoren, allerdings sind die Änderungen nicht durchgezogen. Lediglich die Variablen sind bereits definiert und die Ansteuerung der Entlademimik fĂŒr die Ausgangskondensatoren des Messgleichrichters ist umgestellt, weil die Steuerungshardware ursprĂŒnglich fĂŒr die Messung mit nur einem Sensor ausgelegt wurde.

Mit ein bisschen gutem Willen ist der geneigte Nachbauer sicher in der Lage, die Arbeitsweise des Programms zu erfĂŒhlen, um den Einstieg aber zu erleichtern hier ein Schnelldurchgang mit den wesentlichen Punkten.
Der Text bezieht sich auf einen Mendocinomotor-Rotor, daher sind ungewöhnliche Vokabeln wie “5-FlĂ€chner” oder “5er Rotor” enthalten.

Kurzanleitung fĂŒr das Auswuchten:

  1. Mit "Testlauf" die notwendige PWM-Einstellung finden. Die Unwuchtwerte sollten so um 120 .. 140 (Erfahrungswert. Maximalausschlag der Schaltung ist bei ca. 190) anzeigen. Ansonsten mehr oder weniger Drehzahl ĂŒber die PWM-Einstellung einstellen. (Die Drehzahl, die hier eingestellt wird, wird beim nĂ€chsten Einschalten der Steuerung wieder vergessen sein. Um diese Drehzahl immer zu verwenden, muss ĂŒber “Einstellungen” gegangen werden).
  2. Jetzt Messen. Vor Start der ersten Messung ohne Testmasse warten, bis der Rotor wieder still steht.
  3. Messung starten. Die Motorhochlaufphase muss ausreichend lang sein, damit bei jeder Messung immer die gleiche Drehzahl erreicht wird. Im Zweifelsfall lieber zu lange hochlaufen lassen.
    War die Zeit zu kurz fĂŒr diesen Rotortyp, dann in den Einstellungen die Zeit erhöhen.
  4. Nach Ablauf der Messung wird die gemessene Unwucht als einheitenlose Zahl, z.B. irgendwo um die 130 herum, angezeigt. Um die Hochlaufphase zu verlĂ€ngern (bei meinem ersten Test mit dem vollstĂ€ndigen 5er Rotor war die Enddrehzahl noch nicht erreicht), mit HOCH, LINKS ins HauptmenĂŒ, dann mit RUNTER zu den Einstellungen und "Motorhochlauf" wĂ€hlen.
    Eine gute Idee ist, schon beim Testlauf (1.) auf die Zeit zu achten, die der Rotor bis zu einer stabilen Drehzahl benötigt.
  5. Ok, 20 Sekunden dĂŒrften als Startwert reichen, ggf. anpassen. ZurĂŒck zur Messung, und die Messung ohne Testmasse wiederholen.
  6. Die nÀchste Messung erfolgt mit Testmasse auf 0 Grad.
    Ich verwende zuerst mal die 4 mm Schraube, da habe ich mit 8 und 12 mm das Doppelte und das Dreifache zur Auswahl. Wenn sich durch diese Testmasse zu geringe "Störungen" ergeben, muss eine grĂ¶ĂŸere Testmasse ausgewĂ€hlt werden. Wird man sehen.
    Wenn der Rotor nicht von selbst anlĂ€uft, einfach einen kleinen Schubs geben um ihm ĂŒber den Totpunkt zu helfen (bei gröberer Unwucht).
  7. Den gleichen Trick mit Messlauf 3 und 4 mit Testmasse auf 144 und -144 Grad (beim 5-FlÀchner).
  8. Alle vier Messungen sind durch. Jetzt mit zweimal RUNTER die resultierende Ausgleichsmasse ausrechnen lassen.
  9. Und mit RECHTS die Verteilung auf die beiden benachbarten Schraublöcher ausgeben.
  10. Die Testmasse entfernen (wenn sie nicht zufÀllig schon mit passender Masse und im richtigen Loch steckt ;-) und die beiden errechneten Ausgleichsmassen in die richtigen Löcher montieren.
    Hierbei wieder auf den gleichen Drehsinn wie bei den Messungen achten.
    Es ist prinzipiell egal, ob man sich im kartesischen Koordinatensystem bewegt und positive Winkel gegen den Uhrzeigersinn annimmt, oder umgekehrt, aber man muss sich IMMER an die einmal ausgesuchte Richtung fĂŒr positive Winkel halten. Ich arbeite immer mit positiven Winkeln IM Uhrzeigersinn. Geschmackssache :-)
  11. Jetzt wird ein erneuter "Testlauf" gestartet, wir wollen ja sehen, ob die Auswuchterei was gebracht hat.
    Auch wenn jetzt noch eine relativ starke Unwucht angezeigt wird, nicht verzagen, das kommt von der anderen Seite des Rotors, die ja noch nicht behandelt wurde.
  12. Also jetzt den Rotor wenden.
  13. Und die Schritte 3. und 5.-11. fĂŒr diese Seite wiederholen.

Dieser Testlauf zeigt eine Reduzierung der Unwucht von anfangs 135 auf 85, der Vorgang scheint also zumindest zielfĂŒhrend zu sein.

Das ganze Brimborium vom Start bis Abschluss Punkt 13 kostet etwa 15 Minuten, wobei ich den Text bis Punkt 4. inklusive parallel zu den Messungen getippt habe.

Permanente Einstellungen.

  • Die Anzahl der Solarzellen oder RotorblĂ€tter (im MenĂŒ "FlĂ€chenanzahl") wird unter Einstellungen festgelegt.
  • Ebenso die Winkel - positiver und negativer, unter denen die Testmassen und letztlich auch die Ausgleichsmassen an den Seitenteilen montiert werden können. Beim 5 -FlĂ€chner sind das 144 Grad, beim 3- oder 6-FlĂ€chner 120 Grad. Bei einem 4-FlĂ€chner mĂŒssen hier 90 Grad eingestellt werden. Möglich sind 9 FlĂ€chen. Sollte irgendwann mal einen Dodekaeder oder einen Ikosaeder auszuwuchten sein, erweitere ich das Programm entsprechend. Versprochen! ;-)
  • Die Motorhochlaufzeit und die Drehzahlvorwahl haben wir ja schon am Anfang kennen gelernt.
  • Sollte sich heraus stellen, dass die errechnete Korrekturmasse die Unwucht verschlimmert, muss der 180°-Versatz der Ausgleichsmassen aktiviert werden.
  • Der bisher letzte MenĂŒpunkt unter Einstellungen ist die Möglichkeit, den Namen zu editieren, der in der ersten Zeile des BegrĂŒĂŸungsbildschirms angezeigt wird. Ich habe hier z.B. momentan "Die" eingegeben :-)

Um sich anfangs in der MenĂŒstruktur nicht zu verlaufen, hilft ein Blick in den Zustandsgraphen.

Inzwischen ist das MenĂŒ richtig erwachsen geworden, was der Übersichtlichkeit immanent nicht gut tut. Aber nach drei MesslĂ€ufen findet man sich nahezu blind zurecht… vielleicht auch erst nach 4 bis 11 ;-)

Der mittlere Knopf des Steuerkreuzes hat in der Version 2 des Programms ebenfalls eine Aufgabe gefunden. WÀhrend der Motor lÀuft, löst der Druck auf die mittlere Taste einen Nothalt aus, was entsprechend im Display angezeigt wird. Die Motorspannung wird sofort abgeschaltet, hilfreich z.B. wenn der auszuwuchtende Rotor sich gerade in den Kopf gesetzt hat, die Halterung unangemeldet zu verlassen.


Nachtrag 11/2012
Die weitere Entwicklung der Auswuchtmaschine ist auf Eis gelegt, da absehbar wurde, dass der Zeitaufwand fĂŒr einen kompletten Wuchtlauf grĂ¶ĂŸer ist, als Manni durch probieren mit der Hand braucht. Dieses Verfahren beherrscht er mittlerweile perfekt.
Hinzu kommt, dass der momentane Stand der Software nicht ausreichend genau wiederholbare Ergebnisse erzielt und die Messanlage nicht in der Lage ist, nur schwach unwuchtige Rotoren ĂŒberhaupt als unwuchtig zu erkennen, geschweige denn, korrekte Ausgleichsmassen zu bestimmen.
Der letzte Punkt, der fĂŒr die (vorlĂ€ufige) Einstellung des Projekts spricht ist, dass Hardware und Programm noch nicht in der Lage sind, echt dynamisch zu wuchten, was fĂŒr den Rotor eines Mendocino-Motors unabdingbar ist.

Sollte ein Leser dieser Seiten zielfĂŒhrende Ideen an der Hand haben und diese auch in BASIC-Code ausdrĂŒcken können, ist er herzlich dazu eingeladen, das Projekt weiter oder gar zu Ende zu fĂŒhren.

Hier noch einmal der Link auf die bisher vorhandenen Sourcen der Auswuchtsteuerung und der Hinweis auf die Anmerkungen zum Code.

 


Besucherzaehler

Besucher seit
25.11.2000

>