PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche Motoren und Luftdrucksensor



Thalhammer
26.09.2013, 19:57
Hallo,
Ich habe vor in eigen Regie einen Miniaturquadrokopter zu entwickeln.
Zu erst mal die Grundlagen:
Gyro+Accel+Kompass werden durch einen MPU9150 bereitgestellt, jetzt wollte ich noch einen Luftdrucksensor.
Welcher ist da geeignet ? Der BMP085 erscheint mir einwenig groß und ungenau. Besser gefällt mir der MS5611, allerdings konnt ich den nirgends zu kaufen finden.
Zweitens suche ich Motoren.
Ich möchte kleine DC Motoren verwenden, wie sie bei den kleinen Indoorflyern vorkommen, nur wo krieg ich die samt Propeller her ?
Da ich auch eine Telemetrie einbauen wollte brauche ich noch ein Funkmodul.
Welche Reichweite/Frequenz ist mir eigentlich recht egal, hauptsache klein.
Wie schaut es bei Videosendern aus ?
Ich habe hier eine kleine 2.4GHZ Kamera die ich mal zerlegt hab, deren Sender ist grade mal 2x2cm groß, giebts da fertige IC's ?

Allgemeines:
Vorteile sind:
- Möglichst geringe externe Bauteile,
-möglichst klein
Pflicht ist das 3.3V unterstützt werden, da der geplante Prozessor und die IMU 3.3V systeme sind und ich nicht noch einen Regler auf die Platine Packen müssen möchte.

MFG Thalhammer

Che Guevara
26.09.2013, 23:19
Hi,

also zunächst müsstest du mal ein paar genauere Infos liefern. Was bedeutet "Miniaturquadrokopter"? 1x1 mm? 10x10 mm? 100x100 mm?
Den MPU9150 würde ich nicht verwenden, da er IMHO nicht für solche Anwendungen geeinget ist: Der ACC sollte möglichst Zentrumsnah liegen, der Kompass hingegen weit weg von Störfeldern (Motoren, Kabeln, usw..). Dann lieber einen MPU60X0 und einen HMC5883L, Platzbedarf wird minimal größer aber du kannst (falls nötig) die beiden räumlich trennen.
Als Luftdrucksensor verwende ich selbst einen MPX4115 von Freescale, mit diesem erreiche ich eine Auflösung von ca. 25 Digits / m (bei verwendung eines OP). Wenn dir der Platzbedarf aber zu groß ist, kann ich dir beim Thema Drucksensor leider nicht weiterhelfen (nur soviel: Der BMP085 ist ungeeignet, da zu ungenau).
Da du keinerlei Infos zu den Motoren angegeben hast, hier gibts welche mit 6mm: http://www.premium-modellbau.de/Funktionsmodelle/c1407532_u2344_z6f617d87-d227-4875-a9c1-ba043b003c76/
In dem Shop gibts übrigens auch kleine Props (klein ist relativ)...
Der Roboternetz-Bot hat vor einigen Tagen einen Artikel über winzige (ca. 5x5 mm, wenn ich mich recht erinnere) Bluetoothmodule gepostet.
Videosender & Empfänger kannst du (sofern du keinen Wert auf Legalität legst) bei einem Shop aus der Türkei bestellen (mir fällt gerade der Name nicht ein, sorry).
Die Teile sind klein, leicht & billig, allerdings lässt der Preis leider Rückschlüsse auf die Qualität ziehen (soll heißen, die Lötösen reißen SEHR schnell ab).

Gruß
Chris

Thalhammer
27.09.2013, 06:23
Also geplant waren so circa 10-15cm Achsabstand.
Was das mit den Storfeldern angeht:
Ist nicht dafür der Mittelpunkt der PLatine(also wo eh der Acc hinmuss) dafür am geeignetsten ?
Schlieslich ist er am weitesten von allen 4 Motoren entfernt.
Bei den Motoren weis ich noch nichts genaues, die muss ich schlieslich an den fertigen Kopter anpassen.
Videosender hab ich schon gefunden, auch legale, allerdings wollte ich das ganze auf der Platine integrieren.
http://www.fpvhobby.com/transmitter/21-2-55-volt-500mw-24ghz-video-transmitter.html
Der darauf verbauten Chip konnte ich nirgends finden.

Che Guevara
27.09.2013, 10:06
Hi,

nein, der beste Punkt für den Kompass dürfte wohl eindeutig ein paar cm über dem Mittelpunkt liegen, wie weit hängt von deinem Aufbau ab ;)
Auf der selben Seite gibts u.a. : http://www.fpvhobby.com/180-4-ghz-nano-size-vtx.html Ist zwar 2.4GHz, aber ich hab keinen Bock die Seite für dich zu durchsuchen.
Oder du zerlegst einfach deinen gefunden Transmitter, dann hast du das Modul!?

Gruß
Chris

Thalhammer
27.09.2013, 13:15
Ne den sender würde ich wenn dann den von mir verlinkten nehmen, allerdings hatte ich gehofft ich könnte den ähnlich wie RFM22B/gängige BT Module direkt auf die Platine löten.
Wenn ich Jetzt Kompass und IMU trenne, macht es dann überhaupt noch sinn den Kompass mit dem DMP des MPU6050 auszuwerten oder ist es sinnvoller dies im Hauptprozessor zu erledigen ?
Wie schauts mit dem Drucksensor aus ?
Ich konnte leider nichts finden was auch nur im entferntesten an den MS5611 rankommt und den MS5611 selbst haben weder Digikey noch farnell.

Che Guevara
27.09.2013, 13:45
Hi,

wenn du keinen anderen nehmen willst, bleibt dir wohl nur, eine Lösung für das "Lötproblem" zu suchen... Ich persönlich hätte wohl ein BTM222 genommen.
Der MPU60X0 hat einen sekundären I²C Anschluss, der z.b. für einen Kompass vorgesehen ist. Wie genau da die Fusion von statten geht bzw. inwieweit dir der Controller wieviel abnimmt, kann ich dir nicht sagen. Wie willst du den an die DMP-Daten rankommen? Soweit ich richtig informiert bin (ist schon ne Weile her, als ich mich damit befasst habe), ist die OutputRate der Daten nicht allzuhoch (glaube, so um die 300-400 Hz) und es gibt keine Application-Note o.ä. dazu .. Wenn du da mehr Infos hast, würde ich mich darüber freuen :D
Welchen Hauptprozessor willst du den verwenden? Ich selbst habe auf meinem Kopter zwei ATXMEGA32A4, einer bereitet die Daten von Luftdrucksensor, GPS & Kompass auf und schickt sie auf Anfrage an den Hauptprozessor, der sich um die Fluglagenregelung kümmert. Die Berechnung des korrekten Heading ist kein großer Act, bei Interesse könnte ich dir die Formel aufschreiben.
Beim Drucksensor kann ich dir wie gesagt nicht weiterhelfen, ich weiß nur, dass der BMP085 ungeeignet ist. Du könntest aber mal nach BOBs im Ebay suchen, evtl. gibts da günstige mit dem MS5611, die könntest du ja "ausschlachten".

Gruß
Chris

Thalhammer
27.09.2013, 15:17
Geplant war ein xmega128a4, da meiner Meinung nach nicht mehr nötig ist.
Ich schreib mal her was ich so in meinem Grauen kästchen zusammengesponnen habe.
Also Hauptprozessor wird ein xmega*a4, Die daten kennst du ja.
IMU wollte ich einen MPU9150 nehmen, das ist im grunde ein MPU6050 mit eingebauten Kompass am 2.I2C, aber wenn du sagst getrennter Kompass ist besser vertrau ich dir einfach mal, anscheinend hast du ja erfahrung damit. Was genau mir der Digital Motion Prozessor im MPU6050 abnimmt hab ich auch noch nicht geschaut, aber so wie ich das verstanden habe übernimmt der die ganze Datenkorrektur von gyro und accel.
Auf der Ivensense HP steht folgendes:

MotionFusion processing runs on the IMU/MPU Digital Motion Processor (DMP™). Lowers processing load by as much as 10X, and reduces I/O bandwidth by up to 3x.
Rechnet man mal pessimistisch mit der hälfte also 5 und 1,5 und bedenkt das derartige Projekte bereits auf deutlich langsameren AVR's realisiert wurden sollte der Xmega genügend Power haben.

Also Hardware:
-Xmega*a4
-MPU6050 (Gyro+Accel)
-HMC5883L (Kompass)
-Luftdruck (Weis noch nicht welcher)
-kleine DC Motoren/PWM über die Timer des Xmega
-Spektrum empfänger an einem USART,
-RFM22B/Bluetooth für Telemtrie
-kleiner Videosender/Kamera Onboard

MFG Thalhammer

// EDIT:
Ich hab grade gelesen, das der DMP nur bestimmte Kompasse unterstützt und da ist der HMC5883 nicht dabei. Da jedoch alle unterstützten deutlich schlechter sind werde ich es woll im AVR machen müssen.
// EDIT2:
Ich hab grade mal so durch das Digikey Sortiment geschaut und den LPS331 von ST gefunden:
http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00036196.pdf
Was haltet ihr von dem ?

Che Guevara
27.09.2013, 22:28
Hi,

also nen XMega hört sich gut an ;)
Ich hab keine Erfahrung mit kleinen Koptern, aber z.b. auf meinem Hexa (60cm diagonal Achse - Achse) waren die Daten unbrauchbar, als der Sensor auf der Hauptplatine war (ca. 5cm über Akku, diverse Motorzuleitungen)... Als ich den Kompass höher gesetzt habe (so ca. 5cm) waren die Daten brauchbar ;)
Hier (http://www.mikrokopter.de/ucwiki/MagnetError?highlight=%28magnet%29|%28error%29) sind zwei sehr schöne Videos, die das Problem mit dem Kompass zeigen.
Der Drucksensor sieht Interessant aus. Mal angenommen:


Höhe (m) Druck (mbar)
0m 1013
500m 954

(1013-954)/500 = 0.118 [mbar / m]
Auflösung des LPS331AP: 4096Digits / 1mbar

--> 1mbar / 4096 = 0.0002441406 [mbar / Digit]
0.118 / 0.0002441406 = 483 [Digit / m] --> 1m / 483Digits = 0.002 [m / Digit] = 2mm / Digit

Ich hoffe, ich hab mich nicht verrechnet .. Wäre auf jeden Fall mal zu testen, ob der Sensor auch hält, was er verspricht.

Gruß
Chris

Thalhammer
27.09.2013, 23:45
Also soweit ich das sehen kann hast du dich nicht verrechnet, allerdings geh ich stark davon aus, dass die Luftströmung der Motoren und Allgemeine Störungen dafür sorgen das die 2mm unmöglich nutzbar sind. Als sinnvoll nutzbar würde ich sagen, das man die die letzten 4-5 bit ignoriert (per rechtsshift) und so die Werte mit einer Auflösung von 3,2 bzw 6,4 cm nutzt. Darunter lässt sich vermutlich eh nur sehr schwer ausgleichen.
Was den Kompass angeht hoffe ich einfach mal das sich das ganze nicht so stark auswirkt, immerhin haben die verwendeten Motoren ja deutlich weniger Watt und wenn man beim PCB Layout ein wenig aufpasst sollte das kein Problem sein.
Ich bin Momentan noch dabei mir einen Xmega und den LPS331 in kicad einzubauen, weil die Eagle freeversion nicht ausreicht und ich nicht bereit bin >1000€ für die Professional auszugeben die ich ja dann bräuchte.
Die alternative wäre die technik auf eine Platine <160x100mm zu basteln und die Motoren an einen kleinen Plastikrahmen zu befestigen, auf dem auch die Platine geschraubt wird.
Vorteil:
-Ich spar mir die Eagle prof. version und muss nicht auf Kicad wechseln.
-Bei einem Schweren Absturz wären ist die Warscheinlichkeit das die Platine überlebt größer.
Nachteil:
- Ein weiteres Teil das gefertigt werden will.

Wird aber vermutlich darauf hinauslaufen.
Ich hab grade mal so überschlagen und als MaterialPreis einen 2 stelligen Preis angepeilt.

Wie schauts mit funkmodulen aus ?
RFM22B sind vermutlich die beste Lösung oder ?
Dann könnte ich den Spektrum ja eigentlich optional machen.

//EDIT:
Hab mir mal gedanken über den Rahmen gemacht:
Wenn man den aus PLexiglas macht lässt er sich leicht herstellen und man könnte ihn recht einfach beleuchten.

Unregistriert
01.10.2013, 22:12
Wegen Luftdrucksensor, schau mal auf http://teske-electronics.de/index.php?cPath=38_59
Die sind recht klein.

Che Guevara
02.10.2013, 11:44
Hi,

dass man die 2mm nicht gebrauchen kann, ist klar ;) Aber durch Mittelwertbildung / DLPF bekommt man bestimmt eine Auflösung von wenigen cm, was ja auch schon sehr gut ist und vollkommen ausreichend. Ich hab mir ein paar solcher Sensoren mal bestellt, sollten heute ankommen. Wenn ich sie ausprobiert habe, gebe ich dir Bescheid.
Ich würde auch einen extra Frame machen, für den Fall eines Absturzes. Mit den RFM22B kenne ich mich nicht aus, aber sehe auch keinen Grund, warum du die nicht verwenden können solltest.
Ein Rahmen aus Plexiglas sieht bestimmt geil aus!

Gruß
Chris

Che Guevara
04.10.2013, 11:41
Hi,

also die Sensoren (LPS331AP) sind vor zwei Tagen gekommen, ich spiele immer noch damit rum. Die Ansteuerung & Layout sind denkbar einfach, da sollte es keine Probleme geben. Die Auflösung ist gut, das Signal rauscht um ca. 30cm. Das Problem, das ich habe, ist, dass der Sensor eine max. ODR von 25Hz hat, d.h. der Tiefpass darf nicht zu stark sein, damit die Phasenverschiebung nicht zu groß wird. Ich hab schon einen gleitenden Mittelwert als Tiefpass und einen IIR-Filter probiert, alles suboptimal. Um ein "gutes" Signal ohne Rauschen zu bekommen hab ich im Tiefpass den neuen Wert nur zu 1% in das Ergebnis einfließen lassen, das bedeutet jedoch, dass die Phasenverschiebung bei ca. 1-2sek liegt (nicht berechnet, nur geschätzt).
Für einen einfachen P-Regler (Soll-Höhe - Ist-Höhe) reicht auch das verrauschte Signal, allerdings muss ich noch differenzieren, um die Geschwindigkeit zu bekommen... Da beißts dann aus. Das verrauschte Signal zu differenzieren macht keinen Sinn, das gefilterte Signal zu differenzieren noch weniger, weil die Phasenverschiebung zu groß und die Differenz zu klein ist ...
Ich bleibe allerdings am Ball und probiere verschiedene Filter / Filterkoeffizienten aus, um zumindest eine suboptimale Lösung zu finden.

Gruß
Chris

EDIT:
Ich hab jetzt einigermassen gute Ergebnisse mit einem Butterworth Tiefpass Filter (3. Ordnung, 1Hz Grenzfrequenz). Leider ist aber auf dem Signal auch ein relativ niederfrequentes Rauschen, das ich nicht wegbekomme, da es sehr nah an der Frequenz ist, die ich haben will (also die Höhenänderung)...

Che Guevara
08.10.2013, 13:05
Hi,

also für den Fall, dass das Thema noch aktuell ist:
Nach einigen Tagen rumprobieren mit dem Sensor hab ich jetzt IMHO eine sehr gute Lösung gefunden: Eine Art Filter, bei der eine maximale Abweichung vorgegeben wird, die pro neuem Wert nicht überschritten werden darf, also so:


pressure_diff_max = 15;

pressure_error = pressure - pressure_lp;
if(pressure_error<-pressure_diff_max) pressure_error = -pressure_diff_max;
if(pressure_error>=pressure_diff_max) pressure_error = pressure_diff_max;
pressure_lp = pressure_lp + pressure_error;


Damit ist der Wert sehr konstant, reagiert aber weiterhin schnell auf Änderungen.
Der Wert Limit_diff_max = 15 hat sich bei meinen Experimenten am besten verhalten, in Verbindung mit: ODR = 25Hz , CTRLREG1 = 0x76 (64Samples Averaging).
In den nächsten Tagen werde ich den Sensor mal unter Realbedingungen testen, sprich - am Kopter.
Bei Interesse kann ich die Ergebnisse hier posten.

Gruß
Chris

Thalhammer
10.10.2013, 10:09
Sorry hatte die letzte Zeit keine Zeit dafür..
B2T
Also ich hab mir mal eine kleine Platine mit HMC, MPU und TPS gelayouted und werde die demnächst mal bei Oshpark bestellen und bestücken.
Bei Digikey sind die Sensoren recht günstig, sodass ich für alle drei incl. Passiven bauteilen auf zirka 15 € für die Bauteile komm. Die Platine ist eine 2 Layer mit einseitiger Bestückung und zirka 3 mal 2 cm groß.
Problem ist folgendes:
Wenn ich einen Rahmen aus Plexiglas mache muss ich entweder ne einseitig bestückte Platine machen oder das Plexiglas ausfräsen was wieder ne menge Arbeit ist.

Che Guevara
21.10.2013, 11:20
Hi,

ich weiß ja nicht, wie aktuell das hier noch ist, aber ich hab mittlerweile eine funktionierende Höhenregelung mit dem LPS331AP. Der Sensor reagiert zu träge auf langsame Höhenänderungen, um damit eine Regelung aufzubauen. Mit einer geeigneten Fusion (mit ACCZ) funktioniert er aber sehr gut, auch bei kleinen Abweichungen vom Sollwert.
Was ist so schwierig daran, das Plexiglas auszufräsen? Hast du ne CNC? Bzw. willst du das selbst machen?

Gruß
Chris

Thalhammer
21.10.2013, 13:05
Ne ich hab keine CNC. Sollte ich aber schon hinkriegen.
Hast du das mit der Fusion mal ausprobiert ?
Denke auch das es klappt.
Ich muss umbedingt mal bei Digikey nen Satz sensoren zum Probieren bestellen, aber momentan hab ich leider wenig zeit.

MFG Thalhammer

Che Guevara
21.10.2013, 16:06
Hi,

wenn du was brauchst, könnte ich dir evtl. was fräsen ;)
Ja, ich habs ausprobiert, mein Kopter hält schon brav die Höhe! Nur leider schwanken die Messungen des Sensors im 2sec Takt um ca. einen halben Meter... Aber evtl. bekomm ich das mit nem starken TP weg, kommt drauf an, wie stabil dann noch das ACC Integral ist.

Gruß
Chris

Thalhammer
21.10.2013, 22:30
Ne fräsen musst du nichts aber danke für das angebot.