projects:ukhas_glider_project:slave
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
projects:ukhas_glider_project:slave [2007/09/23 21:58] – laurenceb | projects:ukhas_glider_project:slave [2008/07/19 23:33] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 7: | Line 7: | ||
$framesize = 64 | $framesize = 64 | ||
Const Servogain = 10 | Const Servogain = 10 | ||
- | Const Pterm = 1 ' | + | Const Pterm = -0.25 ' |
- | Const Iterm = 0.001 | + | Const Iterm = -0.0003 |
- | Const Dterm = 1 | + | Const Dterm = -0.35 |
- | Const Kalmangpsweight = 0.6 | + | Const Kalmangpsweight = 0.5 |
- | Const Kalmangyroweight = 0.3 | + | Const Kalmangyroweight = 0.5 |
Const Propogation = 0.98 *(1 -kalmangyroweight) | Const Propogation = 0.98 *(1 -kalmangyroweight) | ||
- | Const Servocontrolinput = -0.0015 *(1 -kalmangyroweight) | + | Const Servocontrolinput = 0.0015 *(1 -kalmangyroweight) |
- | Const Center = 6000 'needs to be checked with servo | + | Const Center = 6200 'needs to be checked with servo |
Const Conversionfactor = 16 ' | Const Conversionfactor = 16 ' | ||
Const Lowerpwm = Center - 300 | Const Lowerpwm = Center - 300 | ||
Line 76: | Line 76: | ||
S = 0 | S = 0 | ||
Integral = 0 | Integral = 0 | ||
+ | For Gpbyteone = 0 To 200 'to let us check servo alignment | ||
+ | | ||
+ | | ||
+ | Next | ||
Start Timer1 | Start Timer1 | ||
Start Timer0 | Start Timer0 | ||
Line 206: | Line 210: | ||
If Gpfloatone > 180 Then | If Gpfloatone > 180 Then | ||
| | ||
- | End If 'pid | + | End If |
- | Gpfloattwo = Gpfloatone * Pterm ' | + | Integral = Integral + Gpfloatone |
- | Realrate | + | Gpfloattwo = Gpfloatone * Pterm ' |
- | Integral | + | Gpfloatone |
- | Gpfloatone = Integral * Iterm | + | Gpfloatone |
- | If Gpfloatone | + | If Gpfloatone |
- | If Gpfloatone | + | If Gpfloatone |
- | Gpfloatone = Gpfloatone + Realrate | + | Gpfloattwo |
- | Gpfloatone = Gpfloatone + Gpfloattwo | + | If Gpfloattwo |
+ | If Gpfloattwo | ||
+ | Gpfloatone = Gpfloatone + Gpfloattwo | ||
Gpfloatone = Servogain * Gpfloatone | Gpfloatone = Servogain * Gpfloatone | ||
- | If Gpfloatone > 500 Then Gpfloatone = 500 ' | ||
- | If Gpfloatone < -500 Then Gpfloatone = -500 | ||
Servo = Gpfloatone | Servo = Gpfloatone | ||
Gpintegerone = Gpfloatone | Gpintegerone = Gpfloatone |
projects/ukhas_glider_project/slave.1190584720.txt.gz · Last modified: 2008/07/19 23:32 (external edit)