<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://multicopterwiki.ru/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://multicopterwiki.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%BC%D0%B8%D0%BA%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F</id>
		<title>Теория микширования - История изменений</title>
		<link rel="self" type="application/atom+xml" href="https://multicopterwiki.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%BC%D0%B8%D0%BA%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F"/>
		<link rel="alternate" type="text/html" href="https://multicopterwiki.ru/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%BC%D0%B8%D0%BA%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;action=history"/>
		<updated>2026-04-15T07:44:32Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.18.0</generator>

	<entry>
		<id>https://multicopterwiki.ru/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%BC%D0%B8%D0%BA%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;diff=5797&amp;oldid=prev</id>
		<title>Admin: Новая страница: «right  Микширование моторов (motor mix) - алгоритм или правила задания управляющи...»</title>
		<link rel="alternate" type="text/html" href="https://multicopterwiki.ru/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%BC%D0%B8%D0%BA%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&amp;diff=5797&amp;oldid=prev"/>
				<updated>2015-03-05T15:09:23Z</updated>
		
		<summary type="html">&lt;p&gt;Новая страница: «&lt;a href=&quot;/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Motmix00.jpg&quot; title=&quot;Файл:Motmix00.jpg&quot;&gt;right&lt;/a&gt;  Микширование моторов (motor mix) - алгоритм или правила задания управляющи...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Файл:Motmix00.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
Микширование моторов (motor mix) - алгоритм или правила задания управляющих сигналов к [[Контроллеры моторов|контроллерам моторов]] в зависимости от расположения моторов относительно центра конструкции и от [http://rcsearch.ru/wiki/%D0%90%D0%BF%D0%BF%D0%B0%D1%80%D0%B0%D1%82%D1%83%D1%80%D0%B0_%D1%80%D0%B0%D0%B4%D0%B8%D0%BE%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F радиоуправляющих сигналов].&lt;br /&gt;
&lt;br /&gt;
[https://code.google.com/p/ardupirates/wiki/motormixing Источник]&lt;br /&gt;
&lt;br /&gt;
== Базовые понятия ==&lt;br /&gt;
&lt;br /&gt;
Расположение осей:&lt;br /&gt;
&lt;br /&gt;
Всего для расчётов используются 3 оси:&lt;br /&gt;
* Pitch и Roll для стабилизации и управления по горизонту;&lt;br /&gt;
* Yaw для стабилизации и управления вокруг вертикальной оси, при этом:&lt;br /&gt;
** если мотор крутится по часовой стрелке (CW, ClockWise) - это отрицательное (-) направления вращения;&lt;br /&gt;
** если против (CCW, CounterClockWise) - положительное (+).&lt;br /&gt;
&lt;br /&gt;
== Примеры расчётов ==&lt;br /&gt;
=== Квадрокоптер «+» ===&lt;br /&gt;
Все моторы находятся на осях, максимальная длина 100% (=1) от центра на каждом.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Motmix01.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Мотор&lt;br /&gt;
!pitch&lt;br /&gt;
!roll&lt;br /&gt;
!yaw&lt;br /&gt;
|-&lt;br /&gt;
| 0 правый (CCW)&lt;br /&gt;
| 0%&lt;br /&gt;
| -100%&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
| 1 левый (CCW)&lt;br /&gt;
| 0%&lt;br /&gt;
| +100%&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
| 2 передний (CW)&lt;br /&gt;
| +100%&lt;br /&gt;
| 0%&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| 3 задний (CW)&lt;br /&gt;
| -100%&lt;br /&gt;
| 0%&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Пример микширования для [[MultiWii]] из файла Output.pde (прошивка версии 1.9)&lt;br /&gt;
PIDMIX (roll, pitch, yaw) (тут ось pitch инвертирована относительно картинки, поэтому значения не совпадают знаками)&lt;br /&gt;
&lt;br /&gt;
 #ifdef QUADP&lt;br /&gt;
 motor[0] = PIDMIX( 0,+1,-1); //REAR (задний)&lt;br /&gt;
 motor[1] = PIDMIX(-1, 0,+1); //RIGHT (правый)&lt;br /&gt;
 motor[2] = PIDMIX(+1, 0,+1); //LEFT (левый)&lt;br /&gt;
 motor[3] = PIDMIX( 0,-1,-1); //FRONT (передний)&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
Пример кода из [[MegaPirateNG]] ([[ArduCopter]])&lt;br /&gt;
&lt;br /&gt;
 roll_out = g.rc_1.pwm_out;&lt;br /&gt;
 pitch_out = g.rc_2.pwm_out;&lt;br /&gt;
 // left&lt;br /&gt;
 motor_out[CH_1] = g.rc_3.radio_out - roll_out; (левый)&lt;br /&gt;
 // right&lt;br /&gt;
 motor_out[CH_2] = g.rc_3.radio_out + roll_out; (правый)&lt;br /&gt;
 // front&lt;br /&gt;
 motor_out[CH_3] = g.rc_3.radio_out + pitch_out; (передний)&lt;br /&gt;
 // back&lt;br /&gt;
 motor_out[CH_4] = g.rc_3.radio_out - pitch_out; (задний)&lt;br /&gt;
&lt;br /&gt;
=== Квадрокоптер «X» ===&lt;br /&gt;
Моторы расположены на биссектрисах между осями (45°), но расстояние до мотора сохраняется, поэтому по законам тригонометрии (гипотенузу знаем (расстояние до мотора), прилежащий угол знаем =&amp;gt; используем функцию sin или cos (в данном случае оба катета треугольника равны) для получения искомого значения) и получается ~71%.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Motmix02.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Мотор&lt;br /&gt;
!pitch&lt;br /&gt;
!roll&lt;br /&gt;
!yaw&lt;br /&gt;
|-&lt;br /&gt;
| 0 передний правый (CCW)&lt;br /&gt;
| +71%&lt;br /&gt;
| -71%&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
| 1 задний левый (CCW)&lt;br /&gt;
| -71%&lt;br /&gt;
| +71%&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
| 2 передний левый (CW)&lt;br /&gt;
| +71%&lt;br /&gt;
| +71%&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| 3 задний правый (CW)&lt;br /&gt;
| -71%&lt;br /&gt;
| -71%&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Видим что везде 71%, а мы можем 100%, поэтому, чтобы моторы могли работать в полную силу, принимаем 71% за 100% и получаем:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Мотор&lt;br /&gt;
!pitch&lt;br /&gt;
!roll&lt;br /&gt;
!yaw&lt;br /&gt;
|-&lt;br /&gt;
| 0 передний правый (CCW)&lt;br /&gt;
| +100%&lt;br /&gt;
| -100%&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
| 1 задний левый (CCW)&lt;br /&gt;
| -100%&lt;br /&gt;
| +100%&lt;br /&gt;
| +&lt;br /&gt;
|-&lt;br /&gt;
| 2 передний левый (CW)&lt;br /&gt;
| +100%&lt;br /&gt;
| +100%&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| 3 задний правый (CW)&lt;br /&gt;
| -100%&lt;br /&gt;
| -100%&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Пример микширования для [[MultiWii]] из файла Output.pde (прошивка версии 1.9)&lt;br /&gt;
PIDMIX (roll, pitch, yaw) (тут ось pitch инвертирована относительно картинки, поэтому значения не совпадают знаками)&lt;br /&gt;
&lt;br /&gt;
 #ifdef QUADX&lt;br /&gt;
 motor[0] = PIDMIX(-1,+1,-1); //REAR_R (задний правый)&lt;br /&gt;
 motor[1] = PIDMIX(-1,-1,+1); //FRONT_R (передний правый)&lt;br /&gt;
 motor[2] = PIDMIX(+1,+1,+1); //REAR_L (задний левый)&lt;br /&gt;
 motor[3] = PIDMIX(+1,-1,-1); //FRONT_L (передний левый)&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
Пример кода из [[MegaPirateNG]] ([[ArduCopter]])&lt;br /&gt;
&lt;br /&gt;
 roll_out = g.rc_1.pwm_out * .707;&lt;br /&gt;
 pitch_out = g.rc_2.pwm_out * .707;&lt;br /&gt;
 // left&lt;br /&gt;
 motor_out[CH_3] = g.rc_3.radio_out + roll_out + pitch_out; // FRONT (передний левый)&lt;br /&gt;
 motor_out[CH_2] = g.rc_3.radio_out + roll_out - pitch_out; // BACK (задний левый)&lt;br /&gt;
 // right&lt;br /&gt;
 motor_out[CH_1] = g.rc_3.radio_out - roll_out + pitch_out; // FRONT (передний правый)&lt;br /&gt;
 motor_out[CH_4] = g.rc_3.radio_out - roll_out - pitch_out; // BACK (задний правый)&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>