User Manual

97
void moveAtSpeed(uint8_t desired_speed_left, uint8_t desired_speed_right)
Tato funkce nastavuje provozní rychlost. Jednotlivé parametry budou definovat požadovanou
rychlost levého a pravého motoru. Opakova volání funkce motionControl (jak bylo popsáno
v předchozí kapitole) zajis nastavení hodnot pro regulaci rychlosti. Nastavení této hodnoty na
nulu vyvolá zpomalování sledované úplným vypnum modulu PWM.
getDesSpeedLeft() a getDesSpeedRight()
Tato makra umňují čtení okamžitého nastavení hodnoty rychlosti. Jak můžete vidět
v sledujícím ukázkovém programu, používá se velmi jednoduše:
... a nyní se začne RP6 pohybovat! Robot samozřejmě nebude reagovat na některé překážky a
pohybuje se pouze dopředu! Systém se bude pouze pokoušet regulovat rychlost a automaticky
nastavovat kon motorů tj. stoupání a sjíždění svahu.
BUĎTE OPATRNÍ: Toto chování může být velmi nebezpečné pro vaše
vlasní prsty vejte pozor, aby se prsty nedotýkali sové dráhy a
hnacích kol. Udržujte v čistotě desku plošných spojů a vedení pásů.
Existuje velké nebezpečí úrazu! Jak jsme již zmínili, výkon motoru se při
zátěži automaticky zvýší a motory jsou poměrně výkonné!
Parametry rychlosti pro funkci moveAtSpeed nejsou specifikovány v cm/s nebo ekvivalentních
jednotkách, ale v jednotkách rychlosti očení.
Rychlost robotu závisí předeím na rlm obvodu pásů a kol neboli jinak řečeno na rozlišení
enkodérů. Můžeme zde uvažovat toleranci od 0,23 do 0,25 mm na každý segment enkodéru.
Proto se má rozlišení enkodérů měřit.
Systém bude měřit rychlost očení v intervalech 200ms, který odpoví rychlosti 5 krát za
sekundu. Tae jednotkou je počet segmentů enkoru za 200ms. Hodnota 70, která se
používá v příkladu na předchozí stránce, může být interpretována jako 70 5 = 350 započítání