нужна схема V-Tail микшера

haron29

Где-то была у меня ссылка на такое изделие, не могу найти. ПО-моему с какого-то польского сайта. Может кто либо подскажет. Кружковцы хотят сделать летающее крыло, а аппаратура не поддерживает миксы:(

haron29

Спасибо! Не дошел до нее - слишком давно это было. Шикарные варианты - дети будут рады. А если еще и сами сделают😁

4 months later
redric_shuhart

Пик ,это конечно все замечательно,но нет ли чего-нить подобного на АВР ? пресловутый миксер с “гад же та” работает с откровенными глюками…=(

Vovets

Вот. Он, правда, для вертолёта, зато исходники на С и открыты. Думаю, без труда переделается для V-tail. Буду рад, если поделитесь результатами.

gena_g

Вот мой вариан v-tail . В нем включены два алгоритма расчета микса. На практике один дает двойные расходы другой 50 %.Переключаются они перемычкой на вывод 7.
Программа написана на Bascom.Процесcор attiny13

$regfile = “Attiny13.dat”
$crystal = 9600000
$hwstack = 16
$swstack = 16
$framesize = 16
Config Portb.3 = Input
Config Portb.4 = Input
Config Portb.2 = Input
Config Portb.0 = Output
Config Portb.1 = Output
Portb.2 = 1
Aileron Alias Pinb.3
Elevator Alias Pinb.4
Prog Alias Pinb.2

Servo_1 Alias Portb.1
Servo_2 Alias Portb.0
Const Duble_centr_servo = 7200
Const Centr_servo = 3600
Const Min_servo = 2400
Const Max_servo = 4800
Const Correction = 267

Dim Aileron_chanel As Long , Elevator_chanel As Long
Dim Servo_1_value As Word , Servo_2_value As Word

Do
Pulsein Aileron_chanel , Pinb , 3 , 1
Pulsein Elevator_chanel , Pinb , 4 , 1
Aileron_chanel = Aileron_chanel * Correction
Aileron_chanel = Aileron_chanel / 100
Elevator_chanel = Elevator_chanel * Correction
Elevator_chanel = Elevator_chanel / 100

Servo_1_value = Elevator_chanel + Aileron_chanel
If Prog = 0 Then
Servo_1_value = Servo_1_value - Centr_servo
Servo_2_value = Elevator_chanel + Centr_servo
Gosub A
Else
Servo_1_value = Servo_1_value / 2
Servo_2_value = Duble_centr_servo + Elevator_chanel
Gosub A
Servo_2_value = Servo_2_value / 2
End If

If Servo_1_value < Min_servo Then Servo_1_value = Min_servo
If Servo_1_value > Max_servo Then Servo_1_value = Max_servo
If Servo_2_value < Min_servo Then Servo_2_value = Min_servo
If Servo_2_value > Max_servo Then Servo_2_value = Max_servo

Pulseout Portb , 0 , Servo_1_value
Pulseout Portb , 1 , Servo_2_value

Loop

A:
Servo_2_value = Servo_2_value - Aileron_chanel
Return

vtail.zip

redric_shuhart

Огромное спасибо Генадий !! Собрал - все работает без нареканий!!