Мосфет и нагреватель 12В 50Вт

С одной стороны китайский, с другой - чем измеряли?
У большинства тестеров диапазон 200 мВ в нижних 5-10% значений диапазона - так себе. Нелинейности АЦП на краях диапазонов это скорее правило, чем исключение, в них стараются не работать.
Если сигнал усилить через что-то прецизионное, типа ОР-07, например, а потом измерить, результат должен быть более точным, но не точнее, чем допуск резисторов тракта усиления.

VICTOR VC9808+ Если он врет, то и я вру.

2-2-1. Постоянное напряжение
Предел измерения Разрешение Точность
200 мВ 0,1 мВ ±(0,5%+3)

Хороший прибор!
Значит возвращаемся к варианту - китайский :grinning:

1 лайк

А зачем точней? Ёмкость затвора и сопротивление канала оригиналов и подделок отличаются в разы, а не на проценты.

Все-таки чаще идет не прямая подделка, которая требует определенных собственных затрат, а просто разбраковка, которая по сути ничего не требует, кроме как в “кармане” на али унести. Случай от Петра скорее из этой оперы.

АААА, еще перемаркер забыл, как вариант.

Перемаркер это и есть подделка)
Подделывать буквально в подвале невозможно, конечно же.

В общем , все висло на тестовых сопельках - вечером посадил но хорошие толстые провода, пропаял всё… в итоге на выходе 11.5В - думаю тему можно закрывать :wink:

Что заработало - хорошо, хотя так-то это чисто партизанщина.
На будущее или для замены можно взять что-то такое

схема

1 лайк

Ну, попервой я себе заказал вот…
# Модуль MOSFET ключа AOD4184 5-36В 15А 400Вт KZY4807M

и что?
с параметрами модуля что-то напахано, там впору писать 150А, а не 15
или транзисторы поставлены хз что.

:sweat_smile: вот и проверим ))))

там в плате 100 Ом по входу, как у тебя было в первый раз на 3205, + 2 затвора имеют емкость больше чем у 3205. т.е. на вход надо последовательно добавить резистор 100 - 200 Ом, и может быть выключить один из транзисторов, они там параллельно стоят. тока там и у одного достаточно, если не наврали.

к стати, в предыдущую свою поделку я всё же вставил 200 Ом. Принял к сведеию, спс.

Мужики, выручайте, ну снова фигня какая-то…
Пид регулятор отрабатывал нормально…
А на следующий день странно как то себя вся схема ведет… открывается мосфет сразу до 9В из 12в.
Пробовал вручную прописывать открытие и 10, и 20, и 50 из 255, он сразу на 9 вольт с копейками.
попробовал другой мосфет, та же фигня, купил новую ардуинку и плату расширения к ней… не помогает…
Помогите решить проблему!!!

Надо таймер ставить. Хз зачем, но вдруг поможет.

Не бывает такого. Вспоминай)

1 лайк

уже все лишнее из кода выкинул



#define CS_PIN   11 // cs
#define DATA_PIN 12 // sd
#define CLK_PIN  13 // sck

GyverMAX6675 <CLK_PIN, DATA_PIN, CS_PIN> sensor;
LiquidCrystal_I2C lcd(0x27, 20, 4); 
GyverPID pid;

//uint32_t timer = 0;
float Temp = 0; // текущая температура
float SetTemp = 40; // Установленая температура
uint32_t TempCanDrive = 195;//215; // Температура начала старта вращения
bool TempUp;
bool TempDown;
bool OnOff; //= HIGH;
bool Rotate;
bool CanDrive; // разрешено наматывать
String STATUS;
float MOSFET;

void setup() {

  pid.Kp = 3.0;
  pid.Ki = 3.0;
  pid.Kd = 1.0;
  //pid.setDt(500);
  pid.setDirection(NORMAL); //REVERSE
  pid.setpoint = SetTemp;

  lcd.init();                      // initialize the lcd 
  
  lcd.backlight();
  lcd.setCursor(0,0);

  pinMode(Temp,     INPUT);
}
//---------------------------------------------
void loop() {
  pidCountrol();
}

void pidCountrol(){
  static uint32_t tmr;
  if (millis()-tmr >500){
    tmr = millis();
    if (sensor.readTemp()){
      Temp = sensor.getTemp();
      pid.input = Temp;
      pid.getResult();
      MOSFET = pid.output;
      analogWrite(MOS, MOSFET);
    }
    lcd.setCursor(2, 3);
    lcd.print("CanDrive: "+String(CanDrive)+" ("+String(TempCanDrive)+")");
    
      lcd.setCursor(0, 1);
      lcd.print("Mosfet: " + String(MOSFET));
      lcd.setCursor(0, 0);
      lcd.print("Temp:"+String(Temp) + " ("+String(SetTemp)+")");
  }
}```
pid.setDirection(NORMAL); //REVERSE

Мир таков, да. Чёрное это белое, белое это чёрное.
Не уверен, но разве analogWrite может принимать тип float? Это какая-то дичь! Знающие ща уточнят.

Опять же нахера ПИД исполняется раз в полсекунды, а вывод на дисплей дрочится до посинения?

Пробовал int…
Да пофиг уже скорость вывода, это я просто код урезал, у меня в промежутках там еще и управление движком было…
мне щас важно мосфет настроить!!!

Пробовал AnalogWrite(MOS, x), где x- разные значения:0,10,100 и т.д.?

да

void loop() {
  //pidCountrol();
  for (int i=0;255;i++){
    analogWrite(MOS, i);  
    lcd.setCursor(0, 1);
    lcd.print("Mosfet: " + String(i));
    delay(500);
  }

}