почему p-mos действует как постоянный переключатель, когда источник подключен к любому порту в схеме? Я не могу найти решение?

это изображение, на которое я ссылался

это моя схема, которую я подключил, но когда я пытаюсь провести o/p через сток, p- МОП-транзистор действует как выключатель и не может отключить цепь если в моей схеме есть ошибка, пришлите мне правильное изображение.

#define pwm 6
void setup() {
  // инициализируем последовательную связь со скоростью 9600 бит в секунду:
  pinMode(6,OUTPUT);
  Serial.begin(9600);
}

// процедура цикла выполняется снова и снова навсегда:
void loop() {
  // прочитать ввод на аналоговом выводе 0:
  int sensorValue = analogRead(A0);
  //Serial.println(sensorValue);
  // Преобразование аналогового показания (от 0 до 1023) в напряжение (0-5 В):
  float voltage = sensorValue * (5.0 / 1023.0);
  //Serial.println(напряжение);
  float vol1=voltage*11;
  Serial.print("convertd voltageg ");
  Serial.println(vol1);
  int s=0;
  if (vol1>24){
  float duty=(24)/(vol1);
  Serial.print("Duty cycle ");
  duty=duty*100;
  Serial.println(duty);
   s=map(duty,0,100,0,255);
  Serial.print("maped values");
  Serial.println(s);
    analogWrite(6,s);}
  else if(vol1>18 && vol1<25){
    s=255;
    analogWrite(6,s);
    Serial.println(s);
  }
  //Серийный.println(x);
}

, 👍-1

Обсуждение

Прочтите [MOSFET как переключатель](https://www.electronics-tutorials.ws/transistor/tran_7.html)., @hcheung

ДВ и ВТК. Ваш вопрос не об Arduino, и его следует перенести на EE., @VE7JRO

Является ли здесь стандартной практикой отрицать ответ просто потому, что считается, что вопрос относится к другому месту? Я бы подумал, что любое голосование против ответа должно сопровождаться конкретным комментарием, указывающим, насколько ответ является фактическим или иным образом неверным., @6v6gt


2 ответа


-1

Вы должны быть осторожны с такой схемой, потому что вы рискуете подать 12 вольт на контакт Arduino. Чтобы выключить этот P-канальный MOSFET, на затвор необходимо подать 12 вольт. Найдите "переключатель верхней стороны MOSFET". В обычных решениях используется как MOSFET с каналом P, так и транзистор npn или MOSFET с каналом N. Более простой альтернативой является переключение двигателя с помощью N-канального МОП-транзистора (переключатель низкой стороны). Полное описание см. на https://gammon.com.au/motors.

Примечание: похоже, что использованная вами схема взята отсюда https: //circuitjournal.com/how-to-use-ap-channel-mosfet-with-an-arduino и является особенно рискованным, поскольку основан на заземлении между 5-вольтовыми и 12-вольтовыми цепями, которые не соединены между собой. Это может работать, как показано, но не рекомендуется по причинам, изложенным выше, но в вашей симуляции источник питания на 12 В не имеет общей положительной шины с источником питания на 5 В.

,

-1

Arduino, когда на выходе высокий уровень, составляет ~ 5 В. Затвор MOSFET видит его как -7 В, относящийся к источнику. Всегда лучше использовать источник в качестве точки отсчета для MOSFET. Посмотрите на лист данных, и он показывает, что он делает то, что делает. Затвор должен быть около 0 В, ссылаясь на источник, чтобы быть выключенным. Точное значение зависит от используемого МОП-транзистора. Вам нужно будет добавить транзистор или МОП-транзистор для управления P-канальным МОП-транзистором с помощью Arduino. Вы также можете использовать оптоизолятор для переключения MOSFET.

,