Browse Source

Extended xyControl

Thomas Buck 11 years ago
parent
commit
a272d7aa6a
3 changed files with 25 additions and 19 deletions
  1. 15
    9
      input/projects/xycontrol.md
  2. 2
    2
      output/rss.xml
  3. 8
    8
      output/xycontrol.html

+ 15
- 9
input/projects/xycontrol.md View File

@@ -31,10 +31,10 @@ The Board can be powered from an external stable 5V supply, USB or 7V or more, v
31 31
 
32 32
 Three tasks are controlling the Quadrocopter Orientation in Space.
33 33
 
34
-+ The Orientation Task reads the Gyroscope and Accelerometer and calculates the current Roll and Pitch angles. They are stored in the global struct "orientation".
35
-+ The PID Task is then feeding these angles into two PID controllers. Their output is then used by...
36
-+ The Set Task, which calculates the motor speeds and gives them to...
37
-+ The motor task, which sends the new values via TWI to the motor controllers.
34
++ The [Orientation Task][orient] reads the Gyroscope and Accelerometer and calculates the current Roll and Pitch angles. They are stored in the global struct "orientation".
35
++ The [PID Task][pid] is then feeding these angles into two PID controllers. Their output is then used by...
36
++ The [Set Task][set], which calculates the motor speeds and gives them to...
37
++ The [motor task][motor], which sends the new values via TWI to the motor controllers.
38 38
 
39 39
 # Supported Hardware
40 40
 
@@ -44,7 +44,7 @@ Three tasks are controlling the Quadrocopter Orientation in Space.
44 44
 + Brushless Motor Driver [BL-Ctrl V1.2][ctrl] with eg. the [Robbe Roxxy Outrunner 2824-34][mot] Brushless Motor.
45 45
 + BTM-222 Bluetooth UART Bridge ([PCB][bt])
46 46
 
47
-## External Memory (xmem.h)
47
+## External Memory ([xmem.h][xmem])
48 48
 
49 49
 The external memory consists of a 512Kx8 SRAM, bank-switched onto the 16bit avr address space.
50 50
 This gives us 8 memory banks, consisting of 56KB. All memory from 0x0000 to 0x21FF is the AVRs internal memory. The memory banks are switched into 0x2200 to 0xFFFF.
@@ -52,13 +52,13 @@ This gives us 8 banks with 56KB each, resulting in 448KB external RAM.
52 52
 
53 53
 The data and bss memory sections, as well as the Stack are located in the internal RAM. The external RAM is used only for dynamically allocated memory.
54 54
 
55
-## Orientation Calculation (orientation.h)
55
+## Orientation Calculation ([orientation.h][orient])
56 56
 
57 57
 Calculates the current angles of the platform, using Gyroscope and Accelerometer Data with a Kalman Filter. It is using this slightly modified [Kalman Filter Implementation][kalman] by Linus Helgesson.
58 58
 
59 59
 # PC and Android Tools
60 60
 
61
-You can find some PC Software in the 'tools' directory. Each one should be accompanied by it's own Readme file.
61
+You can find some PC Software in the [tools][tools] directory. Each one should be accompanied by it's own Readme file.
62 62
 
63 63
 ## UART-Flight Status Packet Format
64 64
 
@@ -93,8 +93,14 @@ Everything else is released under a BSD-Style license. See the [accompanying COP
93 93
  [pololu]: http://www.pololu.com/catalog/product/1268
94 94
  [ctrl]: http://www.mikrokopter.de/ucwiki/en/BL-Ctrl_V1.2
95 95
  [mot]: http://www.conrad.de/ce/de/product/231867
96
- [bt]: http://xythobuz.org/index.php?p=bt
96
+ [bt]: http://xythobuz.de/bluetooth.html
97 97
  [kalman]: http://www.linushelgesson.se/2012/04/pitch-and-roll-estimating-kalman-filter-for-stabilizing-quadrocopters/
98 98
  [fleury]: http://homepage.hispeed.ch/peterfleury/avr-software.html
99 99
  [gpl]: http://www.gnu.org/licenses/gpl.html
100
- [bsd]: https://github.com/xythobuz/xyControl/blob/master/COPYING
100
+ [bsd]: https://github.com/xythobuz/xyControl/blob/master/COPYING
101
+ [xmem]: https://github.com/xythobuz/xyControl/blob/master/include/xmem.h
102
+ [orient]: https://github.com/xythobuz/xyControl/blob/master/include/orientation.h
103
+ [tools]: https://github.com/xythobuz/xyControl/tree/master/tools
104
+ [pid]: https://github.com/xythobuz/xyControl/blob/master/include/pid.h
105
+ [set]: https://github.com/xythobuz/xyControl/blob/master/include/set.h
106
+ [motor]: https://github.com/xythobuz/xyControl/blob/master/include/motor.h

+ 2
- 2
output/rss.xml View File

@@ -6,8 +6,8 @@
6 6
 <atom:link href="http://www.xythobuz.de/rss.xml" rel="self" type="application/rss+xml" />
7 7
 <description>xythobuz Electronics &amp; Software Projects</description>
8 8
 <language>en-us</language>
9
-<pubDate>Mon, 06 May 2013 20:03:07 -0000</pubDate>
10
-<lastBuildDate>Mon, 06 May 2013 20:03:07 -0000</lastBuildDate>
9
+<pubDate>Mon, 06 May 2013 20:35:53 -0000</pubDate>
10
+<lastBuildDate>Mon, 06 May 2013 20:35:53 -0000</lastBuildDate>
11 11
 <docs>http://blogs.law.harvard.edu/tech/rss</docs>
12 12
 <generator>Poole</generator>
13 13
 

+ 8
- 8
output/xycontrol.html View File

@@ -55,10 +55,10 @@ The Board can be powered from an external stable 5V supply, USB or 7V or more, v
55 55
 <h2>Flight Control Software Flow</h2>
56 56
 <p>Three tasks are controlling the Quadrocopter Orientation in Space.</p>
57 57
 <ul>
58
-<li>The Orientation Task reads the Gyroscope and Accelerometer and calculates the current Roll and Pitch angles. They are stored in the global struct "orientation".</li>
59
-<li>The PID Task is then feeding these angles into two PID controllers. Their output is then used by...</li>
60
-<li>The Set Task, which calculates the motor speeds and gives them to...</li>
61
-<li>The motor task, which sends the new values via TWI to the motor controllers.</li>
58
+<li>The <a href="https://github.com/xythobuz/xyControl/blob/master/include/orientation.h">Orientation Task</a> reads the Gyroscope and Accelerometer and calculates the current Roll and Pitch angles. They are stored in the global struct "orientation".</li>
59
+<li>The <a href="https://github.com/xythobuz/xyControl/blob/master/include/pid.h">PID Task</a> is then feeding these angles into two PID controllers. Their output is then used by...</li>
60
+<li>The <a href="https://github.com/xythobuz/xyControl/blob/master/include/set.h">Set Task</a>, which calculates the motor speeds and gives them to...</li>
61
+<li>The <a href="https://github.com/xythobuz/xyControl/blob/master/include/motor.h">motor task</a>, which sends the new values via TWI to the motor controllers.</li>
62 62
 </ul>
63 63
 <h1>Supported Hardware</h1>
64 64
 <ul>
@@ -66,17 +66,17 @@ The Board can be powered from an external stable 5V supply, USB or 7V or more, v
66 66
 <li>Accelerometer and Magnetometer LSM303DLHC, code based on the <a href="https://github.com/pololu/LSM303">Pololu Example</a>.</li>
67 67
 <li>I got both of these Sensors on the <a href="http://www.pololu.com/catalog/product/1268">MinIMU-9 v2</a>.</li>
68 68
 <li>Brushless Motor Driver <a href="http://www.mikrokopter.de/ucwiki/en/BL-Ctrl_V1.2">BL-Ctrl V1.2</a> with eg. the <a href="http://www.conrad.de/ce/de/product/231867">Robbe Roxxy Outrunner 2824-34</a> Brushless Motor.</li>
69
-<li>BTM-222 Bluetooth UART Bridge (<a href="http://xythobuz.org/index.php?p=bt">PCB</a>)</li>
69
+<li>BTM-222 Bluetooth UART Bridge (<a href="http://xythobuz.de/bluetooth.html">PCB</a>)</li>
70 70
 </ul>
71
-<h2>External Memory (xmem.h)</h2>
71
+<h2>External Memory (<a href="https://github.com/xythobuz/xyControl/blob/master/include/xmem.h">xmem.h</a>)</h2>
72 72
 <p>The external memory consists of a 512Kx8 SRAM, bank-switched onto the 16bit avr address space.
73 73
 This gives us 8 memory banks, consisting of 56KB. All memory from 0x0000 to 0x21FF is the AVRs internal memory. The memory banks are switched into 0x2200 to 0xFFFF.
74 74
 This gives us 8 banks with 56KB each, resulting in 448KB external RAM.</p>
75 75
 <p>The data and bss memory sections, as well as the Stack are located in the internal RAM. The external RAM is used only for dynamically allocated memory.</p>
76
-<h2>Orientation Calculation (orientation.h)</h2>
76
+<h2>Orientation Calculation (<a href="https://github.com/xythobuz/xyControl/blob/master/include/orientation.h">orientation.h</a>)</h2>
77 77
 <p>Calculates the current angles of the platform, using Gyroscope and Accelerometer Data with a Kalman Filter. It is using this slightly modified <a href="http://www.linushelgesson.se/2012/04/pitch-and-roll-estimating-kalman-filter-for-stabilizing-quadrocopters/">Kalman Filter Implementation</a> by Linus Helgesson.</p>
78 78
 <h1>PC and Android Tools</h1>
79
-<p>You can find some PC Software in the 'tools' directory. Each one should be accompanied by it's own Readme file.</p>
79
+<p>You can find some PC Software in the <a href="https://github.com/xythobuz/xyControl/tree/master/tools">tools</a> directory. Each one should be accompanied by it's own Readme file.</p>
80 80
 <h2>UART-Flight Status Packet Format</h2>
81 81
 <pre><code>printf("t%.2f %.2f %.2f\n", kp, ki, kd);
82 82
 printf("u%.2f %.2f\n", pid_output[1], pid_output[0]); // Pitch, Roll

Loading…
Cancel
Save