Тел. (495) 972-27-12

Автоматическая тележка для камеры

Обсуждаем Arduino, Raspberry Pi и другие электронные компоненты и проекты DIY

Re: Автоматическая тележка для камеры

Сообщение arthurilyuts » 23 дек 2014, 01:21

ок, тогда подскажите пожалуйста какой драйвер нужно купить, чтобы все заработало как надо.
такой подойдет? ARDUMOTO
Последний раз редактировалось arthurilyuts 23 дек 2014, 01:45, всего редактировалось 1 раз.
arthurilyuts
 
Сообщения: 30
Зарегистрирован: 07 дек 2014, 22:57

Re: Автоматическая тележка для камеры

Сообщение Mr.Kubikus » 23 дек 2014, 01:26

Чтобы правильно выбрать драйвер надо знать параметры мотора, который будет стоять в изделии.

Вот с этим точно работает с мотором 12В 1А.
С уважением, Григорий
GitHub FB ВК TW
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
 
Сообщения: 878
Изображения: 49
Зарегистрирован: 22 окт 2010, 23:57
Откуда: Москва

Re: Автоматическая тележка для камеры

Сообщение arthurilyuts » 23 дек 2014, 01:31

Нашел данные по мотору:
DC 24V rpm 60 25W - URL тут

PS. по даташиту L289P, что стоит в Мотор-Шилд "ARDUMOTO" тянет до 46 Вольт и 2 Ампера на канал.
Теперь главное, чтобы аппаратная совместимость была с кодом.
arthurilyuts
 
Сообщения: 30
Зарегистрирован: 07 дек 2014, 22:57

Re: Автоматическая тележка для камеры

Сообщение Mr.Kubikus » 23 дек 2014, 01:49

На странице ARDUMOTO по вашей ссылке отсутствует информация, необходимая для принятия решения.
С уважением, Григорий
GitHub FB ВК TW
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
 
Сообщения: 878
Изображения: 49
Зарегистрирован: 22 окт 2010, 23:57
Откуда: Москва

Re: Автоматическая тележка для камеры

Сообщение arthurilyuts » 03 янв 2015, 22:50

Ураааа! Пришел новый Мотор-Шилд, а вместе с ним новые вопросы, точнее один вопрос.
Подключил все проводки как и на первый Мотор-Шилд, но вот что делать с Pin4 и Pin5?
Глянул по схематическим рисункам, (Pin4=Dir) и (Pin5=PWM).
Потом глянул на новый Мотор-Шилд и увидел что его (PWM=Pin3) и (Dir=Pin12)
Далее в Скетч-Коде и на страничке "Hardware_def.h" поменял значение выходов для "SB2"(вместо 3, прописал 4, а так же и проводок перенес на 4), для "M1_PWM_PIN" (вместо 5, прописал 3) и для "M1_DIR_PIN" (вместо 4, прописал 12) .
Code: [Выделить всё] [Expand/Collapse]
#define SB2_PIN 4

#define M1_PWM_PIN 3
#define M1_DIR_PIN 12
GeSHi © Codebox Plus


Урааааааааа!!!! Свершилось!!! Все заработало!!!
Вот тут видео как оно работает :
Ну, осталось дело за малым, все это хозяйство упаковать в красивую коробочку (пульт) и подключить уже в студии на реальную тележку : ) Ну и пустить в прямой эфир!!!!
Вложения
image-03-01-15-09-40.jpeg
image-03-01-15-09-08.jpeg
arthurilyuts
 
Сообщения: 30
Зарегистрирован: 07 дек 2014, 22:57

Re: Автоматическая тележка для камеры

Сообщение Mr.Kubikus » 04 янв 2015, 01:15

Ура! Поздравляю с успешным запуском. Ну и с Новым Годом тоже =)
С уважением, Григорий
GitHub FB ВК TW
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
 
Сообщения: 878
Изображения: 49
Зарегистрирован: 22 окт 2010, 23:57
Откуда: Москва

Re: Автоматическая тележка для камеры

Сообщение arthurilyuts » 04 янв 2015, 02:23

Да, спасибо!!! И Вас с Новым Годом!
А можно еще вопрос?
Я тут вместе с новым мотор-шилдом еще и LCD (LcdI2Cmodule) прикупил вот точно такой, там только 4 провода http://zelectro.cc/LcdI2Cmodule.
Подключил к нашей схеме и даже какой-то текст прописал.
Но вот ни где в Скетч-Коде не нашел то "волшебное" слово, прописав которое, можно было бы считывать в %-ах "SPEED" и "RAMP".
Не поможете?
Code: [Выделить всё] [Expand/Collapse]
lcd.print("SPEED");           
lcd.setCursor(6,0);
lcd.print("%");           
lcd.setCursor(8,0);
lcd.print(SPEED_DATA);
lcd.setCursor(0, 1);                   
lcd.print("RAMP");             
lcd.setCursor(6,1);
lcd.print("%"); 
lcd.setCursor(8,1);
lcd.print(RAMP_DATA);
GeSHi © Codebox Plus


Что вписать вместо "lcd.print(SPEED_DATA);" и "lcd.print(RAMP_DATA);" ?
Я уже пробывал и "M1_SETP" и "M1_PWM", выдает только или "0" или "1".
Вложения
image-04-01-15-01-10.jpeg
arthurilyuts
 
Сообщения: 30
Зарегистрирован: 07 дек 2014, 22:57

Re: Автоматическая тележка для камеры

Сообщение arthurilyuts » 05 янв 2015, 12:25

Ураааааа! Сделал!
А именно, на странице "globals.h" добавил значения "int".
Code: [Выделить всё] [Expand/Collapse]
int M1_SETP, M1_RATE, motorSpeed, rampSpeed;
GeSHi © Codebox Plus

далее на страничке "control.ino" прописал "motorSpeed" и "rampSpeed"
Code: [Выделить всё] [Expand/Collapse]
  iTemp = map(R1, 0, 1023, 255, 0);
  M1_SETP = constrain(iTemp, 0, 255);
motorSpeed = map(iTemp,255, 0, 100, 0);

  iTemp = map(R2, 0, 1023, 50, 1);
  M1_RATE = constrain(iTemp, 1, 50);
 rampSpeed = map(iTemp, 50, 1, 0, 100);
GeSHi © Codebox Plus


Ну и на страничке "camera_motion_controller.ino" над "void setup" добавил код для LCD.

Code: [Выделить всё] [Expand/Collapse]
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
GeSHi © Codebox Plus


а под "void setup"

Code: [Выделить всё] [Expand/Collapse]
lcd.init();                              // Инициализация lcd             
  lcd.backlight();                   // Включаем подсветку
  lcd.setCursor(1,0);                      // Курсор находится в начале 1 строки
  lcd.print("TV KANAL 7/24");              // Выводим текст в 1 строке
  lcd.setCursor(0, 1);                     // Устанавливаем курсор в начало 2 строки
  lcd.print("Robo Dolly v3.01");
  delay(2000);                             // Ждем 2 сек
  lcd.clear();
GeSHi © Codebox Plus


ну и под "void loop"

Code: [Выделить всё] [Expand/Collapse]
  lcd.print("SPEED");                      // Выводим текст в начале 1 строки
  lcd.setCursor(6,0);                      // Устанавливаем курсор в 1 строке пропустив 6 символов
  lcd.print("%");                          // Выводим текст   
  lcd.setCursor(8,0);                      // Устанавливаем курсор в 1 строке пропустив 8 символов
  lcd.print(motorSpeed);                         // Выводим текст
  lcd.print("        ");
  lcd.setCursor(0, 1);                     // Устанавливаем курсор в начало 2 строки
  lcd.print("RAMP");                       // Выводим текст
  lcd.setCursor(6,1);                      // Устанавливаем курсор в 2 строке пропустив 6 символов
  lcd.print("%");                          // Выводим текст
  lcd.setCursor(8,1);                      // Устанавливаем курсор в 1 строке пропустив 8 символов
  lcd.print(rampSpeed);                         // Выводим текст
  lcd.print("       ");
GeSHi © Codebox Plus


Таким образом на экране отображается значение в %-ах.

Вот только под строками
Code: [Выделить всё] [Expand/Collapse]
 lcd.print(motorSpeed);
lcd.print(rampSpeed);
GeSHi © Codebox Plus

пришлось прописать несколько пробелов, так как когда 3-х значное число падает до 2-х или 1-ого значного, то оставались нули. Например от 100 до 0 выглядело так : 100 - 990 - 980 - 970 - 960 --- 000.
Прописав несколько пробелов, ситуация исправилась и лишнии нули перестали выходить. Почему так, не знаю : (
Главное работает!!!
ОГРОМНОЕ человеческое СПАСИБО Вам за помощь ув. Kubikus!!!
arthurilyuts
 
Сообщения: 30
Зарегистрирован: 07 дек 2014, 22:57

Re: Автоматическая тележка для камеры

Сообщение Mr.Kubikus » 05 янв 2015, 14:40

Всегда пожалуйста! Поздравляю с успешным решением задачи.
С уважением, Григорий
GitHub FB ВК TW
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
 
Сообщения: 878
Изображения: 49
Зарегистрирован: 22 окт 2010, 23:57
Откуда: Москва

Re: Автоматическая тележка для камеры

Сообщение arthurilyuts » 07 янв 2015, 14:57

А можно еще вопрос?
Какую переменную нужно прочитать в Скетч-Коде, что бы на LCD выводить значения "<<<Left" "Right>>>" (прописать направление движения тележки)?
На страничке "global.h" нашел значение "M1_DIR", если это оно, то как его правильно считать?
Я хочу прописать это в "if/else".
Подcкажите пожалуйста.
arthurilyuts
 
Сообщения: 30
Зарегистрирован: 07 дек 2014, 22:57

Пред.След.

Вернуться в Arduino и Ко. ♥♥♥



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

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

cron