Помогите с реверсивным вращением бесколлекторного двигателя

Помогите с реверсивным вращением бесколлекторного двигателя

Сообщение MeritsIgor » 31 янв 2016, 13:32

Плата Arduino nano v.7
Регулятор Afro ESC 12A http://www.ivrotor.com/afro-esc-12a-v3-2-4s-with-bec/
Прошивка регулятора для реверсивного вращения(заливал сам)- BlHeli: https://yadi.sk/i/J7BTFwUvo3CmD

Код для сервы:

Код: Выделить всё
Servo myservo2;
#define step_servo 10 //минимальный угол поворота ссервы за один клик
uint8_t min_pos=10, max_pos=170; //минимальное и максимаьное положение сервы
i2=90; //начальное положение сервы

void setup()
{
myservo2.attach(13); // Подключение сервоприводов к порту
myservo2.write(i2); // начальное положение сервы(горизот) при включении
}

void loop()
{
if (UART_ReadByte(inByte))
{
if ( packid == 16 )
{
packid=0;
switch (inByte) // Смотрим какая команда пришла
{

case 'K': // Серва поворачивается вправо
if(i2 > min_pos) myservo2.write(i2 -= step_servo);
break;

case 'H': // Серва поворачивается влево
if(i2 < max_pos) myservo2.write(i2 += step_servo);
break;

}

} else packet_id(inByte);
}
//wdt_reset();
}


При нажатии на кнопку 'H' двигатель крутится в одну сторону , при нажатии на 'K'-останавливается, при последующих нажатиях на 'K' - двигатель не вращается ни в какую сторону.
Подскажите в чем тут проблема.
MeritsIgor
 
Сообщения: 1
Зарегистрирован: 31 янв 2016, 13:29
programming: php c++ html css c# tp

Re: Помогите с реверсивным вращением бесколлекторного двигат

Сообщение noonv » 01 фев 2016, 10:24

А проверка условия
Код: Выделить всё
if(i2 > min_pos)

не влияет на такое поведение?
Аватара пользователя
noonv
Администратор
 
Сообщения: 557
Зарегистрирован: 05 май 2011, 15:44
Откуда: Калининград
programming: С++


Вернуться в Программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

© 2009-2019 |  О проекте  |  Политика Конфиденциальности  |