Regulátor pro modelářské motory reguluje pozdě

Měřáky, automatizační technika, regulační technika

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
petrfilipi
Příspěvky: 2551
Registrován: 13 zář 2005, 02:00

Regulátor pro modelářské motory reguluje pozdě

#1 Příspěvek od petrfilipi »

Nazdar všem.

Kluk si chce postavit dron (něco jako Spyda 500) . Tak jsme nakoupili motorky, regulátory, akumulátor. Vytiskl jsem ramena a desky.
Jako řízení máme zatím jen Arduino a máme problém.
K Arduinu máme zapojen joystick, jeho pozici přepočteme do rozsahu 0-255.
Takto získanou hodnotu posíláme na 4 PWM výstupy pro 4 motorky nastavené tak, že 0 je 1000us a 255 je 2000us. Takže defacto jako řízení serva.
Tři motorky se nám začínají otáčet už pro hodnotě cca 32 z joysticku, ale jeden (svině) se začne točit až při cca 128. Regulátor můžeme z Arduina i programovat, uvedení všech do defaultu také nepomohlo.

Netušíte, kde by mohl být problém? Zkusili jsme k tomu zlobivému regulátoru připojit i jiný vývod Arduina i jiný motorek, bez úspěchu.

Díky za odpovědi.

PF

Uživatelský avatar
misocko
Příspěvky: 1250
Registrován: 26 čer 2009, 02:00
Bydliště: Hlohovec (Sk)

#2 Příspěvek od misocko »

Ake su to regulatory. Neda sa tam preprogramovat nejaky offset?

petrfilipi
Příspěvky: 2551
Registrován: 13 zář 2005, 02:00

#3 Příspěvek od petrfilipi »

Je to PRC - viz obrázek.
Naprogramovat lze:
•Brzda motoru
•Typ akumulátoru
•Doběh u vypnutí při podpětí
•Napětí pro vypnutí při vybitém aku
•Rychlost zapnutí motoru
•Časování (nevím přesně k čemu)
• a uvedení do defaultu

Kód je jednoduchý:
#include <Servo.h>
Servo MotorA;
Servo MotorB;
Servo MotorC;
Servo MotorD;

int VRx = A0;
int VRy = A1;
int SW = 13;

void setup() {
Serial.begin(9600);
MotorA.attach(3, 1000, 2000);
MotorB.attach(5, 1000, 2000);
MotorC.attach(6, 1000, 2000);
MotorD.attach(9, 1000, 2000);
pinMode(VRx, INPUT);
pinMode(VRy, INPUT);
pinMode(SW, INPUT_PULLUP);
}

void loop() {
int k = 1;

int posX = analogRead(VRx);
int posY = analogRead(VRy);
int sw = digitalRead(SW);


int rych = map(posX, 0, 1024, 0, 255);
MotorA.write(rych);
MotorB.write(rych);
MotorC.write(rych);
MotorD.write(rych);

Serial.println(rych);
}
Přílohy
ESC-1.jpg

petrfilipi
Příspěvky: 2551
Registrován: 13 zář 2005, 02:00

#4 Příspěvek od petrfilipi »

Tak už asi dobrý.

V návodu jsem objevil i nastavení mix/max. Tak jsme to udělali (potenciometr na max, připojit aku, počkat na 2 pípnutí, potenciometr na min, počkat na 4 pípnutí, počkat na dlouhé pípnutí). A vypadá to dobře, motor jede od hodnoty cca 32.

Hold jsme v oboru modelářství ještě začátečníci.
PF

Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

#5 Příspěvek od Celeron »

Jo, to je takzvaná kalibrace maximálních otáček na doraz knyplu plynu na RC vysílači. Je to potřeba udělat téměř u každýho novýho regulátoru a nebo změně vysílače, protože všechny vysílače nemají naprosto stejnej neutrál (1,4-1,5 mS) a minimální (0,8-1 ms) a maximální (1,9-2,1 mS) dýlku řídícího impulzu.
To programování regulátoru:
•Brzda motoru
(používají modeláři u sklopných vrtulí na elektrovětroních aby se při vypnutí motoru zabržděním listy sklopily a vrtule se za letu neprotáčela a nebrzdila. Na koptéru bych to nezapínal)
•Typ akumulátoru
(Pokud zadáš správnej typ a počet článků, tak regl hlídá napětí baterky na podvybití)
•Doběh u vypnutí při podpětí
(dá se nastavit že při podpětí regl zcela vypne motor a nebo omezí otáčky na polovinu)
•Napětí pro vypnutí při vybitém aku
(spíš napětí na článek než celý baterky)
•Rychlost zapnutí motoru
(čas za který se motor rozběhne z vypnuto na maximum)
•Časování (nevím přesně k čemu)
(je to úhel "předstihu" motoru. Nechává se buď automat a nebo 20-26 stupňů)
Jirka

Proč mi nemůže všechno chodit hned ?!!

Uživatelský avatar
PCmaniac99
Příspěvky: 749
Registrován: 07 úno 2008, 01:00
Bydliště: Jablonec nad Nisou

#6 Příspěvek od PCmaniac99 »

Časování (předstih) se nastavuje s ohledem, na počet pólů motoru, čím více pólů, tím větší časování. U koptérový oběžky to bude kolem těch 20° jak píše Celeron.

petrfilipi
Příspěvky: 2551
Registrován: 13 zář 2005, 02:00

#7 Příspěvek od petrfilipi »

Chlapi, díky moc za vysvětlení.

PF

Uživatelský avatar
PCmaniac99
Příspěvky: 749
Registrován: 07 úno 2008, 01:00
Bydliště: Jablonec nad Nisou

#8 Příspěvek od PCmaniac99 »

Koukal jsem na fotky spyda500 a určitě bych se vyhnul tem šroubovanejm spojům v elektrické kabeláži, vše řádně izolovat, jinak při nehodě pujde baterie do zkratu a bude z ní ohňostroj.

Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

#9 Příspěvek od Celeron »

PCmaniac99 píše:Časování (předstih) se nastavuje s ohledem, na počet pólů motoru, čím více pólů, tím větší časování. U koptérový oběžky to bude kolem těch 20° jak píše Celeron.
Dej info, kolik pólů (cívek na T plechu) mají ty tvý motory. Pokud 12, tak těch 20-26, pokud míň, tak automat a nebo míň než 20 a odzkoušet.
Máš u těch reglů programovací tabulku a pochopils, jak se do ní podle pískání dostat a něco změnit? Lepší je programovací karta, stojí pár stovek ale je ojedinělá pro výrobce a typ reglu. To pípání a pákování minimum, střed, maximum je docela pakárna, navíc 4x.
Jirka

Proč mi nemůže všechno chodit hned ?!!

Odpovědět

Zpět na „Měření, regulace a automatizace“