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-Syntax 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 vielleicht entsprechend.
  • 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.

 


Beim Aufruf dieser Funktion werden Daten an Google in USA ├╝bermittelt. Neben Ihrer IP-Adresse wird auch die URL der besuchten Seite ├╝bertragen.
Besucherzaehler

Besucher seit
25.11.2000