با سلام و درود
دوستان من یک پروژه روی آردویینو مگا با ماژول L298N v3 برای کنترل 3 موتور در شرایط مختلف داشتم. در این پروژه از طریق دستورanalogWrite(pin,value) نتونستم سرعت موتور رو کنترل کنم و اون رو خاموش کنم. برای همین اومدم روی برد آردویینو اونو و یک مدار خیلی ساده بستم ولی همچنان مشکل پابرجا بود. در صورت امکان می*خاستم که ایراد کار من رو بفرمایید و روش درست رو هم بگید. ممنونم.
اتصالات بردها:
in1 ==> pin 7
in2 ==> pin 8
ENA ==> pin 9
GND ==> GND
اتصالات منبع تغذیه و موتور هم همانند تصویر (به دلیل نداشتن اتصال مناسب برای پین ENA قسمت سبز رو در آوردم، ابتدا دوسر این پین رو به هم وصل کردم و سپس به پین 9 آردوینو متصل کردم )
کدهای برنامه:

int in1 = 7;
int in2 = 8;
int M = 9;
void setup() {
pinMode(in1,OUTPUT);
pinMode(in2,OUTPUT);
pinMode(M,OUTPUT);
}
void loop() {
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
analogWrite(M,0);
}


طبق دستورات بالا موتور باید خاموش باشه چون سرعت موتور روی 0 هست ولی توی عمل همچین اتفاقی نمی افته یا اگه این عدد رو مثلا 125 بزاریم تقریبا با نصف قدرت موتور باید کار کنه. که در مورد من تحت هر شرایطی موتور با 100 درصد قدرت کار می*کنه البته روی چپگرد و راستگرد شدنش میتونم تغییرات بدم ولی روی دستور analogwrite کنترلی ندارم.