Arduino MKR 10100 управляет двигателем постоянного тока

motor iot transistor mkr1000 mkr1010

Спасибо, что прочитали мой пост. Я застрял на этом в течение нескольких недель! Я пытаюсь включить / выключить двигатель постоянного тока из облака Arduino IOT. Я настроил облако и добавил коммутатор. Со светодиодом все работает хорошо: загорается и гаснет по мере необходимости, но мотор не включается и не выключается. Ниже схема, которую я настроил.

Конструкция схемы

Мои характеристики схемы следующие:

  1. Я использую не UNO, как показано на рисунке, а Arduino MKR WiFi 1010, но подключение контактов точно такое же: светодиод на контакте 3 и двигатель на контакте 7.
  2. Я использую диод 1N4001.
  3. Я использую транзистор TIP120.
  4. Я использую двигатель 5 В постоянного тока.
  5. Резистор 270 Ом в цепи транзистора и 220 Ом в цепи светодиода.

Код Arduino, который я сделал, выглядит следующим образом:

#include "thingProperties.h"

#define LED_PIN 3
#define MOTOR_PIN 7

void setup() {
  pinMode(LED_PIN, OUTPUT);
  pinMode(MOTOR_PIN, OUTPUT);

  setDebugMessageLevel(2); // Для отладки облачной интеграции
  Serial.begin(9600);
  delay(1500);

  initProperties(); // инициализируем свойства облака
  ArduinoCloud.begin(ArduinoIoTPreferredConnection); // Подключиться к облаку
}

void loop() {
  ArduinoCloud.update(); // Обновление облачных фоновых служб
}

void onMotorChange() {
  if (motor) {
    // Мотор и усилитель; светодиод горит
    digitalWrite(LED_PIN, HIGH);
    digitalWrite(MOTOR_PIN, HIGH);
  } else {
    // Мотор и усилитель; светодиод выключен
    digitalWrite(LED_PIN, LOW);
    digitalWrite(MOTOR_PIN, LOW);
  }
}

Все мои настройки кажутся правильными, но они просто не работают. Я много исследовал, но безрезультатно. Я проверил с другим двигателем, чтобы быть уверенным, но он также не работает. Я не уверен, где я сделал ошибку.

Пожалуйста, помогите мне. Большое спасибо.

, 👍1

Обсуждение

никогда не используйте ардуино в качестве источника питания ... есть большая вероятность, что ардуино станет дорогим предохранителем, @jsotola

Спасибо за подсказку, у меня нет внешнего источника питания, поэтому я прибегнул к контакту 5V. Что касается моего вопроса, вы понимаете, почему я столкнулся с этой проблемой?, @Abdeen M.


2 ответа


Лучший ответ:

0

Хорошо, мне удалось решить эту проблему, проблема была на самом деле в моей схеме. Ниже приведено изображение с правильной настройкой транзистора или полевого МОП-транзистора.

Я изменил TIP120 на RFP30N06LE, как было предложено VE7JRO:

TIP120 — плохой выбор из-за падения напряжения на нем примерно на 10–14 %. Попробуйте схему с логическим уровнем, низкий Rds MOSFET.

но это с рассматриваемой схемой не работает. Я не тестировал схему, прикрепленную к этому ответу, с помощью TIP120, но подозреваю, что она тоже сработает. Наконец, я добавил батарею на 9 В, как предложил jsotola:

никогда не используйте ардуино в качестве источника питания... велика вероятность, что ардуино станет дорогим предохранителем

но я еще не проверял использование контакта 5V Arduino, я подозреваю, что он тоже будет работать.

Бонус:

Если кому-то интересно, как я сделал эти изображения, я использовал TinkerCAD

Спасибо всем

Надеюсь, это поможет!

,

1

TIP120 — плохой выбор из-за падения напряжения на нем примерно на 10–14 %. Попробуйте схему с логическим уровнем, низкий Rds MOSFET.

Для более подробного ответа см. этот ответ: https://electronics.stackexchange.com/a/ 388468/165322

,

Комментарии не для расширенного обсуждения; этот разговор был [перемещен в чат](https://chat.stackexchange.com/rooms/103629/discussion-on-answer-by-ve7jro-arduino-mkr-10100-control-dc-motor)., @VE7JRO

Привет, VE7RO, надеюсь, ты был великолепен! спасибо за ваш вклад от ранее, я получил все работает. Сейчас я работаю над изготовлением печатной платы, но я не смог найти версию/замену SMT для RFP30N06LE, мне было интересно, будет ли это работать https://assets.nexperia.com/documents/data-sheet/PMV15UNEA.pdf так как мое приложение действительно не достигает предела 60 В или 30 А, в то время как это обеспечивает хорошие Rds, спасибо!, @Abdeen M.