roboforum.ru

Технический форум по робототехнике.

Драйвер двигателя на ардуино

Раздел создан специально для людей которым интересна робототехника, но в силу разных причин они не знают с чего начать.
Задавайте ваши вопросы, какими бы простыми они не казались, постоянные посетители форума постараются ответить на них по мере своих сил.
Робот своими руками. Самодельный робот.

Драйвер двигателя на ардуино

Сообщение roma95 » 10 янв 2014, 21:36

Всем привет) прошу помочь написать программу для ардуино или натолкнуть на мысль. задача-собрать что-то типа модельного драйвера двигателя. гуглил долго и упорно, но везде варианты на PIC, мне бы хотелось собрать на ATMEGA
roma95
 
Сообщения: 24
Зарегистрирован: 15 авг 2013, 17:07

Re: Драйвер двигателя на ардуино

Сообщение Angel71 » 10 янв 2014, 22:09

"модельного драйвера двигателя" :) можно ещё раз, но уже по русски? если вы про bldc, то разбанивайтесь в поисковиках и изучайте темы на форумах, начиная с этого.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: Драйвер двигателя на ардуино

Сообщение roma95 » 10 янв 2014, 22:18

распишу задачу более подробно. Есть авиамодельный передатчик без функции смешивания каналов (v-tail вроде) так вот нужно собрать драйвер на два коллекторных двигателя сразу с функцией v-tail. что то типа того, который собрали в киберзоне.
roma95
 
Сообщения: 24
Зарегистрирован: 15 авг 2013, 17:07

Re: Драйвер двигателя на ардуино

Сообщение Dmitry__ » 10 янв 2014, 22:29

Ну, дык ""V-Tail Mixer", превед из киберзоны
forum10/topic9482-45.html#p195661

Добавлено спустя 6 минут 40 секунд:
во, на аврах и дуинах:
http://www.avrfreaks.net/index.php?modu ... showinfo=1
http://forum.arduino.cc/index.php?topic=37638.0
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Драйвер двигателя на ардуино

Сообщение roma95 » 12 янв 2014, 12:03

спасибо) интересные ссылки). но а как написать саму программу для управления двигателем? как програмно преобразовать сигнал, идущий с модельного приемника и ШИМ?
roma95
 
Сообщения: 24
Зарегистрирован: 15 авг 2013, 17:07

Re: Драйвер двигателя на ардуино

Сообщение avr123.nm.ru » 12 янв 2014, 12:12

Измерение длительности импульса (AVR) forum2/topic9053.html
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Драйвер двигателя на ардуино

Сообщение Nesenin » 12 янв 2014, 14:38

post263281.html#p263281
захват ШИМ с приемника. смешивание каналов для танкового управления.
1 канал используется как управляющий (у меня 3 канальный передатчик 3 канал -переключатель) см.
Код: Выделить всёРазвернуть
  if(button > 1500 || button == 0)

если предполагается управление мостом, надо вместо
Код: Выделить всёРазвернуть
digitalWrite(8, HIGH);
что на регуляторе заведует направлением вращения, выключать шим на 1 канале управления моста и вкл другой.

в оригинале http://forum.rcdesign.ru/f87/thread2405 ... ost3000083 4 канала можно принимать
Аватара пользователя
Nesenin
 
Сообщения: 1341
Зарегистрирован: 26 янв 2012, 03:59
Откуда: Казань
прог. языки: LabVIEW
ФИО: Никита Есенин

Re: Драйвер двигателя на ардуино

Сообщение roma95 » 12 янв 2014, 17:29

Что значит 1 канал используется как управляющий? Чем?
roma95
 
Сообщения: 24
Зарегистрирован: 15 авг 2013, 17:07

Re: Драйвер двигателя на ардуино

Сообщение Nesenin » 12 янв 2014, 20:09

работает как вкл\выкл
Код: Выделить всёРазвернуть
#include "rc_ch4.h"
Receiver_4ch receiver;
long button = 1500;
long gas = 1500;
long rudder = 1500;
long left = 0;
long right  = 0;



void setup() {
  //Serial.begin(115200);
  //Serial.println("RC tank run");
  pinMode(8, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(11, OUTPUT);
 
  receiver.initialize();
}

void loop() {
  receiver.read();
  button = receiver.getRaw(CH_1);
  gas    = receiver.getRaw(CH_2);
  rudder = receiver.getRaw(CH_3);
  //Serial.print(button);  Serial.print("\t");
  //Serial.print(gas);  Serial.print("\t");
  //Serial.println(rudder);
 
  if(button > 1500 || button == 0)
  {left = 0;
  right = 0;
  }
  else
  {
  rudder = rudder - 1500;
  left = gas + rudder;
  right = gas - rudder;
  left = constrain(left, 1100, 1900);
  right = constrain(right, 1100, 1900);
 
   
 
  if(left >= 1550)
  { digitalWrite(8, HIGH);
    left = left - 1550;
    left = map(left, 0, 350, 0, 255);
  }
  else
  { digitalWrite(8, LOW);
    if(left <= 1450)
    {
      left = 1450 - left ;
      left = map(left, 0, 350, 0, 255);
    }
    else
    {left = 0;     
    }
  }
 
if(right >= 1550)
  { digitalWrite(3, HIGH);
    right = right - 1550;
    right = map(right, 0, 350, 0, 255);
  }
  else
  { digitalWrite(3, LOW);
    if(right <= 1450)
    {
      right = 1450 - right ;
      right = map(right, 0, 350, 0, 255);
    }
    else
    {right = 0;     
    }
  }

  //Serial.print(left);  Serial.print("\t");             
  //Serial.println(right);
  }
  analogWrite(6, left);
  analogWrite(11, right);
 
  //delay (10);
}



в одном положении ШИМ = 0 в другом уже идет расчет
Аватара пользователя
Nesenin
 
Сообщения: 1341
Зарегистрирован: 26 янв 2012, 03:59
Откуда: Казань
прог. языки: LabVIEW
ФИО: Никита Есенин

Re: Драйвер двигателя на ардуино

Сообщение roma95 » 12 янв 2014, 20:31

понял) но так как только начинают осваивать программирование, не понимаю толком, где в программе описано, где вход в приемника и выходы шим. вижу задействованные ноги 8,3,6,11. есть ли еще какие? и какая из них для чего? :oops:
roma95
 
Сообщения: 24
Зарегистрирован: 15 авг 2013, 17:07

Re: Драйвер двигателя на ардуино

Сообщение Nesenin » 12 янв 2014, 20:57

6,11 шим 3,8 направление вращения( для регулятора )
тут библиотека http://forum.rcdesign.ru/f87/thread2405 ... ost3000083 там на 2 стр. написаны ножки к которым каналы с приемника подключаются
Аватара пользователя
Nesenin
 
Сообщения: 1341
Зарегистрирован: 26 янв 2012, 03:59
Откуда: Казань
прог. языки: LabVIEW
ФИО: Никита Есенин

Re: Драйвер двигателя на ардуино

Сообщение roma95 » 12 янв 2014, 21:22

туплю на элементарном. числа, это номера ног самого мк или вашей mini pro?
roma95
 
Сообщения: 24
Зарегистрирован: 15 авг 2013, 17:07

Re: Драйвер двигателя на ардуино

Сообщение Nesenin » 12 янв 2014, 22:28

номера выводов ардуино
Аватара пользователя
Nesenin
 
Сообщения: 1341
Зарегистрирован: 26 янв 2012, 03:59
Откуда: Казань
прог. языки: LabVIEW
ФИО: Никита Есенин

Re: Драйвер двигателя на ардуино

Сообщение roma95 » 15 янв 2014, 21:38

попробовал загрузить на ардуино, вылазит это
sketch_jan15a.ino:1:20: error: rc_ch4.h: No such file or directory
sketch_jan15a:2: error: 'receiver_4ch' does not name a type
sketch_jan15a.ino: In function 'void setup()':
sketch_jan15a:19: error: 'receiver' was not declared in this scope
sketch_jan15a.ino: In function 'void loop()':
sketch_jan15a:23: error: 'receiver' was not declared in this scope
sketch_jan15a:24: error: 'CH_1' was not declared in this scope
sketch_jan15a:25: error: 'CH_2' was not declared in this scope
sketch_jan15a:26: error: 'CH_3' was not declared in this scope
как лечить?

Добавлено спустя 10 минут 45 секунд:
ниче понять не могу :(
roma95
 
Сообщения: 24
Зарегистрирован: 15 авг 2013, 17:07

Re: Драйвер двигателя на ардуино

Сообщение Nesenin » 15 янв 2014, 21:51

ну вот же он просит файлы из библиотеки что выше по ссылке. надо свой код в папку куда нить сохранить ,а рядом разместить эти файлы rc_ch4.h и rc_ch4.cpp

Добавлено спустя 2 минуты 31 секунду:
или опять же скачать мой проект (там подредактирован под 3 канала и прочее см выше)
tank_rc.rar
(3.33 КиБ) Скачиваний: 0
Аватара пользователя
Nesenin
 
Сообщения: 1341
Зарегистрирован: 26 янв 2012, 03:59
Откуда: Казань
прог. языки: LabVIEW
ФИО: Никита Есенин

След.

Вернуться в Новичкам или основы основ роботостроения.

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

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