roboforum.ru

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

Помогите с выбором железа, делаю робота!

Помогите с выбором железа, делаю робота!

Kolin117 » 11 июн 2012, 14:59

Собираюсь зделать обьезжающего препятсвия робота.Имеется известный в робототехнике редуктор Tamiya twinmotor gear, желательно питание 6 вольт от 4 баттареек типа АА.
Вопросы относильно вас, форумчан:
1)какой драйвер двигателей использовать?
2)какую arduino выбрать?
3)по возможности, опишите, как это все (и чем?) соеденить.
4)какой или какие аккумуляторы использовать?
5)как обойтись без стабилизатов питания, чтобы можно реализовать схему  с истоник питания-МК плата-драйвер движков-движки?
Заранее огромное спасибо!)

Добавлено спустя 39 минут 49 секунд:
Вот что нашел:
1)arduino uno.
2)MOTOR SHIELD FOR ARDUINO=>http://www.electronshik.ru/card/kontroller-kollektornogo-dvigatelya-2-kanala-2a-dlya-arduino-114351
3)полуловчкий датчик расстояния =>http://www.electronshik.ru/item/pololu-carrier-distance-sensor-10cm-576837

Что уже есть:
1)колесная база на основе tamiya twin motor gear box

Оцените совместимость компонентов, и какое выбрать питание?

Re: Помогите с выбором железа, делаю робота!

Tsi329 » 12 июн 2012, 08:39

Kolin117 писал(а):1)какой драйвер двигателей использовать?

Любой, рассчитанный на твой ток и напряжение;
Kolin117 писал(а):2)какую arduino выбрать?

Если думаешь навешать на нее в дальнейшем много всего, то Arduino Mega (куча выводов, в том числе очень полезных: ШИМ, ком. порты и т.д.), Если нужна компактность, то Arduino nano, но тут придется паять. Для начала думаю Arduino Uno самое то.
Kolin117 писал(а):3)по возможности, опишите, как это все (и чем?) соеденить.

Это бесконечная песня.
- motorshield никуда подключать не надо. На то он и shield. Фактически существует два варианта его подключения: использовать 4 ШИМ выхода(по два на мотор) или использовать 2 ШИМ+2 вывода задающих направление. Я предпочитаю второй вариант - свободные ШИМ на дороге не валяются ;)
- SR-04 - Ультразвуковые датчики. Любых два цифровых вывода;
- IR датчики растояния - любой аналоговый вывод;
- датчики столкновения - бамперы - любых два цифровых сигнала; Желательно поддерживающих прерывание;
Kolin117 писал(а):4)какой или какие аккумуляторы использовать?

Я бы не использовал батарейки АА. Вот причины:
- это батарейки, а не аккумуляторы;
- у батареек напряжение выходное 1,5В, а у аккумов - 1,2В. Т.е. Если ты возьмешь 4xбатарейки, то получешь 6В, а с аккумами тольки 4,8В. Значит нужно уже 5 штук. И т.д.
- Проблема их заряжать. Особенно исходя из последнего примера. Как зарядить 5 штук? Два зарядных? ;)
В принципе нужно использовать Lipo аккумы. Но для маленьких роботов я бы брал 2x18650. Очень советую. http://www.dx.com
Kolin117 писал(а):5)как обойтись без стабилизатов питания, чтобы можно реализовать схему  с истоник питания-МК плата-драйвер движков-движки?

Почти никак. Хотя бы потому, что я бы не стал вешать моторы и Arduino на одну линию питания. Во вторых двигателям нужно 6-7В обычно, а Arduino потребляет только 5В.
Если изголиться, то в твоем случае можно запитаться от двух 18650 и подать их на вход питания Arduino (не 5В вход!!!), а он сам преобразует до 5В, а движки питать напрямую от двух 18650. Т.е. питание в этом случае будет от 8,2В (заряженные аккумы) до 7В (разряженные аккумы). Я думаю для начала вариант очень неплох.
Да. Упаси тебя Господь использовать КРЕН-ки. Это линейные стабилизаторы. Всё, что не потребил Arduino развеется в виде тепла!!! Только DC-DC конвертеры. Существуют два типа понижающие и повышающие. Так что поле огромное для фантазии ;)

Добавлено спустя 39 минут 49 секунд:
Kolin117 писал(а):Вот что нашел:
1)arduino uno.

Хорошо.

Почему бы и нет. Только обращаю внимание. Указано, что он работает минимум с 7,2В!
Kolin117 писал(а):3)полуловчкий датчик расстояния =>http://www.electronshik.ru/item/pololu-carrier-distance-sensor-10cm-576837

Ни в коем случае!!! Это не то, что тебе надо. Он только сообщает есть ли препятствии и всё! Тебе же надо знать еще и расстояние до него. Почувствуй разницу ;)
Kolin117 писал(а):Что уже есть:
1)колесная база на основе tamiya twin motor gear box

Для начала почему бы и нет.
Kolin117 писал(а):Оцените совместимость компонентов, и какое выбрать питание?

Всё выше.

Re: Помогите с выбором железа, делаю робота!

Kolin117 » 12 июн 2012, 09:47

Насчет датчиа - я делаю простого обьезжающего робота, нашел препятсвие - развернулся на 90 градусов поехал дальше

Re: Помогите с выбором железа, делаю робота!

Tsi329 » 12 июн 2012, 10:21

Kolin117 писал(а):Насчет датчиа - я делаю простого обьезжающего робота, нашел препятсвие - развернулся на 90 градусов поехал дальше

Не глупи. За эту цену можно два купить SR-04, который тебе и растояние сообищит от 2см до 450см. http://dx.com/p/hc-sr04-ultrasonic-sens ... 696?item=1
Ровно в тот момент как ты сделаешь первый вариант алгоритма, тебе захочится поиграться с расстоянием до объекта. Поверь мне.

Re: Помогите с выбором железа, делаю робота!

Kolin117 » 12 июн 2012, 15:13

Ладно, с датчиками согласен.А насчет стабилизаторов, я почитал, что они уже встроены в драйвер встроены.Вы говорили об аккумуляторах aa.Я хотел в первом проекте, как например в этом роботе[url]http://roboforum.ru/post158457.html?hilit=Крепыш#p158457[/url]Просто такой вопрос - Шаилд соединяется с ардуино просто тем, что шаилд на нее сажается?к motor shield подключаются двигатели, к ардуино питание и датчик, так?

Re: Помогите с выбором железа, делаю робота!

Tsi329 » 12 июн 2012, 20:03

Kolin117 писал(а):А насчет стабилизаторов, я почитал, что они уже встроены в драйвер встроены.

В драйвер двигателей? Нет!
В Arduino да. Но там линейный, как я помню. Но не заморачивайся пока на этом, используй его. Но!
В спецификации ему нужно минимум 6 вольт! Где возьмешь столько?
Я тебе уже объяснял: 4 батарейки? Да, но ты разоришься на них.
5 аккумов? Как и заряжать и главное как крепить!?!?
Kolin117 писал(а):Вы говорили об аккумуляторах aa.Я хотел в первом проекте, как например в этом роботе[url]http://roboforum.ru/post158457.html?hilit=Крепыш#p158457[/url]

Хороший проект. Мне понравился. Но! Там и не пахнет Arduino!
Там собственная разработка. Микроконтроллер(МК) ATmega16L. Такие я не помню, чтобы ставили на Arduino.
Но хитрость не в этом! Буква L в конце названия МК означает, что он может работать в диапазоне напряжений 2.7В-5.5В.
На фотографии хорошо видно, что автор проекта использует 4 аккума. Т.е. 1,2В на 4 = 4,8В. Ему для питания МК хватает за глаза!!! А тебе не хватит. Это я тебе и пытаюсь объяснить.
Kolin117 писал(а):Просто такой вопрос - Шаилд соединяется с ардуино просто тем, что шаилд на нее сажается?к motor shield подключаются двигатели, к ардуино питание и датчик, так?

Да. В этом вся суть плат с именем arduino shield. Они просто насаживаются разъемами на саму плату Arduino.
В случает с motor shield вообще всё просто. Насадил на плату. Вставил провода от моторов в разъёмы shield-а. Подал питание на Arduino и на shield и всё заработало. Даже паять не надо. С датчиками придется повозится. Или покупать плату с кучей разъемов для датчиков. Стоят копейки. Или паять самому. Раз это твой первый проект, то может лучше купить shield для датчиков. Когда получишь работающего робота и наиграешься с алгоритмами, то поймешь сам в каком направлении тебе нужно двигаться дальше. Я, например, люблю Arduino, но предпочитаю не использовать кучу shield-ов. Люблю паять самому. Так как ничего универсального нет. А все что есть, в основном, заточены для работы начинающих.

Ты выбрал shield на L293. Многие скажут: не бери. Но для твоих слабеньких моторчиков разницы нет. Так что не заморачивайся. Вопрос в другом - переплата. Ты переплачиваешь опять в раза два. Я не из России и не могу посоветовать российский магазин, но ебей говорит, что любой shield на L293 можно купить меньше чем за 10 долларов США.
http://www.ebay.com/sch/i.html?_trksid=p5197.m570.l1313&_nkw=arduino+shield+motor&_sacat=0

Re: Помогите с выбором железа, делаю робота!

=DeaD= » 12 июн 2012, 21:43

Tsi329 писал(а):Ты выбрал shield на L293. Многие скажут: не бери. Но для твоих слабеньких моторчиков разницы нет.

Как раз для моторчиков на 6В разница будет ощутима (потери в 1.5В на драйвере дадут понижение мощности движков до P=U*I=0,75*0,75=56% от номинала, вот если бы движки были на 12В, тогда понижение мощности было бы всего до 76%)

Re: Помогите с выбором железа, делаю робота!

Kolin117 » 12 июн 2012, 21:45

На батарейках - возможно, но как первый проект мне легче использовать их, говорят, что от 6 V сенсоры будут барахлить, следовательно нужно 7,5.А как быть с тамиевскими редукторами?Чтобы не разориться на них, нужно, чтобы выходящее из шаилда напряжение не превышало рекомендованных 3,5-5 вольт.6-предел, но срок службы резко падает.Или же, ток проходя через ардуино и шаилд падает?Я запутался...

Re: Помогите с выбором железа, делаю робота!

Tsi329 » 13 июн 2012, 23:40

=DeaD= писал(а):Как раз для моторчиков на 6В разница будет ощутима (потери в 1.5В на драйвере дадут понижение мощности движков до P=U*I=0,75*0,75=56% от номинала, вот если бы движки были на 12В, тогда понижение мощности было бы всего до 76%)

Не хочу спорить, тем более, что Вы правы. ;)
Но если моторы рассчитаны на 3В, а в его случае так и есть, то есть смысл, возможно, подавать на L293 пять вольт, что бы получать на выходе падение в 1,5В как раз необходимое для питания двигателей. И тогда движки будут работать на 100% от своей мощности, получая примерно 3-3,5В. Я не прав?

Добавлено спустя 7 минут 34 секунды:
Kolin117 писал(а):На батарейках - возможно, но как первый проект мне легче использовать их, говорят, что от 6 V сенсоры будут барахлить, следовательно нужно 7,5.А как быть с тамиевскими редукторами?Чтобы не разориться на них, нужно, чтобы выходящее из шаилда напряжение не превышало рекомендованных 3,5-5 вольт.6-предел, но срок службы резко падает.Или же, ток проходя через ардуино и шаилд падает?Я запутался...

Предлагаю тебе довольно глупый, но самый простой вариант решения данной задачи.
Во-первых определись с напряжением и током твоих движков. По моей информации им необходимо 1,5В-3В!!!
http://www.sparkfun.com/products/319
Если у тебя именно этот случай, то вот тебе мое решение. Самое простое.
Крона 9В->вход Arduino->5В вырабатывает сам Arduino для себя и для всех подключаемых датчиков-> все датчики на 5В
Три батарейки по 1,5В каждая=4,5В->Motor shield L293->3В вырабатывает для моторов->твои моторы.
Всё это, конечно, некрасиво. Я бы использовал DC-DC преобразователи, но я уверен, что пока не стоит тебе дурить голову всем этим. Построишь первый робот и сам поймешь куда двигаться дальше.

Re: Помогите с выбором железа, делаю робота!

=DeaD= » 14 июн 2012, 09:42

Да, я уже увидел, что после моего сообщения ТС озвучил таки требования к питанию моторов :)

Re: Помогите с выбором железа, делаю робота!

Kolin117 » 14 июн 2012, 10:51

Тоечть, лучше взять такой шаилд с выходом для отдельного питания http://www.electronshik.ru/card/drayver-kollektornogo-dvigatelya-2-kanala-2-a-arduino-shield-114353, чем такой http://www.electronshik.ru/card/kontroller-kollektornogo-dvigatelya-2-kanala-2a-dlya-arduino-114351?
И платы сажаются друг на друга также, как при едином питании, только на выходы для питания первого драйвера подать 4,5 вольт, а на ардуино на разъем для питания подать кроновские 9 вольт?Вроде все удобно для новичка) :roll: а когда ардуино подключаешь для программирования нужно ли подавать на нее питание или отсоединять от шаилда?

Re: Помогите с выбором железа, делаю робота!

Tsi329 » 14 июн 2012, 23:10

Kolin117 писал(а):Тоечть, лучше взять такой шаилд с выходом для отдельного питания http://www.electronshik.ru/card/drayver-kollektornogo-dvigatelya-2-kanala-2-a-arduino-shield-114353, чем такой http://www.electronshik.ru/card/kontroller-kollektornogo-dvigatelya-2-kanala-2a-dlya-arduino-114351?

Да, конечно. Первый вариант нуждается в отдельном питании, а вот второй берет питание входное Vin от Arduino и использует его как питание двигателей.
Kolin117 писал(а):И платы сажаются друг на друга также, как при едином питании, только на выходы для питания первого драйвера подать 4,5 вольт, а на ардуино на разъем для питания подать кроновские 9 вольт?Вроде все удобно для новичка) :roll:

Я еще раз внимательно изучил известные шилды на L293D. Им всех необходимо минимум 4,5В для питания двигателей(а на тот, что ты дал ссылку так и все 4,8В)!!!
Вот в чем проблема. Есть три решения:
- Использовать всё-таки 4х1,5В батарейки, т.е 6В для питания motor shield. Это, конечно, великовато (4,5-5В) для движков. Но всё же вариант.
- Не использовать motor shield или найти такой, который позволяет питать двигатели от 3В(я не нашел), а использовать любой контроллер двигателей(придется подпаивать его к arduino). Например вот этот:
http://www.pololu.com/catalog/product/2130
Врать не буду: я никогда не управлял такими двигателями как у тебя. Все мои были рассчитаны на напряжение 5-6В или 12В.
- Спаять самому motor shield на транзисторах. Тебе будет сложно.
Я бы пошел по второму пути, но переделал бы его в shield, на который так же напаял бы сразу еще разъемы для датчиков. Но тебе советую попробовать самый простой вариант - первый. Он самый простой.

Kolin117 писал(а):а когда ардуино подключаешь для программирования нужно ли подавать на нее питание или отсоединять от шаилда?

Питание не нужно. Arduino берет питание от USB разъема. Отсоединять также ничего не нужно.

Re: Помогите с выбором железа, делаю робота!

Kolin117 » 15 июн 2012, 09:15

Спасибо.А какой выбрать датчик и как его подключить?

Re: Помогите с выбором железа, делаю робота!

Tsi329 » 15 июн 2012, 10:20

Я не знаю, почему ты выбрал именно этот сайт. Может, конечно, тебе удобно через него покупать, но там как-то всё дорого. Просто имей в виду.
Вот тебе вариант датчика:
http://www.electronshik.ru/card/datchik ... j00f-96936
Я брал здесь. Сравни цены.
http://www.pololu.com/catalog/product/1136
Работать с ним легко:
Три вывода: 5В,0В и аналоговый выход. Аналоговый выход подключаешь к любому аналоговому входу Arduino и всё.
Вот тебе график как соотносить напряжение получаемое с датчика с расстоянием до объекта.
0J1127.600.png

А вот и простейшая программа, которая данные из датчика, подключенного к 0-му аналоговому входу, шлет по com-порту.
Код: Выделить всёРазвернуть
void setup()
{
  Serial.begin(9600);
}
void loop()
{
   int distance = analogRead(0);
   distance = (2914 / (distance + 5)) - 1;
   Serial.println(distance);
   delay(200);
}

Re: Помогите с выбором железа, делаю робота!

Kolin117 » 18 июн 2012, 21:31

Т.е. Если я возьму какой нибудь ик дальномер sharp, arduino uno и motor shield for arduino, то как подключить датчик, и какой кабель купить?


Rambler\'s Top100 Mail.ru counter