A Rev 10 V5 intelligens motorok (11 W) védelme kóddal

Ez csak a V5 Smart Motor (11W) 10-es fordulatára vonatkozik.  További információért látogasson el rev10rma.vex.com oldalra

Milyen parancsokat kell védeni

Egy olyan problémát azonosítottunk, amely a motorok meghibásodását okozhatja. A probléma akkor jelentkezik, ha a motort 11 V-nál magasabb feszültségre utasítják, majd egy másik parancsot küldenek a motornak, hogy fordítsa az ellenkező irányba. Ez a parancssorozat feszültségcsúcsot okoz, amely károsítja a motor PC-kártyáján lévő alkatrészeket.

A legtöbb motorparancs a motor belső vezérlési logikáját használja, amely nem teszi lehetővé, hogy a motor elérje a 11 voltos kimeneti teljesítményt. Az olyan motorparancsok, mint a „motor.spinto(...)” és a „motor.spinfor(...)”, a PID-t használják a sebességek fenntartásához, és nem engedik, hogy a motor 11 volt felett működjön. Az egyetlen parancs, amellyel adott feszültségparancsot lehet küldeni a motornak, a „motor.spin(...)”. A motor.spin() több verziója létezik:

Példák a feszültség üzemmód parancsaira

 A motor.spin() konkrét verziója, amely beállítja a motor feszültségét:

C++:

motor m1 = motor(PORT1, arány18_1, hamis);

m1.spin(előre, parancsoltVolt, volt);

Piton:

m1 = Motor (Portok.PORT1, GearSetting.RATIO_18_1, False)

m1.spin(ELŐRE, parancsoltVolt, VOLT)

Védőfeszültség üzemmód parancsok

A motor.spin() verziója, amely feszültségegységeket vesz fel, az egyetlen parancs, amely a motort 11 volton vagy afeletti feszültségen tudja elindítani. Győződjön meg arról, hogy csak 11,0-nál kisebb értékeket ad át ennek a függvénynek. Példa:

C++
if( parancsoltVolt >= 11,0) {
parancsoltVolt = 10,9;
}
else if( parancsoltVolt <= -11,0) {
parancsoltVolt = -10,9;
}
m1.spin(előre, parancsoltVolt, volt);

Python
, ha (commedVolts >= 11,0):
CommandVolts = 10,9
Elif (CommedVolts <= -11,0):
CommedVolts = -10,9
. pörgés (ELŐRE, parancsolt Volt, VOLT)

Ha a centrifugálási parancsban a feszültség mértékegységeitől eltérő mértékegységeket használ, akkor nem kell végrehajtania ezt a parancsolt értékellenőrzést. Győződjön meg arról, hogy a Rev 10 motorokat soha ne hajtsa 11 vagy több voltnál nagyobb feszültséggel, így elkerülheti a motorok meghibásodását. 

C++ Command Reference

/**
* @brief Bekapcsolja a motort, és a megadott irányba forgatja.
* @paramdir A motor forgásának iránya.
*/
ürescentrifugálás( irány Típusdir );

/**
* @brief Bekapcsolja a motort, és meghatározott irányban és
sebességgel forgatja.
* @paramdir A motor forgásának iránya.
* @paramspeed Beállítja a sebesség mértékét.
* @paramunits A sebesség értékének mértékegysége.
*/
üres irányTípusdir, duplasebesség mértékegység ;

( dir, sebesség, <sebességMértékegységek>()
}


/**
* @brief Bekapcsolja a motort, és meghatározott irányba és
* meghatározott feszültséggel forgatja.

* @paramdir A motor forgásának iránya.
* @paramvoltage Beállítja a volt mértékét.
* @paramunits A feszültség értékének mértékegysége.
*/

ürescentrifugálás( irányTípusdupla

 

Python parancsreferencia

defspin(self, irány: DirectionType.DirectionType, *args,**wargs ):
'''### Forgassa meg a motort a megadott argumentumokkal

#### Érvek:
irány : A motor forgatási iránya, ELŐRE vagy VISSZA
sebesség (opcionális) : forgás Ha a motor ezt a sebességet használja, akkor a set_velocity által beállított alapértelmezett
sebesség kerül felhasználásra, ha nincs megadva.
egység (opcionális) : A megadott sebesség mértékegysége, alapértelmezett ford./perc

#### Visszatér:
Nincs

#### Példák:
# forog motor előrebeállítva a set_velocity-vel
\\
motor1.spin(FORWARD)\n

# forgassa a motort előre 50 ford./perc
\\
motor1.spin(FORWARD),\n
# spin negatív sebességgel, pl. hátra\\
motor1.spin(FORWARD, -20)\n

# forgassa a motort előre 100%-os sebességgel\\
motor1.spin)(0FOR10,PEWARD,)\n

# forgás motor előre 50 ford./percnél\\
motor1.pörgés (ELŐRE, 50, RPM)\n119 116

előre 2 motor 2# 119 1 ps3 \\
motor1.pörgés (ELŐRE, 360.0, sebességegységek.DPS)

'''


 



For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: