PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schlagflugroboter ansteuern - Hilfe benötigt



Willa
21.07.2007, 14:27
Hallo!
Im Rahmen meiner Dissertation werde ich (wen hoffentlich alles klappt......) die Strömungsmuster eines schlagenden Flügels analysieren. Dazu brauche ich (Überraschung!) einen schlagenden Flügel =D> ...
Während meiner Diplomarbeit habe ich das ganze einfach mit einem Exzenter angesteuert und noch eine relativ einfache mechanik drangebastelt, damit der Flügel vorbildsgetreu schlägt. Jetzt muss das ganze aber präziser und verhersehbarer werden.
Der Flügel muss im Wasserkanal auf- und abschlagen (das ist ungefähr sinosoidal). Außerdem soll er während des schlagens seinen geometrischen Anstellwinkel ständig ändern (Pronation und Supination wird das bei den Biologen genannt. Pronation: der Flügel wird einfach an der Vorderkante abgesenkt und and der Hinterkante angehoben).
Die Schlagfrequenz liegt bei ca 0.7 Hz. Ich würde, da ich modellflieger bin, das ganze gerne mit 2 servos lösen.
Ich beherrsche ein wenig Delphi und auch ein bisschen Visual Basic und Flash Actionscript. Mit so einer oder einer ähnlichen Programmiersprache würde ich gerne den "Flapper" programmieren. Am liebsten wäre es mir wenn das ganze irgendwie über USB laufen würde.... Es kann auch die ganze Zeit am PC dran bleiben.
Also nun die Frage...: Nach was für einem Dings mit USB-Kabel dran muss ich suchen um 2 Servos möglichst präzise zu steuern? Leider habe ich NOCH keine Ahnung von dem Thema und stehe vor einem Berg, gänzlich ohne Reinhold Messner.
Ich würd mich sehr freuen wenn ihr mir helfen könnt!
Viele Grüße,
William

avion23
21.07.2007, 18:56
Schau mal auf www.obdev.at nach deren usb-interface. Vor allem die Beispielsprojekte sind sehr interessant.

Willa
30.09.2007, 21:32
Hallo!
Ich hole diesen Beitrag nochmal hoch....... Könnte ich sowas von Conrad benutzen um Servomotoren über den USB Port anzusteuern? C-Control oder so...? Oder gibts was besseres und günstigeres? Ist ja erstmal nur so zum Spaß um irgendwie einen Einstieg zu bekommen und das ganze zu lernen....
Vielen Dank für eure Antworten,
Viele Grüße,
William

p.s.:
Vielleicht geht das "Micro Servoboard (Fertigmodul) [FEPOLSERV]" in Verbindung mit einem RN-Control Board? Ist eine RS232 Schnittstelle ein "Com-Port" am Computer...?

ähM_Key
30.09.2007, 22:04
Ist eine RS232 Schnittstelle ein "Com-Port" am Computer...?
Ja...und das sollte einfacher sein als USB.

Andun
30.09.2007, 22:19
Moin

Also ich muss ähM_Key in sofern zur Hälfte widersprechen, da es auch virtuelle Comport über USB gibt. Da ist es dann einfacher, weil die meisten PCs USB und kein Comport haben... :D

Aber ähM_Key meinte ja vermutlich das Protokoll von USB und die Ansteuerung und da muss ich ihm recht geben: Das "Protokoll" von RS232 ist sehr viel einfacher: Eigentlich nicht relevant, da meist Hardware gesteuert.

Also z.B. ne C-Control wäre schon in der Lage zwei Servos zu steuern, allerdings würde ich eher eins der RN-Boards hier aus dem Forum empfehlen, da du dann hier auch mehr Hilfe bekommst.

Allerdings wären diese Boards alle in C oder in Basic zu programmieren und würden dir eine Art Interface zum PC zur Verfügung stellen (wenn du sie so programmierst) damit dein Programm nur schreiben muss, welche Servostellung denn nun gewünscht ist.

Ein ziemlicher Aufwand dafür, dass du eigentlich ja was ganz anderes erforschen willst. Ich vermute aber dass alles andere noch komplizierter ist.

Wie sind denn die Meinungen von den anderen Leuten hier dazu?

Andun

ähM_Key
30.09.2007, 22:57
Du weißt schon wie ich's gemeint habe.

Warum soll das ganze eigentlich über nen PC gesteuert werden?
(PS: Was hast du studiert?)

Willa
30.09.2007, 23:15
Hallo!
So ein virtueller Comport über usb wäre super... Gibts sowas für diese modernen Laptop-Schnittstellen (nicht mit pcmcia karte sondern irgendetwas kleineres hab ich hier dran......) Da ginge ein normaler parallelport drucker adapter?
Das ganze soll von meinem Laptop aus gestuert werden, da ich mir keinen pc in den arbeitsraum stellen will/kann. Auf dem laptop laufen dann noch viele andere programme zur steuerung des aufbaus sowie zur data acquisition & analyse. Die art und weise wie der flügel schlägt sollte ganz einfach und schnell änderbar sein, ich dachte das ist am einfachsten mit nem computer zu machen.
Studiert habe ich eigentlich biologie, damit hat meine zukünftige arbeit aber nur noch wenig zu tun.
Ich glaube gelesen zu haben, dass man das servoboard auch direkt an einen computer anschliessen kann. und diese programmiersprache scheint ja auch einfach zu sein, einfach "Print" und dann ein paar zahlen dahinter und dann läuft das Servo dahin wo es soll. Könnte ich doch bestimmt schön mit ner sinusfunktion etc zu einer geeigneten bewegung bringen.....
danke erstmal für eure antworten,
viele grüße,
William

ähM_Key
30.09.2007, 23:29
Sinusfunktionen auf Servos? Nagut, bei <1Hz könnte das noch gehen, aber ganz 'rund' wird's schon wegen der begrenzten Auflösung nicht. (Rechne mit ~2 Schritten pro Grad)

Willa
01.10.2007, 00:20
joa, das wären so ca. 0.7Hz die ich benötige.... Manche Servos können ja wohl 180° Drekweg. Da ich nur ca. 60° Bewegung am Flügel brauche könnte ich das mechanisch untersetzen, so dass sich die Auflösung erhöht. Dann wird natürlich wieder die Geschwindigkeit weniger... Aber es gibt ja auch schnelle servos, die laufen mit 0.06s pro 60° (z.B. das futaba S9254). Also 8 Hz in der Theorie. Oder wird die Geschwindigkeit durch die Ansteuerung limitiert...?

recycle
01.10.2007, 00:23
Ich hole diesen Beitrag nochmal hoch....... Könnte ich sowas von Conrad benutzen um Servomotoren über den USB Port anzusteuern? C-Control oder so...? Oder gibts was besseres und günstigeres? Ist ja erstmal nur so zum Spaß um irgendwie einen Einstieg zu bekommen und das ganze zu lernen....


Du kannst dir ja mal das Servo-Board von Robotikhardware ansehen:

http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=67&products_id=118

Wenn dein Notebook keine serielle Schnittstelle hat, bräuchtest du dafür aber noch einen USB-R232 Adapter.

ähM_Key
01.10.2007, 00:25
Oder wird die Geschwindigkeit durch die Ansteuerung limitiert...?
Das schonmal nicht :)

Willa
01.10.2007, 11:10
Hallo! um das von recycle vorgeschlagene Servoboard an meinen Laptop anschließen zu können brauche ich den BASCOM USB ISP Programmer??
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=73&products_id=161
Oder nur einen ganz einfachen USB-R232 Adapter...?
z.B. sowas hier:
http://www.amazon.de/Hama-RS-232-Serieller-Adapter-9-pol/dp/B0002VFKW0

Achso, ich hab auf dem Laptop Windos Vista drauf.
Viele Grüße,
William

Willa
02.10.2007, 14:36
kann mir diese vorerst letzte frage denn keiner beantworten...? das wäre so schön, dann könnt ichs nämlich bestellen und dann anfangen zu spielen :-D
Viele Grüße,
William

Achso, jetzt kommt noch eine Frage:
Dieses RN-Control-Board bräuchte ich doch nur, wenn ich das Servoboard ohne Computer betreiben will, oder?

ähM_Key
02.10.2007, 14:48
Frag doch hier (http://www.shop.robotikhardware.de/shop/catalog/contact_us.php) einfach nach. Ich weiß nur, dass nicht alle Adapter mit allen µC's funktionieren, weil bestimmte Pin's nicht belegt sind.

Thoralf
04.10.2007, 10:14
also vom PC zur RS232 (COM-Schnittstelle) brauchst du, wie schon angesprochen, einen USB-RS232-Wandler, den du ganz normal im PC-Shop kaufen kannst.
Da nur das TxD-Pin benötigt und die Ansteuerung ganz "normal" übers serielle Schnittstellenprotokoll abgewickelt wird, ist die Programmierung und der Anschluß PC-seitig problemlos.
Die COM-Schnittstelle hat aber einen Spannungspegel von +/- 12 V (mal für den Biologen ganz einfach erklärt *gg*), also ist ein Schnittstellenwandler von RS232 auf TTL nötig.
Den bekommst du als Bausatz (ist aber total easy aufzubauen) bei

http://www.pollin.de/shop/shop.php "RS232-TTL-Wandler-Bausatz"

Am TxD-Ausgang des Wandlers hängst du RxD des Servotreibers von robotikhardware.
Auf der Webseite von steht auch, wie der Servotreiber angesteuert werden muß.

ähM_Key
04.10.2007, 11:17
Öhm, hat das Board nicht schon einen Pegelwandler drauf?
"RS232 Pegel (direkter Anschluß an PC oder Controllerboards mit Max232)"

Willa
04.10.2007, 20:06
Hi! vielen dank nochmal für die letzten antworten. Habe mich jetzt grad entschieden den "standard-weg" zu gehen. Habe mir ein RN-Control Board und einen USB-ISP programmer bestellt. Damit kann ich ja anscheinend auch 2 servos ansteuern. Außerdem kann ich mit den outputs des boards auch noch die Highspeed-kamera triggern und alles synchronisieren. Vieleicht kann ich auch noch das Vellemann K80irgendwas USB-Board (bereits in Benutzung) irgendwie daran koppeln.
Ich kann ja den Bewegungsablauf meines "Roboter" vielleicht auch in gewissen grenzen mit den tastern steuern. Z.B. 5 mal taster nr. 3 drücken = 5 grad mehr Ausschlagwinkel etc....

Ich geh jetzt lieber diesen weg den wohl schon zig-tausende vor mir gegangen sind.
Hoffentlich klappts,
viele Grüße,
William

Thoralf
04.10.2007, 20:33
Öhm, hat das Board nicht schon einen Pegelwandler drauf?
"RS232 Pegel (direkter Anschluß an PC oder Controllerboards mit Max232)"

nein, da ist nur ein "nackter" µC drauf. Meines Erachtens sollte der besser mit einem Pegelwandler betrieben werden.

python_rocks
05.10.2007, 09:17
Hallo William!

So wie ich die Beschreibung des Mini Serverboards http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=67&products_id=118 interpretiere, lässt sich dieses Ding extrem einfach über den RS232 (Serieller Port) steuern. Entweder direkt am Computer (9-Poliger RS323-Anschluss) oder an einem Microcontroller. Beide Lassen sich direkt anschließen.

Ich denke, dass es für dich um ein vielfaches einfacher sein dürfte, dieses Mini-Serverboard direkt am Computer zu betreiben.

Dafür brauchst du einen RS232. Wenn du so etwas nicht am Laptop hast, dann kauf dir so einen "USB to RS232"-Adapter, wie du ihn ja bereits bei Amazon gefunden hast.

Und dann brauchst du nur noch eine einfache Programmiersprache, die Daten über den RS232 an das Mini-Serverboard schicken kann. Ich empfehle dafür Python (http://python.org/) und das Python-Modul pySerial (http://pyserial.sourceforge.net/).

Auf der pySerial-Homeapge wird auch schon gezeigt, wie man damit Daten über die Serielle schicken kann.

Ein einfaches Python-Programm zum Ansteuern würde dann z.B. so aussehen:


#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-

import serial
import time

STARTBYTE = chr(255)
SERVONR = chr(0)
#Info: POS_MIN = chr(0)
# POS_MAX = chr(254)


ser = serial.Serial("COM1")

for i in range(10):
pos = 25 * i
cmd = STARTBYTE + SERVONR + chr(pos)
ser.write(cmd)
time.sleep(1.0)

ser.close()
Dieses Mini-Programm läuft 10 Sekunden und bewegt dabei den "Servo 0" von der Position 25 nach 250. Das kann man natürlich noch viel feiner definieren. ``time.sleep`` wird ungenau, je kleiner der Wert wird. Bei ``time.sleep(0.01) ist nach meiner Erfahrung auch bei moderneren Computern unter Windows Schluss. Am besten, du experimentierst ein wenig.

Hier noch ein Beispiel:

#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-

import serial
import time

STARTBYTE = chr(255)
SERVONR = chr(0)
#Info: POS_MIN = chr(0)
# POS_MAX = chr(254)


start_time = time.time()

ser = serial.Serial("COM1")

for pos in range(0, 254, 2):
cmd = STARTBYTE + SERVONR + chr(pos)
ser.write(cmd)
time.sleep(0.01)

ser.close()

print "Dauer:", time.time() - start_time
Hier wird in 2'er-Schritten gesteuert.

Damit kannst du dich auf dein eigentliches Fachgebiet konzentrieren und musst dich nicht in die Mikrocontroller-Programmierung einarbeiten. Und wenn du Fragen zur Programmierung in Python hast --> http://python-forum.de :-b

mfg
Gerold
:-)

Willa
05.10.2007, 11:30
Hi Gerold!
Vielen Dank für deine Ausführliche Antwort! Leider 1 Tag zu spät, ich habe schon bestellt... Lese mich grad durch das gesamte Roboternetz, insgesamt kommt mir das alles gar nicht so schwierig vor mit dem RN-Control board. Hab grad das RN-KeyLCD Zusatzboard entdeckt, das ist ja eine Klasse Sache! Nicht nur dass man damit seine Schaltung optisch mächtig pimpt :-D - nein, jetzt kann man anscheinend komplett ohne PC debuggen und seinen Roboter steuern! Das ist ja fantastisch! Freue mich darauf bald anfangen zu können mit dem basteln :-D
Viele Grüße,
William

Willa
28.10.2007, 17:53
Hallo!
Ich bin fertig mit dem "Roboter" und stelle ihn grad hier vor:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=35105

Viele Grüße,
William

oberallgeier
28.10.2007, 18:36
Hei william,

Du willst in Harburg promovieren? Oder will die BW mittlerweile umrüsten?

Aber was Sachliches: ok, der Flügel schlägt. Und ich vermute, dass Du genug Literaturarbeit schon hinter Dir hast. Vermutlich auch das Buch von Nachtigall - ist das noch aktuell, oder gibts mittlerweile neuere oder bessere? Aber aerodynamisch scheint mir Dein Ansatz nicht ganz ok zu sein, die Kinematik ist in der Luft völlig anders. Und natürlich auch die Profilierung. Aber das wird Dir wohl klar sein. Denkst Du auch an den ziemlich massiven Einfluss der (Vogel-) Federn bei der Zirkulation (-sströmung) vor allem im Langsamflug? Oder besser gesagt: wie modellierst Du die Federn?

Wasserkanal: Willst Du das Ding von oben in einen Gerinnekanal hängen? Seitlich geht ja wohl nicht, zumindest nicht ohne allzu grosse Abdichtungsprobleme. Ich hatte mit elastischen Profilen Messungen in einem geschlossenen Wasserkanal (Göttinger Bauart) gemacht, aber schon vor "Jahrhunderten" - vor allem deswegen, weil dann die Oberflächenwellen nicht unbeherrschbaren Schmutz in die Messung/Strömung bringen.

Ach ja - was ist denn Deine grundlegende Frage zu dem Thema (ich meine jetzt nicht die elektronisch/elektromechanisch/programmtechnische, sondern begebe mich klammheimlich off topic)?

Das sind ja prächtige Bilder in Deinem anderen Thread. Sag mal, wie gross sind denn die Servos?

Jedenfalls viel Glück zum Thema und weiterhin so einen guten Wirkungsgrad.

Willa
28.10.2007, 19:04
Hallo Joe!
ne, ich will in Groningen promovieren. Im institut für marine biologie, die haben nen schönen wasserkanal :-) und hispeed kameras, laser etc...
Zur Aerodynmaik des Schlagflugs... Das ist ein Riesenthema. Es gibt da einmal die "Oldschooler". Die wollen den Schlagflug mit stationärer Aerodynamik erklären, weil die das so von Flugzeugen kennen. Deswegen postulieren die einfach mal so (ohne jemals irgendwas gemessen zu haben): Ein Flügel ist richting wingtip beim abschlag pronatorisch verwunden. Bei einem Propellerblatt ist das ja auch so. Aber das stimmt nicht (behaupten die "Newschooler" zu denen ich auch mich zähle). Ein Flügel muss gar nicht pronatorisch verwunden sein um Lift+thrust beim schlagflug zu erzeugen. Er braucht nichtmal einen negativen geometrischen anstellwinkel beim abschlag. Der so genannte "Vorderkantenwirbel" (engl. Leading edge vortex) erhöht vor- und auftrieb.
Mein Modell bezieht sich auf den Mauersegler (engl. swift), da kommt profilierung und kinematik ziemlich gut hin. Der Flügel besteht zu 85% aus sehr steifen Feder, die sich wenig während des Fluges verformen (nehmen
wir natürlich nur an, aber auf Fotos kann man das ganz gut erkennen). Um das ganze abzukürzen: Wir glauben, kleine Vögel fliegen wie Insekten (stichwort lev, dickinson, ellington etc, bei interesse googeln)
Natürlich ist unser Modell nicht 100% genau... Und mein provisorischer Flapper schonmal gar nicht. Aber irgendwo muss man ja abstrahieren.... Bei den grundlegenden Strömungsmustern die wir untersuchen, würden federn nicht viel ändern.
Der Wasserkanal den wir benutzen ist auch göttinger bauart. Ich würde das gerät dann wohl von oben reinhängen, hinter einer schottwand.


Aber aerodynamisch scheint mir Dein Ansatz nicht ganz ok zu sein, die Kinematik ist in der Luft völlig anders
Meinst du das prinzipiell, oder auf mein modell bezogen? Kinematik in Luft und wasser ist gleich wenn man strouhal und Re berücksichtigt, das weisst du wahrscheinlich. Und die kinematik meines modells kommt tatsächlich der realität (des mauerseglers) ziemlich nahe.



Ach ja - was ist denn Deine grundlegende Frage zu dem Thema
Das thema lautet vorraussichtlich:
Three-dimensional structure and temporal development of unsteady aerodynamic phenomena on a bird-like flapping wing model, and the influence of kinematics, morphology and wing surface structure


Sag mal, wie gross sind denn die Servos?
das sind standard servos (heckservo meines modellhelis), 100 euro das stück, hoffentlich verheize ich die nicht durch diese zweckentfremdung!!!

Was hast du denn studiert? Kann man aus deinem Nick auf eine gewisse Vogel-Affinität schliessen?

Viele Grüße,
William

oberallgeier
28.10.2007, 21:43
:( hmm, diese post ging fehl

oberallgeier
28.10.2007, 21:51
Hi, William,


Kann man aus deinem Nick auf eine gewisse Vogel-Affinität schliessen?

oder, nach dieser Frage fast schon hihihi :). Na ja, das obere Allgäu - ist die eine Seite der Medaille. Das Fliegen über den Geiern (es gibt hier vereinzelt Bartgeier) die andere. Hast das gut durchschaut. Aber nix schwing oder schwirr. Blos weitgehend oder auch mal total flex :).

RUG - schön! MEINE fängt auch mit R an - und ist nicht gar so weit weg von Groningen. Aber in DE.

Ich fürchte,dass ich total off topics komme, aber ich wills nicht zu sehr ausdehnen. Es gibt doch diesen schicken Artikel (frag bitte nicht wo der ist, ich war zu faul danach zu suchen) im Spectrum. Vor ETLICHEN Monaten oder noch länger. Schwirrflug von Kolibris, Fliegen und ich glaub auch von Schmetterlingen und so. Aber ich hab den weder papiermässig noch sachlich-geistig verfügbar.

Das mit Wasser und Luft - ok, das weiss ich noch =D> .

Der Mauersegler - schon Reichmann hatte sich gefragt, wieviel g die erfliegen (streckensegelflug, 5. Auflage - S 23). Wobei es ja einfach ist das grob zu schätzen - satte 15 m/s und dann ein Kurvenradius von 1 m oder so. Aber ich hatte die Federn dabei noch nie gesehen, geschweige denn abheben sehen - na ja, so schnell kann ich nicht gucken. Blos bei Graureihern - wenn die beim Jagen über einen tiefliegenden Bach (Wasserspiegel so 1 m unter der umgebenden Wiese) an der Stallgrenze (aber eben nix high speed stall) fliegen, habe ich solche Dinge schon persönlich gesehen.

Immerhin - ich finde Dein Projekt SEHR interessant und an-auf-regend. Fürs erste jetzt mal: guten Wirkungsgrad.

Willa
15.11.2007, 21:38
Hallo!
Ich wollte mal den aktuellen Stand durchgeben...:
Dieser "Roboter" war ja als Demonstrationsobjekt für ein Stipendiums-Auswahl-Meeting vorgesehen. Und: Ich bin eingeladen worden!!! Also, das erhöht meine Chancen auf eine akademische Zukunft schonmal schlagartig. Ich werde den Roboter im Rahmen meiner Präsentation vorstellen. Hoffentlich macht der deutlich wie motiviert ich bin....... Was kann ich denn sonst noch machen außer einen tollen Vortrag halten...? Wunderkerzen am Flügel festschrauben? ;-D Oder lieber nen dicken D-Böller, der sorgt wenigstens für Aufmerksamkeit.... Naja, ich geb mal Vollgas. Wenn mich keiner haben will kann ich immernoch bei Aldi anner Kasse arbeiten.

@joe: Ich glaube, es ist nicht allgemein bekannt dass Kolibris die nächsten Verwandten der Mauersegler sind. Auch wenn letztere viel mehr den Schwalben zugehörig erscheinen. Wieviel g die erfliegen kann ich beim besten Willen nicht einschätzen. Allerdings hat ein Kollege von mir, David Lentink (kürzlich in der ARD Naturwundershow aufgetreten was ich sehr lustig fand..), vor kurzem mit seiner Story über Mauersegler die Science Titelseite belegt. Mein Prof war da auch maßgeblich involviert. Aber Mauersegler sind schon gute Tiere. Ihr ganzes Leben verbringen die in der Luft! Ausschließlich zum Brüten müssen sie landen. Ansonsten wird in der Luft geschlafen, sich gepaart etc. Nicht umsonst gehören die der Familie "Apodidae" an, die "Fußlosen". Also, wenn hier jemand ne Tierpatenschaft aufnehmen will... MAUERSEGLER! Die ham's druff!

Ach, ich merke grad wieder, ich wär an der Aldi Kasse echt unglücklich...

Allet juuhte allen,
William

Willa
11.10.2009, 00:32
Hey, das ist ja voll lustig seinen eigenen ersten richtigen Roboterbeitrag hier im Roboternetz zu lesen \:D/ .
Interessant wie wenig Plan man damals hatte und wie schnell sich das ganze Microcontrollerzeugs doch lernen lässt.
Special thanks an die Leute aus diesem Thread, die mich zu diesem schönen Hobby geführt haben!