подключение коллекторного двигателя через полевой транзистор MOSFET

Тема в разделе "Arduino & Shields", создана пользователем Толик Иванов, 24 ноя 2015.

  1. Толик Иванов

    Толик Иванов Administrator Администратор

    есть термистор подключенный к ардуино и скетч который считывает с него данные, данные считываются, все нормально. при получении с термистора значений привышающих определенный порог должен включаться двигатель подключенный через полевой транзистор. двигатель включается, но при уменьшении значений он не отключается а продолжает работать и медленно сбрасывает обороты. в чем проблема и как ее решить?
    по сути при подаче напряжения с контакта ардуино на затвор транзистора , транзистор должен замыкаться и мотор начинал вращатся, а при прекращении подачи напряжения на затвор от ардуино- транзистор закроется и двигатель остановится, но после закрытия транзистора двигатель все еще крутится, конечно обороты он резко сбрасывает но еще секунд 20 может работать и пальцами его даже не остановить- Это не инерция!!! получается как будто транзистор не сразу закрывается а дает току проходить через себя какоето время.
    также хочется отметить что такая проблема не постоянна, к примеру иногда работает правильно и сразу перестает вращаться мотор если значение падает меньше 550, а иногда делает так как я описал выше.
    помогите разобраться.
    Код (C++):
    int sensePin =0;
    int motor =12;
    int temp;





    void setup() {
    Serial.begin(9600);

    }

    void loop() {

    int temp=analogRead(sensePin);
    Serial.println(analogRead(sensePin));
    if (temp > 550) {
    digitalWrite (motor,HIGH);
    } else {
      digitalWrite (motor,LOW);
    }
    delay(1000);
    }
    Untitled Sketch_bb.jpg
     
  2. Толик Иванов

    Толик Иванов Administrator Администратор

    спасибо, добавил сопротивление на 100 кОм и мосфет начал закрываться , работает и светодиод, загорается и гаснет, но при подключении двигателя, двигатель не вращается, хотя при прямом подключении к 5В работает.
     
  3. Толик Иванов

    Толик Иванов Administrator Администратор

    Я двигатель подключаю к 5ти вольтам с ардуины через мосфет и он не вращается, когда убираю 100кОм резистор- вращается но не останавливается. Если поставить вместо двигателя светодиод и вернуть 100кОм резистор, то все работает- светодиод загорается и гаснет, с двигателем так не получается.... на амперке есть опыт с миксером и там подключение идет без 100кОм резистора, как амперка в таком случае закрывает мосфет?
     
  4. Толик Иванов

    Толик Иванов Administrator Администратор

  5. ИгорьК

    ИгорьК Гуру

    Вторая схемка обязана работать.
    Первая мысль, которая возникает - не ошиблись ли Вы в номиналах резисторов. Не больше ли, чем 220 Ом резистор, соединенный с пином Ардуино?
    Вторая мысль - попробуйте 100 комный резистор также соединить с пином платы. То есть по факту, подтянуть к земле его, а не транзистор.
     
  6. Толик Иванов

    Толик Иванов Administrator Администратор

    пробывал 220 Омный вообще убрать, ничего существенного не изменилось.
    попробую включить в цепь 100 комный резистор перед 220 омным , а не после него.
    но интересно почему с диодом подключенным работает, а когда мотор цепляю не работает? может дело в какихто нагрузках?... типа мотор больше потребляет и не хватает мощи его запустить?
    мерял вольтметром напряжение на контактах куда подключаю или лед или двигатель, тестер показывает 4,8 вольт
     
  7. 9xA59kK

    9xA59kK Гик

    Мотор запитай отдельно от ардуины и по второй схеме управления полевым транзистором должно точно работать. На двигатель параллельно подключить диод в обратной полярности
     
  8. Толик Иванов

    Толик Иванов Administrator Администратор

    напутал видимо с полярностью стороннего источника питания и походу спалил мосфет... постоянно открыт... куплю новый и продолжу... и отпишусь...
     
  9. Толик Иванов

    Толик Иванов Administrator Администратор

    все заработало. проблема была в том что 12 пин не был назначен на выход