Автор Тема: Драйвер за 2 мотора с ИР2104 и мосфети  (Прочетена 44018 пъти)

Tsoni

  • Вече знае какво е робот!
  • *****
  • Публикации: 88
    • Профил
Здравейте!
С Никола (един приятел също запален по роботиката) се захванахме да правим количка с дистанционно с роботизирана ръка в-у нея която ако успеем да досглобим ще домъкнем на следващия Доркбот.Понеже ни трябваха мощни мотори съответно ни трябваше и мощен драйвер.Михаил Врачански ни препоръча драйвер с 4 http://store.comet.bg/Catalogue/Product/9199/ полумоста и 8 http://store.comet.bg/Catalogue/Product/9566/ мосфета.В datasheet-а на полумостовете има схемата на свързване, на една от първите страници е.За съжаление от доста време-вече месец не мога да се свържа с Мишо и драйвера стой несглобен и чака.Сега се питате "защо не се хванете да го сглобите като имате схемата".Проблема е че последно той ми каза че като пробвал драйвера отново(непосредствено преди да ми го каже) той бил гръмнал и  нещо го притеснявали пиковете.
Въпроса мие  някой правил ли е такъв драйвер, имал ли е подобни проблеми и това ли е реалната схема за свързване?
Стойностите на кондензатори са 100nf, а за резисторите 10 ома 0.25W.
Диода е обикновен сигнален.
Само да пита ако пин sd се вкара директно в 5 волта без резистор това проблем ли е?Съответно какъв да е резистора?
Цони Витков 17 г. МГ \"Гео Милев\" Плевен

mivr

  • Бил знаел какво е Мехатроника!
  • *****
  • Публикации: 118
    • Профил
Драйвер за 2 мотора с ИР2104 и мосфети
« Отговор #1 -: Юли 25, 2013, 02:02:51 am »
Съжалявам за отсъствието, срещнах не малко трудности при използването на Skype и Windows 8.

Относно драйвера следвате схема дословно и с компонентите които ви казах, не сменяте диода от сигнален на шотки (води до взрив).
След като сглобите схемата на IN порта подавате посоката на движение а на SD кракът ШИМ модулацията за определяне на скоростта (имайте в предвид че кракът е инвертиран тоест 0 ще е максимум а максимумът в кодът ще е 0 на схемата).

Драйверът е тестван с 100nF импулсни кондензатори 10Ohm резистори и диод 1N4007 и работи в описаният режим.

Успех ако имате проблеми пишете във форумът, поне докато се справя с Win 8. :)
Михаил Врачaнски 19год. В ТУ-София Автоматика

Skype: mivrmmm

email: [email protected]

Tsoni

  • Вече знае какво е робот!
  • *****
  • Публикации: 88
    • Профил
Драйвер за 2 мотора с ИР2104 и мосфети
« Отговор #2 -: Юли 25, 2013, 08:53:07 pm »
Здравей отново.Утре ще го сглобим и тестваме и ще кажем дали е станало.
Цони Витков 17 г. МГ \"Гео Милев\" Плевен

Tsoni

  • Вече знае какво е робот!
  • *****
  • Публикации: 88
    • Профил
Драйвер за 2 мотора с ИР2104 и мосфети
« Отговор #3 -: Юли 26, 2013, 12:34:17 pm »
Въпрос относно схемата.На мосфетите има ли диоди между пиновете, че на схемата гледам някакви диоди, или е само един за цялата схема на драйвера(горе)?
Трябва ли да има обща земя на батерийте за моторите и захранването на драйверите?
Захранването Vcc колко волта трябва да е и  можем ли да го пуснем директно 5в от Ардуиното?
Можеш ли да ни дадеш и готов код(съвсем прост) който да тестваме, че не ни се получава нещо.
Поздрави
Цони Витков 17 г. МГ \"Гео Милев\" Плевен

mivr

  • Бил знаел какво е Мехатроника!
  • *****
  • Публикации: 118
    • Профил
Драйвер за 2 мотора с ИР2104 и мосфети
« Отговор #4 -: Юли 26, 2013, 05:27:30 pm »
1.Въпрос: На мосфетите има ли диоди между пиновете, че на схемата гледам някакви диоди, или е само един за цялата схема на драйвера(горе)?

Отговор: Всички мосфети имат вградени диоди в себе си иначе биха се счупили от обратните токове. Не е нужно добавянето на диоди отвън.

2.Въпрос: Трябва ли да има обща земя на батерийте за моторите и захранването на драйверите?

Отговор: Да, иначе няма как драйверът да разбере кога има високо ниво на входовете.

3.Въпрос: Захранването Vcc колко волта трябва да е и можем ли да го пуснем директно 5в от Ардуиното?

Отговор: Не, трябва да захраните схемата с поне 10 волта, ако нямате увеличете броя на батериите.

Можеш ли да ни дадеш и готов код(съвсем прост) който да тестваме, че не ни се получава нещо.

Отговор: Пример за един мотор контрол с два полу-моста. Общ SD сигнал закачен на 9 пин на ардуиното, IN от едната схема на 10 и IN от другата на 8. Цел да задвижим моторът в една посока като можем да регулираме скоростта със ШИМ модулация. ВНИМАНИЕ ШИМ модулацията минава през инвертиране с др. думи 0 е максимална скорост а 255 е стоп.

void setup()
{
pinMode(9,1);
pinMode(10,1);
pinMode(8,1);
digitalWrite(10,1);
digitalWrite(8,0);
analogWrite(9,128);
}
void loop()
{
}
Михаил Врачaнски 19год. В ТУ-София Автоматика

Skype: mivrmmm

email: [email protected]

Tsoni

  • Вече знае какво е робот!
  • *****
  • Публикации: 88
    • Профил
Драйвер за 2 мотора с ИР2104 и мосфети
« Отговор #5 -: Юли 26, 2013, 06:31:47 pm »
Супер.Мерси за детайлния отговор.Оказа се днес сме слагали двата пина In за ШИМ поотделно, а 2та SD заедно на high.Голяма мазаница...Като се съберем пак да го правим би трябвало да проработи.
Как можем да караме сервота(6в) с ли-по батерията с 2 клетки без да използуаме регулатор?
И малко извън темата - може ли да се постигне висока скорост с line tracer ако има 5 сензора в права линия точно под оста на моторите, която да е в предната част на шасито?
Отново благодаря, ако има нещо ще пиша тук.
Цони Витков 17 г. МГ \"Гео Милев\" Плевен

chikenbrain

  • Новодошъл
  • *****
  • Публикации: 9
    • Профил
Драйвер за 2 мотора с ИР2104 и мосфети
« Отговор #6 -: Юли 26, 2013, 08:14:48 pm »
Цитат на: "Tsoni"

Как можем да караме сервота(6в) с ли-по батерията с 2 клетки без да използуаме регулатор?

Aко правилно разбирам въпроса - не може.
Платката вътре в сервото не е предвидена за по-високо напрежение и нещо по нея изгаря (пробвано е).

Вариант 1: сдобивате се с 7805 (стабилизатор на напрежение) който струва около 0.40лв. захранването от батерията минава през него и на изхода му се включват сервотата (ако консумацията им е голяма (над 500mA) е добре да се използват 2 стабилизатора - по 1 за всяко серво).

Вариант 2: махате платката на сервото и си правите  H-bridge с който да командвате само мотора. Ако не ви трябва да знаете на какъв ъгъл е завъртяно сервото върши работа. Ако сервото е крайно (не се върти до безкрайност) метода е несполучлив тъй като няма как да разберете кога се е завъртяло достатъчно така че да го спрете и най вероятно ще счупи нещо в зъбните колела.
Кристиан Димитранов, София, 21г

Tsoni

  • Вече знае какво е робот!
  • *****
  • Публикации: 88
    • Профил
Драйвер за 2 мотора с ИР2104 и мосфети
« Отговор #7 -: Юли 26, 2013, 09:05:45 pm »
Да разбирам че при 8,4 волта входно, от стабилизатора ще излизат 6?
Цони Витков 17 г. МГ \"Гео Милев\" Плевен

mivr

  • Бил знаел какво е Мехатроника!
  • *****
  • Публикации: 118
    • Профил
Драйвер за 2 мотора с ИР2104 и мосфети
« Отговор #8 -: Юли 26, 2013, 10:16:36 pm »
При 7805 ще е 5 волта но сервотата най-често работят и на 5 волта, алтернативно можете да използвате регулатора на ардуино с диод и мощен кондензатор (задължително е използването на диод, за предпочитане шотки и кондензатор над 1000uF, иначе може да смутите работата на процесора).

Относно въпросът за тракерите:

След не кратки опити, експерименти и четене на статии по темата мога да кажа че скорости до 50см/сек са лесни за постигане, от 50 до 100-120см/сек изискват теория на контрола и средно добри знания в механика, за скорости над 120см/сек ви трябват:
знания по сложна механика,
пълно разбиране на закони за сцепление и центробежни сили,
основна аеродинамика,
пълно разбиране на теорията на контрола,
напреднали знания по схемотехника,
напреднали знания по програмиране
и разбира се най-важното нужният интелект да сглобите всичко. :)
Михаил Врачaнски 19год. В ТУ-София Автоматика

Skype: mivrmmm

email: [email protected]

Tsoni

  • Вече знае какво е робот!
  • *****
  • Публикации: 88
    • Профил
Драйвер за 2 мотора с ИР2104 и мосфети
« Отговор #9 -: Юли 26, 2013, 10:44:58 pm »
Какъв процент от участниците на състезания попадат във последната и предпоследната група???
Разгледах отгоре отгоре теорията на управлението и питането ми е, нужен ли е някакъв супер завъртян код със подифове на n-та или просто едно хамалско проверяване на сензорите в лооп-а всеки път и да кажем 10тина комбинации на сензори и респективно 3-4 скорости на завиване?
Така и не разбрах кое по- добре, сензорите за са максимално близо до оста на моторите или максимално далеч?
Цони Витков 17 г. МГ \"Гео Милев\" Плевен

mivr

  • Бил знаел какво е Мехатроника!
  • *****
  • Публикации: 118
    • Профил
Драйвер за 2 мотора с ИР2104 и мосфети
« Отговор #10 -: Юли 27, 2013, 05:29:08 pm »
Като проценти около 90% в първата 9% във втората и най-често под 1% в последната.

Всъщност ти трябва ПИД пропорционално интегрално диференциален контрол с др. думи взимаш готовата библиотека за PID и започваш да нагласяш константите. :) Сензорите винаги ще си ги проверяваш, разликата с пид е че този алгоритъм ще определя скоростта на двигателите а не 4-5 ифа.

Относно положението на сензорите, не знам, пробвал съм конструкция с приблизително близки и с максимално отдалечени и двете не прескочиха 50см/сек.
Михаил Врачaнски 19год. В ТУ-София Автоматика

Skype: mivrmmm

email: [email protected]

Tsoni

  • Вече знае какво е робот!
  • *****
  • Публикации: 88
    • Профил
Драйвер за 2 мотора с ИР2104 и мосфети
« Отговор #11 -: Юли 27, 2013, 09:04:00 pm »
Да днес четох за този ПИД доста детайлно и горе долу съм го понял.
А при каква конфигурация би се постигнала по -висока скорост?
Аз си мислех за 5 в една линия под оста и 3 в една линия около 2-3см пред оста, за да може количката да лети по правите, а те да я забавят ако засекат че линията завива по - остро и след това 5те да помислят  какво да правят.
И да питам това SetSampleTime() пише че било 0.2 секунди по подрадразбиране.Това ще рече че ще се пресмята веднъж на всеки 200ms ли?Това би трябвало да значи и че ще се пропуска няколко пъти в loop-а.Кажи ми каква стойност да поставя за оптимален резултат, ако приемем че робота ще е много бърз(1м/с).
Цони Витков 17 г. МГ \"Гео Милев\" Плевен

mivr

  • Бил знаел какво е Мехатроника!
  • *****
  • Публикации: 118
    • Профил
Драйвер за 2 мотора с ИР2104 и мосфети
« Отговор #12 -: Юли 28, 2013, 10:19:50 pm »
Изборът на константи за ПИД е тема която се изучава за кратките 4-5 лекции във ВУЗ не мога да ти кажа универсални константи които работят винаги, за всяка система има различни константи.

Относно позицията на сензорите не мога да помогна всичко е на проба и грешка.

Изчисляването на ПИД във времето също е част от тези лекции и не мога да кажа една конкретна стойност, въпрос на проби и грешки...

За да постигнеш резултат ти трябва значителна доза търпение и много батерии. :)
Михаил Врачaнски 19год. В ТУ-София Автоматика

Skype: mivrmmm

email: [email protected]

Tsoni

  • Вече знае какво е робот!
  • *****
  • Публикации: 88
    • Профил
Драйвер за 2 мотора с ИР2104 и мосфети
« Отговор #13 -: Юли 28, 2013, 10:30:46 pm »
Ок.
Последователното свързване на двуклетковата липо и една 6 в акумолаторна батерия възможне ли е да свърши зле ? :clap:
Иии колко пъти в секунда Ардуинто преминава през лооп-а ако няма делей никъде?
Поздрави
Цони Витков 17 г. МГ \"Гео Милев\" Плевен

mivr

  • Бил знаел какво е Мехатроника!
  • *****
  • Публикации: 118
    • Профил
Драйвер за 2 мотора с ИР2104 и мосфети
« Отговор #14 -: Юли 28, 2013, 11:05:42 pm »
Най-вероятно ще свърши много зле...

Зависи какво правиш в лоопа ако нямаш много дълги изпълнения може би около 1000 или повече.
Михаил Врачaнски 19год. В ТУ-София Автоматика

Skype: mivrmmm

email: [email protected]