|
@@ -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
|