Працюючи з датчиком і двигуном, чи можу я використовувати обоє чи слід використовувати моторний щит?


11

Оновлення: Зараз я змінюю кілька речей із проектом. Я взяв деякі з вас поради. Я перейшов з крокового двигуна на RC-сервопривод (керується через ШІМ), і якщо у мене виникнуть проблеми і не можу їх зрозуміти, я запитаю. Дякую за допомогу!

Я працюю над проектом з другом і його вперше використовую Arduino. Ми використовуємо Arduino для того, щоб взяти дані з датчика (акселерометра), а потім увімкнути двигун (6 В, постійний струм).

Я займався копанням, і здається, що потужності з Arduino може бути недостатньо для двигуна та датчика одночасно. Може, затримка сортів могла б спрацювати (чи це було б можливо?).

Я роздумую про використання моторного щита . Чи все-таки зможу керувати акселерометром разом з мотором?

Я намагаюся використовувати одне зовнішнє джерело живлення (максимум: 6 АА батарей; я намагаюся обмежити кількість акумуляторів, оскільки ми намагаємось підтримувати його портативним), тож є спосіб використовувати одне джерело з моменту Ардуїно та моторний щит потребують двох різних джерел живлення (наскільки я розумію).


Ви все одно повинні мати можливість використовувати інші шпильки. Цей моторний щит буде діяти як потужний брат і слухати, що говорить шпилька, і робити саме це, звичайно, маючи велику силу, він є більшим братом! Чи можете ви відредагувати своє запитання так, щоб ви були більш конкретними щодо кількості батарей AA, які ви збираєтесь використовувати?
абдулла кахраман

Гаразд, я оновив кількість батарей. Як ви вважаєте, кроковий мотор стане кращою заміною, оскільки я чув, що вони дуже добре працюють з Arduinos.
Om23

@ Om23 Вибір крокового, сервоприводу, щіткового постійного струму або безщіткового постійного струму визначається ціллю, яку повинен виконувати двигун, і (наприклад, для двигунів BLDC) наявного обладнання для управління двигуном. Можливо, виникне цікаве нове запитання щодо визначення того, який мотор найкраще використовувати для якої з кількох можливих цілей, про які ви можете придумати. Не впевнений, що таке питання ідеально підходить для сайту Arduino, можливо, хтось інший може прозвучати на цьому.
Anindo Ghosh

Відповіді:


12

Випуск 1 : Керування мотором безпосередньо від Arduino

Керувати мотором безпосередньо від штифтів Arduino не рекомендується з кількох причин:

  • Струм навантаження , особливо при запуску та зупинці двигуна. Як справедливо зазначається у запитанні, штифти Arduino можуть просто не бути встановлені для подачі достатнього струму. Ардуїно може нагрітися або навіть пошкодитися внаслідок тривалого сильного струму.
    Хоча кожен штифт Arduino для Arduinos на базі ATmega оцінюється в 40 мА, я особисто вважаю за краще тримати навантаження до 30 мА, апетит до ризику може відрізнятися. Не бачачи аркуша відповідного двигуна, неможливо здогадатися, скільки струму потребує двигун
  • Зворотний ЕРС від двигуна, як під час вимкнення двигуна, так і, можливо, під час комутації двигуна. Коли двигун постійного струму крутиться, контактні щітки «комутуються» між розділеними кільцями, принаймні, у традиційних типах щіткових двигунів постійного струму, створюючи крихітні маленькі іскри кожного разу.
    Зворотна ЕРС - це в основному зворотне напруга, що генерується котушками двигуна (або будь-яким індуктивним навантаженням при відключенні), перехідними (шипами), які на мить можуть значно перевищувати допустимий діапазон напруги, який можуть терпіти шпильки мікроконтролера.
    Назад ЕРС залишається небезпекою, хоча і зменшується, навіть якщо швидкий діод підключений у зворотному зміщенні через відводи двигуна, настійно рекомендується практика.
  • Таким чином, настійно рекомендується ізоляція між Arduino та моторним приводом. Для простоти реалізації це був би моторний щит.
    Якщо вам подобається основна електроніка, цього можна досягти також шляхом прямого підключення відповідного ІК-драйвера двигуна та прохідних діодів. ( Редагувати : Це чудово описано у відповіді Manishearth )
    Водій двигуна, будь то щит чи ІС, повинен живитись незалежно від Arduino, але з двома лініями наземного джерела живлення, з'єднаними між собою. Дивіться далі вниз.

Випуск 2 : Керування акселерометром та щитом двигуна одночасно

  • Так, акселерометр можна керувати та зчитувати з Arduino з встановленим щитком двигуна, гарантуючи, що штифти, вибрані для доступу до акселерометра, фактично не використовуються щитом двигуна. Усі вони були б підключені до щита, але без внутрішньої функції або з'єднання всередині щита. Документація для вибраного щита зазвичай надає цю інформацію.
    Для зручності шукайте моторний щит із загостреними заголовками, тобто із заглушками Arduino, зафіксованими на щитку двигуна для кріплення додаткового обладнання, у вашому випадку акселерометра. Не всі щити мають заголовки, що складаються. Таким чином, ускладнюється використання штифтів, які не використовуються екраном, потребуючи приєднання проводів до відповідних колодок заголовка на друкованій платі, або деякого подібного розташування.
    Якщо ви не вибрали, що щит двигуна, який ви вибрали, використовує всі штифти GPIO, як це стосується щитів для керування кількома двигунами, можливо, у вас виникнуть проблеми. Оскільки рухається лише 1 двигун, уникайте багатомоторних щитів, які не залишають достатньо невикористаних штифтів GPIO.

Випуск 3 : Розподіл потужності між Arduino та моторним щитом

  • Проблема із запропонованою схемою 6 x AA (максимальна номінальна напруга 9 Вольт) полягає в тому, що, хоча він забезпечує достатню напругу для входу постійного струму, доступного на багатьох Arduinos (як правило, це вхід від 7 до 12 Вольт), він занадто високий, щоб мотор вести прямо з нього.
  • Однак є декілька моторних щитів, які приймають прямий вхід електроенергії (наприклад, від 7 до 25 Вольт), а потім забезпечують добре регульований 5 вольт до Arduino, до якого вони приєднані. Тож Arduino взагалі не потрібно окремо живити, і не повинно бути жодним. Це абсолютно єдиний тип моторного щита, який слід купувати .
  • Альтернативи Kludgier включають простукування 4-х осередків АА для живлення двигуна та всіх 6 комірок для живлення роз'єму постійного струму (PWRIN) Arduino або використання окремого 6-вольтового регулятора напруги для живлення двигуна, подаючи 9 вольт безпосередньо до гнізда Arduino DC.
  • Спроба живити Arduino за допомогою акумуляторної батареї, а потім живити двигун від штифта Vin Arduino - це погана ідея, оскільки
    • Діод М7 між роз'ємом постійного струму та штифтом Він на кількох моделях Arduino оцінюється як 1 Ампер, мотор міг би намалювати більше, принаймні на мить
    • Весь електромагнітний шум, що генерується від двигуна, комутаційний шум плюс перехідні перехідні періоди, подаватимуться назад на плату Arduino, якщо не буде здійснено дуже жорстке роз'єднання, що не є простою справою. Цей зворотний зв'язок з EMI викличе переривчасті, важкі для налагодження проблеми з роботою Arduino.

10

Більшість щитів займають кілька штифтів, а решту залишають для вас (саме тому багато хто має репліку системи штифтів Arduino поверх них, використовуючи заголовки, що складаються). Вони розроблені таким чином, щоб бути максимально безпроблемним, тому отримати щит - це найпростіший спосіб обійти це.

Я особисто не живлю мотори з плати безпосередньо; замість цього я використовую для цього драйвери двигуна, такі як L293D. Штифти не дуже зручні для витягу струму, і, як правило, краще живити датчики безпосередньо замість штифтів Arduino. Пам'ятайте, що штифти мають обмеження струму, і якщо ви перевантажите їх, вони вигорять.

Використовувати L293D легко:

введіть тут опис зображення

Підключіть штифти 1,9,16 до джерела Vcc (позитивний термінал будь-якого джерела напруги 5В, яким ви живите Arduino. Для мене це, як правило, лінія, витягнута з LM7805). Тепер підключіть штифти 4,5,13,12 до свого GND (негативний термінал). Тепер підключіть штифт 8 до джерела підвищеної напруги (6В, 12В або будь-якого, що ви хочете подати до двигунів). Зауважте, що негативні клеми всіх джерел напруги потрібно скоротити до GND.

Тепер підключіть свій двигун до двох вихідних штифтів на одному майданчику (3,4 зліва). Підключіть вхідні штифти (2,7) до двох різних штифтів на Arduino. Коли ви подаєте однаковий сигнал (ВИСОКИЙ або НИЗЬКИЙ) на обидва штирі, то мотор зупиняється. Якщо ви даєте ВИСОК з одного штифта, а НИЗКО - від іншого, мотор буде рухатися за годинниковою або проти годинникової стрілки, залежно від того, який контакт отримав який сигнал.

Якщо ви хочете однонаправлений двигун і хочете зберегти штифти, короткий один із вхідних штифтів у GND. Тепер, коли інший вхідний штифт буде низьким, мотор вимкнеться, а коли він ВИСОКИЙ, мотор увімкнеться.

Ви можете прикріпити інший двигун, використовуючи ту ж процедуру на протилежному кінці мікросхеми, якщо бажаєте.

L293D виводить з Ардуїно невелику кількість струму і приводить в дію двигун від струму, що проходить через штифт 8, і зазвичай ідеально підходить для таких ситуацій.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.