3.22EjemploDRM007 Co..
3.22EjemploDRM007 Co..
3.22EjemploDRM007 Co..
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Source <strong>Co</strong>de<br />
LDX #0x12<br />
DIV<br />
LDHX #0x0681<br />
PSHA<br />
TXA<br />
PULX<br />
DIV<br />
STA<br />
Speed<br />
}<br />
}<br />
if (Actual_Direction == CCW)<br />
Speed = -Speed;<br />
<strong>Co</strong>ntrollerOutput = PI<strong>Co</strong>ntroller();<br />
if (<strong>Co</strong>ntrollerOutput < 0)<br />
{<br />
<strong>Co</strong>ntrollerOutput = -<strong>Co</strong>ntrollerOutput;<br />
Required_Direction = CCW;<br />
}<br />
else<br />
Required_Direction = CW;<br />
/*<br />
<strong>Co</strong>ntrollerOutput<br />
newPWM = ---------------- + 128<br />
256<br />
*/<br />
newPWM = (UBYTE)((UBYTE)(<strong>Co</strong>ntrollerOutput >> 8) + 0x80);<br />
MotorStalledProtection();<br />
Milli_<strong>Co</strong>unter++;<br />
/* Enters if Milli_<strong>Co</strong>unter > 10 milliseconds */<br />
if (Milli_<strong>Co</strong>unter > 10)<br />
{<br />
Milli_<strong>Co</strong>unter = 0;<br />
/* Wash Process */<br />
if (BLDCState == BLDCWASH)<br />
RefSpeed = WASHTable[WASHTable_Index++];<br />
/* Spin Process */<br />
else if (SPINTable_Index != 0)<br />
{<br />
RefSpeed = SPINTable[SPINTable_Index++];<br />
if (Required_Direction == CCW)<br />
RefSpeed = -RefSpeed;<br />
}<br />
}<br />
}<br />
return;<br />
DRM007<br />
BLDC Motor <strong>Co</strong>ntrol Board for Industrial and Appliance Applications<br />
132 Source <strong>Co</strong>de MOTOROLA