История коптеростроения им. 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%)