История коптеростроения им. kapteinKUK'a

История начинается (16.11.09) с опубликования исходного кода на ассемблере.
Тред ценен подробной настройкой, например - «Установите значение усиления регулятора 50% (потенциометром на плате). Увеличивайте, пока аппарат не станет быстро колебаться, затем чуть уберите обратно, когда колебания прекратяться. … Слишком низкий коэффициент усиления опрокидывает аппарат или с ним трудно управляться»

Примечания автора -

«Это простой код только с одним главным циклом, без использования прерываний. Загрузка CPU (ATMega48 на 8 МГц) составляет около 80%, поэтому есть время добавить собственный код.
Больше времени процессора может быть освобождено путем добавления прерываний чтения и генерации импульсов, но на данный момент я хотел, чтобы вещи были простыми и легкими.»


Далее, (18.10.10) код был переведен на С -

«Этот тред предназначен … для тех, кто хочет сделать альтернативные макеты и разработать расширенные версии программного обеспечения.
Я не буду следовать этой линии развития сам, но в качестве стартера для тех, кто это делает, вот правила-как я понимаю, - которые они должны учитывать для схемы:
Потенциометры, ведающие усилением (gain pots) и выходы гироскопа должны идти к контактам ADC0 - >7.
Сигналы Rx должны использовать вывод D2 (INT0), вывод D3 (INT1), а затем еще 2 вывода, которые должны быть из разных портов (но один может быть на PortD)»

«Если вы изменяете код - особенно там, где корректировка гироскопа рассчитывается и применяется к газу двигателей - вы должны удалить пропеллеры перед тестированием.
У меня были странные результаты, которые могут легко привести к травме…»
(полный список изменений)


Далее последовали следующие изменения для V1.0

V1- Release Version (18.10.10)  
V1.0a  
 Added Y6 configuration  
 Added missing Yaw gyro adjust code for QUAD-X  
 Fixed wrong Pitch adjustment calc for TRI  
V1.0b  
 corrected Yaw gyro processing for TRI  
V1.0c  
 Quad-X RxIn now applied at 50% to each motor  
V1.0d  
 TRI now has KK V1.3 stick input scale by gain pots mod  
V1.0e  
 Added 95% max Collective Limit to keep copter more stable under extreme manouvers.  
V1.0f  
 Fixed GyroCalibrationDelayCounter delay too long  
V1.0g  
 Added #define for EXTERNAL YAW GYRO  
 removed #define NO GYROS ATTACHED  
 Added Stick-Arming  
 fixed error calculating ServoPPMRateDivider  
V1.0h  
 in setup() i now defined as uint16 t (reqd for TRI)  
 STICK ARMING now holds stick (dis-)arm point  
 Consistent PWM output rate  
 corrected: while (TCNT0 < 80)  
V1.0i  
 added separate Gyro Gain Multipliers  
 added MAX COLLECTIVE #define  
V1.0j (01.02.11)  
 added Stick Scaling
 removed TRI stick scaling from gyro gain pots  


Изменения до V1.1(01.01.11) насколько я понимаю были в переходе от Software-PWM к Fast-PWM? В самом деле начали для PWM использовать прерывания от таймера? Хотя сверху же первопроходец так и отписал сие.


Далее за дело взялся другой автор -

XXcontroller_KR_v1.1 (01.10.11)

Audible arming sound (Mike's source)
PWM refresh rate 495Hz (Mike's & manuLRK's source)
Calibrate Gyros when mode changed
All multicopter types tested. 

XXcontrol_KR v1.2 (01.14.11)

SingleCopter was added.

XXcontrol_KR v1.3 (01.17.11)

DualCopter was added
Fixed bugs at ReadGainPots

XXcontrol_KR_v1.4 (for Blueboard) (01.20.11)

Fixed bugs in case of yaw reverse at TriCopter
Default Set 3 for GAIN_MULTIPLIER

XXcontrol_KR_v1.5 (for Blueboard) (08.02.11)

TwinCopter was added.
Y4Copter was added.
TriCopter Servo Reverse Pin was added(M5)
Increased Acro Stick Gain(65% to 70%)