PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Willas Shrediquette Tricopter / Quadrocopter / Hexacopter



Seiten : 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15

Andun
02.11.2009, 21:15
Hei Willa,

ich verfolge diesen Thread auch schon eine ganze Weile stumm und bin wirklich begeistert, was du da auf die Beine gestellt hast!

Ich muss mal nachfragen, weil ich die Informationen nicht ganz zusammen bekommen habe? Hälts du den Vortrag hier (in Hamburg) am Samstag bei der Nacht des Wissens?

Ich hab folgendes gefunden, falls es sich dabei um dein Thema handelt:
http://nachtdeswissens.hamburg.de/brem-nav/1799338/brem-15.html

Wäre echt toll sich sowas mal in natura anzusehen!

Bis hoffentlich Samstag,
Andun

Willa
02.11.2009, 21:22
Hi Andun,
danke für dein Feedback :-D. Ja, am Samstag, höchstwahrscheinlich 19h (genau der Link den du gefunden hast ist es). Meine Chefin möchte gerne, dass ich den Copter direkt beim Vortrag fliege. Das ist aber wahrscheinlich nicht der geeignete Platz dafür. Mein Vortrag handelt übrigens nicht von Tricoptern (das ist ja nur mein Hobby), sondern vom Schlagflug der Vögel. Der Vortrag geht auch nur 15min und hat den Anspruch allgemeinverständlich zu sein. Aber vielleicht ist das ja trotzdem interessant für dich.

Edit: Der Schaltplan + Layout sind jetzt auch im Blog veröffentlicht (http://shrediquette.blogspot.com/2009/11/circuit-and-pcb-layout-released.html).

Willa
03.11.2009, 23:45
Neues Video von einem Outdoorflug:
http://www.vimeo.com/7420635

AVR-Frickler
04.11.2009, 11:11
Ich hab die verkleinerte Version der Platine nun fertig. Hier mal ein paar Daten.

Maße neue Platine: 68,8975mm x 55,8800mm => 38,499923 cm²
Maße alte Platine: 80,9500mm x 67,3100mm => 54,487445 cm²
Damit ist die neue Platine um ~29% kleiner. :)

Die SMD-Bautiele sind von der größe 1206 und auch noch sehr gut lötbar. Die Platine selbst lässt sich noch mit Hausmitteln ätzen, ansonsten kann ich www.bilex-lp.com empfehlen.

Wer noch mehr einsparen will, der sollte das ganze 2-seitig und komplett in SMD inkl. Arduino machen. Dann lässt sich das ganze aber nur noch mit gutem Werkzeug löten.

MfG
- AVR-Frickler -

Willa
04.11.2009, 11:36
Sehr schön :-D Soweit ich weiss gibt es den max232 auch als SMD Version (SOIC package...?) Das würde auch noch mal Platz sparen...

AVR-Frickler
04.11.2009, 13:07
Das stimmt wohl, aber einseitig bringt dir das nichts, weil die Kondesatoren die jetzt auf der anderen Seite unter dem IC sind müssten dann wieder um das IC herum. Das gleich bei den 7805, die gibt es im D²PAC-Gehäuse.

guenter1604
06.11.2009, 22:23
Hallo,

wenn ich da auch ein bisschen mitnörgeln darf:

-Der MAX232A taktet intern höher, dem reichen 100 nF Kondensatoren.
-statt der beiden 7805 einen 5V Schaltregler verwenden (z.B. LM2574N5,0)
-Lötstopp: http://www.gerold-online.de/cms/uc-projekte/loetstopplack.html
-SMD-Löten: http://www.gerold-online.de/cms/uc-projekte/platinen-herstellen.html

Günter

Willa
07.11.2009, 10:15
Hi Günter,
einen Schaltregler würde ich evtl für das Servo (6V) benutzen. Für den µC (5V) würde ich ungerne etwas "zerhacktes" nehmen. Ich habe keine Ahnung von Schaltregler, aber bei den geringen Strömen die beim µC fliessen reicht wohl ein 7805. Alt bewährt und 1000fach benutzt......

Bammel
07.11.2009, 11:47
moin william,

ich glaube was günter damit bezwecken möchte ist das weniger strom in wärme abfällt. so nen schaltregler ist halt efektiver. würde deine flugzeit auch bestimmt nochmal verlängern!

wielange fliegt der tricopter den nun?

@günter: das mit dem lötstopp finde ich genial.. glaube das werde ich auch mal probieren. vorher muss ich aber mein belichter umbauen und mit nen lamelierer besorgen.

gruß sven

guenter1604
07.11.2009, 12:03
Hallo,

bei 2 unterschiedlichen Spannungen (im Schaltplan sinds 2x 5V Stabis) muß man natürlich nachrechnen ob Gewicht, Verlustleistung oder Einfachheit siegt.
Der Stabi für den ATMega könnte dann ev. durch den kleineren 78L05 ersetzt werden. Der Schaltregler für die Servos könnte sich aber wie Bammel schon gesagt hat wegen der Verlustleistung rechnen.
An einem 6V Stabi fallen immerhin 6V ab. Bei aus der Luft gegriffenen 1 Ampere sinds dann 6 Watt. Wird der Stabi eigentlich warm/heiß?

Günter

AVR-Frickler
09.11.2009, 09:04
Die Idee mit dem Spannungsregler hatte ich auch schon, hatte da erst an die bei Reichelt gedacht, hatte dann aber gesehen das die max 600mA können. Für das Servo ist das ja anscheinend zu wenig.

Hab gerade nochmal gegoogelt und bin auf folgenden DC-DC Wandler (http://www.conrad.de/goto.php?artikel=154987) gestossen.

Der wird sicher für die gesamte Schaltung ausreichend sein. Mit 14,10€ ist er zwar nicht ganz billig, wenn man mal ein wenig googelt wird man aber sicher noch günstigere Anbieter/Alternativen finden als Conrad.

Mfg
AVR-Frickler

Willa
09.11.2009, 11:19
Wäre da nicht der LM 2576 (http://www.reichelt.de/?ACTION=3;ARTICLE=10425;PROVID=2402) eine Lösung?

guenter1604
09.11.2009, 11:29
Brauchen die Servos jetzt 5V oder 6V?

Den LM2576 gibts aber auch als ADJ-Version zum einstellen.

Willa
09.11.2009, 11:36
Die laufen auch mit 5V, aber 6V sind auch noch innerhalb der Spezifikationen und mit einer höheren Spannung sind die schneller + kräftiger. Das kann ja nie schaden... ADJ Version wäre eine Alternative... sogar 10 cent billiger :-D

guenter1604
09.11.2009, 12:09
Wieviel Strom ziehen die Servos denn?

Willa
09.11.2009, 12:30
Im Mittel denke ich mal so 0.3A, mit kurzzeitigen Peaks von maximal 1A. Das ist aber geschätzt, ich muss das mal genauer messen...

Willa
16.11.2009, 22:43
Meine Konfigurations-GUI ist nun fast fertig. Es funktioniert sehr schön und ist echt praktisch. Was noch fehlt ist die Einbindung von avrdude, so dass man neue Firmware direkt aus meiner GUI flashen kann. Allerdings habe ich im Moment noch ein paar Probleme mit avrdude, dem Bootloader auf einem Arduino (auf meinem ist z.B. gar keiner mehr drauf, hatte ich gelöscht) und dem RS232 Kabel. Aber das wird schon noch. Außerdem muss ich nun auf ein m328 umsteigen, da der Platz auf dem m168 vielleicht irgendwann etwas knapp wird.
So sieht das aus:
http://3.bp.blogspot.com/_DdGE5iAbPFY/SwHFfUw6qjI/AAAAAAAAAA4/36byHW1Cnlo/s1600/trigui.jpg

und hier gibts ein Video von der GUI:
http://www.villalachouette.de/william/krims/tricopter/triGUI.wmv

Ein netter Mensch aus Frankreich bekommt so wie es aussieht übrigens den zweiten Prototypen von mir. Den muss ich noch bauen, aber das ist eine gute Gelegenheit alles noch einmal zu überprüfen.

guenter1604
17.11.2009, 08:39
Hallo William,

das sieht, wie immer bei dir, richtig professionell aus.

Günter

Willa
17.11.2009, 08:52
Danke Günter,
ich habe jetzt auch eine relativ elegante Methode die Parameter zu übertragen:
Zum lesen:
Der PC sendet einen String "Lesen", der µC sucht nach diesem String und antwortet "sende Prameter" Danach sendet er einen Byte Array (28 Bytes), jedes Element ist ein Parameter. Der PC reagiert auf den String "sende Parameter" und liest den Byte Array ein.
Zum senden:
Der PC sendet "Senden" und den Byte Array. Der µC sucht nach diesem String und liest dann den Byte Array ein. Anschliessend überträgt der µC den Array ins EEprom, liest ihn nochmal aus und sendet ihn wieder zum PC.
Das funktioniert sehr schnell und benötigt nur wenig Speicher. Bisher hatte ich auch keine Fehler in der Übertragung.

021aet04
17.11.2009, 10:16
Dir gehört auch mein Respekt. Mit welchem Programm hast du die Anwendung geschrieben? VB?
Kannst du den Copter von dem Programm auch steuern? Oder ist das Feature geplant? Eventuell mit einer Karte di er abfliegen muss?.

MfG Hannes

Willa
17.11.2009, 12:38
Hi Hannes,
ja, das ist in VB.NET geschrieben. In Kombination mit Bascom ist das ganz praktisch, da man nicht ständig bei der Syntax umdenken muss. Von dem Programm kann ich meinen Copter nicht steuern, das geht nur aus meiner Matlab GUI. Ist auch nicht geplant die VB Anwendung so zu erweitern, denn die GUI ist für potentielle Nachbauer gedacht die sich nicht so sehr mit Mikrokontrollern etc. auskennen. Durch die GUI ist es dann ganz einfach Einstellungen zu ändern. auch für mich ist das sehr praktisch, so kann ich die Parameter immer besser einstellen.

ssellere
17.11.2009, 13:56
Hey William,

echt tolles Projekt und eine sehr professionelle Umsetzung. =D>

Ich hätt da mal ein, zwei grundlegende Fragen.

Der QC für deine TriGuide ist ja in BAscom geschrieben für den ATMega168.
Du wolltest aber auf den ATMega328 umsteigen.

Bleibst du dann bei Bascom? Gibt es für diesen Typ in Bascom auch eine m328def.dat? Oder kann man die m168def.dat umschreiben?
Es sind ja laut Datenblatt nur die Speicher größer.

Ich möchte das Walkera Ufo4 -Board mit einem ATMega328 ausstatten und dann mit Bascom programmieren.

Du hast hier auch erwähnt, dass du zuerst die Murata Gyros benutzt hast mit aufwendigen Filtern. Hast du davon noch Codeschnippsel und würdest die eventuell zur Verfügung stellen?
Möchte mich mal richtig in die Software und die Regelung einarbeiten.

MfG Sven

guenter1604
21.11.2009, 00:50
Hallo William,

läuft dein Bootlader auch über die ZigBees?

OT:meine Funkübertragung der Telemetriedaten über die Pollin RFM12 Module ist gerade im Bau. Die Übertragungstests sehen garnicht mal schlecht aus. Dann steht der Bierkastenfernbedienung nichts mehr im Weg ;-)

Günter

Willa
21.11.2009, 12:24
Bleibst du dann bei Bascom? Gibt es für diesen Typ in Bascom auch eine m328def.dat?
Ja, die aktuelle Version hat den m328def dabei.

Du hast hier auch erwähnt, dass du zuerst die Murata Gyros benutzt hast mit aufwendigen Filtern. Hast du davon noch Codeschnippsel und würdest die eventuell zur Verfügung stellen?
Ich kann mal gucken ob ich da noch was finde, schreib mir doch mal ne Mail an trashcan[bei]gmx.com

läuft dein Bootlader auch über die ZigBees? Ich habe mir leider kürzlich eins der Module zerschossen (falsch rum auf meine Adapterplatine gesetzt...), daher kann ich das nicht ausprobieren... Aber sollte doch eigentlich gehen... Vielleicht müsste man die Geschwindgkeit etwas runtersetzen (im Moment ist das so rasend schnell... 14kB in 3 Sekunden!).

BlackDevil
22.11.2009, 10:37
Ja doch, respekt. Mit welcher Sprache hast du die GUI gebaut? Und wie bindest du AVR Dude ein?

Willa
22.11.2009, 13:03
Die GUI ist in VB.NET geschrieben. AVRdude wird dann einfach als "versteckter" Prozess gestartet, dabei wird der Output des versteckten DOS-Fensters ständig abgefragt und in die Progressbar bzw. in Fehlermeldungen übersetzt. Natürlich wird AVRdude mit den passenden Argumenten gestartet, so dass man tatsächlich nur einen Button drücken muss um ein neues Programm zu übertragen.

BlackDevil
22.11.2009, 13:30
Ah okay. Danke :)

ssellere
23.11.2009, 09:20
@ Willa

Danke für die Antwort.

Hätte man auch drauf kommen können. :-b
Ich hab noch ne ältere Bascomversion ohne die 328 Unterstützung.

Ich nehm dein Angebot dankend an.

MfG SVen

Willa
05.12.2009, 00:21
Das GUI ist jetzt in meinem Blog veröffentlicht.

holzi
05.12.2009, 08:03
Guten morgen Willa,
ich habe mir gerade Dein GUI angeschaut. Gute Sache. Die Angabe der COM-Schnittstellen finde ich aber nicht so toll. Warum gibst Du nicht nur die COM's aus, die auf dem jeweiligen Rechner zur Verfügung stehen. Ist über den Error-Level einfach zu machen. Die COM's 1 bis 30 sind somit nicht notwendig und es werden nur die Vorhandenen angegeben. Ansonsten gute Arbeit von Dir.
Peter

Willa
05.12.2009, 10:54
Ist über den Error-Level einfach zu machen. Davon habe ich noch gar nichts gehört, kannst du das etwas näher beschreiben?

holzi
05.12.2009, 11:09
Mach ich.
Beim Programmstart in einer For-Schleife alle Com-Ports 1 bis 30 nach einander öffen. Gibt es beim Öffnen einen Errorlevel ungleich 0, dann gibt es den COM-Port auf diesem Rechner nicht. Dann nichts weiter machen und versuchen den nächsten COM-Port öffnen. Is der Error-Level = 0 beim Öffnen des Ports, dann ist dieser vorhanden und wird in die ComboBox eingetragen. Somit hast Du in der ComboBox nur die Com-Ports stehen, die der Rechner zur Verfügung stellt.

Willa
05.12.2009, 12:00
Hi holzi!
Ich habe im Netz eine Möglichkeit dafür gefunden:

comport.Items.Clear
'comport.Sorted=true
Dim ports As String()
Dim port As String

ports = SerialPort.GetPortNames() 'Ports des Rechners ermitteln

For Each port In ports
Try
With SerialPort
.PortName = port
.ReadTimeout = Int32.Parse(50) 'ReadTimeout in ms
.Open()
End With

Catch es As Exception

Finally
If SerialPort.IsOpen = True Then
Me.comport.Items.Add(port)
End If

SerialPort.Close()

End Try
Next port
Bei der Zeile ports = SerialPort.GetPortNames() bekomme ich eine Warnung mit der ich irgendwie nichts anfangen kann:


Zugriff des freigegebenen Members, konstanten Members, Enumerationsmembers oder geschachtelten Typs über eine Instanz; der qualifizierende Ausdruck wird nicht ausgewertet. (BC42025) - C:\Users\William\Documents\SharpDevelop Projects\TriGUI_v1\TriGUI_v1\MainForm.vb:22
Außerdem dauert das Öffnen der verfügbaren COM ports ca. 8 Sekunden... Ist etwas lang, geht das vielleicht schneller...? Wenn nicht, würde ich da noch einen Button einfügen "Refresh available COM ports" und alle verfügbaren COM ports in einer Textdatei speichern. So müsste die Abfrage nicht jedes Mal durchgeführt werden, sondern nur wenn der User glaubt es könnte sich was geändert haben...

holzi
05.12.2009, 13:52
Hi Willa,
ich mach das in VB und das geht so schnell, dass das beim Programmstart nicht bemerkt wird.
Ich würde das wirklich über eine FOR-Schleife von 1 bis 30 machen. Wenn das Öffnen des Ports auf einen Fehler läuft, dann im Catch nichts machen und bei OK im Finaly den Port eintragen
Du könntest auch die Ports aus der Regestry auslesen. Sie stehen in HKEY_LOCAL_MACHINE\Hardware\DeviceMap\SerialComm
Dann die dort gefundenen Ports in die Combox einfügen.

holzi
05.12.2009, 17:43
Hi Villa,
könntest Du den Source-Code Des Programms veröffentlichen? Mich interessiert daran speziell Deine Datenübertrgung an das Board. Wäre prima von Dir.

Peter

Willa
05.12.2009, 21:06
Hi Peter, ich kann dir den Code schicken wenn du mir ne Mail an trashcan(bbeeii)gmx.com sendest. Ich möchte ihn im Mom noch nicht offiziell ins Netz stellen, weil ich daran noch viel ändern werde und ich dann immer das kompilierte Programm UND die Quellcodes aktuell halten muss....
Die Datenübertragung habe ich glaube ich ganz gut gelöst (strings als Kommandos und Bytearrays für die Daten). Jedenfalls funktionierts gut und sicher.

Hartgas
05.12.2009, 22:35
Ein supergeiles HD-Video hast du da bei Vimeo...
Sag mal wie hast du denn die ganzen Effekte und vorallem die Superzeitlupe am Anfang gemacht?
Bin dankbar für jeden Tipp!

Willa
05.12.2009, 22:44
Moin,
danke sehr :-D Die Effekte sind in mühsamer Kleinarbeit mit vielen versch. Programmen erstellt. Die Zeitlupe ist mit einer professionellen HighSpeed Kamera meiner Hochschule gemacht (Photron Fastcam APX-RS). Die kann sich aber kein normal sterblicher Mensch leisten...
P.S.: Ich habe jetzt des öfteren die Vermutung gehört, die HS-Aufnahmen sollten die Stabilität meines Copters zeigen. Das ist natürlich nicht der Fall, die Aufnahme dauert nur 0.096 Sekunden, da würde selbst ein frei fallender Backstein so aussehen als ob er stabil schwebt.

Hartgas
05.12.2009, 23:05
Schade, ich dachte das mit der Superzeitlupe hättest du mit ner normalen Cam mit Hilfe von Software gemacht.
Ich hab zwar auch ne HD-Cam aber die macht bei 200 Bildern pro Sekunde den Adler...
Hab da auch mal ein paar Vids für meinen Kumpel gemacht, kannst ja mal gucken: http://www.youtube.com/watch?v=JeE8L4hIPbo

holzi
11.12.2009, 12:55
Hallo Willa,
den Code habe ich Dir ja schon per Mail zugeschickt.
Hier habe ich nun auch das dazu gehörige Tutorial mit dem Thema "Feststellung der zur Verfügung stehenden COM-Ports auf dem Computer" veröffentlicht.
http://www.rn-wissen.de/index.php/Feststellung_der_zur_Verf%C3%BCgung_stehenden_COM-Ports_auf_dem_Computer

Peter

Willa
18.12.2009, 08:38
Hallo Holzi,
danke für deine Hilfe. Der Code den ich mir zusammenkopiert hatte funktioniert wohl eigentlich prima und sehr schnell. Allerdings hängt er bei COM40 ca. 8 Sekunden. Die restlichen COM ports sind so schnell getestet, dass man das gar nicht sieht. Dein Beispielprogramm ist doch auch .NET? Denn die Funktion ComPort.getportnames ist auch sehr elegant, sie listet alle verfügbaren COM ports auf, so muss man nur noch einige wenige testen. Macht am Ende aber wohl kaum einen Zeitunterschied aus...

holzi
18.12.2009, 09:29
Guten morgen Willa,
ich mach das auf diesem wege mit Absicht so, denn ich erlebne leider immer wieder, dass Benutzer eine Software nicht deinstallieren, sondern einfach löschen. Wird nur gelöscht, dann wird der Eintrag in der Regestry einer virzuellen Schnittstelle, die diese gelöschte Software mit installiert hat, nicht gelöscht und kommt somit bei solch einer Abfrage mit in die Liste. Wird dann diese COM geöffnet, knallt es und es kommt zum Absturz. Ich versuche jede einzelne zu öffnen. Geht das nicht, wie. z.B. in der beschriebenen Situation, wird sie nicht in die Liste aufgenommen.
Natürlich gibt es mehrere Wege, die nach Rom führen. Wenn es bei Dir nun so funktioniert, ist es doch OK.

Peter

Gert11
15.01.2010, 18:53
Hallo Willa,
will in der kommenden Woche deine FL-Contol herstellen.

Hast du für die Kleinteile von einem Lieferanten die (alle) Artikelnummern, denn es geht schneller alles neu zu bestellen, als lange im eigenen Fundus zu wühlen!

Danke für deine Bemühungen

Gert

Willa
15.01.2010, 20:29
Hallo Gert,
nein ich habe keine Artikelnummern oder ähnliches. Sensoren bestelle ich bei Watterott, Rest bei Reichelt. Motoren, Regler, Lipo, Servo bei Hobbycity.com

Djon
04.03.2010, 17:50
Hallo!

Was hast du jetzt insgesamt für dein Tricopter ausgegeben?

Mfg Djon

Willa
04.03.2010, 18:11
Hi,
ca. 380 Euro. Details kann man hier nachlesen:
http://www.villalachouette.de/william/krims/tricopter/shrediquettefaq.htm#costs

Im Moment sitze ich hier dran:
http://www.villalachouette.de/william/krims/tricopter/websitepics/shred3.jpg
http://www.villalachouette.de/william/krims/tricopter/websitepics/kleenair2.jpg

Aber die Regler von Hobbycity brauchen gefühlte 6 Monate für die Lieferung...

Djon
04.03.2010, 18:44
Hallo!

Danke für die schnelle Antwort!

Wie läuft eigentlich so ein Bestellevorgang bei Hobbycity.com eigentlich ab? Ich habe noch nie was im Ausland bestellt :-) Wie lange dauert es im Schnitt bist die Lieferung da ist? Gibt es Probleme mit dem Zoll?

Dein neues Projekt habe ich auch schon gesehen, finde ich persönlich richtig klasse =D>

Mfg Djon

the_muck
04.03.2010, 21:02
Bei Hobbycity bestellst du wie in jedem anderem Online Shop auch ;), achte etwas aufs Gewicht. Bezahlt wird per PayPal und in der Regel brauchen die Teile zu mir zwei Wochen, es kann sein das du das Paket beim Zoll abholen musst, wenn nicht "müsstest" du es als Gesetzestreuer Bürger nachträglich verzollen ;). Einfach den PayPal Auszug vorlegen und fertig...

Ich habe guter Erfahrungen mit den Turnegy Motoren + Regler, Zippy und Rhino Akkus gemacht... bei den Servos hatte ich einen Ausfall, aber für den Preis ;).

Willa,
großes Dankeschön für die super Dokumentation, ich bin an was ähnlichem dran was aber doch anders ist ;). Vielleicht darf ich mir wenn es soweit ist etwas Rat einholen... darf ich Fragen was du Studierst oder Studiert hast?

Lg der Muck

Willa
04.03.2010, 21:31
Hi Muck,
ich finde Hobbycity auch ganz gut. Motoren, Regler, Servos gehen ganz gut. Einige Servos verkauft Conrad für den 5 fachen Preis in Deutschland, sind aber wirklich identisch. Conrad ist ja sowieso so ne Sache für sich... Schade aber, dass es da nicht auch ein paar Qualitäts-Markenteile gibt.
Ich bin Diplom Biologe, was mich aber nicht davon abhält möglichst viele ganz andere Sachen in meiner Freizeit zu machen.

Djon
14.03.2010, 20:18
Hallo!

Ich würde gerne auch mit einem Tricopter anfangen. Ich habe mir vor 1.5 Jahre ein RN-Control bestellt und nun muss es endlich zum Leben erweckt werden. Wie soll man am besten vorgehen? Mir schwebt zuerst die Beschaffung von einem Servo / Motor / Regler vor. So kann ich schon mal meine erste Erfahrungen mit der Ansteuerung des Servos / Motors machen. Oder soll man lieber gleich alles zusammenkaufen?

Mfg Djon

Willa
15.03.2010, 08:00
Hallo Djon,
ich glaube es gibt geeignetere Projekte um mit Microcontrollern anzufangen. Aber wenn du dir erstmal nur servo/ Regler/ Motor kaufst kannst du schon mal Erfahrungen sammeln. Und wenn dir alles zu kompliziert oder zu teuer werden sollte, kannst du diese Teile auch für andere Projekte benutzen.
Sensorwürfel würde ich für den Anfang nicht empfehlen, der kostet ja schon um die 180 Euro. Kauf dir doch irgendeinen anderen Sensor der sich per ADC auswerten lässt (z.B. IR Abstandssensor), dann kannst du schonmal mit ADC, Filterung und Servoansteuerung experimentieren...

Djon
15.03.2010, 18:56
Hallo!

Danke für die Antwort. Ich habe vergessen zu erwähnen, dass ich bereits Erfahrung mit der Softwareentwicklung habe, bin hauptberuflich Softwareentwickler und darf auch hardwarenah programmieren :-b
Ich habe heute was über die Wii Motion Plus gelesen. Kann man das Ding überhaupt ein einem Tricopter verwenden?

Mfg Djon

Willa
15.03.2010, 19:18
Von dieser WII habe ich auch schon öfters gehört. Und wenn ich mich richtig erinnere, stehe ich auch grad in Kontakt mit einem Amerikaner, der diese WII für meinen Copter verwenden will. Man braucht halt qualitativ gute Sensoren, die man bezüglich der Grenzfrequenz der Filter beeinflussen kann. Wenn das bei der WII der Fall ist, sehe ich da kein Problem.

Bammel
17.03.2010, 11:13
Hallo Willa,

dein neuen Tri-Copter ist ja mal geil. Wil ich sehen :D

Ich bin ja besitzer einer WII und habe auch die Wii Motio Plus. Muss aber sagen das die bei sehr schnellen bewegungen wie sie auch bei den Coptern vorkommen können schnell versagt. um diese schwäche bei der Wii zu kompensieren nehmen die entwickler die Sensorleiste zu hilfe und kalibrieren die sensoren der motion plus immer wieder neu nach wenn man die wiimote gerade auf die sensorleiste hält. zudem gibt es im pausenmenü einen kalibrierfunktion diese muss bzw. sollte man auch (gefühlt) nach drei spielen neu kalibrieren.

PS.: ich bin nun offiziel Bremer! ;-)

Gruß,
Bammel

Willa
17.03.2010, 20:04
Hi Sven,
ja den führe ich dir gerne mal vor! Z.B. beim Frühlingsangrillen am Werdersee oder so. Bin grad in Sölden Snowboarden, aber bald zurück, dann können wir uns gerne mal treffen...! Hat jetzt alles geklappt mit dem neuen Job?

Andree-HB
17.03.2010, 20:32
PS.: ich bin nun offiziel Bremer!

Herzlich willkommen ! ;-)

...und ab Herbst dann ein neuer Lebensabschnitt, viel Glück und Erfolg !

Bammel
17.03.2010, 22:49
Ja mit dem Job hat auch alles geklappt! ab september bin ich wieder azubi zum elektroniker für automatisierungstechnik bei kraft-foods.

den copter werde ich mir auf jedenfall ansehen. vorallem ist der so geil klein!
snowboarden hät ich auch mal wieder böcke drauf.

gruß,
Bammel

Willa
11.04.2010, 20:34
Moin,
hier nach extrem langer Wartezeit (die Regler sind im Zoll stecken geblieben...) endlich mein mini-Tricopter:

http://www.villalachouette.de/william/krims/tricopter/websitepics/Shrediquette_DLXm_2.jpg


http://www.villalachouette.de/william/krims/tricopter/websitepics/DLXm_1.jpg

Ein ziemlich unspektakuläres Flugvideo (mit HD onboard Video):
http://www.vimeo.com/10845213

Wenn es draußen tagsüber mal etwas windstiller ist, mache ich auch mal ein schönes Kunstflugvideo (ich hoffe, dass die Flugeigenschaften so ähnlich sind wie die von der großen Schwester).

Schönere Videos und mehr Infos gibts bald auf http://shrediquette.blogspot.com

BlackDevil
11.04.2010, 20:51
Hast du da eigentlich ein Kalman-Filter drin? Wieviel Achsig ist dein AHRS?

Willa
11.04.2010, 20:58
Hi,
nein, Kalman verstehe ich nicht, daher ist das da auch nicht drin. Ich habe 3 Gyroskope und einen 2-achs ACC.

BlackDevil
11.04.2010, 21:02
Das du sagst "Versteh ich nicht" überrascht mich ein wenig, ich denke eigentlich das du ein recht Kompetenter Ingenieur bist ;)

3Gyros und zwei ACC, dann hast du keine Redundanz für die z-Achse. Driftet die irgendwann weg?

Ich persönlich Arbeite derzeit nebenbei an einem 9Achs AHRS mit Kalman Filter (da beschränk ich mich allerdings auf die praktische Umsetzung, die Theorie ist ein wenig ... zu statistisch für mich). Mal sehen wie das alles am schluss aussieht :D
Schade das du kein ICQ/MSN hast ...

Willa
11.04.2010, 21:10
Hi,
danke, aber ich bin nur Hobbybastler :-D Vielleicht würde ich den Kalmanfilter verstehen, aber ich habe einfach keinen Spaß daran dort einzusteigen. Außerdem hört man nun überall, dass ein gut eingestellter Komplementärfilter mindestens genauso gut ist. Nur muss man ihn eben einstellen.
Die Z-Achse wird bei mir nicht geregelt, außerdem setze ich im Hover-Mode (nur hier wird der ACC in die Regelung einbezogen) geringe dynamische Beschleunigungen voraus. Kunstflug und rumheizen mache ich dann im Acro-Modus. Da steuere ich dann aber die Winkelgeschwindigkeit und nicht mehr den Winkel.

Bammel
11.04.2010, 21:16
Woohoo sie fliegt wieder sehr sehr geil!
ich mag deine Kamera! was wiegt diese den?

Willa
11.04.2010, 21:19
Hi Sven,
die Kamera wiegt genau 101g. Viel mehr kann ich an den mini-tricopter aber nicht dranbinden glaube ich....

021aet04
13.04.2010, 09:42
Gefällt mir. Hätte nur bedenken, dass sich die Muttern lösen. Ich würde selbstsichernde Muttern nehmen oder Schraubensicherung (z.B. Loctite).

Wie hällt die Schubstangevom Servo zum Motor. Beim Servo ist es mit einer Schraube befestigt, aber wie beim Motor?

MfG Hannes

Willa
13.04.2010, 09:53
Hi,
die "tragenden Elemente" sidn natürlich mit Loctite gesichert. Die Kunststoffmuttern lösen sich freiwillig nicht, die haben ein sehr knappes Gewinde. Der Hebel für die Schubstange ist in den Stellring geschraubt (M2 Gewinge reingeschnitten).

Willa
18.04.2010, 00:30
Jetzt ist der zweite Outdoorflug gemacht. Nach ein paar prinzipiellen Änderungen der Regelung fliegt der Kleine besser als mein Großer mit der alten Regelung. Schnelle Rundflüge und Flips fordern die Regelung ziemlich stark, aber die neue Regelung kommt damit nun super klar. Ich dachte immer, so ein Micro-Tricopter macht draußen gar keinen Sinn, aber der fliegt echt sooo gut, dass ich meinen Großen fast gar nicht mehr brauche. Aber es war auch relativ wenig Wind heute Abend.
Onboardkamera-Rundflüge gehen auch sehr schön, aber das Starten/ Landen mit Kamera ist wegen des extrem hohen Schwerpunkts und des fehlenden Landegestells gar nicht so ohne ;-D . Zum Glück geht so ein kleines Ding nur sehr schwer kaputt.

Hier das Video:
http://www.vimeo.com/11008458

Es ist in der Tat wieder mal nur wenig spannend wenn man an der Flugleistung des DLXm nicht interessiert ist, aber baaaald mache ich vielleicht wieder etwas hübscheres.

Der Sound erinnert verdächtig stark an Tie-Fighter.....

Bammel
18.04.2010, 10:25
Hey,

sehr sehr schön der flug!
was genau hast nun an der regelung geändert?
meinst du die änderung macht sich beim großen genauso bemerkbar?

ich bekomme so laaaaangsam das geld zusammen um mir einen zu bauen.

ich freue mich jetzt schon riesig drauf.

gruß,
Sven

Willa
18.04.2010, 10:38
Hi Sven,
bei der Regelung beziehe ich nun auch die Winkelbeschleunigung mit ein. Das hatte ich vorher nicht, da das Rauschen immer viel zu groß war. Jetzt habe ich aber einen "Trick" gefunden wie man weniger Rauschen aber trotzdem ziemlich zeitnahe Werte errechnet. Und zwar rechne ich jetzt drei mal parallel:

If Looper < 2 Then 'for angular acceleration measurement
Looper = Looper + 1 'acceleration will be calculated as the difference in velocity between
Else 'loop n and loop n+2
Looper = 0
End If

If Looper = 0 Then 'this calculates the angular velocity (D-term in acro mode)
Error_roll_d(1) = Error_roll - Error_roll_old(1)
Error_roll_old(1) = Error_roll
D_set_roll = Error_roll_d(1) * D_sens
Elseif Looper = 1 Then
Error_roll_d(2) = Error_roll - Error_roll_old(2)
Error_roll_old(2) = Error_roll
D_set_roll = Error_roll_d(2) * D_sens
Elseif Looper = 2 Then
Error_roll_d(3) = Error_roll - Error_roll_old(3)
Error_roll_old(3) = Error_roll
D_set_roll = Error_roll_d(3) * D_sens
End If

Ich habe Tests gemacht und das Signal zu Rauschen Verhältnis verglichen. Drei parallele Rechnungen gaben das beste Ergebnis. Ab der vierten Rechnung wurde das Rauschen nicht weniger aber die errechnete Beschleunigung ist weniger aktuell.

Als nächstes möchte ich nun die Knüppelgeschwindigkeit mit in den Hover modus einrechnen, damit man eine direktere Kontrolle hat.


meinst du die änderung macht sich beim großen genauso bemerkbar?
Ich glaube schon. Bei der kleinen konnte ich die Regelung ca um 100% weiter aufdrehen. Beim großen ist der Effekt wahrscheinlich weniger aber trotzdem bemerkbar. Da der Kleine nun so gut funktioniert leiste ich mir evtl. echt noch einen zweiten IMU Würfel... Es ist echt unpraktisch den Würfel immer umzukleben.

Willa
20.04.2010, 08:47
Soooo, das neue und hübschere Video vom mini Tricopter ist fertig:

http://vimeo.com/11061240

Bammel
20.05.2010, 18:58
Hey William,

was macht der Tricoper bzw. die beiden Tricopter.

Dann wollte ich noch Gratulieren.
Einen Bericht über 7 DIN A4 Seiten in der FMT-Zeitschrift. Laut meines Kollegen der sich die Zeitschrift holt soll das wohl sehr beachtlich sein.

unter www.fmt-rc.de findet man das inhaltsverzeichniss.

Bei mir sammelt sich so langsam das geld zusammen für den Copter. Und demnächst habe ich geburtstag da werde ich wohl von meiner freundin noch was bekommen.

Gruß, Bammel

Willa
20.05.2010, 22:03
Hi Sven,
ja, das läuft im Moment ganz gut. War bei einem Mikrokopter Treffen und habe bei zwei Wettbewerben den ersten und zweiten Platz gemacht. War sehr schön meinen Copter mal mit anderen zu vergleichen. Den Bericht in der FMT Zeitung hat jemand geschrieben der meinen Copter nachgebaut hat. Hat er aber sehr schön gemacht finde ich.
Ich arbeite an GPS etc. außerdem schaffe ich es wohl endlich meine neue Firmware herauszubringen.... Wenn du nochmal Hilfe brauchst sag BEscheid!

Willa
20.05.2010, 22:44
Hier ist ein weiteres kleines onboard Video vom Meeting:


http://www.vimeo.com/11782303

Bammel
21.05.2010, 17:45
Hey,
Das video ist genial. Ich will auch endlich! Könnte sein das von meinem Kollegen ein Freund bei dem Treffen war. War das so eine Deutschlandweites Treffen mit ca. 100 Leuten? Und wo war dies?

Den Artikel find ich auch sehr gut gemacht! Habe mir auch eben die Zeitschrift gekauft.

Mir kam noch die Idee um evtl. noch ein bischen Gewicht zu sparen die Platine quasie im Chassis zu integrieren. Also die obere Platte oder eine darunter aus platinenmaterial zu machen und direkt darauf zu ätzen. Das werde ich wohl mal machen.

Ich wollte letzten bei HobbyKing bestellen doch die hatten zu dem zeitpunkt die Motoren FC 22-28 nicht auf lager :-(
Was meinst du eigentlich sollte man da evtl. nicht doch "Marken" Motoren nehmen? Oder meinst du es reicht wirklich erstmal aus die billigen zu nehmen? Ich Glaub an den IMU-Würfel werde ich nicht sparen und die selben Gyros nehmen die du verwendest. Werd dann aber einen 3-Achs ACC verwenden und den in die software integrieren.
An GPS und Luftdruckmesser hatte ich auch schon gedacht und noch eine kleinere andere Idee habe ich, da hattest du mich drauf gebracht.

Hättest du mal wieder lust auf ein treffen? Montag?

Gruß,
Bammel

Willa
21.05.2010, 21:37
Hi Sven,
ja, das war ein Mikrokoptertreffen mit ziemlich genau 100 Leuten in Nienburg. Ich war den ganzen Samstag da, Sonntag ging es aber auch noch weiter. Wenn ein Kollege da war, dann müsste er mich gesehen haben. Ich war der einzige mit Tricopter. Platine in Chassis zu integrieren ist gut, aber wenn du den kaputt machst hast du ziemlich viel arbeit. Ich würde schon einen billig Motor nehmen. So einen großen Unterschied macht das am Anfang nicht. Erst später möchte man mehr Leistung und Effizienz. Im Moment ist leider schlecht mit Treffen denn meine Freundin ist zu Besuch... Aber später mal wieder!!

goara
25.05.2010, 10:18
hi william,

dein copter fliegt so viel schöner alsmeiner, echt super, muss ich dich nochmal loben..
folgendes, was hältst du davon, dass ich dein Board und die Software abwandele, für eienen Quadro (ist ja nicht soo der Unterschied) Dann können wir das GPS gemeinsam entwicklen falls du lust hast? fänd ich fein...

mfg

Willa
25.05.2010, 10:53
Hi Goran,
um mit meinem Kram einen Quadrocopter zu fliegen musst du eigentlich nur zwei Leiterbahnen durchtrennen und neu verlegen (servo weg, noch ein I²C stecker dran). Die Softwareänderung ist auch seeeeehr überschaubar.
Beim GPS habe ich schon eine Schaltung hier und wäre an einer Zusammenarbeit interessiert. Ich schreibe mal den aktuellen Stand und das was ich gerne realisieren würde:
Ich habe dieses 10Hz GPS:
http://www.watterott.com/de/65-Kana-SUP500F-10Hz-GPS-Empfaenger-mit-Antenne
Diesen I²C Drucksensor:
http://www.watterott.com/de/Breakout-Board-mit-dem-BMP085-absoluten-Drucksensor
und diesen I²C Kompass:
http://www.watterott.com/de/Kompass-Modul-HMC6352
Und ein UART Funkmodul (im Moment zum Debuggen, später vielleicht um Koordinaten zu übertragen),
Die Schaltung läuft mit 3.3V und einem Arduino pro mini 328p (werde später wohl eine eigene Schaltung machen. Es sollen aus diesem Navi-board mit 10Hz P,I,D Korrekturdaten für Nick/ Roll/ Gas/ Gier an meine Tricopterplatine gesendet werden. Dort werden diese Korrekturdaten einfach direkt auf die Motoren gegeben.
Als erstes würde ich gerne nur ein Position hold realisieren. Wenn das mal funktioniert gerne auch eine Wegpunktnavigation. Wie stellst du dir die Arbeitsteilung vor? Man müsste Sensoren ansprechen (Druck und Kompass) sowie aus den NMEA Strings den Positionsfehler errechnen.

goara
25.05.2010, 11:43
kk, das hört sich shcon mal gut an..
mein Plan wär folgender.
Ich bau mal deine Platine um ( bzw eigentlich kann ich die auch so nehmen (den i2c kann man ja einfach mit y-stecker teilen und der servo tut keinem was, würde es aber glaub trotzdem bsichen abändern... SInd noch IOs am Arduino übrig??
Hast du shcon mit dem Navi-board Angefangen? sonst würde ich mal ein Layout für die Platine erstelle, müssten wir uns noch auf nen CAD einigen, eagle, Target oder AltiumDesigner hätt ich im Angebot. würde aber egale vorshclagen, das geht auch auf Linux und kost keine 10000€
Ich könnte auch auf meinem Webspace einen Tausch FTP-einrichten wo wir beide zugriff haben, dann können wir das als Projekt-Repository nutzen...

Willa
25.05.2010, 11:51
Am Arduino sind noch ein paar IOs übrig. Ich würde aber sehr empfehlen am Pin-Out nichts zu ändern. Sonst müsste man mehrere Firmwares/ Boardversionen pflegen und das macht einen enormen Mehraufwand...
Ich habe meine Navi-Platine schon als Lochraster aufgebaut um zu testen ob das funktioniert. Allerdings habe ich noch kein bisschen Software geschrieben. Im Layouten bin ich sehr schlecht, verwende aber Eagle. Wäre natürlich gut wenn du eine Naviplatine layoutest.... Ein TQFP mega32 mit 16MHz quarz wäre schön. Der bräuchte Verbindungen zu den sensoren + UART Ausgang + einen Eingang für das Summensignal des Empfängers (damit die naviplatine weiß ob man grad position hold machen will). Außerdem muss man irgendwie aus 12.6V eine 3.3V spannung machen...

goara
25.05.2010, 12:13
nee klar, die I/Os lass ich so, damit das alles kompatibel bleibt.
Ok, dann mach ich mal die Navi-Platine. Layouten bin ich grad in übung. Habe gerade ein FPGA Board mit 700 I/Os fertig geroutet ;)
hast du den Schaltplan von deiner Platine oder soll ich das neu machen, wegen der Pinbelegung, wobei wenn es noch keine Software gibt ist das ja egal..?
3v3 gibt es Linearregler, das denk ich mal das einfachste.. Wie willst du mit der hauptplatine kommunizieren? SPI, UART.. ? werde das dann auch alles so anordnen, dass es von der Position her einfach zur anderen platine/Spannung verbudnen werden kann...
2-Seitiges LAyout ist ok oder??

Willa
25.05.2010, 12:46
Hi,
ja, software gibts noch nicht. Ich würde gerne Hardware I²C nutzen und den INT1 für das Summensignal. Hardware UART RxD für den GPS-Empfänger und Hardware UART TxD für die Kommunikation zur Tricopterplatine (es soll ein Bytearray mit den fertigen zusammengesetzten PID Werten für alle 4 Achsen übertragen werden = 4 Bytes). Dann noch einen Software UART RxD & TxD an das das Funkmodul angeschlossen wird (bei mir ist das ein xBee series2). Der Drucksensor hat noch einen Ausgang "EOC" = end of conversion mit dem man Abfragen kann ob Daten für den I²C transfer bereit stehen. Das ist glaube ich praktisch, da es gut wäre den Drucksensor mit deutlich mehr als 10Hz abzufragen und dann den Mittelwert zu nehmen.
Ich nutze im Moment einen TO220 Linearregler auf 3.3V, aber die komplette Schaltung zieht ganze 150mA, d.h. der Linearregler ist ziemlich am Limit. Evtl. 5V Schaltregler und daran dann 3.3V Linearregler?
Der Drucksensor sollte am besten stehend gelagert werden, der Kompass muss natürlich flach auf die Platine. Ich glaube die Schaltung ist nicht so komplex, viele Teile haben außerdem 2.54mm Raster, d.h. man kann Bahnen auch dazwischen durch routen. Daher wäre einseitiges Lyout wenn möglich besser, da leichter nachzumachen.

goara
25.05.2010, 13:21
Ok, werd mir nacher mal die ganze datenblätter ziehen und mal anfangen...
denke so in ner Woche bin ich fertig, hast du Ätzzeugs zu hasue? ansosnten würde ich gleich 2 Platinen ätzen und dir dann eine schicken...
150mA ist shcon viel, werde mal schaun obs da bessere lösungen gibt..

Willa
25.05.2010, 15:01
Hi,
ich habe keine Möglichkeit zu ätzen, wäre also super wenn du mir gleich eine mit machst. Bei Reichelt gibt es einen günstigen 3.3V Schaltregler, vielleicht wär der was? http://www.reichelt.de/?ACTION=3;ARTICLE=39440;PROVID=2402

Willa
25.05.2010, 15:08
Und bei Elpro.org gibts einen LM 2597 M-3.3 im SO8 Gehäuse

Bammel
25.05.2010, 16:29
Hey,

man das klingt ja alles verdammt interesant! zum glück kann es bald bei mir los gehen *freu*

den schaltregler von reichelt habe ich schonmal auf einem steckbrett aufgebaut. man braucht allerdings noch ein bisl hühnerfutter dazu. ich weiß nicht ob dann noch das niveau von effizienz zu gewicht gegeben ist.
aber die regler wollte ich bei mir schon gerne einsetzen

zum drucksensor, sollte man den nicht auch windgeschützt verbauen? den wenn die propeller wind drauf blasen wird der druck ja höhe und die messung verfälscht. da biete sich ja bald ein zweiter sensorwürfel mit kompass, drucksensor und GPS an.

wie wäre es anstatt eines M32 einen M128 zu verwenden? der hat zwar extrem viel resourcen die man evtl nicht braucht ABER meines wissens 2 hardware UART.
naja nachteil ist er ist größer und noch ein wenig schwerer zu löten.

EDIT:
habe gerade mal bei reichelt gestöbert und zwar der M162 ist, wenn ich mich nicht versehen habe, pinkompatibel mit dem M16/M32 und hat zwei hardware UART

gruß,
Bammel

Willa
25.05.2010, 17:23
den schaltregler von reichelt habe ich schonmal auf einem steckbrett aufgebaut.
Ja, der ist echt sehr groß... Ich fände da eine SMD variante schon besser.

zum drucksensor, sollte man den nicht auch windgeschützt verbauen?
Evtl müsste man die ganze Platine auf einen Podest bauen der dann ein gutes Stückchen über der Propellerebene ist. Wenigstens bei meinem Micro-Tricopter müsste das wohl so sein, denn da ist echt wenig Platz zwischen den Propellern und wahrscheinlich überall ziemlich hohe Strömungsgeschwindigkeiten.

ABER meines wissens 2 hardware UART.
Die Frage ist ob man wirklich 2mal Hardware UART braucht. Über das Funkmodul werden extrem wenig Daten übertragen, 9600 baud reicht auch dicke... Ist denn software UART so anfällig/ Ressourcen-raubend?

Bammel
25.05.2010, 18:17
Die Frage ist ob man wirklich 2mal Hardware UART braucht. Über das Funkmodul werden extrem wenig Daten übertragen, 9600 baud reicht auch dicke... Ist denn software UART so anfällig/ Ressourcen-raubend?


Obs Resourcen-raubend ist weiß ich garnicht. Ich glaube in Bascom gibt es sogar schon befehle für sowas. nur wenns doch pinkompatibe ist!? zumindestens könnte man es evtl. im layout berücksichtigen.

Mein Funkmodul welches ist habe läuft nur mit 19200 baud, aber denke selbst das sollte machbar sein.



Evtl müsste man die ganze Platine auf einen Podest bauen der dann ein gutes Stückchen über der Propellerebene ist. Wenigstens bei meinem Micro-Tricopter müsste das wohl so sein, denn da ist echt wenig Platz zwischen den Propellern und wahrscheinlich überall ziemlich hohe Strömungsgeschwindigkeiten.


Nen Podest wäre sicherlich schon alleine für den kompass angebracht. der sollte ja auch möglichst weit weg von den anderen komponenten wie z.b. motoren gelagert werden. nur müsste man den drucksensor trotzdem windschützen (flugwind) aber da würde ja eine kleine haube reichen.

goara
25.05.2010, 19:15
kk.. melde mich sobald ich was zusatndegebraucht habe...

zu dem Luftdrucksensor, das mit dem wind ist kein Problem.. habe den bei meinem copter in ein Stück schaumstoff gesteckt und zum Test in den Luftstrom gehalten, da ändert sich nichts am Druck...

Willa
25.05.2010, 20:09
Wenn da Staudruck an der Messöffnung entsteht ist es sicherlich ein Problem...
Hier mal ein Bild meiner auf-die-schnelle-lochrasterversion (ca. 50x50mm):

Nicht schön, dafür groß und zum Testen okay :-D

goara
25.05.2010, 20:34
Ja, staudruck auf die die Messöffnung darf nicht sein, auch keine Vorbeiströmung wegen Sog, aber wenn da bischen Schaumstoff/Mosgummi davor ist funktioniert es ohne Probleme...

sieht doch schon ganz nett aus.. ;)

Bammel
29.05.2010, 11:16
Hey William,

sag mal weist du oder könntest du mal messen was die elektronik, außer motoren, an strom zieht? bin am überlegen ob man nicht einen kleinen 5Volt schaltregler aufbaut und die 3,3Volt von einem festspannungsregler der an dem schaltregler hängt erzeugt. denke das sollte effizienter sein!?

ich will auch mal versuche deine platine so umzuändern das man auch ohne arduino hinkommt. also das man die bauteile selber bestücken kann. spart sicher nochmal ein paar gramm. soll aber trotzdem noch so sein dass, das arduino aufgesetzt werden kann.

EDIT:
ich habe gerade mal nen bisl rum gesurft und auf sparkfun habe ich auch den drucksensor gefunden. mit breakout board und ohne. ohne soll der sensor knapp 9Dollar kosten und lötbar ist dieser auchnoch. evtl könnte goara auf seinem PCB layout dies auchnoch berücksichtigen das man ihn evtl so auflötet.

gruß, Bammel

Willa
29.05.2010, 13:11
Hi Sven,
ich glaube die Schaltung der Tricopterplatine zieht ca. 50mA. Hängt aber stark davon ab was man für einen Empfänger benutzt. Bei den Platinenänderungen/ Sensoränderungen denk aber da dran, dass das ganze so aufgebaut ist, weil ich den Nachbau so einfach wie möglich machen wollte. Klaro könnte ich einfach einen Mega328p auf die Platine setzen, aber es gibt viele Menschen die TQFP-löten scheuen. Außerdem ist die Benutzung eines Bootloaders einfach sehr praktisch und simpel. Viele Leute die den Tricopter nachbauen haben keine Ahnung von Elektronik, aber wenn man meine Anleitung liest, und die Komponenten benutzt die ich vorschlage, braucht man auch keine Ahnung zu haben. Je spezieller und komplizierter der Aufbau/ das Löten wird, desto weniger interessant wird mein Tricopter.
Für eure eigenen Weiterentwicklungen könnt ihr natürlich machen was ihr wollt, aber wenn es für potentielle Nachbauer verwendbar sein soll, muss alles so einfach wie möglich sein

Bammel
29.05.2010, 13:19
Ja ich habe mir eben noch viele gedanken gemacht und die layouts angesehen. und bin doch zum entschluss gekommen der copter erstmal so nach deinen komponenten aufzubauen. den so funktioniert es schließlich. ich werde auch nicht den dreiachs-acc benutzen sondern den von dir verwendeten zweiachs. da dieser ja mit 5 volt betrieben werden kann.

zudem hätten wir dann von der elektronik einen identischen copter mit dem man zusammen weiterentwickeln kann.

Willa
30.05.2010, 16:40
Ich habe mal mit dem GPS angefangen. Viel Zeit hatte ich allerdings noch nicht. Her der Code, der mir die Koordinaten per Funk auf den Laptop sendet:

'===CHIP SETTINGS===
$regfile = "m328pdef.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 8000000
$baud = 38400


Dim Serialdata As String * 120
Dim Newval As Bit
Dim State As Byte

Dim Gpgga(12) As String * 10
Dim Splitcounter As Byte

Config Input0 = Crlf , Echo = Crlf
Config Serialin = Buffered , Size = 120 , Bytematch = 10
Config Serialout = Buffered , Size = 120

Config Pinb.5 = Output

Clear Serialin
Waitms 1000
Print "go"


Enable Interrupts

Do
If Newval = 1 Then
Reset Newval
If Left(serialdata , 6) = "$GPGGA" Then
Splitcounter = Split(serialdata , Gpgga(1) , ",")
Toggle Portb.5
End If

Print Gpgga(3) ; " - " ; Gpgga(4) ; " , " ; Gpgga(5) ; " - " ; Gpgga(6) ; " quality:" ; Gpgga(7) ; " satellites: " ; Gpgga(8)

State = Val(gpgga(7))
If State = 1 Then
Portb.5 = 1
End If

End If
Loop

Serial0charmatch:

Input Serialdata , Noecho ' , Noecho
Newval = 1


Return




Ich möchte als nächstes gerne eine feste Koordinate einstellen, und dann die Differenz (in metern) der gemessenen GPS position zur voreingestellten Position berechnen. Damit möchte ich herausfinden wie genau die Messungen überhaupt sind.

Es wäre gut wenn jeder der mitarbeitet seine Fortschritte postet damit keine Arbeit doppelt gemacht wird...

Willa
30.05.2010, 21:04
Jetzt habe ich auch den HMC6352 Kompass getestet (code aus dem Mood pill projekt):

'===CHIP SETTINGS===
$regfile = "m328pdef.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 8000000
$baud = 38400 ' use a low baudrate, if you use internal RC-clock

$lib "i2c_twi.lbx" ' we do not use software emulated I2C but the TWI

Waitms 1000 ' give Compass some time to stabilize

' I2C-Slave-Address of the HMC6352 Digital Compass Module and Configuration values
Const Compass_address = &H42
Dim Compass_w_array(3) As Byte
Compass_w_array(1) = &H47 ' "G"-Command: write to RAM
Compass_w_array(2) = &H74 ' RAM Address H74: Operational Mode
Compass_w_array(3) = &B01110000 ' 20Hz, Set/Reset=yes, Standby mode

' Compass value read variables
Dim Compass_r_array(2) As Byte ' Byte array for the two bytes of heading value
Dim Compass_value As Word At Compass_r_array(1) Overlay ' WORD variable for the heading value

Config Scl = Portc.5 ' we need to provide the SCL pin name
Config Sda = Portc.4 ' we need to provide the SDA pin name

I2cinit ' we need to set the pins in the proper state

'use a bps rate lower than 100000, if your µC-clock-speed is
'below approx. 4 MHz
Config Twi = 100000 ' wanted clock frequency
'will set TWBR and TWSR
'Twbr = 32 'bit rate register
'Twsr = 0 ' pre scaler bits

Waitms 50

I2csend Compass_address , Compass_w_array(1) , 3 ' set Compass Configuration

Waitms 100

Do
Compass_w_array(1) = &H41 ' Command "A": Read heading value
I2csend Compass_address , Compass_w_array(1) , 1 ' send to HMC6352
Waitms 7
I2creceive Compass_address , Compass_r_array(1) , 0 , 2 ' receive the two heading bytes MSB first
Swap Compass_r_array(1) , Compass_r_array(2) ' swap MSB and LSB bytes to be read as WORD variable
Print Compass_value
Waitms 10
Loop

Funktioniert sehr schön.

Außerdem habe ich hier noch Code vom BMP085 Drucksensor, ich frage grad mal den Autor ob sein Code so auch veröffentlicht werden darf.

Willa
31.05.2010, 19:44
Der Code für den Drucksensor (noch nicht getestet), von http://www.kh-gps.de/


'BMP085_8_lcd2a_t 86% belegt OK am 25.3.2010

'################################################# ##############################

$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600
$hwstack = 64
$swstack = 64
$framesize = 64
$sim

'################################################# ##############################
'Byte = 0 to 255
'Word = 0 to 65535
'Integer = -32768 to 32767
'Long = -214783648 to 2147483647
'Single = 1.5 x 10^-45 to 3.4 x 10^38
'Double = 5.0 x 10^-324 to 1.7 x 10^38

Dim Ac1 As Single
Dim Ac2 As Single
Dim Ac3 As Single
Dim Ac4 As Long
Dim Ac5 As Long
Dim Ac6 As Long

Dim B1 As Single
Dim B2 As Single
Dim B3 As Long
Dim B4 As Long
Dim B4a As Single
Dim B5 As Single
Dim B6 As Single
Dim B7 As Long

Dim Mb As Single
Dim Mc As Single
Dim Md As Single

Dim Ut As Long
Dim Up As Long

Dim X1 As Single
Dim X2 As Single
Dim X3 As Single

Dim Zwr1 As Single
Dim Zwr2 As Single
Dim Zwr3 As Single
Dim Zwr4 As Single

Dim T As Single
Dim T_str As String * 4
Dim P As Single
Dim P2 As Single

Dim Po As Single
Dim A As Single
Dim A2 As Word

Dim Adres As Byte
Dim Value As Byte
Dim Result As Integer

Dim Hi As Long
Dim Lo As Long
Dim Xlo As Long

Config Scl = Portb.1
Config Sda = Portb.0
I2cinit

Config Portb.6 = Output
Config Portb.7 = Output
Portb = &B11000000

Dim N As Byte
N = 1
Do
Portb.6 = 1
Portb.7 = 0
Waitms 50
Portb.6 = 0
Portb.7 = 1
Waitms 50
N = N + 1
Loop Until N = 20

Declare Sub Write_bmp(byval Adres As Byte , Byval Value As Byte)
Declare Sub Read_bmp(byval Adres As Byte , Value As Byte)
Declare Sub Read_reg

Const Addressw = &B11101110 'slave write address
Const Addressr = &B11101111 'slave read address

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0
Cls
Cursor Off

Locate 1 , 1
Lcd " BMP085-DECODER "
Locate 2 , 1
Lcd "(C)2010 KHH V1.2"
Wait 3

'hole Kalibrierungsdaten
'-------------------------------------------------------------------------------
Adres = &HAA 'Startadresse calibration data

'Do
Waitms 50
Call Read_reg
Ac1 = Result
'Print "AC1= " ; Ac1
Call Read_reg
Ac2 = Result
'Print "AC2= " ; Ac2
Call Read_reg
Ac3 = Result
'Print "AC3= " ; Ac3
Call Read_reg
Ac4 = Result
'Print "AC4= " ; Ac4
Call Read_reg
Ac5 = Result
'Print "AC5= " ; Ac5
Call Read_reg
Ac6 = Result
'Print "AC6= " ; Ac6
Call Read_reg
B1 = Result
'Print "B1= " ; B1
Call Read_reg
B2 = Result
'Print "B2= " ; B2
Call Read_reg
Mb = Result
'Print "MB= " ; Mb
Call Read_reg
Mc = Result
'Print "MC= " ; Mc
Call Read_reg
Md = Result
'Print "MD= " ; Md
'Print

Dim Xx As Byte
Xx = 1

Do
Waitms 100
'hole Rohdaten Temperatur
'-------------------------------------------------------------------------------
Call Write_bmp(&Hf4 , &H2E)
Waitms 5
Call Read_bmp(&Hf6 , Value) 'read it back
Hi = Value * 256
Call Read_bmp(&Hf7 , Value) 'read it back
Ut = Hi + Value
'Print "UT= " ; Ut
'Print

Waitms 100
'hole Rohdaten Luftdruck
'-------------------------------------------------------------------------------
Call Write_bmp(&Hf4 , &H34)
Waitms 40
Call Read_bmp(&Hf6 , Value) 'read it back
Hi = Value * 256
Call Read_bmp(&Hf7 , Value) 'read it back
Up = Hi + Value
'Print "UP= " ; Up
'Print

'Testwerte
'------------------------------------------------------
Ac1 = 408
Ac2 = -72
Ac3 = -14383
Ac4 = 32741
Ac5 = 32757
Ac6 = 23153
B1 = 6190
B2 = 4
Mb = -32768
Mc = -8711
Md = 2868

Ut = 27898 'Temperatur
Up = 23843 'Pressure

'kalkuliere tatsaechliche Temperatur
'-------------------------------------------------------------------------------
Zwr1 = Ut - Ac6
Zwr2 = 2 ^ 15
Zwr2 = Ac5 / Zwr2
X1 = Zwr1 * Zwr2
Print "X1= " ; X1

Zwr1 = 2 ^ 11
Zwr2 = Mc * Zwr1
Zwr3 = X1 + Md
X2 = Zwr2 / Zwr3
Print "X2= " ; X2

B5 = X1 + X2
Print "B5= " ; B5

T = B5 + 8
Zwr3 = 2 ^ 4
T = T / Zwr3
T = T / 10
T_str = Str(t)
T_str = Left(t_str , 4)
Print "T= " ; T_str ; " C"
Print

'kalkuliere tatsaechlichen Luftdruck
'-------------------------------------------------------------------------------
B6 = B5 - 4000
Print "B6= " ; B6

Zwr1 = 2 ^ 11
Zwr2 = 2 ^ 12
Zwr3 = B6 / Zwr2
Zwr3 = B6 * Zwr3
Zwr4 = B2 * Zwr3
X1 = Zwr4 / Zwr1
Print "X1= " ; X1

Zwr1 = 2 ^ 11
Zwr2 = B6 / Zwr1
X2 = Ac2 * Zwr2
Print "X2= " ; X2

X3 = X1 + X2
Print "X3= " ; X3

Zwr1 = Ac1 * 4
Zwr1 = Zwr1 + X3
Zwr1 = Zwr1 + 2

If Xx = 1 Then B3 = Zwr1 * 4 '681
If Xx = 2 Then B3 = Zwr1 * 2 '1006
If Xx = 3 Then B3 = Zwr1 '142
If Xx = 4 Then B3 = Zwr1 / 2 '720
If Xx = 5 Then B3 = Zwr1 / 4 '1010(orig)
Print "B3= " ; B3

Zwr1 = 2 ^ 13
Zwr2 = B6 / Zwr1
X1 = Ac3 * Zwr2
'Print X1
'X1 = Abs(x1)
Print "X1= " ; X1

Zwr1 = 2 ^ 12
Zwr2 = 2 ^ 16
Zwr3 = B6 / Zwr1
Zwr3 = B6 * Zwr3
Zwr4 = B1 * Zwr3
X2 = Zwr4 / Zwr2
Print "X2= " ; X2

X3 = X1 + X2
X3 = X3 + 2
X3 = X3 / 4
Print "X3= " ; X3

Zwr1 = X3 + 32768
Zwr2 = 2 ^ 15
Zwr3 = Zwr1 / Zwr2
'Print "Zwr3= " ; Zwr3
'Print "Ac4 = " ; Ac4

B4a = Ac4 * Zwr3
B4 = Abs(b4a)
Print "B4= " ; B4a

B7 = Up - B3
Dim B7a As Long
B7a = B7 * 50000
Print "B7= " ; B7a

Zwr1 = B7a * 2
Zwr1 = Zwr1 / B4
Zwr2 = B7a / B4
Zwr2 = Zwr2 * 2
If B7a < &H8000000 Then P = Zwr1 Else P = Zwr2
Print "P= " ; P

Zwr1 = 2 ^ 8
Zwr2 = P / Zwr1
X1 = Zwr2 * Zwr2
Print "X1= " ; X1

Zwr1 = 2 ^ 16
X1 = X1 * 3028
X1 = X1 / Zwr1
X1 = Abs(x1)
Print "X1= " ; X1

Zwr1 = -7357 * P
Zwr2 = 2 ^ 16
X2 = Zwr1 / Zwr2
Print "X2= " ; X2
Print

Zwr1 = X1 + X2
Zwr1 = Zwr1 + 3791
Zwr2 = 2 ^ 4
Zwr1 = Zwr1 / Zwr2
P = P + Zwr1
Print "P= " ; P ; "Pa"
P = P / 100

Print "XX= " ; Xx

Dim P_str As String * 8
P_str = Fusing(p , "#.##")
Print "P= " ; P_str ; "hPa"

'kalkuliere Hoehenwerte
'-------------------------------------------------------------------------------
Po = 1013.25 'Pressure auf Seepegel

Zwr1 = 1 / 5.255
Zwr2 = P / Po
Zwr3 = Zwr2 ^ Zwr1
Zwr4 = 1 - Zwr3
A = 44330 * Zwr4
A2 = Int(a)
Print "A= " ; A2 ; "m"
Print

'LCD-Ausgabe
'-------------------------------------------------------------------------------
Cls
Locate 1 , 7
Lcd P_str ; "hPa"

Locate 1 , 1
Lcd Up

Locate 2 , 1
Lcd A2 ; "m"

Locate 2 , 11
Lcd T_str ; Chr(223) ; "C"

'Wait 2

Xx = Xx + 1
If Xx = 6 Then Xx = 1

Loop
End

'------------------------------------------------------------
Sub Read_reg
Call Read_bmp(adres , Value)
Hi = Value * 256
Adres = Adres + 1
Call Read_bmp(adres , Value)
Result = Hi + Value
Adres = Adres + 1
End Sub

'----------------------------------------------------------
Sub Write_bmp(byval Adres As Byte , Byval Value As Byte)
I2cstart 'start condition
I2cwbyte Addressw 'slave address
I2cwbyte Adres 'address of register
I2cwbyte Value 'value to write
I2cstop 'stop condition
Waitms 10 'wait for 10 milliseconds
End Sub

'----------------------------------------------------------
Sub Read_bmp(byval Adres As Byte , Value As Byte)
I2cstart 'generate start
I2cwbyte Addressw 'slave address
I2cwbyte Adres 'address of register
I2cstart 'repeated start
I2cwbyte Addressr 'slave address (read)
I2crbyte Value , Nack 'read byte
I2cstop 'generate stop
Waitms 10
End Sub

oratus sum
31.05.2010, 21:44
Ich hab ne Frage, ich verfolge dein Projekt schon seit längerem:

GPS:
Das GPS ist doch ziemlich ungenau. Ich meine vorallem wenn man bedenkt das Verhältnis zum Kopter. Wäre es da nicht besser am Boden ein Fleck anzupeilen und den zu halten? Zusätzlich kommen noch störungen bzgl des Satellitenempfangs in Frage weil ja die Motoren bei dir ja doch recht nah bei einander sind.

Und wegen Dem Podest:
Wenn du dein Podest über die Rotoren plazierst, heißt das, dass die Rotoren an sog verlieren, das ansich ist ja noch kein Problem aber wenn nur ein Teil bedeckt ist, wirkt sich das doch sicher negativ auf das Flugverhalten aus. Ich würde daher die zusätzlich Elektronik unterhalb anbringen.

Willa
01.06.2010, 08:58
Hi oratus sum,
danke für deine Anregungen. Ich glaube aber GPS ist relativ gut geeignet. Wenn mein Copter innerhalb eines Radius' von 5m bleibt bin ich fürs erste schon zufrieden. Die Motoren stören den GPS Empfang meines Wissens nach nicht.
Zu GPS gibt es wohl noch keine realistische Alternative für Hobbybastler. Der Copter soll ja nicht nur die Position halten sondern später auch Pfade abfliegen. Schön wäre natürlich eine hochauflösende 3D Kartierung der Umgebung, aber soweit ist die frei verfügbare und erschwingliche Technik noch nicht.

Und wegen Dem Podest:
Das kommt ja nicht über die Rotoren, sondern über das Chassis. Also in der Mitte, da wo keine Propeller sind und ganz wenig verwirbelte Luft. Wenn ich die Elektronik unter das Chassis machen bekomme ich Probleme mit dem GPS Empfang und dem Luftdrucksensor.

goara
01.06.2010, 11:54
so.. platine habe ich bald fertig... noch ein paar fragen:
das summensignal kommt ja vom empfänger über einen servostecker, allerdings hat der empfänger ja schon strom vom mainboard... soll ich dann den empfängeranschöluss mit einem jumper stromversorgbar machen?
sollen wir vielcht noch eine sd-karte draufmachen?? für waypoints/flug speichern und am rechner visualisieren oder sonstige spässe ??
und auf dem bild von der platine oben.. was ist denn das unter dem gps??

oratus sum
01.06.2010, 14:45
Eine alternite gibt es Bald mit dem europäischen Satellitenprogramm, doch ja....

Was für ein GPS verwendest du? Ich hab ein Fastrax I-300, allerdings kann ich in Gebäuden nichts empfangen, ist aber nicht überraschend.

Dann noch eine Frage:
Wie regelst du die Motoren? Bzw würde mich überhaupt alles rund um die Motoren interessieren.

Ich spiele nämlich mit dem Gedanken auch etwas Flugfähiges aufzubauen wenn ich halbwegs mit MARS fertig bin.

Willa
01.06.2010, 16:35
so.. platine habe ich bald fertig... da bin ich ja mal gespannt.... :-D

das summensignal kommt ja vom empfänger über einen servostecker, allerdings hat der empfänger ja schon strom vom mainboard... soll ich dann den empfängeranschöluss mit einem jumper stromversorgbar machen?
Ich würde sagen, das ist nicht nötig. Für was auch immer diese Platine benutzt wird, der Empfänger wird immer bereits mit Spannung versorgt sein.
sollen wir vielcht noch eine sd-karte draufmachen?? für waypoints/flug speichern und am rechner visualisieren oder sonstige spässe ?? Ich wäre eher dafür das so einfach/ klein/ leicht wie möglich zu halten...
und auf dem bild von der platine oben.. was ist denn das unter dem gps?? Das ist das xbee wireless uart modul. M.m nach muss das nicht unbedingt auf der Platine berücksichtigt wrden. Für position hold ist es nicht notwendig, und für den späteren waypointflug hat wohl sowieso jeder seine eigenen Präferenzen, oder? Ich habe mich für xbees entschieden weil die so einfach zu benutzen sind. Aber es gibt wohl auch günstigere Lösungen....


Eine alternite gibt es Bald mit dem europäischen Satellitenprogramm, doch ja....
Aber ich möchte ja möglichst bald schon autonom fliegen und nicht erst 2016 wenn Galileo wirklich fertig ist...

Was für ein GPS verwendest du?
Ich nutze dieses 65 Kanal 10Hz GPS:
http://www.watterott.com/de/65-Kana-SUP500F-10Hz-GPS-Empfaenger-mit-Antenne
Die Brushlessmotoren regel ich mit PID² Regelkreisen und normalen Modellbauempfängern die mit 417Hz angesteuert werden.

Bald werde ich mal auf der Wiese herumspringen und gucken was das GPS so rausgibt...

goara
01.06.2010, 16:41
Ok,... Dann mach ich das ganze mal schön minimal...
werde aber ein paar freie i/os rausführen sodass man es einfach erweitern kann..

oratus sum
01.06.2010, 19:58
Hey Willa den Shop kannte ich noch garnicht der hat ja extrem tolle Sachen und noch dazu billig! Danke :-D

goara
01.06.2010, 22:24
so... habe das Board fertig. mal bitte drüberschauen, ob irgdnwo was verdreht ist..
SO sieht das ganze aus:
http://robotik.dyyyh.de/repository/naviboard.png
die Dateien dazu gibt es hier: http://robotik.dyyyh.de/repository/navi.tar.gz

Verbaut sind die drei Sensoren, ein Atmega32 sowei +5V und +3,3V regler für die Versorgung. das GPS ist an der UART, die andern zwei an I²C (Auf den Sensorboards sind schon Pullups, habe sie trotzdem nochmal vorgesehen, falls das Board mit den Pullups nicht bestückt wird. Ansosnten einfach frei lassen..
links unten sind noch 3 LEDs drauf zum debuggen und 8 GPIOs für die Kommunikation mit dem 2. Board oder sonstiges..
(der schaltplan ist noch etwas chaotisch, müssen noch Signal-Ports rein statt dem Kabelsalat)

Willa
02.06.2010, 09:21
Hi Goran,
sieht so weit gut aus, ber iuch konnte es mir noch nicht näher anschauen. Aber ganz schön groß ist das Board, oder? Größer als meine Lochrasterversion. Das würde ich auf meinen micro-Tricopter gar nicht drauf bekommen. Wenn man schon zweiseitiges Layout macht, köntne mabn dann nicht auch die 2.54mm Teile zweiseitig bestücken? direkt unter das GPS passt doch prima der mega32, auf die andere Seite können dann auch noch bauteile. Unter den Kompass können allerlei Widerstände/ Kondensatoren. Und Luftdruck könnte senkrecht. Außerdem gehen statt Elkos auch smd Tantal kondensatoren ganz gut. Und quarze gibt es auch in deutlich kleiner glaube ich. Ich würde auch eine 3.3V version vom mega32 nehmen (ich glaube 8MHz reicht) und auf den 5V regler ganz verzichten. Dann einfach einen 1k Widerstand zum VCC des ISP steckers, dann funktioniert das flashen trotzdem.
Ich bekomme halt leider keine Platine auf meinen micro-tricopter die deutlich größer als 45x45mm ist... Sieh bitte meine zahlreichen Anmerkungen nicht als Kritik... Es sind nur meine Wünsche wenn ich heut Geburtstag hätte ;-D

goara
02.06.2010, 11:40
Ok, kein ding, war ja nur als erster Vorshclag gemeint.. 45x45 ist recht klein, aber mit zweiseitiger bestückung sollte es machbar sein.. Stimmt die 5V können wir weglassen.. werde es nochmal überarbeiten und dann wieder einstellen.. Denke halbsogross ist schon möglich..
Weist du zufällig wie das ist mit GPS/Kompass und so wegen abschirmung?
Stört sich das irgdnwei /muss da ne massefläche dazwischen oder ehrr nicht??

Willa
02.06.2010, 13:51
Hi,
das GPS hat eine dicke Metallplatte an der Unterseite. das wird wohl so eine Art Abschirmung sein. Ob der Kompass das bracuht weiss ich noch nicht. Andererseits darf der ja eh nicht sonderlich empfindlich sein, sonst kann man das mit 3-4 Motoren in der Nähe sowieso vergessen... Nach meinen ersten Tests mit dem kompass weiss ich nun, dass der Kompass wirklich stark auf eine Neigung reagiert. Evtl. muss der am Ende eh gegen einen Neigungskompensierten ausgetauscht werden.... Wäre sehr ärgerlich, da die ca. 5mal so teuer sind...

goara
02.06.2010, 14:52
die neigungskompensierten sind wirklich sehr teuer... kann man das nicht softwaretehcnisch lösen? beispielsweise, dass er sich immer seine ausrichtung holt wenn es gerade messbar ist und dann bis zur nächsten messung das yaw-gyro dazuintegriert oder so ähnlich... naja muss man mal schaun.. denke fürs erste wird es auch so gehen, ausserdem steht er ja wenn er im navimode ist eher wagrecht und fliegt keine fiesen manöver..

Willa
02.06.2010, 14:58
ausserdem steht er ja wenn er im navimode ist eher wagrecht und fliegt keine fiesen manöver..
Genau, deswegen wird das für Position-hold bei wenig bis keinem Wind erstmal funktionieren.

kann man das nicht softwaretehcnisch lösen? beispielsweise, dass er sich immer seine ausrichtung holt wenn es gerade messbar ist und dann bis zur nächsten messung das yaw-gyro dazuintegriert oder so ähnlich...
Ja, das geht wohl. Man kann auf der Naviplatine einfach die gleichen Berechnungen ausführen wie auf der Tricopterplatine und den errechneten Winkel dazu benutzen den Kompass zu kompensieren. Dazu müsste man den IMU-cube abzweigen und bräuchte 4 AD Kanäle. Aber die hast du ja eh schon nach außen geführt.
Aber erstmal Position-hold, das ist auch schon eine Art "Meilenstein"... :-D

Willa
05.06.2010, 16:18
Der Drucksensor läuft jetzt auch. Ich frage den EOC pin ab und errechne die Höhe so schnell wie der Sensor kann. Da das Signal ziemlich stark verrauscht ist bilde ich danach den Mittelwert aus 8 Messungen. Dann ist es immer noch verrauscht, aber vielleicht reicht es ja.

Also laufen eigentlich alle Sensoren, ich werde bald mal die einzelnen Code-Stückchen zusammenfügen. Dann kann ich bald auch mit der Programmierung der Regelung anfangen.
Code vom Drucksensor (modifiziert nach kh-gps.de):

'===CHIP SETTINGS===
$regfile = "m328pdef.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 8000000
$baud = 38400

Config Pind.2 = Input 'eoc

Dim Ac1 As Single
Dim Ac2 As Single
Dim Ac3 As Single
Dim Ac4 As Long
Dim Ac5 As Long
Dim Ac6 As Long

Dim B1 As Single
Dim B2 As Single
Dim B3 As Long
Dim B4 As Long
Dim B4a As Single
Dim B5 As Single
Dim B6 As Single
Dim B7 As Long

Dim Mb As Single
Dim Mc As Single
Dim Md As Single

Dim Ut As Long
Dim Up As Long

Dim X1 As Single
Dim X2 As Single
Dim X3 As Single

Dim Zwr1 As Single
Dim Zwr2 As Single
Dim Zwr3 As Single
Dim Zwr4 As Single

Dim T As Single
Dim T_str As String * 4
Dim P As Single
Dim P2 As Single

Dim Po As Single
Dim A As Single
Dim A2(8) As Word
Dim Mittelwert As Word
Dim Averaging As Byte
Dim I As Byte

Dim Adres As Byte
Dim Value As Byte
Dim Result As Integer

Dim Hi As Long
Dim Lo As Long
Dim Xlo As Long


$lib "i2c_twi.lbx" ' we do not use software emulated I2C but the TWI
Config Scl = Portc.5 ' we need to provide the SCL pin name
Config Sda = Portc.4 ' we need to provide the SDA pin name
I2cinit


Declare Sub Write_bmp(byval Adres As Byte , Byval Value As Byte)
Declare Sub Read_bmp(byval Adres As Byte , Value As Byte)
Declare Sub Read_reg

Const Addressw = &B11101110 'slave write address
Const Addressr = &B11101111 'slave read address


'hole Kalibrierungsdaten
'-------------------------------------------------------------------------------
Adres = &HAA 'Startadresse calibration data

Call Read_reg
Ac1 = Result
Call Read_reg
Ac2 = Result
Call Read_reg
Ac3 = Result
Call Read_reg
Ac4 = Result
Call Read_reg
Ac5 = Result
Call Read_reg
Ac6 = Result
Call Read_reg
B1 = Result
Call Read_reg
B2 = Result
Call Read_reg
Mb = Result
Call Read_reg
Mc = Result
Call Read_reg
Md = Result

Averaging = 1

Do
'hole Rohdaten Temperatur
'-------------------------------------------------------------------------------
If Averaging = 1 Then 'datasheet: would be enough to get temp every second
Call Write_bmp(&Hf4 , &H2E)
While Pind.2 < 1 'wait until EOC is 1 ca. 5ms
Waitms 1
Wend

Call Read_bmp(&Hf6 , Value) 'read it back
Hi = Value * 256
Call Read_bmp(&Hf7 , Value) 'read it back
Ut = Hi + Value
End If
'hole Rohdaten Luftdruck
'-------------------------------------------------------------------------------
'Call Write_bmp(&Hf4 , &HF4) 'ultra-high precision mode
'Call Write_bmp(&Hf4 , &H34) 'normal mode
Call Write_bmp(&Hf4 , &HB4) 'high precision mode
While Pind.2 < 1 ''wait until EOC is 1 ca. 26 ms in ultra high precision mode
Waitms 1
Wend
Call Read_bmp(&Hf6 , Value) 'read it back
Hi = Value * 256
Call Read_bmp(&Hf7 , Value) 'read it back
Up = Hi + Value

'kalkuliere tatsaechliche Temperatur
'-------------------------------------------------------------------------------
Zwr1 = Ut - Ac6
Zwr2 = 2 ^ 15
Zwr2 = Ac5 / Zwr2
X1 = Zwr1 * Zwr2

Zwr1 = 2 ^ 11
Zwr2 = Mc * Zwr1
Zwr3 = X1 + Md
X2 = Zwr2 / Zwr3

B5 = X1 + X2

T = B5 + 8
Zwr3 = 2 ^ 4
T = T / Zwr3
T = T / 10
T_str = Str(t)
T_str = Left(t_str , 4)
'Print "T= " ; T_str ; " C"

'kalkuliere tatsaechlichen Luftdruck
'-------------------------------------------------------------------------------
B6 = B5 - 4000

Zwr1 = 2 ^ 11
Zwr2 = 2 ^ 12
Zwr3 = B6 / Zwr2
Zwr3 = B6 * Zwr3
Zwr4 = B2 * Zwr3
X1 = Zwr4 / Zwr1

Zwr1 = 2 ^ 11
Zwr2 = B6 / Zwr1
X2 = Ac2 * Zwr2

X3 = X1 + X2

Zwr1 = Ac1 * 4
Zwr1 = Zwr1 + X3
Zwr1 = Zwr1 + 2
B3 = Zwr1 / 4 '1010(orig)

Zwr1 = 2 ^ 13
Zwr2 = B6 / Zwr1
X1 = Ac3 * Zwr2

Zwr1 = 2 ^ 12
Zwr2 = 2 ^ 16
Zwr3 = B6 / Zwr1
Zwr3 = B6 * Zwr3
Zwr4 = B1 * Zwr3
X2 = Zwr4 / Zwr2

X3 = X1 + X2
X3 = X3 + 2
X3 = X3 / 4

Zwr1 = X3 + 32768
Zwr2 = 2 ^ 15
Zwr3 = Zwr1 / Zwr2

B4a = Ac4 * Zwr3
B4 = Abs(b4a)

B7 = Up - B3
Dim B7a As Long
B7a = B7 * 50000

Zwr1 = B7a * 2
Zwr1 = Zwr1 / B4
Zwr2 = B7a / B4
Zwr2 = Zwr2 * 2
If B7a < &H8000000 Then P = Zwr1 Else P = Zwr2

Zwr1 = 2 ^ 8
Zwr2 = P / Zwr1
X1 = Zwr2 * Zwr2

Zwr1 = 2 ^ 16
X1 = X1 * 3028
X1 = X1 / Zwr1
X1 = Abs(x1)

Zwr1 = -7357 * P
Zwr2 = 2 ^ 16
X2 = Zwr1 / Zwr2

Zwr1 = X1 + X2
Zwr1 = Zwr1 + 3791
Zwr2 = 2 ^ 4
Zwr1 = Zwr1 / Zwr2
P = P + Zwr1
P = P / 100

'kalkuliere Hoehenwerte
'-------------------------------------------------------------------------------
'Po = 1013.25 'Pressure auf Seepegel
Po = 1020.3
Zwr1 = 1 / 5.255
Zwr2 = P / Po
Zwr3 = Zwr2 ^ Zwr1
Zwr4 = 1 - Zwr3
A = 44330 * Zwr4
A = A * 100 'höhe in zentimetern
If Averaging <= 8 Then
A2(averaging) = Int(a)
Averaging = Averaging + 1
End If
If Averaging = 9 Then
Mittelwert = 0
For I = 1 To 8
Mittelwert = Mittelwert + A2(i)
Next
Mittelwert = Mittelwert / 8
Print Mittelwert 'ausgabe der höhe in zentimetern
Averaging = 1
End If
Loop
End

'------------------------------------------------------------
Sub Read_reg
Call Read_bmp(adres , Value)
Hi = Value * 256
Adres = Adres + 1
Call Read_bmp(adres , Value)
Result = Hi + Value
Adres = Adres + 1
End Sub

'----------------------------------------------------------
Sub Write_bmp(byval Adres As Byte , Byval Value As Byte)
I2cstart 'start condition
I2cwbyte Addressw 'slave address
I2cwbyte Adres 'address of register
I2cwbyte Value 'value to write
I2cstop 'stop condition
End Sub

'----------------------------------------------------------
Sub Read_bmp(byval Adres As Byte , Value As Byte)
I2cstart 'generate start
I2cwbyte Addressw 'slave address
I2cwbyte Adres 'address of register
I2cstart 'repeated start
I2cwbyte Addressr 'slave address (read)
I2crbyte Value , Nack 'read byte
I2cstop 'generate stop
End Sub

Bammel
05.06.2010, 18:28
kannst da nicht auch eine tiefpass einbauen?

mein bestand erhöht sich auch zunehmen. habe mir jetzt einen empfänger den Graupner R700 und den sender graupner mc-10 bei ebay ersteigert. beide fast neuwertig. und meine motoren plus regler sollten in den nächsten 40tagen eintrudeln.

Willa
05.06.2010, 21:44
kannst da nicht auch eine tiefpass einbauen?
Ein Mittelwert aus 8 Messungen ist ja schon eine Art Tiefpass. Ich habe jetzt aber noch einen zusätzlichen Tiefpass eingebaut (siehe Code) und die Werte sehen ganz ok aus (das Modul war im Wechsel auf 0m und auf 2.5m):

http://www.villalachouette.de/william/krims/tricopter/websitepics/bmp085.jpg

Damit lässt sich die vertikale Position bestimmt einigermaßen regeln. Ich glaube eine Regelung auf 2m genau ist möglich (die Verwirbelungen am echten Tricopter machen die Messwerte vielleicht noch etwas schlechter).

Sehr wenig erfreut bin ich allerdings von den Messungen meines 10Hz GPS Moduls...:


Hier stand das GPS mitten auf einer Wiese unter freiem, blauen Himmel still (ca. 1 minute lang):
http://www.villalachouette.de/william/krims/tricopter/websitepics/sup500_gps.jpg

Hier fahre ich mit meinem Auto eher auf der Straße als quer durch die Kleingartensiedlung:
http://www.villalachouette.de/william/krims/tricopter/websitepics/sup500_gps2.jpg

Tja, wie mache ich jetzt mit dem GPS-Modul weiter...? So wie die Messungen im Moment aussehen kann ich mir keine vernünftige Regelung vorstellen. Leider habe ich vorher noch nie mit GPS gearbeitet, daher kann ich die Ergebnisse nicht einschätzen. Ein Freund hat aber ein schönes µBlox GPS (4Hz), ich werde mal versuchen einen Vergleich zu erstellen.


'der Tiefpass code für den Drucksensor:
Hoehe = Hoehe * 0.95
A = A * 0.05
Hoehe = Hoehe + A
'mittelwert = hoehe
'Print Mittelwert

''(
If Averaging <= 8 Then
A2(averaging) = Int(hoehe)
Averaging = Averaging + 1
End If
If Averaging = 9 Then
Mittelwert = 0
For I = 1 To 8
Mittelwert = Mittelwert + A2(i)
Next
Mittelwert = Mittelwert / 8
Print Mittelwert 'ausgabe der höhe in zentimetern
Averaging = 1
End If

holzi
06.06.2010, 07:48
Guten morgen Willa,
versuche Deine Mittelwertbildung über einen gleitenden Mittelwert zu bilden und Du bekommst bessere Werte.

Peter

MrNiemand
06.06.2010, 08:46
Hm, die Frage ist kann man Abweichungen zu Kartendaten wirklich so gelten lassen? Unsere Straße geht z.b. quer durch Häuser wenn man die Karte+Satellitenbilder anzeigen lässt.
was man aber ganz gut sieht ist dass deine Position bei der Autofahrt durch z.b. die Bäume stark springt, derartiges sollte sich doch durch Kompass o.ä. etwas kompensieren lassen oder?
Kann dein Modul mit DGPS oder wie das heist umgehen? also den zusätzlichen Korrekturdaten.

Ich frage mich ja immer wie das im professionellen Bereich mit GPS gemacht wird. die positionieren auf einige cm genau und das zuverlässig.

Bammel
06.06.2010, 11:17
Guten morgen,

die professionellen GPS geräte sind aber bestimmt auchnoch ein wenig teuerer als die geräte die hier verwendet werden.

aber ich muss da mrniemand zustimmen mir ist auhc schon des öfteren aufgefallen das die straßeneinzeichnungen bei google-maps völlig daneben liegen und das liegt in dem bereich den du dort ungefähr gemessen hast.

was ich nur komisch finde ist halt an dem bild wo das gps modus auf der wiese liegt und einen angeblichen weg von ca 10meter zurücklegt. ich meine das entspricht eigentlich den spezifikationen vom zivilen gps. aber könnte man dorgt ich was mit den beschleunigungssensoren kompensieren? eine meine die dürften ja wenn die position gehalten werden soll nicht wirklich viel ausschlagen.

zum drucksensor wenn man nun noch einen beschleunigungssensor in der z-achse mit einbezieht meinst du nihct es wäre dann möglich durch integrieren oder derartigen, die höhe besser bestimmen zu können? oder zumindestens das schwanken von evtl vorkommenden +/- 1meter zu kompensieren? zumindestens im position hold modus.

gruß, bammel

Willa
06.06.2010, 11:33
versuche Deine Mittelwertbildung über einen gleitenden Mittelwert zu bilden und Du bekommst bessere Werte.
Hi Peter, ich mache im Moment immer Mitelwert von einem Block von 8 Werten. Das passt ganz gut, weil ich viel schneller abtaste als ich am Ende Werte herausschicke. Bei einem gleitenden Mittelwert wird "die Anzahl der Messwerte pro Zeit" nicht verringert, oder? Aber das ist es ja was ich will.


Hm, die Frage ist kann man Abweichungen zu Kartendaten wirklich so gelten lassen? Unsere Straße geht z.b. quer durch Häuser wenn man die Karte+Satellitenbilder anzeigen lässt.
Ich kann mir vorstellen, dass das Kartenmaterial evtl. insgesamt etwas verschoben ist, aber ich glaube nicht dass die Karte in sich verzogen ist. D.h. wäre der aufgezeichnete Pfad die ganze Zeit konstant neben der Straße, würde ich es aufs Kartenmaterial schieben, aber das ist ja nicht so.

Kann dein Modul mit DGPS oder wie das heist umgehen? also den zusätzlichen Korrekturdaten. DGPS ist mir dafür erstmal zu aufwendig, obwohl damit Positionierungen im cm Bereich möglich wären.

was ich nur komisch finde ist halt an dem bild wo das gps modus auf der wiese liegt und einen angeblichen weg von ca 10meter zurücklegt. ich meine das entspricht eigentlich den spezifikationen vom zivilen gps.
Ein Kumpel hat ein µBlox modul (das verwenden wohl nicht ohne Grund alle UAVs...) und er meinte, seine Werte sind alle in einem Radius von 2.5m. Das wäre schon mal besser. Ich werde mir wohl auch so eins besorgen müssen.

aber könnte man dorgt ich was mit den beschleunigungssensoren kompensieren?
Ich glaube, wenn der Copter langsam aus seiner Position driftet werden die ACCs as nicht mitbekommen. Die Beschleunigungen sind zu klein. Außerdem wird hauptsächlich die Erdbeschleunigung gemessen.

beschleunigungssensor in der z-achse mit einbezieht Ja, das kann man bestimmt machen. Aber ich glaube es müsste auch ohne gehen...

oratus sum
06.06.2010, 12:34
Hallo,

das Problem mit dem Stillstehenden GPS habe ich auch bei mir gemessen.

Bei den Navigationsgeräten hast du vom Prinzip her einen Unterschied. Dort sind ja die Karten vorgegeben, mit Straßen, Kreuzungen usw also ist bekannt wo das Auto fahren kann und wo nicht. So werden die GPS-Daten mit den Karten abgeglichen und quasi korrigiert.

Bei Flugzeugen hast du wieder was anderes da gibt es zwar die keine Karten mit den Aufenthaltsmöglichkeiten aber im Verhältnis zum Flugzeug sind 10m eine gute Auflösung.

Du hast das Problem, dass du weder vordefinierte Karten hast noch ist das Verhältnis zwischen Messgenauigkeit und deinem Copter gut.

Aber zum Problem mit dem Stillstehen:
Dein Copter weiß ja ob es sich Bewegt oder nicht. Sei es durch Variablen die deine Motorgeschwindigkeit beinhalten, sei es dein ACC-Sensor oder Gyro. Wenn du alles miteinander vergleichst kannst du die Koordinaten ausbessern. Das Poblem liegt aber eher darin zu wissen welche Koordinaten die richtigen sind, oder einfach annehmen, dass deine erste erhaltene Koordinaten die richtigen sind.

Aber wie ich schon oben geschrieben habe wirst du damit nicht viel genauer mesen können, allerdings reicht es doch vollkommen aus bestimmte Koordinaten anzufliegen, z.b. Berlin - München,mit Ladestationen dazwischen.

Alternative wäre die Landvermessung mittels Kamera. :-) Diese Langstreckenraketen der Amerikaner die Cruise Missiles haben bestimmte Landschaftsmerkmale eingeprägt und während des Fluges wird mit eienr Kamera das Land unterhalb angepeilt. Wollte ich nur mal in die Runde werfen. \:D/

Bammel
06.06.2010, 13:21
zu den raketen.. das militärische gps ist aber auch noch weiteus genauer als das zivil nutzbare.

Mohikaner
06.06.2010, 19:43
mal ne andere frage, in welchem fall brauchst denn überhaupt eine solche genauigkeit? maximal beim landen oder? weil autonomer flug ist zumindest über bewohnten gebiet eh grenzwertig. und wenn er mal in ner Höhe >50m rumschwirrt machen 10 meter abweichung auch nicht mehr so viel aus

Willa
06.06.2010, 20:30
und wenn er mal in ner Höhe >50m rumschwirrt machen 10 meter abweichung auch nicht mehr so viel aus Das Problem ist nur, dass man mit so unpräzisen Messungen keine vernünftige Flugregelung hinbekommt. Jedenfalls halte ich es für extrem schwierig und wenig spaßig. Das es mit GPS prinzipiell wunderbar funktioniert, zeigt z.B. dieses Video:
http://www.rcmovie.de/video/858cf22b819d0bce64fb/MikroKopter-HexaKopter-Test-der-Flugdauer

oratus sum
06.06.2010, 22:34
Also eine Flugregleung mittels GPS finde ich für utopisch, vorallem NUR mit GPS.

Ich meine die 10m Messgenauigkeit ist ja im Verhältnis zum Bot riesig. Wäre das ein 20*10m Hubi oder so wäre das ja vernachlässigbar...

Willa
06.06.2010, 23:06
Natürlich nutze ich nicht nur GPS sondern auch Kompass, ACC, Gyros, Druck.
Damit ist das sehr gut möglich wie man im von mir verlinkten Video sieht. Den Drucksensor habe ich jetzt mal in die Regelung meines Copters eingebunden. Ich werde demnächst mal probieren ob man damit die Höhe einigermaßen halten kann.

MrNiemand
07.06.2010, 06:46
hm du hast ja nicht zufällig zwei identische GPS Module? Falls doch würde ich beide mal mit einigem Abstand auf die Wiese legen. Theoretisch sollten doch beide etwa die selben Messfehler produzieren, und du könntest wenn denn du einen stationär verwendest diesen zur Korrektur des anderen verwenden.

Interessant wäre mal der Messwertverlauf deiner 10m Messung, sprich wie die Messpunkte springen über die Zeit. Ideal natürlich als csv file oder sonstwas ;) An sich will ich auch mal mehr mit GPS arbeiten in dem Bereich, habe es allerdings bisher nicht, genau wegen der Problematik, deswegen bin ich auch interessiert was man da noch rausholen kann usw.

Klar bei der 10m Messung würde man, wen man die ACC werte zur selben Zeit ansieht, merken das sich der Tricoptor garnicht bewegt hat, aber beim dynamischen Betrieb sieht es ja wieder ganz anders aus.

Zum Thema militärisches GPS: ich denke mal der Hauptunterschied liegt einfach daran, dass es immernoch funktioniert, auch wenn die Amis das "normale" abschalten ;) . Im zivilen Bereich gibt es doch auch einige verdammt genau arbeitende Systeme.

oratus sum
07.06.2010, 15:08
Ja die genau arbeitenden zivilien System werden meistens mit einer sehr genauen Uhr betrieben. Da es um Laufzeitmessugen geht lässt sich dieser "Fehler" auch so korrigieren.

Interessant wäre es wenn man versuchen würde den eingebauten Fehler zu beheben indem man irgendwie auf den algo kommt. Aber ich bin mir sicher, dass das sehr zufällig ist mit irgendwelchen äußeren Einflüssen verbunden.

Die Frage ist außerdem woher der Satellit weiß ob er einen Fehler einbauen soll oder nicht. Ich nehme an da gibt es ein Kommunikationsprotokoll...

Da ich das mit den Uhren gelesen habe, schließe ich daraus, dass der Fehler direkt in den Datensatz eingebaut wird. Sonst würde es ja nicht funktionieren, wenn der Satellit z.b. die Daten verzögert sendet.

Bammel
07.06.2010, 17:00
Ähm der bzw. die satelliten senden dauernt daten. das GPS modul an sich emfängt ja nur, ist ja auch kein sender drinne, und errechnet sich dann seine position. denke mal das der fehler vom umfeld beeinflusst wird.

willa hattet du als du das gps modul auf der wiese liegen hatten irgendwelche geräte an dir und hast sie bewegt!? hat evtl die drehung der erde etwas mit dem fehler zu tun?

in ein paar posts vorher wurde ein anderes protokol erwehnt welche angeblich schwerer auszuwerten ist. wäre es nicht aber evtl trotzdem besser dieses zu nehmen?

edit: streich das mit der drehung der erde.. dann müsste der fehler ja von links nach rechts laufen.

Chaosmann
08.06.2010, 00:08
Den künstlichen Fehler gibt es in den GPS-Daten nicht mehr.
Die Abweichung in den Daten sind vom Umfeld abhängig und somit am Besten mit einem zweiten als Referenzsystem dienenten GPS-Modul auszugleichen.

Gruß
Daniel

goara
08.06.2010, 13:25
habe mal ein wenig rumgegoogelt, der drift hängt wohl vom empfänger ab, je nachdem wie genau die uhr ist. Kann man zwar kompensieren, aber dafür braucht man dann ein handynetz, ist wohl eher nicht so praktisch.. denke auf einen anderen gps empfänger umzusteigen wäre wohl das einfachste. habe mittlerwiele auch alle teile (bis auf das gps , das war nicht leiferbar ) zusammen, werde dann mal ne platine zusammenbauen und auch bsichen programmieren, mal schauen was bei rauskommt.
Wegen dem Höhensensor, ich habe auch noch einen analogen hier, weis die bezeichnung gerade nicht auswendig, aber mit dem konnte ich die höhe auf ca 50cm genau messen, geht das mit dem spakfun teil nicht genauer? Ansosnten wäre da vielciht auch ein anderere zu suchen...?

MrNiemand
08.06.2010, 16:24
Ob es wirklich driftende Messwerte sind wäre denk ich noch zu klären, wenn er die Messwerte über die Zeit betrachtet postet.

Willa
08.06.2010, 17:09
driftende Messwerte sind wäre denk ich noch zu klären, wenn er die Messwerte über die Zeit betrachtet postet
Ja, es ist Drift wenn ich mir die Werte angucke. Habe mal ein bisschen rumgefragt, und die meinung über chinesen GPS-systeme sind sehr schlecht. Ohne ublox lea4 oder lea5 wird da wohl nichts gehen. Die Module stecken meistens in irgendwelchen GPS-Mäusen drin (z.B. von Conrad) die man nur zerlegen muss.

Wegen dem Höhensensor, ich habe auch noch einen analogen hier, weis die bezeichnung gerade nicht auswendig, aber mit dem konnte ich die höhe auf ca 50cm genau messen, geht das mit dem spakfun teil nicht genauer?
Ja, ich glaube besser als 50cm ist das BMP085 wohl, aber ob mans dann so genau geregelt bekommt ist noch eine andere Frage...

MrNiemand
08.06.2010, 18:27
habe selbst mal ein bisschen rumgesucht. NL 552 von Navilock hat z.b. den von dir gewünschten Chipsatz.
Auch ganz gut sieht dass aus: http://www.watterott.com/de/Venus-GPS-Modul

eines von beiden werden ich mir wohl auch mal bestellen, wobei ich mir noch nicht im klaren bin, welches von beiden jetzt effektiv besser ist. die 10Hz Updaterate vom VenusModul sind zwar nett, aber wenn die Werte dafür stärker verrauscht sind hat man nichts gewonnen.

Richard
08.06.2010, 19:02
Ähm der bzw. die satelliten senden dauernt daten. das GPS modul an sich emfängt ja nur, ist ja auch kein sender drinne, und errechnet sich dann seine position. denke mal das der fehler vom umfeld beeinflusst wird.


Die Ungenauigkeit einsteht durch Laufzeitunterschiede der verschiedenen
Satelliten zum Empfänger. Das kann mit sehr viel Aufwand korrigiert
werden wenn man z.B. die genaue Reihenfolge und Position der
Empfangenen Satelliten kennt. Hoch genaues GPS in 1 stelligen cm Bereich
können das, kosten aber Unsummen. 2 normale GPS Empfänger an der
gleichen Position platziert werden nur dann die gleiche Position anzeigen
wenn beide die gleichen Satelliten synchron (synchronisiert) empfangen.

Einfach einen Ortsfesten mit bekannter Position zum Abgleich nehmen
klappt deshalb nur sehr bedingt und wird zwar besser aber immer noch recht ungenau arbeiten.

Militärisches GPS Empfängt die Satelliten ID und kann dann die Daten
synchron auswerten B.z.w. korrigieren... Mir wäre auch nicht sehr wohl bei den Gedanken das so ein Ideologischer Spinner ein Großraummodellflieger
voll Trinitrituolol cm genau auf (sein) Ziel steuern könnte....Aber für nen Rasennäher ideal. :-)

Gruß Richard
arbeiten

goara
08.06.2010, 21:28
so mal kurz zu was anderem, ich habe die Triguidev3 mal umgebaut, jetzt heist sie QuadGuideV4
Das ganze sieht so aus:
http://robotik.dyyyh.de/repository/Quadguide.png
Änderungen:
4 statt 3 i2c ausgänge
3 statt 1 servo ausgang
2 weitere pins aufs board geführt
10Poliger Programmierstecker statt dem 6.Poligen
Quadratisch und ein wenig kleiner 77mmx77mm

der rest ist wie gewohnt..(Pinbelegung natürlich die selbe)
Für den Sensorwürfel werde ich noch eine Befestigungsplatine machen, die man dann in der mitte in den Sockel stecken kann.
Die Dateien gibt es hier: http://robotik.dyyyh.de/repository/quad.tar.gz

Hätte sonst noch jemand interesse an nem Quadrocopter nach Willa ? Würde dann gleich mehrere Platinen fräsen.. (ich hab mir auch so Lötstoppzeugs besorgt, denke das sieht dann ganz fein aus, habs aber noch nich getestet)
Für Verbesserungsvorschläge oder Fehlerhinweinse bin ich immer offen ;)

Willa
08.06.2010, 21:46
die 10Hz Updaterate vom VenusModul sind zwar nett
Das ist der gleiche Chip wie auf meinem GPS Modul. Würde ich also eher weniger empfehlen.
@Goran: Willst du nicht gleich die SMD Variante umbauen? Die ist deutlich kleiner und auch viel einfacher zu löten. Und einen MAX232 braucht man doch wirklich nicht durch die Gegend zu fliegen. Transistoren auch nicht unbedingt, moderne LEDs sind auch mit 10mA blendend hell.
Bin gespannt wie mein Copter mit 4 Motoren fliegt... Wenn du deinen fertig hast müssen wir aber wirklich mal ein Vergleichsfliegen machen!

MrNiemand
08.06.2010, 21:55
wäre es evl. möglich den Schaltplan mal als PDF oder so zu kriegen? ich habe leider kein Eagle.

goara
08.06.2010, 22:29
bin grad nicht mehr zu hause, schaltplan ginbts morgen.
Ok, der max232 muss nicht rumfliegen, aber der wiegt auch nichts, und platz habe ich genug.. Ich werd mir mal die smd version anschauen, aber smd löten ist nich so meins..

Willa
08.06.2010, 22:52
aber smd löten ist nich so meins..
bist du dir da ganz sicher...? Ich habe bis vor kurzem auch nur 2.54mm Raster gelötet und dachte SMD möchte ich nicht. Dann hab ichs probiert und finde es einfach nur extrem viel praktischer. Kein nerviges reingefummel von bedrahteten Bauteilen mehr, ständig muss die Platine hin und her gewendet werden... In SMD leg ich die Teile einfach drauf und tacker sie mit dem Lötkolben fest. Das geht viel schneller finde ich. Selbst einen Mega8 löte ich lieber in TQFP als in DIL Bauform. Und ich kann nicht behaupten besonders ruhige Finger zu haben.

goara
09.06.2010, 07:57
hmm naja, kann das schon so ist nicht, habe neulich sogar qfn32 gelötet mit fön, aber ich zitter schon arg, ohne bier geht da gar nix ;( Allerdings sicht es ja shcon schöner aus und ist praktisch, ich werde es mal wieder angehen ...

zum dem luftdrucksensor: habe folgendes geteste (mit einem anderen sensor, aber ist ja erst mal egal)
schreibe es mal als Pseudocode:



zaehler i;
if(i==100) i=0;
i++;
case select:
{
case 0<i<9
{
druck_1 = druck_1 + sensorausgang;
}
case 10<i<19
{
druck_2 = druck_2 + sensorausgang;
}
....
....

}
if(i==100)
{
druck = summe(druck_1....druck_10);
motordrehzahlen += (k*druck);
}


soll heissen:

I-Regler (vielciht noch ein wneig P dazu)
Starker tiefpass

der regler ist dann zwar langsam, aber für die höhenregelung immer noch schnell genug...
Ich bekomme so wirklich gute sensorsignale < 40cm genauigkeit

edit:
sorry mal völlig offtopic...
solche motoren wären doch mal ne feine sache für nen copter:
klick (http://hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=11162&Product_Name=HK2839_EDF_Outrunner_2800kv_for_70mm)
sieht sicher stilish aus..

KoaxPilot
11.06.2010, 23:31
Hi

erst mal ein riesen respekt !!!!

ich fliege jezt schon länger quadrokopter und möchte jezt mal euren Tricopter nachbauen ;)
sehe ich das richtig das ihr gerade in der GPS entwicklung für den tricopter seit ?

ich finde eure arbeit echt klasse ;)

goara
12.06.2010, 01:00
moin... ist bis jetzt effektiv nur willas arbeit..musst du ihm den respect geben^^ .aber ja sind jetzt an der gps entwicklung....

KoaxPilot
12.06.2010, 15:16
Hi

habe heute den rahmen geschnizt ;)
werde heute abend vllt noch die teile bei sparkfun bestellen :D

ich hab noch ein paar fragen die mir unklar sind :

kann man auch mikrokopter regler nutzen ?

sind die platinen layouts vom blog die aktuellen ?

kann man jeden empfänger der das summensingnal ausgibt nutzen ?

und benuzt ihr die 5v oder 3,3v variante vom arduino mini ?

danke schon mal im vorraus

goara
12.06.2010, 15:33
Hallo, ja die microcopterregler funktionieren, sind aber unnötig teuer.
Layouts sind aktuell
ja geht jeder empfänger
5V

KoaxPilot
12.06.2010, 15:38
wow das ging ja schnell ;)

ich werde erst mal die mikrokopter regler nehmen da ich sie da habe ;)

wie weit seit iihr den aktuell mit dem gps ?

Willa
12.06.2010, 16:01
@goran:

habe folgendes geteste (mit einem anderen sensor, aber ist ja erst mal egal)
schreibe es mal als Pseudocode:

du machst da doch einfach die Summe aus 100 Messungen, oder verstehe ich da was falsch...? Was du machst ist doch das gleiche wie das hier:


if i<100 then
i=i+1
druck=druck+sensormessung
else
i=0
motor=motor+k*druck
druck = 0
end if

@KoaxPilot:
ich bin grad dabei Luftdruck und Kompass zu testen. GPS mache ich erst weiter wenn ich mich dazu durchgerungen habe ein blox Modul zu bestellen.

goara
12.06.2010, 16:19
ja effektiv schon, aber so bekomme ich einen überlauf, sind zu viele werte und wenn ich einen tiefpass über 100 mache neu=alt*99+mess/100 ist der numerische rundungsfehler viel zu gross.. desswegen 10 tiefpässe und da den mittelwert..

KoaxPilot
12.06.2010, 18:20
habt ihr zufällig unbestückte blatinen ? bei mir geht das ätzen iwie immer schief ^^

goara
12.06.2010, 18:45
für nen tricopter oder für nen quadro? wenn du nen quadro willst, da bin ich grade am platine machen.. kann ich dir eine fräsen..

KoaxPilot
12.06.2010, 19:46
hi

also ich wirde eine für den tricopter haben wollen wenn das noch aktuell ist und ihr nicht auf den quadro umschwingt ;)

goara
12.06.2010, 21:09
nene der tricopter bleibt.. da musst du willa fragen.. der quadro wird nur ne modifikation von dem tri..

Willa
12.06.2010, 21:18
hi,
Ich habe noch platinen da, aber die verscherbel ich nicht zum schnäppchenpreis, sondern finanziere damit weitere teile für das projekt. Ich habe aber auch noch platinen mit verrutschter lötstoppmaske, die kannst du für 4 euro incl. verand haben...

Bammel
12.06.2010, 23:03
hier!!! sind die den noch lötbar?!

achso wegen treffen das klappt dieses we wohl nicht

KoaxPilot
13.06.2010, 00:51
jo also wen die noch lötbar sind wirde ich mich für den anfang auch damit zu frieden stellen ;)

Willa
13.06.2010, 13:37
hier ist ein bild von zwei verrutschten:
http://www.villalachouette.de/william/krims/tricopter/rutsch.jpg

KoaxPilot
13.06.2010, 14:15
sehen noch brauchbar aus immer her damit ;)

Bammel
13.06.2010, 14:33
ich nehm auch eine!

KoaxPilot
13.06.2010, 16:59
hi

hast du nur die triguide mini platine oder auch die normale ?

könntest du mal ein foto von einer zusammengebauten triguide V3 machen ich finde irgend wie keins ^^

habt ihr für die bauteile der triguide eine liste mit bestellnummer von reichelt ?

danke schon mal im vorraus

Willa
13.06.2010, 19:36
könntest du mal ein foto von einer zusammengebauten triguide V3 machen ich finde irgend wie keins ^^
In meinem Blog gibts fotos von der v3 und von der mini v2. Für die Miniversion habe ich eine Liste für Reichelt. Kannst mir mal eine email and trashcan @@@@ gmx.com schreiben, auch wegen deiner Adresse.

KoaxPilot
13.06.2010, 21:17
hast ne mail ;)

Willa
13.06.2010, 21:23
Heute hatte ich die Gelegenheit meinen Drucksensor und meinen Kompass draußen zu testen (Video folgt). Außerdem hatte ein Kumpel einen ublox LEA4 GPS Empfänger mit, den ich grad testen konnte. So viel vorweg, ich habe das Modul sofort bei Conrad bestellt nachdem ich diese Daten sah:
Stillstand:
http://www.villalachouette.de/william/krims/tricopter/websitepics/lea4_still.jpg

Achten laufen (die waren in echt wohl auch so krumm...):
http://www.villalachouette.de/william/krims/tricopter/websitepics/lea4_achtenl.jpg

Da sieht doch schon sehr viel besser aus als mit dem 10Hz Modul. Wenn ihr euch später mein Druck/ Kompass Video anguckt (Vorsicht, sehr langweilig), werdet ihr sehen, dass das GPS eigentlich gar nicht viel zu tun haben wird. Bei Windstille steht mein Copter ziemlich still, die Höhe wird relativ gut gehalten und der Kompass funktioniert sehr gut solange der Copter weniger als 10° gekippt ist. Gebt mir drei Tage nach Lieferung des GPS Sensors, dann funktioniert Heading Hold :-D

KoaxPilot
13.06.2010, 21:29
hey das klingt ja echt gut ;)
ich kann es garnicht abwarten bis ich meinen fertig habe :D :D
zum glück habe ich gleich drucksensor und kompass mitbstellt ;)

goara
14.06.2010, 00:10
ok, das gps sieht echt sher gut aus.. werd ich mir auch gleich eins holen...

Willa
14.06.2010, 08:25
Hi,
hier das Video von Druck und Kompass:
http://www.vimeo.com/12535282

Martinius11
14.06.2010, 12:34
kann man eigentlich mit dem GPS modul einer vorprogrammierten Route folgen ?

goara
14.06.2010, 12:38
ai sischer ;) muss man nur programmieren...

Bammel
14.06.2010, 16:08
super test... langweilig... aber lustig.. vorallem bei minute 2:30 wollte der dich verarschen wa :-D viel länger habe ich auch nicht geschaut...

ist die haltung der höhe den gut? kann man auf dem video ja nciht so richtig gut einschätzen.

KoaxPilot
14.06.2010, 19:44
so hab mir heute mal bei conrad ein Lea 4h für unschlagbare 50€ gekauft ;)
hier mal ein kleines bild :
http://img571.imageshack.us/img571/2051/unbenanntyj.th.jpg (http://img571.imageshack.us/i/unbenanntyj.jpg/)
is nich das beste bild ^^

oratus sum
15.06.2010, 15:42
Wie steuerst du denn das Teil an? Ist ja USB. Ich meine mein Bot hat ein USB-Host Modul aber direkt UART wäre ja besser. Ich nehem ja stark an, dass bei dem Modul das Prinzip UART <-> USB <-> Com-port in betrieb ist. Daher wäre es ja bisschen kontraproduktiv mit UART <-> UART zu USB <-> USB zu UART <-> UART.

Ich habe mir am Freitag dieses Teil bestellt:
372784 - 62

Ist zwar nicht für den Roboter, aber dadurch, dass MARS auch eine Bluetoothschnittstelle hat könnte ich es ja auslesen. Die 2m erreicht er laut beschreibung auch und 30€ sind ja nciht viel. Im gegensatz zu meienm Fastrax I300 welches ich noch nichtmal anrühren konnte

Willa
16.06.2010, 08:46
Wie steuerst du denn das Teil an? Ist ja USB.
Ja, da ist ein UART (3.3V) -> USB converter in der Conrad GPS Maus. D.h. man kann das Modul einfach rausnehmen und per UART abfragen.

Die 2m erreicht er laut beschreibung auch Draufschreiben dürfen die Hersteller leider fast alles... Außer den uBlox Modulen scheint aber für eine präzise Navigation keiner der GPS Empfänger zu taugen. Das ist jedenfalls die gängige Meinung von Drohnenbastlern. Wäre ja nur schön wenn diese Meinung falsch ist.

Nochmal zu dem Layout von der Navigationsplatine (die braucht auch noch einen Namen...): Vielleicht ist es gar nicht so schlau die Sensoren auf eine Platine zu packen. Platinen sind nun mal strikt zweidimensional, viel kompakter kann man aber in drei Dimensionen bauen. Ich dachte an so eine Art Turm/ Pyramide mit drei Etagen: Unten Stromversorgung, und Stecker für die Verbindung zur TriGUIDE & evtl. Funkmodul, in der Mitte dann Drucksensor und Kompass, ganz oben dann das GPS als Abschluss. Ich halte das für eine gute Möglichkeit, weil man diesen Turm auch mit Depron verschließen kann und dann der Drucksensor aus jeglicher Strömung raus ist. Außerdem ist der Kompass/ das GPS weiter weg von den Motoren. Was haltet ihr davon? Die drei Stockwerke kann man ja auch in Eagle Layouten, die werden dann mit vier CFK Stäbchen in den Ecken gestapelt.
@Goran, ich setze mich da mal ran, ok?

oratus sum
16.06.2010, 10:08
Ich werde in den nächsten Tagen zwei GPS Modle testen.

Das eine von Conrad mit Bluetoothverbindung für 30€, laut Hersteller 2m genau und mein Fastrax IT-300 für 60€ aut Hersteller 1,9m genau :-D

Ich war gestern eim Conrad und hab mir ne GPS Antenne für das Fastrax gekauft. Er sendet zwar Daten aber im Haus hat er trotzdem keinen Empfang.

Ich werde dann mal berichten.

Bammel
16.06.2010, 16:10
@william: die etagen lösung halte ich auch für sinnvoll. als namen hätte ich den vorschlag "TriNavi"

@oratus sum: seit wann sendet ein GPS empfänger!?

Richard
16.06.2010, 16:27
@oratus sum: seit wann sendet ein GPS empfänger!?

Meiner Sendet, der hat ne Bluethoot Schnittstelle. :-)

Gruß Richard

Bammel
16.06.2010, 16:33
ja aber das hat ja im prinzip nichts mit dem GPs zu tun

goara
16.06.2010, 22:50
Ok, tu das, sorry wollte ja behilflich sein, aber bei mit is grade zeittechnisch sowas von keine luft.. wenn ich wieder mehr zeit habe werd ich aber auch mal was zu beitragen ;)

oratus sum
16.06.2010, 23:22
Sooo

Ich hab heute das Fastrx IT300 in Betrieb genommen.

Ich war gestern beim Conrad und hab mir eine 10€ GPS Antenne geholt. Diese gleich direkt am Modul angelötet, das Ergebnis ist sehr gut:
https://www.roboternetz.de/phpBB2/files/gps.jpg%20

Ich habe die Antenne aus dem Fesnter gehalten und er hatte nach kurzer Zeit 7 Satelliten in Sich. Der Empfang war Exzellent 4/7 Satelliten hatte ich bei 100% und der Rest war nicht unter 80%.

Meine Wohung ist im Haus bisschen weiter oben. Das ist aber weil die Karte wahrscheinlich etwas ungenau ist.

Aja das sind 30 Messungen.

Original GPS RAW-Daten: (wens interessiert)


$GPGGA,210952.000,4813.9929,N,01624.5496,E,1,07,1. 7,183.6,M,43.4,M,,0000*55
$GPGSA,A,3,06,16,31,03,24,21,18,,,,,,2.5,1.7,1.8*3 6
$GPGSV,3,1,11,21,78,157,36,16,56,297,46,29,39,084, ,24,37,216,49*7C
$GPGSV,3,2,11,06,26,280,43,18,24,147,37,31,16,217, 46,05,14,036,*78
$GPGSV,3,3,11,03,11,281,39,30,07,146,,22,02,174,*4 C
$GPRMC,210952.000,A,4813.9929,N,01624.5496,E,0.06, 160.99,160610,,,A*68
$GPGGA,210953.000,4813.9929,N,01624.5496,E,1,07,1. 7,183.5,M,43.4,M,,0000*57
$GPGSA,A,3,06,16,31,03,24,21,18,,,,,,2.5,1.7,1.8*3 6
$GPGSV,3,1,11,21,78,157,36,16,56,297,46,29,39,084, ,24,37,216,49*7C
$GPGSV,3,2,11,06,26,280,43,18,24,147,37,31,16,217, 46,05,14,036,*78
$GPGSV,3,3,11,03,11,281,40,30,07,146,,22,02,174,*4 2
$GPRMC,210953.000,A,4813.9929,N,01624.5496,E,0.07, 143.18,160610,,,A*60
$GPGGA,210954.000,4813.9929,N,01624.5496,E,1,07,1. 7,183.4,M,43.4,M,,0000*51
$GPGSA,A,3,06,16,31,03,24,21,18,,,,,,2.5,1.7,1.8*3 6
$GPGSV,3,1,11,21,78,157,36,16,56,297,46,29,39,084, ,24,37,216,49*7C
$GPGSV,3,2,11,06,26,280,43,18,24,147,37,31,16,217, 46,05,14,036,*78
$GPGSV,3,3,11,03,11,281,40,30,07,146,,22,02,174,*4 2
$GPRMC,210954.000,A,4813.9929,N,01624.5496,E,0.06, 151.62,160610,,,A*68

Das Modul scheint ganz nett z sein.

Als nächstes teste ich mal das 30€ Teil. Ist heute angekommen, lädt aber noch...

[EDIT]
Ich habe meine Daten mit dem Freeware Programm VisualGPS analysiert:
http://www.visualgps.net/VisualGPS/Download/Download.html

laut dem Programm habe ich eine Standardabweichung von:

Latitude(Breitengrad): 1,642m
Longitude(Längengrad): 2,235m
Höhe ganze 5,623m

Man muss noch dazu sagen, dass ich kurz noch mit der Antenne in die Wohung gegangen bin wo er natürlich die Satelliten sofort verloren hat.

holzi
17.06.2010, 06:01
Guten morgen,
wenn ich mir Dein Bild anschaue kann da aber etwas nicht stimmen, denn dass kann keine Genauigkeit von 2 Meter sein. Wenn die 2 m stimmen sollten, müssen die Messdaten ja genau am Haus +- 2 m liegen. Das tun sie aber nicht. Soweit kannst Du Dich nicht aus dem Fenster gelehnt haben. Da kommt ca. eine Ungenauigkeit von 10 m hin.

Peter

holzi
17.06.2010, 06:01
Guten morgen,
wenn ich mir Dein Bild anschaue kann da aber etwas nicht stimmen, denn dass kann keine Genauigkeit von 2 Meter sein. Wenn die 2 m stimmen sollten, müssen die Messdaten ja genau am Haus +- 2 m liegen. Das tun sie aber nicht. Soweit kannst Du Dich nicht aus dem Fenster gelehnt haben. Da kommt ca. eine Ungenauigkeit von 10 m hin.

Peter

oratus sum
17.06.2010, 10:31
Die Antenne habe ich auf einen Stab befestigt der selbst so 2-3m lang ist (ich weiß es nicht genau, ein Bambusstab halt). Den habe ich aus dem Fenster gehalten. Wobei ich diesen wiederum nicht ganz raushalten konnte weil das Antennenkabel nur 2m lang ist.

Die 2m kommen hin. Man sieht das auf der Karte nicht ganz eindeutig aber da sieht man einen Rasen, links, dann das Haus, dazwischen ist noch ein Asphaltweg. Der Asphaltweg selbst ist so ca 2-2.5m breit. Und die Punkte sind in der Mitte des Weges ca

Ich werde sowieso noch mal Messungen durchführen und schauen.

holzi
18.06.2010, 19:30
Hallo,
ich verstehe das hier nicht. Ihr bekommt mit einem GPS-Empfänger, der sich fest an einem Ort befindet, sich also nicht bewegt, eine Genauigkeit von 2 m hin. Wenn ich das mit meiner GPS-Maus, eine RoyalTek STARIII inside, mache, bekomme ich eine Genauigkeit von 17m nur hin. Hier ein Bild von meinem Empfang der Rohdaten und anschlie0ender konvertierung für Google-Earth.
Ich empfange die Daten der Maus ganz normal mit Putty, speichere diese Daten in einer Textdatei ab und konvertiere sie dann in eine KML-Datei, die dann mit Google-Earth geöffnet wird. Es kann nicht sein, dass diese GPS-Maus schlecht ist. Ich verstehe das hier bei Euch nicht.

Peter

Willa
18.06.2010, 21:44
Es kann nicht sein, dass diese GPS-Maus schlecht ist
Vielleicht ist das ublox LEA-4 einfach extrem gut, so wie es immer gesagt wird. Wo befindest du dich denn mit dem Empfänger? Freie Sicht in alle Richtungen zum Himmel? Aus dem Fenster raushalten geht wohl nur gut wenn man glück hat, oder das Haus nicht hoch ist.
Wieso ist denn die GoogleEarth Auflösung bei dir so schlecht...?

dennisstrehl
18.06.2010, 22:09
Einige GPS-Empfänger verwenden eine digitale Filterung in Form einer Art Hysterese. GPS ist halt nicht so genau wie man sich das oft vorstellt.

Oder nutzt der andere Empfänger irgendeine Art DGPS? Und der schlechtere eben nicht?

oratus sum
18.06.2010, 23:30
ließ dir mal das durch:
http://www.kowoma.de/gps/Fehlerquellen.htm

da sind bei dir einige Bäume zu sehen...

holzi
19.06.2010, 08:39
Guten morgen,
ich werde heute Nachmittag auf s freie Feld fahren und dann mal Daten empfangen. Mal sehen, was dabei herauskommt.
In dem Bild liegt der GPS-Empfämger ca. 3m neben dem Haus auf einem Tisch. Bin selber gespannt, was da heute bei raus kommt.
Es gibt bei Google-Earth noch sehr viele Bereiche, bei denen die Auflösung so schlecht ist. Die Kleinstädte hier an der Ostsee gehören leider dazu.
Das Ergebniss teile ich Euch dann hier mit.

Peter

KoaxPilot
19.06.2010, 15:50
hi

hatte heute meinen erfolgreichen erstflug :)
bin grad dabei die parameter noch etwas anzupassen .
aber im großen und ganzen fliegt er schon echt gut :D
werde mal die tage ein video machen ;)

Willa
19.06.2010, 16:47
Hi,
Glückwunsch, das ging ja echt schnell...!

holzi
19.06.2010, 16:57
Hallo,
die Welt ist wieder für mich in Ordnung. Habe eine Messung über 10 Minuten an einem festen Standord mitten auf einem Maisfeld gemacht. Und siehe da, es ist eine Genauigkeit von 1,5 Meter. Die Probleme bei der Messung und wodurch die Fehler entstehen, waren mir eigentlich klar, dass sie sich aber so stark auswirken, war mir nicht bewusst bzw. Ich habe daran nicht geglaubt.

Peter

KoaxPilot
19.06.2010, 17:36
Hi,
Glückwunsch, das ging ja echt schnell...!

klar bei dem klasse teil musste es einfach schnell gehen ^^
ich hab die parameter jezt soweit eingestellt und bin begeistert bei windstille is schweben ohne steuern im umkreis von 5m garkein proplem :D :D :D

willa hast du den schon dein GPS empfänger bekommen ?

Willa
19.06.2010, 20:42
Cool, dann mach mal ein Video :-D Und wie fliegt sich mein Tricopter im Vergleich zu anderen Multicoptern? Ich habe noch nie was anderes geflogen, daher kann ich das nicht einschätzen. GPS ist da und heute wollte ich die ersten Versuche machen. Leider ist aber einfach ein Motor auf Vollgas angelaufen und hat das GPS vom Copter gerissen. Ich muss mir aber nochmal ein richtiges Konzept überlegen und die Software neu konzipieren. Bisher habe ich einfach die drei Sensoren (GPS, Druck, Kompass) zusammen und ohne Koordinierung abgefragt. Da hauen die sich gegenseitig die Signale kaputt. Sehr nervig solche Konflikte zu lösen :-( ...

KoaxPilot
19.06.2010, 21:48
naja nen vergleich gibt es nicht ^^ da deiin copter einfach zu gut fliegt :D:D
also ich bin bis jezt 2 verschiedene quadrocoptersystheme geflogen und muss sagen das der tricopter im vergleich besser fliegt , das liegt aber auch an den guten sensoren ;)
ich hab einfach die parameter per funk stück für stück angepasst und er fliegt einfach perfekt :D
wenn Position Hold per gps geht kann ich mal ein vergleichvideo machen .

könntest du die software mit dem kompass und luftdrucksensor mir geben oder is die nich brauchbar ^^ ?
hast du dafür ein extra arduino mini genommen oder leuft das noch über eins ?

Willa
19.06.2010, 21:53
Ich habe dafür einen extra arduino pro mini 3.3V, 8MHz genommen. Das ist der Code glaube ich....:

'===CHIP SETTINGS===
$regfile = "m328pdef.dat"
$framesize = 128
$swstack = 128
$hwstack = 128
$crystal = 8000000
$baud = 38400

Config Pind.2 = Input 'eoc
Config Pinb.5 = Output 'green led

Dim Ac1 As Single
Dim Ac2 As Single
Dim Ac3 As Single
Dim Ac4 As Long
Dim Ac5 As Long
Dim Ac6 As Long

Dim B1 As Single
Dim B2 As Single
Dim B3 As Long
Dim B4 As Long
Dim B4a As Single
Dim B5 As Single
Dim B6 As Single
Dim B7 As Long
Dim B7a As Long

Dim Mb As Single
Dim Mc As Single
Dim Md As Single

Dim Ut As Long
Dim Up As Long

Dim X1 As Single
Dim X2 As Single
Dim X3 As Single

Dim Zwr1 As Single
Dim Zwr2 As Single
Dim Zwr3 As Single
Dim Zwr4 As Single

Dim T As Single
Dim P As Single

Dim Po As Single
Dim A As Single
Dim Height_filt As Single
Dim A2(6) As Integer 'Word
Dim Height As Integer 'Word
Dim Averaging As Byte
Dim I As Byte
Dim Startup As Word
Dim Okay As Bit
Dim Heightzero As Single

Dim Adres As Byte
Dim Value As Byte
Dim Result As Integer

Dim Hi As Long


Dim P_set_height As Single
Dim P_set_height_old As Single
Dim I_set_height As Single
Dim D_set_height As Single
Dim P_set_height_out As Single
Dim I_set_height_out As Single
Dim D_set_height_out As Single
Dim Setpoint_height As Single
Dim Outputpid As Byte
Dim Outputpid_height_integer As Single


'output:
Dim Command(2) As Byte


'compass
' I2C-Slave-Address of the HMC6352 Digital Compass Module and Configuration values
Const Compass_address = &H42
Dim Compass_w_array(3) As Byte
Compass_w_array(1) = &H47 ' "G"-Command: write to RAM
Compass_w_array(2) = &H74 ' RAM Address H74: Operational Mode
'Compass_w_array(3) = &B01110000 ' 20Hz, Set/Reset=yes, Standby mode
Compass_w_array(3) = &B01110010 ' 20Hz, Set/Reset=yes, Standby mode
' Compass value read variables
Dim Compass_r_array(2) As Byte ' Byte array for the two bytes of heading value
Dim Compass_value As Word At Compass_r_array(1) Overlay ' WORD variable for the heading value
Dim Compass_value2(6) As Integer
Dim Heading As Integer
Dim Setpoint_heading As Integer
Dim P_set_heading As Integer
Dim P_set_heading_raw As Integer
Dim P_set_heading_raw_abs As Word
Dim P_set_heading_v1 As Integer
Dim P_set_heading_v1_abs As Word
Dim P_set_heading_out As Integer
Dim I_set_heading_out As Integer
Dim I_set_heading As Single

Dim Outputpid_heading_integer As Integer



'===READ RX SETTINGS===
Config Timer0 = Timer , Prescale = 256
On Timer0 Detectrxpause 'timer overflow = pause in receiver's signal
Config Int1 = Rising
On Int1 Getreceiver


$lib "i2c_twi.lbx" ' we do not use software emulated I2C but the TWI
Config Scl = Portc.5 ' we need to provide the SCL pin name
Config Sda = Portc.4 ' we need to provide the SDA pin name
I2cinit


Declare Sub Write_bmp(byval Adres As Byte , Byval Value As Byte)
Declare Sub Read_bmp(byval Adres As Byte , Value As Byte)
Declare Sub Read_reg

Const Addressw = &B11101110 'slave write address
Const Addressr = &B11101111 'slave read address


'--Read Receiver (Rx)--
Dim Empf(6) As Word 'data from getreceiver interrupt
Dim Sempf(6) As Integer 'rescaled data
Dim Channel As Byte 'current channel to be read out
Dim Rc_on_counter As Word 'counter that counts the amount of correct rx signals
Dim Poslock As Bit
Dim Poslock_old As Bit



Config Twi = 100000

Enable Timer0
Enable Int1
Enable Interrupts

Config Serialout = Buffered , Size = 254

Clear Serialout

Waitms 100

'hole Kalibrierungsdaten
'-------------------------------------------------------------------------------
Adres = &HAA 'Startadresse calibration data

Call Read_reg
Ac1 = Result
Call Read_reg
Ac2 = Result
Call Read_reg
Ac3 = Result
Call Read_reg
Ac4 = Result
Call Read_reg
Ac5 = Result
Call Read_reg
Ac6 = Result
Call Read_reg
B1 = Result
Call Read_reg
B2 = Result
Call Read_reg
Mb = Result
Call Read_reg
Mc = Result
Call Read_reg
Md = Result
Averaging = 1

'compass config
I2csend Compass_address , Compass_w_array(1) , 3 ' set Compass Configuration

Waitms 100

Do

If Empf(5) > 185 And Empf(6) > 170 Then
Poslock = 1
Else
Poslock = 0
End If

'lese kompass:
I2creceive Compass_address , Compass_r_array(1) , 0 , 2 ' receive the two heading bytes MSB first
Swap Compass_r_array(1) , Compass_r_array(2) ' swap MSB and LSB bytes to be read as WORD variable
Compass_value = Compass_value / 10
'Print Compass_value 'in degrees

'hole Rohdaten Temperatur
'-------------------------------------------------------------------------------
If Averaging = 1 Then 'datasheet: would be enough to get temp every second
If Okay = 1 Then
Toggle Portb.5
End If
Call Write_bmp(&Hf4 , &H2E)
While Pind.2 < 1 'wait until EOC is 1 ca. 5ms
Waitus 100
Wend

Call Read_bmp(&Hf6 , Value) 'read it back
Hi = Value * 256
Call Read_bmp(&Hf7 , Value) 'read it back
Ut = Hi + Value
End If
'hole Rohdaten Luftdruck
'-------------------------------------------------------------------------------
'Call Write_bmp(&Hf4 , &HF4) 'ultra-high precision mode
'Call Write_bmp(&Hf4 , &H34) 'normal mode
Call Write_bmp(&Hf4 , &HB4) 'high precision mode

While Pind.2 < 1 ''wait until EOC is 1 ca. 26 ms in ultra high precision mode
Waitus 100
Wend

Call Read_bmp(&Hf6 , Value) 'read it back
Hi = Value * 256
Call Read_bmp(&Hf7 , Value) 'read it back
Up = Hi + Value

'kalkuliere tatsaechliche Temperatur
'-------------------------------------------------------------------------------
Zwr1 = Ut - Ac6 : Zwr2 = 2 ^ 15 : Zwr2 = Ac5 / Zwr2 : X1 = Zwr1 * Zwr2
Zwr1 = 2 ^ 11 : Zwr2 = Mc * Zwr1 : Zwr3 = X1 + Md : X2 = Zwr2 / Zwr3 : B5 = X1 + X2
T = B5 + 8 : Zwr3 = 2 ^ 4 : T = T / Zwr3 : T = T / 10

'kalkuliere tatsaechlichen Luftdruck
'-------------------------------------------------------------------------------
B6 = B5 - 4000 : Zwr1 = 2 ^ 11 : Zwr2 = 2 ^ 12 : Zwr3 = B6 / Zwr2 : Zwr3 = B6 * Zwr3 : Zwr4 = B2 * Zwr3 : X1 = Zwr4 / Zwr1
Zwr1 = 2 ^ 11 : Zwr2 = B6 / Zwr1 : X2 = Ac2 * Zwr2 : X3 = X1 + X2
Zwr1 = Ac1 * 4 : Zwr1 = Zwr1 + X3 : Zwr1 = Zwr1 + 2 : B3 = Zwr1 / 4
Zwr1 = 2 ^ 13 : Zwr2 = B6 / Zwr1 : X1 = Ac3 * Zwr2
Zwr1 = 2 ^ 12 : Zwr2 = 2 ^ 16 : Zwr3 = B6 / Zwr1 : Zwr3 = B6 * Zwr3 : Zwr4 = B1 * Zwr3 : X2 = Zwr4 / Zwr2
X3 = X1 + X2 : X3 = X3 + 2 : X3 = X3 / 4
Zwr1 = X3 + 32768 : Zwr2 = 2 ^ 15 : Zwr3 = Zwr1 / Zwr2 : B4a = Ac4 * Zwr3 : B4 = Abs(b4a)
B7 = Up - B3 : B7a = B7 * 50000 : Zwr1 = B7a * 2 : Zwr1 = Zwr1 / B4 : Zwr2 = B7a / B4 : Zwr2 = Zwr2 * 2
If B7a < &H8000000 Then P = Zwr1 Else P = Zwr2
Zwr1 = 2 ^ 8 : Zwr2 = P / Zwr1 : X1 = Zwr2 * Zwr2
Zwr1 = 2 ^ 16 : X1 = X1 * 3028 : X1 = X1 / Zwr1 : X1 = Abs(x1)
Zwr1 = -7357 * P : Zwr2 = 2 ^ 16 : X2 = Zwr1 / Zwr2
Zwr1 = X1 + X2 : Zwr1 = Zwr1 + 3791 : Zwr2 = 2 ^ 4 : Zwr1 = Zwr1 / Zwr2 : P = P + Zwr1 : P = P / 100

'kalkuliere Hoehenwerte
'-------------------------------------------------------------------------------
Po = 1013.25 'Pressure auf Seepegel
Zwr1 = 1 / 5.255 : Zwr2 = P / Po : Zwr3 = Zwr2 ^ Zwr1 : Zwr4 = 1 - Zwr3 : A = 44330 * Zwr4

If Okay = 0 Then
If Startup < 200 Then
Startup = Startup + 1
If Startup > 150 Then
Heightzero = Heightzero + A
End If
Else
Okay = 1
Heightzero = Heightzero / 50
End If
End If
A = A - Heightzero
A = A * 100 'höhe in zentimetern

If Okay = 0 Then
Height_filt = A
For I = 1 To 6
A2(i) = A
Next
End If

Height_filt = Height_filt * 0.965 '0.96
A = A * 0.035 '0.04
Height_filt = Height_filt + A

Height_filt = Height_filt

If Averaging <= 6 Then
A2(averaging) = Int(height_filt)
Averaging = Averaging + 1

End If

If Averaging = 7 Then 'reduced output rate
Height = 0
For I = 1 To 6
Height = Height + A2(i)
Next
Height = Height / 6

Heading = Compass_value

If Poslock_old <> Poslock Then 'switched
If Poslock = 1 Then
Setpoint_height = Height
Setpoint_heading = Heading
P_set_height = 0
P_set_heading = 0
I_set_height = 0
I_set_heading = 0
D_set_height = 0
End If
If Poslock = 0 Then 'switch off
Command(1) = 128
Command(2) = 128
Printbin Command(1)
End If
Poslock_old = Poslock
End If

If Okay = 1 And Poslock = 1 Then
P_set_height = Setpoint_height - Height
P_set_height_out = P_set_height * 0.03 '10cm --> 1.5 direkt auf motoren
I_set_height = I_set_height + P_set_height

If I_set_height > 500000 Then
I_set_height = 500000
End If
If I_set_height < -500000 Then
I_set_height = -500000
End If

I_set_height_out = I_set_height * 0.00008 '0.00005
D_set_height = P_set_height - P_set_height_old
D_set_height_out = D_set_height * 0.16 '0.1
P_set_height_old = P_set_height
'Print Height ; " " ; P_set_height_out ; " " ; i_set_height_out ; " " ; d_set_height_out
'Print "height: " ; Height
Outputpid_height_integer = 128 + P_set_height_out
Outputpid_height_integer = Outputpid_height_integer + I_set_height_out
Outputpid_height_integer = Outputpid_height_integer + D_set_height_out

If Outputpid_height_integer > 254 Then
Outputpid_height_integer = 254
End If
If Outputpid_height_integer < 0 Then
Outputpid_height_integer = 0
End If

'heading




P_set_heading_raw = Setpoint_heading - Heading
''(
If P_set_heading_raw > 0 Then
P_set_heading_v1 = P_set_heading_raw - 359
P_set_heading_v1_abs = Abs(p_set_heading_v1)
P_set_heading_raw_abs = Abs(p_set_heading_raw)
If P_set_heading_v1_abs > P_set_heading_raw_abs Then
P_set_heading = P_set_heading_raw
Else
P_set_heading = P_set_heading_v1
End If
Elseif P_set_heading_raw < 0 Then
P_set_heading_v1 = P_set_heading_raw + 359
P_set_heading_v1_abs = Abs(p_set_heading_v1)
P_set_heading_raw_abs = Abs(p_set_heading_raw)
If P_set_heading_v1_abs > P_set_heading_raw_abs Then
P_set_heading = P_set_heading_raw
Else
P_set_heading = P_set_heading_v1
End If
End If
'')

'P_set_heading = P_set_heading_raw

'print p_set_heading




P_set_heading_out = P_set_heading / 2

I_set_heading = I_set_heading + P_set_heading
If I_set_heading > 960 Then
I_set_heading = 960
End If
If I_set_heading < -960 Then
I_set_heading = -960
End If

I_set_heading_out = I_set_heading / 16 ' *0.1 geht nich...

I_set_heading_out = 0

Outputpid_heading_integer = 128 + P_set_heading_out
Outputpid_heading_integer = Outputpid_heading_integer + I_set_heading_out

'Print Heading ; " " ; P_set_heading_out ; " " ; I_set_heading_out ; " " ; Outputpid_heading_integer

If Outputpid_heading_integer > 254 Then
Outputpid_heading_integer = 254
End If
If Outputpid_heading_integer < 0 Then
Outputpid_heading_integer = 0
End If


Command(1) = Outputpid_height_integer
Command(2) = Outputpid_heading_integer

'Printbin Command(1)

Print Height ; " " ; Heading

End If
Averaging = 1
End If



Loop
End

'------------------------------------------------------------
Sub Read_reg
Call Read_bmp(adres , Value)
Hi = Value * 256
Adres = Adres + 1
Call Read_bmp(adres , Value)
Result = Hi + Value
Adres = Adres + 1
End Sub

'----------------------------------------------------------
Sub Write_bmp(byval Adres As Byte , Byval Value As Byte)
I2cstart 'start condition
I2cwbyte Addressw 'slave address
I2cwbyte Adres 'address of register
I2cwbyte Value 'value to write
I2cstop 'stop condition
End Sub

'----------------------------------------------------------
Sub Read_bmp(byval Adres As Byte , Value As Byte)
I2cstart 'generate start
I2cwbyte Addressw 'slave address
I2cwbyte Adres 'address of register
I2cstart 'repeated start
I2cwbyte Addressr 'slave address (read)
I2crbyte Value , Nack 'read byte
I2cstop 'generate stop
End Sub

'===READ RX================================================ =====================
Getreceiver: 'falling edge detection
If Channel > 0 And Channel < 7 Then 'fill empf(1-5)
Empf(channel) = Timer0
End If
Timer0 = 131 'preload for 4.096 ms
Incr Channel 'if no falling edge was detected for a longer period, channel will increase above 11
Return 'that means that there are problems with the receiver

Detectrxpause:
Channel = 0
Timer0 = 131 'preload for 4.096 ms
Return

KoaxPilot
19.06.2010, 22:09
ok

ich werde morgen mal nen board mit einem atmega32 löten und das ganze mal testen ;)

kommt auf der triguid auch noch eine extra software drauf ?

Willa
19.06.2010, 22:36
Ich habe diese hier drauf. Sollte gehen, aber ist wohl noch nicht optimal:


'===CHIP SETTINGS===
$regfile = "m328pdef.dat"
$framesize = 64
$swstack = 64
$hwstack = 64
$crystal = 16000000
$baud = 38400



edit: tja, darf ich leider nicht posten, da länger als 20.000 Zeichen...

KoaxPilot
19.06.2010, 22:53
mhmm schade :( könntest du mir das mal per mail senden ? wirde das gerne mal morgen testen ;)

Bammel
19.06.2010, 23:29
als txt anhängen.

william kommen meine mails nicht an?

Willa
19.06.2010, 23:40
dochdochdoch :-D
Ja, wo bekommt der Regler seine 5V her wenn das BEC entfernt wurde... Darüber habe ich noch nie nachgedacht :-D Aber das BEC ist ausschließlich für den Empfänger und die Servos gedacht, also muss da noch ein weiterer Spannungsregler auf der Platine sein. Wenn du morgen mit dem Auto kommst, bring doch auch das Chassis mit. Ich bringe meinen Laptop auch mal mit. Und vielleicht hat ja jemand morgen von euch nen Tipp zum sinnvollsten Aufau meines Navi Programms.

Bammel
20.06.2010, 10:14
Hi,
das chassis ist aber noch kein bischen verbaut etc. nhabe nur die teile zugeschnitten und gebohrt. aber bringe es trotzdem gerne mit. ich könnte es auchnoch verschrauben aber ich habe noch keine passenden längen der schrauben da.

über dein navi können wir echt gerne schnacken. ich habe ja auchnoch eine idee.

KoaxPilot
20.06.2010, 12:33
Bammel woraus hast du den dein chassis gebaut ?
selber geschnizt oder cnc gefräst ?

Bammel
20.06.2010, 13:04
Aus Alu-Profilen, das ist leider doch verdammt schwer. denke mal das mein copter wohl ca 1KG wiegen wird. aber eben beim montieren ist mir aufgefallen das ich die auslegen noch gut kürzen kann.

aber das reicht mir fürs erste da ich bislang noch nichts geflogen habe und ich mit sicherheit nicht nur einmal abstürzen werde.

aber ich plane (im kopf habe ich es zumindestens schon) noch ein chassis aus flugzeugsperrholz und balsa zu entwerfen. das wird dann cnc gefräst.

KoaxPilot
20.06.2010, 13:55
hi

hier mal ein blid von meinem aktuellen aufbau .
is natürlich noch alles unordentlich , momentan geht es erst mal darum dass er fliegt . in den sommerferien geht es dan an einen ordentlichen ;)
http://img37.imageshack.us/img37/2658/img3461d.th.jpg (http://img37.imageshack.us/i/img3461d.jpg/)

oratus sum
20.06.2010, 19:54
Hallo

ist vielleicht nicht mehr ganz aktuell aber vllt doch anz interessant bezüglich des GPS:

Ich habe heute eine Fahrt von Wien nach budapest und zurück hinter mir. Dabei hatte ich dei ganze Zeit beide GPS am laufen.

Nochmal: Hama Bluetooth Gps für 30€

und

Fastrax IT-300 GPS Modul selbst verlötet usw mit GPS Antenne für 60€

Nunja, das Fastrax Teil hatte die gesamte fahrt lang mind. 10 Sats im Auge meistens 11-12.

Hier einige Bilder. Das erste Bild ist kurz ach dem Einshalten ca 10-15sec nach einschalten.

http://img163.imageshack.us/img163/2640/gps01.th.jpg (http://img163.imageshack.us/i/gps01.jpg/)

http://img576.imageshack.us/img576/8954/gps02.th.jpg (http://img576.imageshack.us/i/gps02.jpg/)

http://img571.imageshack.us/img571/3407/gps03.th.jpg (http://img571.imageshack.us/i/gps03.jpg/)

Das Fastrax Teil hatte immer eien geneauigkeit uter 2m meistens 1.17 im durchschnitt. Das Hama Teil pendelte zwischen 1,5 und 2,5

holzi
21.06.2010, 05:26
Guten morgen,
Du bestätigst meine Messungen. Die Abweichungen sind ja noch größer als Deine Maßángaben, denn Du bist mit Sicherheit nicht in der Straßen mitte gefahren. So sieht es jedenfalls auf Deinem zweiten Bild aus.
Peter

KoaxPilot
21.06.2010, 15:49
hi

gibt es den schon was neues in sachen GPS ?

willa wie hast du den denn GPS empfänger konfiguriert , über das Ublox center ?

oratus sum
21.06.2010, 15:55
Guten morgen,
Du bestätigst meine Messungen. Die Abweichungen sind ja noch größer als Deine Maßángaben, denn Du bist mit Sicherheit nicht in der Straßen mitte gefahren. So sieht es jedenfalls auf Deinem zweiten Bild aus.
Peter

Wo fahre ich da bitte auf der Straßenmitte? Ich fahre genau in der Spur wo die Linien vferläuft. Der Strich hat eine Breite von 6px oder sowas. Ich sehe da kaum Messfehler. Man kann noch dazu sagen, dass das bluetooth hama GPS vorne unter der Frontscheibe im Auto war, das Fastrax war hingegen hinten auf der linken Seite des Autos mittels Magnet angebracht, außerhalb.

Das mit der Straßenmitte verstehe ich nicht. Wo fährst du bitte? Am Straßenrand?

holzi
21.06.2010, 16:23
Siehste, ich hab schon eine Brille auf. Ich habe die andere Spur als rechte Spur angesehen. Da die obere aber die rechte ist, ist alles OK. Tschuldigung.

Peter

oratus sum
21.06.2010, 16:25
Siehste, ich hab schon eine Brille auf. Ich habe die andere Spur als rechte Spur angesehen. Da die obere aber die rechte ist, ist alles OK. Tschuldigung.

Peter

Als würde ich meinen Vater/ meine Mutter hören :-D

Bammel
21.06.2010, 19:55
mein Tricopter chassis.

so langsam sammelt sich alles zusammen.

KoaxPilot
21.06.2010, 20:22
hey sieht echt gut aus ;) ;)

wie machst du die anlekung von dem heckmotor ??

Bammel
21.06.2010, 20:28
Wie william auch mit einem servo. die mechanik ist aber noch nciht vorhanden da ich noch keine welle und lager da habe.

xenton
21.06.2010, 20:57
Uff. Ich hab' ihn durch den Thread!

Einfach nur Genial! Ein riesen Kompliment für das Projekt.

Gut dann stell ich mich mal kurz vor:
Mein Name ist Martin, bin 40 und komme aus Garbsen in der Nähe von Hannover.
Ich bin beim surfen nach Quatrokoptern auf dies Projekt gestoßen und werde mich wohl in die Reihe der Nachbauer einreihen. Vielleicht kann ich ja auch ein wenig zur weiterentwicklung beitragen, wenn ich besser im Thema stecke.

Hier schon mal die erste Frage (ich hoffe, ich habe es nicht schon überlesen):
Gibt es einen Grund, das Servo mit zu bewegen?
Wenn selbiges im Chassis säße, also weiter zur Mitte, wäre doch die Gefahr der Beschädigung beim Sturz nicht so groß. Und man hätte weniger bewegte Masse.
Gruß, Martin

KoaxPilot
21.06.2010, 21:24
hallo xenton

also wie und wo du den servo befestigst ist egal hauptsache er bewegt den heckmotor ausreichend in beide richtungen . du musst dan wahrscheinlich nur die parameter etwas anpassen .
bei mir ist der servo auch fest an dem aluausleger befestigt und schwenkt nur den motor ;)
ich kann wenn du möchtest gerne mal ein foto machen ;)

Willa
21.06.2010, 21:27
Hi,

Gibt es einen Grund, das Servo mit zu bewegen?
Wenn selbiges im Chassis säße, also weiter zur Mitte, wäre doch die Gefahr der Beschädigung beim Sturz nicht so groß. Und man hätte weniger bewegte Masse.
Die Idee war das Gestänge möglichst kurz zu halten und so eine spielfreie und direkte Anlenkung zu ermöglichen. Bei der bewegten Masse spielt das keine große Rolle mehr, denn die virtuelle Masse eines schnell drehenden Motors + Propellers ist ziemlich hoch...

xenton
21.06.2010, 21:42
...Bei der bewegten Masse spielt das keine große Rolle mehr, denn die virtuelle Masse eines schnell drehenden Motors + Propellers ist ziemlich hoch...
Auch wieder wahr.
Meine Idee war, zwei Rohre ineinander zu legen (Kugelgelagert) und auf das innere dann den Motor zu setzen. Dadurch kann ich das Servo im "geschützen" Bereich unterbringen.

@Koaxpilot: Bilder nehm ich immer gerne...

KoaxPilot
21.06.2010, 21:45
bilderschen kommen morgen ;) ;)

KoaxPilot
21.06.2010, 21:51
bilderschen kommen morgen ;) ;)

Bammel
21.06.2010, 22:21
Meine Idee war, zwei Rohre ineinander zu legen (Kugelgelagert) und auf das innere dann den Motor zu setzen. Dadurch kann ich das Servo im "geschützen" Bereich unterbringen.


mach das ganze aber auch wieder unnötig schwerer.

Andree-HB
23.06.2010, 06:36
Willa, Du bist einmal mehr mein ganz persönlicher Held !

Es mit so einem schwärmerischen Bericht (über einen Umweg) auf die Startseite vom DEM internationalen DIY`ler-Blog zu schaffen, das ist schon was ! ;-)

http://blog.makezine.com

Seitenzugriffe und Anfragen werden explodieren ! :-)

Willa
23.06.2010, 09:33
Jo cool :-D Hier ist der Link zum ausführlichen Artikel:
http://www.tomsguide.com/us/tricopter-diy-gadget,review-1552.html

Andree-HB
23.06.2010, 09:42
Übrigens, meinen allerherzlichsten Glückwunsch zum Dreißigsten !!!

Bammel
23.06.2010, 16:38
Hey, Glückwunsch zum geburtstag!

und glückwunsch zu dem coolen artikel.

ich habe gestern meine propeller + zubehör bestellt. und meine reicheltbestellung ist auch shcon auf den weg zu mir. zu dumm das ich die atmega8 vergessen habe zu bestellt. dnan muss ich vorher wohl doch die software für den dreier i²c-pwm kconverter testen oder noch schnell bei conrad mitnehmen. wobei ich da eh hin muss.

Andree-HB
23.06.2010, 17:02
...by the way - Atmega8/16 DIP kostet derzeit 3,40€ bei Reichelt, ich habe bei einer der letzten Bestellung vor ein paar Monaten lediglich 1,25€ dafür bezahlt...

Erstaunlicherweise nimmt Conrad momentan "nur" 4,18€ (echt günstig für die)

KoaxPilot
23.06.2010, 17:29
hey

auch von mir alles gute zum Geburtstag ;)

xenton
23.06.2010, 23:50
Dem schließe ich mich doch gerne an.
Herzlichen Glückwunsch!

Gruß, Martin

goara
26.06.2010, 23:07
So... kam mal wieder ein wenig zum Layouten...
Habe die Platine jetzt nochmal geänder.
http://robotik.dyyyh.de/quadro/quadguidev3_1.png
Was alles drauf ist:
- alles wie bei der originalplatine
- zusätlicher i2c out, also 4
- 3 servo outs
- nen max232 ;)
- 2 gpio mit vcc und gnd
- 3 led oder schaltausgänge mit led auf der platinbe + anschluss für led am copter
- sockel für sensorcube

hier noch die eagle dateien (http://robotik.dyyyh.de/quadro/quadguide3_1.tar.gz)

KoaxPilot
28.06.2010, 20:41
hi

wie weit seit ihr den mit dem GPS ?

Willa
28.06.2010, 22:05
Hi,
also "ihr" bin in diesem Fall wohl leider nur ich, und ich konzentriere mich im Moment auf die IMAV2010 (http://imav2010.org). Damit ist mein Multikopterpensum erstmal voll. Danach mache ich am GPS weiter.

xenton
28.06.2010, 22:20
Hallo!
Ich versuche mich auch mal mit einem Layout, allerdings ohne Arduino, also Controller direkt aufgelötet, und als einseitige Platine. Dazu noch ein paar Fragen:
@Willa:
Sind die blauen LEDs nur Status LEDs oder für Beleuchtung (wg.Treiberstufen und Steckverbindungen)?
@goara:
Hast Du schon spezielle Vorstellungen wofür Du die 3 Servos nutzen möchtest oder nur weil noch Platz war? :D
Ich möchte die Platine so kompatibel wie möglich aufbauen aber eben auch nicht mehr draufbringen als nötig.
Deine Platine müßte doch sowohl im Quadro- als auch im Trikopter laufen. Oder sehe ich das falsch?
Gruß, Martin

goara
29.06.2010, 12:17
@xenton:
die 3 servos sind für eine kamera gedacht.
2 mal schwenken und auslöser.
bei meiner version habe ich die leds einmal auf dem board als status aber auch rausführbar auf buchsen für status wenn es im gehäuse verbaut ist.
ja die geht für quadro und tri

xenton
29.06.2010, 21:22
OK. Dann werde ich deine Modifikationen in meinem Layout mit berücksichtigen. Vielleicht wäre ein Summeranschluß nicht schlecht. Ich habe das mal bei einem Okto gesehen, oder vielmehr gehört. Der ging dann bei Unterspannung los.
Kann ich eigentlich auch die Mikrokopter-Regler einsetzen?
Gruß, Martin

Willa
29.06.2010, 21:23
Kann ich eigentlich auch die Mikrokopter-Regler einsetzen?
Ja, das ist u.a. der Sinn von meinem Projekt.

KoaxPilot
29.06.2010, 22:36
@xenton ich benutze auch momenta die Mk regler und das ohne propleme ;) funktioniert supper

xenton
01.07.2010, 20:58
Hallo!
@goara: Auch wenn ich mich jetzt blamiere: was ist eine GPIO?
Wenn ich das richtig sehe hast du auf der Buchse Pin3+4 an Vcc, Pin 5+6 an GND.
OK, soweit klar. Aber Pin1 liegt auf dem Arduinopin für den Eingang der ungeregelten Spannung und Pin2 wieder auf Vcc? Irgenwie komme ich da nicht ganz mit. Habe ich was übersehen?
Gruß, Martin

021aet04
01.07.2010, 23:06
GPIO heißt General Public Input Output. Es sind universell einsetzbare Ein bzw Ausgänge.

http://www.controllersandpcs.de/pdfs/gpio.pdf
http://www.maxim-ic.com/solutions/gpio/

MfG Hannes

Willa
06.07.2010, 19:42
Woooooohoooooooo! Heute habe ich meinen ersten FPV Flug hinter mich gebracht :-D Das ist schon echt krass, Freiheit in 3 Dimensionen... Für die nicht-Modellflieger: FPV heisst First-Person-View, d.h. ich schnalle eine Funkkamera an meinen Tricopter, setze mir eine Videobrille auf, und fliege so durch die Gegend als würde ich im Tricopter sitzen. Voll Nerd-mäßig, aber macht saumäßig Spaß! Jetzt habe ich genau einen Trainingsflug vor dem IMAV-Outdoorwettbewerb gemacht, das kann ja nur was werden ;-D

Kampi
06.07.2010, 19:58
Das hört sich ja geil an..... \:D/
Heißt das du hast dein Vogel nur mit einer Videokamera und dem Helm gesteuert? :-s

Bammel
07.07.2010, 00:00
Hey das ja geil!
Hast du nun eine videobrille? geil wäre das ganze auchnoch in stereo. soll aber, habe ich mir sagen lassen, nur im nahbereich super sein. aber gerade da wäre sowas ja angebracht.

Meine mechanik steht bis auf kleine änderungen schon. im prinzip fehlt mir nurnoch der IMU-Würfel + Adruino.

William? ich müsste meine Propeller mal wuchten! Könnte ich das bei dir mal machen oder mir dein "auswuchtgerät" (oder wie nennt man das ding) mal leihen.

Dann habe ich ja prop-save genommen. aber die bohrung im proppeler ist ein wenig größer als der dorn am prop-saven so das er um einige zehntel millimeter hin und her rutscht. ist das normal?

Gruß, Bammel

Willa
07.07.2010, 06:59
Heißt das du hast dein Vogel nur mit einer Videokamera und dem Helm gesteuert?
Ich steuere weiterhin mit der Fernbedienung. Aber ich sehe den Copter nicht in der Luft, sondern ich sehe nur das was die Kamera sieht. Wie ein "richtiger Pilot" eben.
@Sven: Du kannst deine Props gerne bei mir wuchten. Das der Propsaver nicht richtig passt ist nicht so gut, vielleicht hilft es ein bisschen Tesafilm zum auffüttern zu benutzen?

Bammel
07.07.2010, 16:00
@Sven: Du kannst deine Props gerne bei mir wuchten. Das der Propsaver nicht richtig passt ist nicht so gut, vielleicht hilft es ein bisschen Tesafilm zum auffüttern zu benutzen?


Mit dem tesa ist ne gute idee. ich hatte erst dran gedacht nen bisl epoxyd drum zu schmieren und dann abzudrehen.

Das cool das ich die bei dir wuchten könnt. dann müssen wir demnächst mal ein treffen vereinbaren. vllt kannst/magst ja auch mal zu mir kommen. ich hätte da ne gute idee für fotos ;-)

Willa
09.07.2010, 09:35
Hi Sven,
ich komme grad zurück von der IMAV, noch weiß ich die offiziellen Ergebnisse nicht, aber es sieht gut aus... Ich komme gerne mal bei dir vorbei, wie wäre es mit diesem WE?

Kampi
09.07.2010, 10:17
Bei heise Online scheinste ja sogar Eindruck hinterlassen zu haben O:)

http://www.heise.de/newsticker/meldung/Micro-Air-Vehicles-Flugdynamik-Autonomie-und-natuerliche-Vorbilder-1035023.html

Willa
09.07.2010, 10:25
Bei heise Online scheinste ja sogar Eindruck hinterlassen zu haben hoffentlich nicht nur bei denen...
In einem anderen Artikel von Heise habe ich etwas mehr Eindruck hinterlassen:
http://www.heise.de/newsticker/meldung/IMAV-2010-Roboterschmetterling-geht-an-die-Decke-1034463.html

goara
09.07.2010, 11:28
hey glückwunsch.. echt fein die Resonanz :)
Wenn ich fragen darf: Was willst du denn arbeiten mal? Als Biologe oder doch eher Bioniker ? ;)

Bammel
09.07.2010, 14:06
Die artikel sind ja echt sehr viel versprechend.



Ich komme gerne mal bei dir vorbei, wie wäre es mit diesem WE?


von mir aus gerne muss da aber erstmal mit meiner freundin reden. aber wenn würde wohl nur morgen (Samstag) gehen. aber da spielt wiederum deutschland um den dritten.

dann muss ich ja gleich schonmal in keller und am copter weiter amchen war da ein wenig faul.

Willa
10.07.2010, 11:04
@goran: Naja, eigentlich möchte ich gar nicht arbeiten und den ganzen Tag nur FPV fliegen ;-D . Ich arbeite im Moment als Bioniker und das macht auch echt Spaß. Also auf jeden Fall irgendwas in der Richtung möchte ich in Zukunft immer weiter machen.
@Sven: Wenn du heute Zeit hast, dann vielleicht nachmittags vor dem Schlandspiel?
Ich habe jetzt die Platzierungen. Viermal erster geworden mit nur zwei Flügen :-D
http://shrediquette.blogspot.com/2010/07/success-at-international-micro-air.html

Kampi
10.07.2010, 11:18
Ich denke da kann man dann nur gratulieren O:)
Was gabs da den als Preise für die Plätze 1-3?

Willa
10.07.2010, 11:30
Was gabs da den als Preise für die Plätze 1-3?
Eine Tasse und eine Urkunde gibts für die ersten Pätze... Jaja, so ist die Wissenschaft, ich hab mich dran gewöhnt...

Richard
10.07.2010, 12:08
Sehr schön!

Gruß Richard

Bammel
10.07.2010, 13:35
Na Gratulation!!!

die first-person-view ist ja mal der hammer!

PS: habe grade auf deine mailbox gequatscht.

Basteltisch
14.07.2010, 16:32
edit: ops steht ja schon im thread xD

xenton
14.07.2010, 19:02
So, es geht an. Die Sensoren sind da. Empfänger auch. Regler sind bestellt.

Und die Platine nähert sich auch der fertigstellung. So siehts momentan aus:
http://www.net-construct.de/tmp/TriguideNano-3-klein.jpg
Im Anhang gibts die Target Datei. Eagle ist nicht so meins. Aber bei Bedarf kann ich es dahin exportieren (habe ich allerdings noch nie gemacht).

Ich habe mich bei den Ein- und Ausgängen an den Layouts von Willa und Goara orientiert. Nur die GPIO habe ich nicht angeschlossen, da ich die Belegung nicht nachvollziehen kann (siehe weiter oben).
Vielleicht kann Goara ja nochmal was dazu schreiben.

Außerdem fehlt noch eine Verbindung zum (kommenden) GPS/Druck/Kompass-Modul. Wo soll dieses den angeschlossen werden?
Habe ich es richtig verstanden, daß das per UART geschieht?

Es ist kein Max232 an Bord, dafür ein XBee-Modul.
Außerdem ein Regler für 3,3V

Meine Vorgabe, das Layout einseitig zu halten habe ich nicht ganz geschafft. Aber auf der Bestückungsseite befinden sich nur wenige Leiterbahnen, die einfach mit Kupferlackdraht gelegt werden können.

Wer das XBee-Modul nicht braucht, kann die Platine auch soweit kürzen.

Es wäre schön, wenn sich jemand das ganze einmal anschauen könnte, ob ich noch grobe Schnitzer drin habe.

Gruß, Martin

Bammel
15.07.2010, 15:06
hey william,

ich hab mir grade nochmal dein FPV video angeschaut und mir kam dabei folgende idee:

wenn du an das videosignal ran kommst könntest du evtl daten wie akkukapazität, höhe, kompass, usw. anzeigen lassen.

Loety
15.07.2010, 17:46
Hallo zusammen,

ich bin durch Zufall hier auf das Tricopter Projekt gestoßen, und habe es mir total begeistert durchgelesen.

Ich habe auch mit GPS und BASCOM mir Hardware gebaut, um an bestimmten Positionen Ansagen mit einem MP3 Modul abzuspielen.

Dafür habe ich dieses GPS Modul, das auch den Ublox5 Chipsatz hat, und sogar an meinem Schreibtisch im Haus noch Empfang hatte.


http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=28570&flv=1&bereich=&marke=

Das Modul ist sogar schon für das Galileo System ausgelegt, wozu es nur noch eines Updates bedarf, wenn Galileo an den Start geht.

Außerdem spart man sich so das auseinander Fummeln einer GPS Maus.

Übrigens gibt es eine super Seite zum Thema GPS vom GPS-Klaus.
Hier gibt es jede Menge Infos und Projekte zum Thema GPS.

http://www.kh-gps.de

@Willa

Ich habe mir auch Deine Ideen zur Abstandshaltung mit Utraschallsensoren durchgelesen.

Ich würde Dir zu diesen Radar Sensoren raten :

http://www.innosent.de/industrie.html

Dort kannst Du auch gleich alle PDF Dokumente zur Funktionsweise und Anschaltung solcher Radar Module runterladen.

Du bräuchtest ein FMCW Modul , denn nur diese können feststehende Gegenstände erfassen.

In Kombination mit US Modulen für den Nahbereich dürfte das eine perfekte Anti-Kollisions Einrichtung werden.

Laser wäre zwar auch geil aber leider auch schweineteuer :(


Viele Grüße

Alexander

churchi
27.07.2010, 22:40
Hi!

Nachdem ich nun ewig lange pausieren musste, hatte ich nun endlich Zeit meinen tricopter fertigzustellen (endlich Urlaub :D)
Es läuft alles - bis auf die Regelparameter die ich noch einstellen muss...

Bei meinen bisherigen Versuchen hab ich ein Aufschwingen nicht verhindern können.
Allerdings hab ich bisher den Tricopter immer ein wenig offen in der Hand gehalten und immer wieder "angestupst".
So richtig ungehindert möchte ich den nicht gleich losfliegen lassen.
Wie ich so dann aber die richtigen Regelparameter finden sollte is mir auch schleierhaft - eigentlich kann ich die ja nur finden wenn ich den völlig offen fliegen lassen würde - dann fliegt der aber sicher gleich gegen die nächste Wand...

Wie konntest du die richtigen Parameter ermitteln?