Bericht der Ingenieurpraxis

Werbung
TU München
Bericht der Ingenieurpraxis
Design und Evaluation von
”
Propeller-Motor-Systemen für Mini-Quadrocopter“
Fachprüfungsordnung:
B.Sc. ab WS08/09 (neue FPO)
Betreuender Professor:
Prof. Dr. sc.nat. Jörg Conradt
Fachgebiet für
Neurowissenschaftliche Systemtheorie (NST)
Student:
Florian Groß
Matrikelnummer: 3602431
Zeitraum:
14. März - 13. Mai 2011 (9 Wochen)
Abgabe des Berichts:
21. Juli 2011
1 Eingereichter Arbeitsplan
In der Ingenieurpraxis mit dem Thema Design und Evaluation von Propeller-Motor”
Systemen für Mini-Quadrocopter“ soll für Quadrocopter eine optimale Kombination von
Propeller und Motor gefunden werden.
Quadrocopter sind kleine, hubschrauberähnliche Fluggeräte mit vier Rotoren, welche
paarweise gegenläufig rotieren. Da sie in ihrer Flug– und Schwebestabilität einfachen
Hubschraubern überlegen sind eignen sich Quadrocopter gut für Aufgaben, in denen
Langsamflug und verlässliche Positionierung gefordert sind.
Die vorhandenen Quadrocopter bieten eine Breite von 160mm, Ziel ist es allerdings, diese
auf unter 100mm schrumpfen zu lassen. In dieser Ingenieurpraxis geht es dabei um die
Miniaturisierung der Propeller sowie der Motoren. Hierbei ist das Ziel d ≤ 50mm für die
Propeller, d ≤ 5mm für die Motoren. Durch diese Größe wird es möglich sein, kompakte
Schwärme zu bilden und die Quadrocopter in beengten Verhältnissen einzusetzen.
Erste Aufgabe wird es sein, den Bestand an vorhandenen Bauteilen zu erfassen und ggf.
systematisch zu ergänzen. Anschließend wird der Student einen Testaufbau entwerfen,
der die stationäre Messung folgender Größen erlaubt:
• Stromstärke I [A]
• Spannung U [V]
• Auftriebskraft FL [N]
• Rotationsfrequenz f [U/min]
Die Messungen werden elektronisch erfasst und mit Hilfe geeigneter Tools (z.B. MATLAB) visualisiert.
Anhand dieser Daten soll im Anschluss der beste Arbeitspunkt für den Motor gefunden werden (erforderliche Leistung P [W] minimieren, Auftrieb FL maximieren) und
mit anderen Propeller-Motor-Kombinationen verglichen werden. Die beste Kombination
zeichnet sich durch möglichst
• geringen Preis
• starken Auftrieb
• gutes Ansprechverhalten
• geringe Größe/Gewicht
aus. Im Anschluss daran werden die Eigenschaften dieser Kombination auf ein kleineres
Propellermodell übertragen und ein adäquater Fertigungsprozess für Propeller dieser
Größe ermittelt. Die selbst hergestellten Propeller werden dann wieder mit Hilfe des
Testaufbaus analysiert und die Güte evaluiert.
2
2 Beschreibung der durchgeführten
Aufgaben
2.1 Inventur
In der ersten Woche wurde primär die vorhandene Ausrüstung erfasst und Möglichkeiten
gesucht, die einzelnen Aufgaben der Ingenieurpraxis durchzuführen. Prof. Conradt hat
bereits im Vorfeld diverse Propeller und Motoren beschafft, die ihm vielversprechend
erschienen, diese wurden nun alle mit Hilfe von Excel-Tabellen und Bildern erfasst. Die
Datensätze umfassten dabei:
• Bei Propellern
– Durchmesser Welle [mm]
– Id-Nummer (P[00-36])
– Durchmesser Gehäuse [mm]
– Beschriftung/Modellname
– Höhe Korpus [mm]
– Entfernung der beiden Rotorspitzen [mm]
– Höhe Welle [mm]
– Gewicht [g]
– Durchmesser der Nabe [mm]
– Oberflächenbeschaffenheit
– Max. Breite des Rotorblattes
[mm]
– Form (Zylinder/Blimp)
– Gewicht [g]
– Brushless? (ja/nein)
– Oberflächenbeschaffenheit
(glatt/rau)
– Vorhandene Anzahl
– Vorhandene Anzahl
– Max. Strom bei Nennspannung
[mA]
– Nennspannung [V]
– Material (Kunststoff/Carbon)
– Gradient (falls in Produktbeschreibung vorhanden) [mm]
– Widerstand [Ω]
– n0 [U/min]
– Bemerkungen
– Bemerkungen
– Bilder von oben und schräg oben
– Zusätzliche Dateien, in die das
Gewicht der Motoren geschrieben wurde (Mxx.txt), um sie
später automatisch in Messberichte einzufügen und eine Leistungskennzahl zu errechnen
• Bei Motoren:
– Id-Nummer (M[00-35])
– Beschriftung/Modellname
– Motoraufdruck
3
2.2 Mess-Software
Die Hauptaufgabe der Ingenieurpraxis bestand darin, einen Messstand zu entwerfen, an
dem die erforderlichen Parameter (Stromstärke, Spannung, Auftriebskraft, Rotationsfrequenz) gemessen werden können. Die Messaufgaben wurden von der NI DAQCard
6026E von National Instruments übernommen. Da am Lehrstuhl keine Lizenz von LabView vorhanden war und die Anschaffung dieser für die simplen Messaufgaben nicht
lohnen würde, erkundete der Student Möglichkeiten, die Messdaten softwaregestützt
auszulesen.
Die erste Möglichkeit bestand in der Verwendung der mitgelieferten Libraries in reinem
C/C#. Diese waren gut dokumentiert und gut zu programmieren, allerdings fehlte es
an erweiterten Möglichkeiten zur Darstellung und Verarbeitung der gemessenen Daten.
So fiel die Wahl letzendlich auf MATLAB und die Einbindung der C-Libraries über
Wrapper-Funktionen (loadlibrary, unloadlibrary, calllib, libpointer)1 2 .
Um die Funktionen der Library schneller und weniger aufwendig nutzen zu können, wurden diverse MATLAB-Scripts angepasst und neu geschrieben.
Ein erheblicher Teil der aufgewendeten Zeit fließ in die selbstgeschriebene Funktion
”MESSUNG”, die sämtliche Messaufgaben vereinte und die Messung selber durchführt,
im Folgenden eine Kurzbeschreibung der einzelnen Abschnitte:
1
2
3
4
5
6
7
8
9
10
% SETUP
l i v e p l o t = 0 ; % Deaktivierung des L i v e p l o t s
%% Data A c q u i s i t i o n
l a u f z e i t s e c = l a u f z e i t ; % L a u f z e i t in sec .
SampRate = 5 0 0 ; % s a m p l i n g r a t e i n Hz
N = l a u f z e i t s e c ∗SampRate ; % Zu e r w a r t e n d e Samples
fmin = 1 0 ; fmax = 5 0 0 ;
Vmin = −10; Vmax = 1 0 ;
Imin = 0 . 0 1 ; Imax = 2 . 0 ;
% [...]
In diesem Abschnitt werden diverse Parameter aus dem Funktionsaufruf in die jeweiligen Variablen geschrieben und der Wertebereich festgelegt. Der Übersichtlichkeit halber
wurde nur der erste Block exemplarisch dargelegt.
11
12
13
14
delete ( i n s t r f i n d a l l ) ;
s e r i a l P o r t = ’COM1 ’ ;
s e r i a l O b j e c t = s e r i a l ( s e r i a l P o r t , ’ BaudRate ’ , 9 6 0 0 ) ;
fopen ( s e r i a l O b j e c t ) ;
Anschließend wird der COM1-Port (Waage) geöffnet und für den Lesevorgang vorbereitet.
1
2
http://www.mathworks.com/matlabcentral/fileexchange/27609-daqmx-examples
http://www.jr-worldwi.de/work/matlab/index.html
4
15
16
17
18
19
20
21
22
23
t a s k h .FREQ = DAQmxCreateTask ( l i b ) ;
t a s k h . AI = DAQmxCreateAIVoltageChan ( l i b , ’ /Dev1/ a i 0 ’ , . . .
Vmin , Vmax, DAQmx Val Diff ) ;
t a s k h . AI = DAQmxCreateAICurrentChan ( l i b , t a s k h . AI , . . .
’ /Dev1/ a i 2 ’ , Imin , Imax , 0 . 1 ) ;
t a s k h .PWM = DAQmxCreateCOPulseChanFreq ( l i b , ’ /Dev1/ c t r 0 ’ , . . .
DAQmx Val Low , 0 , CtrFreq , 0 . 8 , 1 0 0 ) ;
t a s k h .FREQ = DAQmxCreateCIFreqChan ( l i b , t a s k h .FREQ , . . .
’ /Dev1/ c t r 1 ’ , fmin , fmax ) ;
Mit DAQmxCreateTask wird ein Task erstellt (Basis für eine Messaufgabe), mit DAQmxCreateAIVoltageChan, DAQmxCreateAICurrentChan, DAQmxCreateCOPulseChanFreq
und DAQmxCreateCIFreqChan jeweils Kanäle, die Spannung (AIVoltage) oder Strom
(AICurrent) einlesen können, ein PWM-Signal erzeugen können (COPulseChanFreq)
oder Frequenz messen (CIFreq). Die Funktion DAQmxCreateCIFreqChan erstellt selber keinen Task, daher muss man das davor manuell erledigen. Im Folgenden werden
Timing-Parameter festgelegt und Buffer-Größen definiert, das ist aber programmiertechnisch wenig interessant.
24
25
26
27
28
29
30
31
32
33
34
bi npat h = s t r c a t ( ’C: / M e s s s o f t w a r e / S c r i p t s / e r g e b n i s s e /M’ , . . .
num2str ( motornummer ) , ’P ’ , . . .
num2str ( propellernummer ) , ’ f ’ , . . .
num2str (PWMrate ) , ’ Hz− ’ , . . .
num2str ( l a u f z e i t ) , ’ s / ’ ) ;
mkdir ( binpath ) ;
dt = [ ] ; f i r s t a i = [ ] ; f i r s t t h r u s t = [ ] ; f i r s t f r e q = [ ] ;
f r e q f i l e = fopen ( s t r c a t ( binpath , num2str ( DutyCycle ∗ 1 0 0 ) , [ . . . ]
A I f i l e = fopen ( s t r c a t ( binpath , num2str ( DutyCycle ∗ 1 0 0 ) , [ . . . ]
t h r u s t f i l e = fopen ( s t r c a t ( binpath , num2str ( DutyCycle ∗ 1 0 0 ) , [ . . . ]
d u t y f i l e = fopen ( s t r c a t ( binpath , num2str ( DutyCycle ∗ 1 0 0 ) , [ . . . ]
Um die Messdaten speichern (und später auch plotten) zu können, wird für jede MotorPropeller-Kombination ein Verzeichnis angelegt und jede Messung wird in vier Binärdateien geschrieben.
35
36
37
38
39
40
while toc ( t 1 ) <= s t a r t t i m e+l a u f z e i t s e c
i f ( isempty ( f i r s t a i ) )
f i r s t a i = toc ( t 1 ) ;
end
aitmp = DAQmxReadAnalogF64 ( l i b , t a s k h . AI , numsampleAI , [ . . . ]
fwrite ( A I f i l e , aitmp , ’ double ’ ) ;
41
42
43
44
i f (mean( aitmp ( 2 , : ) ) > 1 . 3 )
disp ( ’ c u r r e n t > 1 . 3 A! ’ )
break
5
45
end
Nun folgt die eigentliche Schleife, in der für die Dauer von laufzeitsec Werte erhoben werden. firstai kennzeichnet die Zeit, an dem der erste analoge Wert (Spannung + Strom )
erfasst wurde, dies benötigt MATLAB für einen sauberen Plot. Mit DAQmxReadAnalogF64 werden die eigentlichen Werte der zwei Kanäle, Spannung und Strom, als 64-bit
Fließkommazahl in die Variable aitmp geschrieben und in der Binärdatei gespeichert.
Sollte der Mittelwert des gemessenen Stromes 1.3 A überschreiten, so wird die Messung
abgebrochen (Transistor verträgt max. cont. 1.3A).
46
47
48
49
50
51
freqtmp = DAQmxReadCounterScalarF64 ( l i b , t a s k h .FREQ, timeout ) / 2 ;
while ( freqtmp < fmin | | freqtmp > fmax )
freqtmp = DAQmxReadCounterScalarF64 ( l i b , t a s k h .FREQ , . . .
timeout ) / 2 ;
end
fwrite ( f r e q f i l e , [ toc ( t 1 ) freqtmp ] , ’ double ’ ) ;
Hier wird ein (gültiger!) Messwert der Frequenzmessung eingelesen und durch die Anzahl der Propellerblätter geteilt (meistens zwei). Da die Frequenzmessung häufig falsche
Werte ausgibt, müssen diese später noch einmal separat gefiltert werden.
52
53
54
55
56
57
58
59
60
61
while ( s e r i a l O b j e c t . b y t e s A v a i l a b l e )
out = f s c a n f ( s e r i a l O b j e c t , ’%c ’ ) ;
end
i f ( length ( out ) == 18 )
fwrite ( t h r u s t f i l e , [ toc ( t 1 ) 0 . 0 0 9 8 1 ∗ . . .
( s t r 2 d o u b l e ( out ( : , 7 : 1 2 ) ) − t h r u s t c o r r e c t i o n ) ] , ’ double ’ ) ;
end
fwrite ( d u t y f i l e , [ toc ( t 1 ) CtrDutyCycle ( c u r r e n t d t y ) ] , . . .
’ do uble ’ ) ;
end
Die RS232-Schnittstelle arbeitet auch nicht immer zuverlässig, es kann sein dass sie
unvollständige Telegramme ausliest und somit manche Stellen verschoben sind. Daher
wird nur bei korrekter Länge des Telegramms der Vorschub ausgelesen und in Newton
umgerechnet. Nach Schließen der Schleife werden noch alle Dateien mit fclose geschlossen
und alle Tasks gestoppt und gelöscht. Anschließend werden die Daten dieser einzelnen
Messung geplottet.
2.3 Transistorschaltung
Da die DAQCard auf den Counter-Ausgängen nur maximal ca. 60mA bei 5V ausgeben
konnte, musste ein Weg gefunden werden, die Karte möglichst wenig zu belasten und
den Motor gleichzeitig durch eine frei wählbare und einstellbare Quelle zu versorgen. Der
beste Weg, dies zu erreichen, ist der Aufbau einer Schaltung mit einem Transistor, an
dessen BE-Strecke die Messkarte anliegt, während die CE-Strecke den Motor versorgt.
Für ein Schaltbild siehe Abbildung 2.1(a).
6
(a) Schaltplan
(b) Foto
Abbildung 2.1: Emitterschaltung zur Verstärkung des PWM-Signals
Zusätzlich wurde parallel zum Motor eine Schottky-Diode geschaltet, damit die induktiven Ausschaltströme nicht den Motor selbst schädigen. Ebenso wurde parallel zur
gesamten Messchaltung ein 1 µF-Kondensator geschaltet, um den Strom zu glätten.
2.4 Mechanischer Testaufbau
Um die (geringen) Kräfte des Motors messen zu können, wurde ein leichter KunststoffHebel entworfen. Die Anforderungen an diesen waren:
• Geringes Gewicht (bzw. geringe Trägheit)
• 1:1 Kraftübertragung zwischen Hebelpunkten
• Mit Laser-Cutter schneidbar
• Steckbar, ohne Klebeverbindungen
Nachdem eine geeignete Form gefunden war, wurden die erforderlichen Bauteilzeichnungen in CAD mit Hilfe von SolidWorks erstellt (2.4) und anschließend aus den POMPlatten ausgeschnitten. Da die Motoren die verschiedensten Formen und Durchmesser
hatten, wurde ebenso eine Motorhalterung für jeden einzelnen Typ entworfen und gefertigt (2.2(c)).
2.5 Sonstiges
Um das erworbene Wissen über die DAQCard auch anderen Mitarbeitern des Lehrstuhls
zur Verfügung zu stellen, wurde ein Eintrag im Lehrstuhl-eigenen Wiki verfasst3 .
3
https://wiki.lsr.ei.tum.de/nst/equipmentdoc/electronictools#ni_data_acquisition_
card_ni_daqcard_6036e
7
(a) Basis+Stütze
(b) Hebel
Abbildung 2.2: CAD-Zeichnungen des Aufbaus
8
(c) Motorhalterung
3 Ergebnisse
3.1 Vergleich der Daten
Um Vergleichbarkeit zwischen den einzelnen Messungen zu schaffen und einen schnell
T
ablesbaren Qualitätsfaktor zu erhalten, wurde die Größe Q = mPF+m
eingeführt, wobei
M
FT den gemessenen Vortrieb darstellt und mP und mM die Massen des Propellers und
des Motors. Folglich ist der Motor mit dem höheren Q der leistungsmäßig bessere (der
Preis, die Größe und das Ansprechverhalten werden dabei nicht berücksichtigt). Um für
Abbildung 3.1: Beispiel-Plot (Motor 18, Propeller 14, PWM-freq. 500kHz, Laufzeit 10
s)
jede einzelne Messung einen Eindruck von dem zeitlichen Verlauf (und der Messqualität)
9
der Größen zu erhalten, wurde nach jeder Messung von MATLAB ein Plot ausgegeben,
der sämtliche Messdaten veranschaulicht (3.1, ebenso Anlage). Für einen Vergleich zwischen Motor- oder Propellertypen war dieser Plot allerdings ungeeignet. Deshalb wurde
ein Datenblatt entworfen, das in zwei Plots jeweils den Zusammenhang zwischen DutyCycle und Auftrieb und Stromverbraucht bzw. konsumierte el. Leistung veranschaulicht
und den Qualitätsfaktor Q (jeweils bei einem Duty-Cycle von 0.6 erhoben) abbildet.
Nach jeder abgeschlossenen Messung (Duty-Cycle von 0.2 bis 0.9 in 0.1-Schritten) konnte so ein Datenblatt ausgedruckt und eingeheftet werden.
Um die Anzahl der zu messenden Motor-Propeller-Paare möglichst effizient zu halten,
wurden Vortests mit drei Motoren und einer großen Auswahl an Propellern durchgeführt.
Mit Hilfe der Annahme, dass sich Propeller an allen Motoren innerhalb eines gewissen
Bereiches ähnlich zueinander verhalten, wurden anschließend wenig vielversprechende
Propeller aussortiert und die Messungen mit fünf Propellern an weiteren Motoren durchgeführt.
(a) Motor Nr. 28
(b) Motor Nr. 30
(c) Motor Nr. 17
Abbildung 3.2: Gegenüberstellung von Schub und Strom der Motoren 28, 30 und 17
10
3.2 Schlussfolgerung
Abbildung 3.3: Vergleich von fünf Motoren und fünf Propellern
Im Allgemeinen verfestigte sich die Beobachtung, dass sich Propeller nicht beliebig
miniaturisieren lassen, da ab einer gewissen Kompaktheit das Verhältnis von aerodynamisch zu vernachlässigenden Bereichen (Nabe, nabennaher Teil des Propellerblattes)
zu aerodynamisch gewichtigen Bereichen (Äußerste zwei Drittel des Propellerblattes)
ungünstig ist. So schnitten die kleinsten Propeller durchweg schlecht ab. Besonders gute Ergebnisse brachten der Propeller Nr. 10 (grau, tschechischer Herkunft), 8 (orange/schwarz, GWS-EP2508) und 23 (gelb, unbekannter Herkunft). Die Reihenfolge der
Propeller innerhalb der einzelnen Motorvergleiche ist fast immer gleich, was die in 3.1
getroffene Annahme bestätigt.
Bei der Leistung der Motoren sind die Motoren Nr. 17 (Didel MK07-3.3), 28 (Didel
MK07-1.7) und 30(micron rc plantraco 7mm type 3.3 ohm) hervorzuheben. Die absolute
Leistung der Motoren mit Blimp-Bauart war oft akzeptabel, allerdings waren die Motoren selber zu schwer, teilweise hätten diese Kombinationen Schwierigkeiten, überhaupt
abzuheben. Alle drei Motoren sind ”coreless”, d.h. sie besitzen keinen Eisenkern als Rotor und Magneten außen als Stator, sondern der äußere Magnet (meistens in Form einer
Spule) ist der eigentliche Rotor. Dies macht die Gleichstrommotoren weniger träge und
leichter. Allerdings kommt man auch hier schnell zu dem Schluss, dass die Motoren von
Didel und micron rc diese Bauart bereits ausreizen und man dort wenig Modelle finden
wird, die besser sind und gleichzeit wenig mehr kosten.
Auf der Suche nach alternativen Bauformen fand man die ”brushless dc motors”, sprich
Gleichstrommotoren, die keine rotierenden Kupferspulen mehr besitzen, sondern die
Kommutierung/Rotation elektrisch, nicht mechanisch vornehmen. Die Vorteile dieser
Variante liegen in der höheren Effizienz und höheren Lebensdauer durch Beseitigung des
sogenannten Bürstenfeuers (Funken, die beim entlangstreichen der Kontakte entstehen).
11
Abbildung 3.4: Vergleich von fünf Motoren und fünf Propellern
Zu einer Untersuchung dieser Bauart reichte allerdings die Zeit der Ingenieurpraxis nicht
mehr, da u.a. ein Mikrocontroller zwischen PWM-Signal und Motor geschaltet werden
muss.
Anlage
Beiliegend finden Sie eine Zip-Datei mit allen während der Ingenieurpraxis produzierten
Messplots im Format MxxPyy.jpg, wobei xx für die Id des Motors steht, yy für die Id
des Propellers
12
Herunterladen