PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hexacopter



BurY
16.05.2013, 15:16
Nun, ich bin mir nicht ganz sicher welches Projekt ich als nächstes Starten soll - CNC, Hexabot oder Hexacopter stehen zur Auswahl.
Da mir gerade der Copter sehr gefällt, würde ich diese nun verfolgen.
Dazu möchte ich ein paar theoretische Dinge klären, was die Bauteile anbelangt.

Mit dem Flugmodellbau garnichts am Hut und daher auch keine Erfahrung, welche teile "ordentlich" Dimensioniert sind.
Mit Hilfe von ein paar Threads (Hauptsächlich Shrediquette ;)) habe ich nun eine Liste zusammen gestellt.

Ich würde gerne wissen was ihr davon haltet:




6x Emax GF 2210/30
http://www.eder-mt.com/Brushlessmotoren/EMAX/EMAX-GF-2210-30-KV%3D1200-Nachfolger-des-CF2822::1010.html


6x Hobbyking SS Series 18-20A ESC
http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=6457&Product_Name=Hobbyking_SS_Series_18-20A_ESC


3x CFK-Propeller
http://www.eder-mt.com/Luftschrauben/Quadrocopter/Quadcopter-Propeller-ABS-Glasfaserverstaerkt-1-Paar-10x4-5-Rechts-und-Linkslauf-gruen::1355.html?XTCsid=a392d70a5fea0a7fa22690f63e b8f7fe

Gyrosscope
http://www.watterott.com/de/L3GD20-3-Axis-Gyro-Carrier-with-Voltage-Regulator



Chassis:
AluVerbund 300x200mm
http://www.metall-kunststoffhandel.de/shop/aluminium-verbundplatten-butlerfinish-p-2669_400_250.html?osCsid=8408895899d8bb52b45898364 b5d9ec8

Alu-Quadratrohr, 11,5mm
http://products.alfer.com/Produkte/Eisenwaren/combitech-System-Basis/System-Profile-Aluminium/Quadratrohr-oxid-1.html



Akku(s) (erstmal Zweitrangig)
http://www.hobbyking.com/hobbyking/store/__8932__Turnigy_2200mAh_3S_20C_Lipo_Pack.html


Sind die Bauteile so in Ordnung?
Dazu die I2C-Converter von Shrediquette, ATMega32 als Haupt-Prozessor.

"Nutzlast" wäre dann mal ne Kamera oder so, 500-800g reichen, mehr darfs immer sein :D

Eine Idee wäre noch, 2 Motoren abschalten zu können, bzw nur einschalten wenn sie notwendig sind.
Steuerung soll dann über GPS umgesetzt werden.

Wenn dass alles so in Ordnung wäre, würde ich mit 2 Motoren & Gyro mal anfangen, diese zu balancieren...




Der fertige Entwurf soll dann so Aussehen
Entwurf 4 (click to view in 3D (http://skfb.ly/5lk43gedc0))
http://sketchfab.com/urls/z00MxaobWXLP4vDwcjva5nceAnv/thumbnail_448.png?v=1368699605 (http://skfb.ly/5lk43gedc0)

(Andere Entwürfe: )
http://skfb.ly/5lk43gcb
http://skfb.ly/5lk43gc0a
http://skfb.ly/5lk432ec0b

Vielen Dank für alle Mühen!

Che Guevara
17.05.2013, 10:29
Hi,

ich würde dir empfehlen, andere Motoren zu kaufen. Ich hatte früher, als ich meinen ersten Kopter gebaut hatte, die vorgänger dieser Motoren (CF2822) und hatte nur Probleme damit. Entweder hat sich die Madenschraube gelöst oder ich hatte sie zu fest angezogen und das Kugellager hatte davon nen Schaden, usw...
Natürlich würde ich an deiner Stelle billige Motoren nehmen, da du ja keine Flugerfahrung hast. Einen Vorschlag kann ich dir da aber nicht machen, weil ich selbst immer Robbe-Motoren benutzen.
Zu den Reglern kann ich nicht viel sagen, es gibt aber iwo im Netz eine Auflistung von ESCs, welche für Kopter geignet sind und welche weniger. Evtl. schaust du dir das mal an. Ich kann dir aber z.b. die Turnigy-Plush Regler empfehlen, die sind auf jeden Fall geeignet (vertragen also 500Hz PWM) und sind auch günstig.
Bei den Props fällt mir nur auf, dass du sie als CFK-Probs benennst, sie das aber nicht sind ;)
Als Gyro / IMU empfehle ich dir nen MPU60x0, das ist ne 6Dof-Imu (Gyro+ ACC), alternativ gibts jetzt auch schon 9Dof-Imus von Invensense (MPU9xxx). Diese kosten auch nur etwas über 20€ und sind IMHO sehr gut (viele Projekte fliegen mittlerweile damit).
Auch würde ich evtl. nicht mehr auf nen ATMega32 setzen, da brauchst du wieder extra Pegelwandler, versch. Spannungsregler usw.. Willa hat jetzt auch vor einiger Zeit auf nen ATXMega umgesiedelt, dieser läuft auf 3V3 (wie auch die Sensoren) und hat 32MHz Taktfrequenz. Die Register sind aufgeräumter als von den Megas und es gibt einige nette Features, u.a. DMA, EventSystem, mehrere I2C, 16x16Bit HardTimer (also auch PWM) beim 32A4, usw...
Das Mittelteil des Kopters würde ich auch nicht aus AluVerbund machen, sondern entweder CFK oder GFK. GFK lässt sich in Form von Platinen billig einkaufen, gut verarbeiten und ist sehr stabil bei wenig Gewicht.
Das Alu-Rohr als Ausleger ist ne gute Sache. Sieht zwar nicht so schick aus, ist aber günstig, leicht ausstauschbar und einigermassen stabil / verwindungssteif.

Gruß
Chris

BurY
17.05.2013, 11:53
Hi, vielen Dank für die ausführliche Antwort!

Zu den Motoren:
Ich vermute die Qualität leidet eben doch am Preis ;)
An welche Marken kann man sich den halten?
Wie ist es mit den Werten, KV und Ampere werden wohl hauptausschlaggebend sein...
Die z.b.?
http://www.hobbyking.com/hobbyking/store/__37960__D2822_17_Brushless_Outrunner_1100kv_DE_Wa rehouse_.html
+ die 12A Turnigy Plush

oder
http://www.hobbyking.com/hobbyking/store/__37963__D2826_10_1400kv_Brushless_Motor_DE_Wareho use_.html
mit den 25A Turnigy Plush?

10A Verbrauch wären mir natürlich einiges lieber, was die Laufzeit betrifft...

Aus dem Flyduino-Shop würde ich dann das MPU6050-Breakoutboard nehmen.
Ich denke der 400kHz-I2C-Bus ist schnell genug?

Als Controller dann den ATXMEGA32A4U-AU.

Wie dick sollte das GFK gewählt werden? 3mm?

Che Guevara
17.05.2013, 12:56
Hi,

natürlich, je billiger des schlechter (in dem Wort billig steckt ja schon schlechte Qualität drin). Aber am Anfang, ohne Flugerfahrung, würde ich auch auf billig setzen, sonst bist du bald arm.
Also ich selbst hab bis jetzt nur Robbe Motoren benutzt (u.a. 2824-34), aber AXI, Hacker und Scorpion sollen gute Qualität haben. Ich würde keine Motoren mit so hoher Stromaufnahme verwenden, da brauchst du dann richtig dicke Akkus und schon haste ne Bleiente. Weniger ist manchmal mehr ;)
Ja, der I2C Bus reicht locker aus. Willst du selbst programmieren?
Der µC ist gut, den gleichen verwende ich auch! Allerdings hätte ich sehr gerne einen XMega128A4, der hat wesentlich mehr Speicher. Hab aber noch keine Bezugsquelle gefunden...
Ich hab einen Hexacopter mit 60cm Achse-Achse (diagonal), an dem hab ich 3mm GFK. Wenn du kleiner bauen willst, reicht wohl auch 2mm. Aber bei soviel Schub machen die paar Gramm mehr oder weniger fast keinen Unterschied, der Rahmen ist dadurch aber doch um einiges steifer.

Gruß
Chris

BurY
17.05.2013, 13:51
Ok gut, ich werde mal nach den Motoren schauen.
Ich denke die max. 10A liegen noch im "nicht so hohen" Bereich?

Ja ich möchte selbst in C Programmieren & Ätzen.
Ein TQFP44 hab ich schon mehrfach geätzt & gelötet.
Ich denke 64Pins sind vermutlich am Rande dessen, was ich privat herstellen kann.

Ist denn soviel Speicher von nöten?
3 Stück könnte ich über die Hochschule Sampeln ;)

Wäre es denn sinnvoll 2 ATMegas für je 3 motoren einzusetzen, welche über I2C mit dem xmega verbunden sind?



Danke & Gruß

Che Guevara
17.05.2013, 15:50
Hi,

ja 10A sind bei der Größe noch vollkommen im Rahmen. "Stärkere" Motoren würde ich nur verwenden, wenn ich extrem viel Schub brauche, z.b. bei nem großen Hexa- oder Octocopter mit ner riesen Spiegelreflex unten dran o.ä.
Also ich hab auch nen 32A4 verwendet, der ist jetzt zu 70% voll, es fehlen aber noch GPS und Drucksensor. Das geht zwar noch rein, aber dann ist Schluss.
Wenn du den XMega verwendest, brauchst du keine I2C - PWM Converter mehr. Der XMega hat genügend Hardware-PWM Ausgänge mit 16Bit Auflösung ;)

Gruß
Chris

BurY
17.05.2013, 19:14
Hi,

alles klar, dann werde ich mal mit den kleinen Motoren anfangen, umrüsten kann man ja dann später noch.

Okay, das ist dann doch relativ voll. Ich weis ja noch nicht so ganz was da alles auf mich zu kommt ;)

Stimmt ja, habe nur die 5 Timer gesehen, und dachte an 6 Motoren...
Aber es sind ja die PWMs, die ich brauche.

Che Guevara
17.05.2013, 19:58
Ja klar, erstmal billig anfangen und wenns dann funktioniert auf Qualität setzen! So hab ich das auch gemacht (gottseidank)..
Jeder 1. Timer / Port hat 4 PWMs und jeder 2. Timer / Port hat 2 PWMs, immer 16Bit.

Gruß
Chris

BurY
20.05.2013, 22:51
Sollte ich denn noch eine Überwachung für den Lipo einbauen?
Oder ist ein Wächter im Regler?

Und wie ist die Beschaltung ESC - AVR? Reicht eine einfache Verbindung zwischen PWM und dem Regler?

Habe im Anhang mal den ersten Schaltplan - eventuell könnt ihr mal einen Blick darauf werfen.

25559

Che Guevara
20.05.2013, 23:41
Hi,

es ist kein Muss, aber Schaden wirds bestimmt nicht ;)
Die Regler haben in der Regel eine Unterspannungsabschaltung, diese kann man manchmal programmieren, sodass entweder der Strom runtergeregelt wird (auf 70%) oder die Motoren komplett abschalten (nicht zu empfehlen).
Es reicht eine Verbindung der PWM-Ports zu den Reglern, die Masse wird über den Akku sowieso verbunden.

Gruß
Chris

BurY
23.05.2013, 22:28
So, die Platinenlayout ist fertig & die ersten Bestellungen sind raus
- ATXMega32 + Quarz etc
- 2 Motoren, 2 Regler, 2 Propeller
- MPU6050 auf Breakoutboard
Denke das sollte für den Anfang reichen!?

Könnt ihr mir denn noch etwas theorie empfehlen?
z.B. - Wie ich mit den Daten des Gyro + Beschleunigungssensor umgehen muss / Wie erreiche ich es, dass sich die 2 Propeller, an einer Wippe, ausbalancieren?
- Regelungstechnik (Schritte zu einem gut funktionierenden PID-Regler, und dessen Funktion (Wikipedia kenn ich da Schon, gerne etwas praktischer, in C ;) ))
- ...

BurY
05.06.2013, 20:12
Hallo zusammen, nun hat sich doch ein Problem aufgetan - der I2C.

Ich habe aus Atmels ASF die TWI-Integration.

Das Protokoll des MPU6050 ist mir klar, steht ja im Datenblatt


Start-Bedingung - Adresse - Write bit - ACK vom MPU - Register-Adresse - ACK vom MPU
Start-Bedingung - Adresse - Readbit - ACK vom MPU - Byte vom MPU - NACK vom Master - Stop Bedingung.



Nun habe ich einige male die TWI-Docs von Atmel "durchgeblättert", aber so wie es mit schein stehen mir nur die
twi_master_write() und twi_master_read() - funktionen zur verfügung.

Von den ATMegas kenne ich Fleurys lib, mit Mauellem senden von Start/Stop/(N)ACK/etc.
Wie genau das die Lib von Atmel macht, konnte ich nicht herausfinden :-/

Ich habe es nun wie folgt umgesetzt (davon ausgehen, dass Atmel das schon richtig macht):


uint8_t data_received[10];


void mpu6050_readByte(uint8_t regAddr) {


usart_serial_write_packet(USART_DEBUG, "START-Read\n", strlen("START-Read\n"));
uint8_t *data = regAddr;
twi_package_t packet_write = {
.chip = MPU6050_ADDR, // TWI slave bus address
.buffer = data, // transfer data source buffer
.length = 1 // transfer data size (bytes)
};

while (twi_master_write(&TWIE, &packet_write) != TWI_SUCCESS);
delay_ms(10);

//request register
twi_package_t packet_read = {
.chip = MPU6050_ADDR, // TWI slave bus address
.buffer = data_received, // transfer data destination buffer
.length = 1 // transfer data size (bytes)
};

// Perform a multi-byte read access then check the result.
if(twi_master_read(&TWIE, &packet_read) == TWI_SUCCESS){
usart_serial_write_packet(USART_DEBUG, "TWI-Read OK\n", strlen("TWI-Read OK\n"));
}
}

Nach diesem Beispiel:
http://asf.atmel.com/docs/3.3.0/xmegaau/html/xmega_twi_quickstart.html

Wenn ich so nun das WHO_AM_I-Register-Auslese


while(1)
{
mpu6050_readByte(MPU6050_RA_WHO_AM_I);
test = data_received[0];

char itmp[10];
itoa(test, itmp, 10);
usart_serial_write_packet(USART_DEBUG, itmp, strlen(itmp));
usart_serial_putchar(USART_DEBUG, '\n');}

Bekomme ich eine 205 (0xCD) und nicht 104 (0x68 ) als Antwort.

Für GYRO_XOUT_L/H, ACCEL_XOUT_L/H und TEMP_OUT_L/H bekomme ich immer 255 zurück.

Ich habe am MPU6050 noch keine Initialisierung durchgeführt. So wie ich das sehe, ist es auch nicht unbedingt notwendig.

Hab ihr mir eventuell hierzu ein paar tpps? Eventuell eine andere TWI-Lib, oder muss ich doch bestimmte Initialisierungen machen?
Vielen Dank!

Che Guevara
05.06.2013, 22:16
Hi,

der MPU muss initialisiert werden und zwar Register 107 (Power Management 1). Außerdem ist es ratsam, folgende Register einzustellen: 25, 26, 27 und 28.
Mach das mal und gib dann Bescheid.

Gruß
Chris

BurY
05.06.2013, 23:09
hi,

ok danke, habe nun folgende config:



MPU6050_writeByte(&TWIE, MPU6050_RA_PWR_MGMT_1, (MPU6050_CLOCK_PLL_XGYRO));
MPU6050_writeByte(&TWIE, MPU6050_RA_CONFIG, (MPU6050_DLPF_BW_42 | MPU6050_EXT_SYNC_DISABLED));
MPU6050_writeByte(&TWIE, MPU6050_RA_SMPLRT_DIV, 4);
MPU6050_writeByte(&TWIE, MPU6050_RA_GYRO_CONFIG, (MPU6050_GYRO_FS_500));
MPU6050_writeByte(&TWIE, MPU6050_RA_ACCEL_CONFIG, (MPU6050_ACCEL_FS_4));


Powermanagement: Clock: X-Axen Gyro
Config: DLPF_CFG:3, EXT_SYNC disabled
SampleRate: 1000/5 -> 200hz
Gyro: +-500°/s
Acc: +-4g

[...zeg wieder weg, ist alt...]
//UPDATE 10:30Uhr:
Ich vermute es sind die ACK/NACK/STOP-Bedingungen, die die Fehler verursachen.


void MPU6050_writeByte(TWI_t *twi, uint8_t regAdress, uint8_t data){
Send_Address(twi, MPU6050_ADDR, 0);
delay_ms(10);
twi->MASTER.DATA = regAdress;
while(!(twi->MASTER.STATUS&TWI_MASTER_WIF_bm));

delay_ms(10);
twi->MASTER.DATA = data;
while(!(twi->MASTER.STATUS&TWI_MASTER_WIF_bm));

delay_ms(10);
twi->MASTER.CTRLC = TWI_MASTER_CMD_STOP_gc;
delay_ms(10);
}


uint8_t MPU6050_readSequence(TWI_t *twi, uint8_t regAdress)
{


uint8_t readData;
Send_Address(twi, MPU6050_ADDR, 0);


delay_ms(10);
twi->MASTER.DATA = regAdress;
while(!(twi->MASTER.STATUS&TWI_MASTER_WIF_bm));


delay_ms(10);
Send_Address(twi, MPU6050_ADDR, 1);
delay_ms(20);


readData = twi->MASTER.DATA;
// while(!(twi->MASTER.STATUS&TWI_MASTER_RIF_bm));

twi->MASTER.CTRLC = TWI_MASTER_CMD_STOP_gc;
delay_ms(10);
return readData;
}




Die initialisierung mit mehrfachem writeByte läuft nun durch, anschließend kann er einmal einen wert auslesen. Beim nächsten mal bleibt er beim senden der Adresse, also in der ersten Zeile hängen. Es kommt wohl kein ack vom MPU, da dieser noch auf etwas wartet. Was genau das ist weis ich aber nicht...


//UPDATE 23:13Uhr
UUUND der TWI läuft ;)

BurY
06.06.2013, 21:49
noch fix eine Auswertung für den PC, und schon ist man Glücklich(er) ;)

Oben Gyro X-Y-Z
unten Acc X-Y-Z

25668

-------
Während dem Schreiben noch schnell das Programm aktualisiert:

25669

oben Gyro unten Acc. Leider ist die GUI in C# etwas langsam - bei einem 20ms-Delay beim Auslesen im AVR kann er max. 50 Werte im Diagramm Flüssig anzeigen.
Aber darum geht es hier ja nicht ;)

BurY
01.07.2013, 12:21
Hallo zusammen,

Habe nun mit der PWM etwas getestet.
50Hz, 100Hz und 450Hz laufen eigentlich ohne Probleme, auch mit dem Oszi in der FH überprüft.

Die ESCs zeigen nun folgendes Verhalten:
- Initialisierung ab 1ms möglich.
- Motoren laufen im bereich ab etwa 1,4ms bis 2ms
- Leistung bricht zusammen: Habe eine Netzteil, bis 3A bei 11.1V. Motoren werden immer schneller bis 2A, dann regeln sie sich automatisch Auf 1,5A. Dann kann die Leistung auch nicht mehr gesteigert werden. Auch bei längerem DutyCycle ändert sich nichts mehr.

Könnt ihr mir dieses Verhalten erklären?

Che Guevara
01.07.2013, 17:24
Hi,

dieses Verhalten liegt mit 99%iger Wahrscheinlichkeit am Netzteil. 3A sind für BL-Motoren idr. eindeutig zu wenig. Probiers mal mit einem Akku (Lipo), auf die richtige C-Zahl achten ;)

Gruß
Chris

BurY
01.07.2013, 20:34
hm nagut... wie wäre es denn mit einem MAAS-SPS-30-II (http://www.maas-elektronik.com/MAAS-SPS-30-II-Schaltnetzteil-35-Ampere.2.html), das bis 35A liefert?
Ich hätte eben gerne den Vorteil des Ein/Ausschalters am Netzteil ;)

Immer einen/genug vollen Akku parat zu haben sehe ich als etwas überflüssige Arbeit!?

Che Guevara
01.07.2013, 20:53
Hi,

nichts ist in diesem Fall so gut geeignet wie ein Akku, weil dieser am schnellsten auf die Strompeaks reagieren kann. Wenn du also die Motoren wirklich korrekt überprüfen willst, besorg dir nen Akku ;)
Was genau bringt den der Ein/Ausschalter für einen Vorteil? Den Akku kannst du auch abstecken!

Gruß
Chris

BurY
01.07.2013, 21:09
Naja Netzteil steht immer zur Verfügung, der Akku muss geladen sein.

Dann kommt es, dass der Akku nach einer Zeit leer ist. Dann müsste ich warten bis er wieder geladen ist, oder einen 2. besitzen, damit der andere Laden kann.
Bei 2 Motoren vllt noch unproblematisch. Wenn ich aber 6-8 Motoren testen will, denke ich ist dass schon eher ein Problem.

Außerdem gibt es das Problem mit den begrenzten Ladezyklen?

Naja, aber da ich sie eh irgendwann brauche, könnte ich mir auch schon jetzt einen zu tuen.
Wieviel C bräuchte ich denn 6 Motoren?
Ich denke im 5Ah Bereich wäre in Ordnung?

Che Guevara
01.07.2013, 21:42
Hi,

was genau willst du den mit den Motoren testen? Sofern du den ganzen fertigen Kopter testen willst, solltest du das sowieso mit Akku machen. Wenn du nur die Ansteuerung der Motoren testen willst, reicht doch wohl eine Akkuladung locker?!
6-8 Motoren wirst du wohl sowieso schlecht mit 35A testen können, wenn ein Motor z.b. nur 10A zieht.
Informier dich über Lipo-Akkus, dann brauchst du hier nicht wegen jeder Kleinigkeit eine Frage stellen ;)

Gruß
Chris

BurY
08.07.2013, 09:51
Guten Morgen ;)
Nun etwas Fortschritt :D

Habe einen Akku, 3S, 5000mAh, 20C.
Und das selbe Problem besteht: Ich kommt nicht über 1A bei 2 Motoren. Die Regler regeln ab, nachdem man einige Sekunden über einem A war.
Ich wollte als nächstes mach testen ob sie zu heiß werden, wobei sie auf 12A ausgelegt sind.

Das mit dem Regeln klappt schon einigermaßen. P, I & D habe ich drinne.
Nach einigem Testen siehts so aus:





int PID_adj(int accCurr,int gyrCurr, int target)
{
signed int delta_err;
int result;
int error = (int)((accCurr - target));
int I = 0;
int P = 0;
int D = 0;

//Proportional:
double Pa = (int)((1.0 /700.0) * error); // 1/800 und 1/400 läuft auch
double Pg = (int)((1.0 /400.0) * (double)gyrCurr); //Gyrowert regelt runter
P = (int)(Pa+Pg);


//Integral:
integral_err += (error);
if(integral_err > maxIntError) //beschränkt auf +/- 3000
{ integral_err = maxIntError; }
else if(integral_err < minIntError )
{ integral_err = minIntError; }


if(anzMessungen > 6) //wirkt nur bei jeder 6. Messung
{
I = (int)((1.0 /800.0) * (double)integral_err) ;


if(I > max_KI) //darf max. um 1 ändern
{ I = max_KI; }
else if(I < min_KI )
{ I = min_KI; }

anzMessungen = 0;
}
else
{
anzMessungen++;
}


//differential-Error:
delta_err = prev_err - error;
prev_err = error;
D = (int)((1.0 /60.0) * (double)delta_err);
D *= (-1);

result = (P + I + D);

return result;
}


Es läuft in einer Endlosscheife, die einen Delay von 20 ms hat, also wird 50 mal in der Sekunde gemessen und geregelt.
Im großen und ganzen klappt es schon ganz gut. Es gibt noch ein zu starkes aufschwingen des Armes bzw eine doch relativ langsame Korrektur/Nachregelung bei Abweichung vom Sollwert.
Der errechnete Korrekturwert wird dann auf die PWM des einen Motor addiert bzw. beim anderen Motor abgezogen.

Was meint ihr, wäre Grundlegend nötig um das System stabiler und schneller zu machen?
Falls man das so allgemein sagen kann ;)
Der Gyro muss natürlich auch noch mehr beachtet werden, würde ich sagen...
Nur wie weis ich noch nicht.

Im Anhang ist noch ein Screenshot der Analysesoftware.
25 Einheiten auf der X-Achse sind eine Sekunde.
Im ersten Diagramm sieht man die Drehzahl der 2 Motoren. Regelbar zwischen 0 und 3000.

Im zweiten Diagramm sieht man den Acc in Blau, den Gyro in Gelb und der Sollwert in Rot.
1000 Einheiten sind hier etwa 14° bzw 8cm Höhenunterschied zum nullpunkt.

Ganz unten ist der Korrekturwert der PID-Funktion.
Der jeweilige Wert wird, wie gesagt, auf die Motoren addiert bzw. Subtrahiert.


Während dem einstellen hab ich auch gemerkt, dass die PID-Faktoren von so ziemlich allem abhängen :D
Bis jetzt klappt das alles Einigermaßen. Daher würde ich, sobald lieferbar, 4 weitere Motoren & Regler bestellen, und den Copter komplett aufbauen.
Dann werde ich so weiter machen, wie bisher... Tipps nehme ich gerne entgegen :D

Oh, ein Video:
http://www.youtube.com/watch?v=_CN1zJVY7YM

Che Guevara
08.07.2013, 13:42
Hi,

also was mir sofort auffällt ist das Delay von 20ms. Damit wirds nicht funktionieren. Irgendjemand hat mal Experimente mit der Regelfrequenz gemacht und festgestellt, dass alles unterhalb 500Hz nicht sehr gut funktioniert. Ab dann sind kaum noch Verbesserungen bemerkbar.

Gruß
Chris

BurY
08.07.2013, 14:10
okay gut. ich werde noch etwas testen...
Habe grad noch ein paar Videos auf youtube gesehen; da ist bei mir ja noch viel potential :D