د کنټرول XY-1250 10–50A/60A 3000W PWM موټر سرعت کنټرولر د اردوینو په کارولو سره
په دې ټیوټوریل کې، موږ به تاسو ته وښیو چې څنګه یو عام XY-1250 PWM موټور د سرعت کنټرولر (د 10–50A/60A لپاره تر 3000W پورې درجه بندي شوی) بدل کړو ترڅو تاسو د هغې د جوړ شوي کنټرول نوب پر ځای د Arduino سره د هغې سرعت کنټرول کړئ. دا د هغو شوقیانو لپاره یوه مشهوره غوښتنه ده چې غواړي د لوړ ځواک موټور کنټرولر په خپلو پروژو کې مدغم کړي — لکه د دودیز بریښنایی لونګ بورډ جوړول، د CNC سپینډل سرعت کنټرول، د روبوټیک ډرایو سیسټم، یا د اتوماتیک فین سیسټم. د لاسي پوټینشیومیټر په ډیجیټل سیګنال سره ځای په ځای کولو سره، تاسو د خپل موټور د سرعت دقیق او پروګرام وړ کنټرول ترلاسه کوئ، کوم چې د اتوماتیک او لیرې کنټرول لپاره د امکاناتو نړۍ پرانیزي.

دلته ځینې عملي پروژې دي چې تاسو کولی شئ د دې ترتیب سره جوړې کړئ:
- د پروګرام وړ سرعت ریمپینګ سره د دودیز بریښنایی لونګ بورډ یا ګو-کارټ جوړول.
- د CNC ماشین سپینډل سرعت کنټرولر جوړول چې د G-code له لارې تنظیم کیدی شي.
- د اتوماتیک ګرین هاوس فین جوړول چې د تودوخې سینسرونو پر بنسټ سرعت تنظیموي.
- د لوړ تورک موټورونو سره د لیرې کنټرول شوي روبوټ جوړول.
- د ورکشاپ یا کوچني فابریکې لپاره د سمارټ کنویر بیلټ سیسټم پراختیا.
هارډویر اجزاوې
- XY-1250 PWM موټور د سرعت کنټرولر ماډل (10–50A/60A، 3000W)
- Arduino Uno (یا کوم بل مطابقت لرونکی بورډ)
- DC موټور (د ازموینې لپاره)
- DC بریښنا رسول (12V–36V وړاندیز شوی)
- پوټینشیومیټر (10kΩ) — د لاسي کنټرول اختیار لپاره
- جمپر تارونه
- سولډرینګ اوسپنه او تار (د PCB بدلولو لپاره)
XY-1250 څنګه کار کوي
XY-1250 د 555 ټایمر IC (په بورډ کې د "U3" په توګه نښه شوی) کاروي ترڅو د PWM سیګنال تولید کړي. دا سیګنال د څلورو MOSFETs ګیټ کنټرولوي چې د لوړ ځواک موټور سرکټ بدلوي. د دندې دوره — کومه چې د موټور سرعت ټاکي — معمولا د آن بورډ پوټینشیومیټر لخوا ټاکل کیږي چې د 555 ټایمر پن 3 سره وصل دی. د دې د Arduino سره کنټرول لپاره، موږ اړتیا لرو چې د 555 محصول له MOSFET ګیټونو څخه جلا کړو او پرځای یې خپل PWM سیګنال تغذیه کړو.
دا بدلون اړین دی ځکه چې Arduino نشي کولی په مستقیم ډول د لوړ جریان MOSFET ګیټونه چلوي. د 555 ټایمر او MOSFETs ترمنځ د PCB لارو په پرې کولو سره، موږ کولی شو په خوندي ډول د Arduino څخه خپل ټیټ ولټاژ PWM سیګنال داخل کړو، چې موږ ته د موټور سرعت بشپړ ډیجیټل کنټرول راکوي. (په ویډیو کې په 01:42)
د XY-1250 بورډ بدلول
مخکې لدې چې موږ Arduino وصل کړو، موږ اړتیا لرو چې په PCB باندې دوه پرې کول ترسره کړو ترڅو د 555 ټایمر محصول له MOSFET ګیټونو څخه جلا کړو. دلته دا څنګه ترسره کوو:
- په بورډ کې د 555 ټایمر چپ (U3) ومومئ. دا یو کوچنی نقطه یا کرښه لري چې پن 1 په ګوته کوي.
- د پن 3 (محصول) څخه راتلونکي PCB لارې وپیژنئ چې د MOSFET ګیټونو سره وصل ډایوډونو ته ځي.
- د تیز چاقو یا د پرې کولو ډیسک سره د څرخي وسیلې په کارولو سره، دا لارې په دوه ځایونو کې په احتیاط سره پرې کړئ — د هر محصول لارې لپاره یوه.
- د پرې کولو وروسته، د دوام ازموونکي وکاروئ ترڅو تایید کړئ چې پرې کول بشپړ دي. تاسو باید د 555 پن 3 او د MOSFET ګیټ ساحې ترمنځ هیڅ بیپ ونه اورئ.
دا بدلون خورا مهم دی — دا د 555 ټایمر سیګنال مخه نیسي چې زموږ د Arduino PWM سیګنال سره مداخله وکړي. (په ویډیو کې په 07:02)
د تارونو لارښود
د دې پروژې لپاره تارونه د Arduino سره د بدل شوي XY-1250 بورډ وصل کول شامل دي. دلته د اړیکو ډیاګرام دی:
- د Arduino لپاره بریښنا: XY-1250 یو ولټاژ تنظیم کوونکی لري چې نږدې 8.5V تولیدوي. دا محصول (د دوو کاپاسیټرونو ترمنځ سور تار) د Arduino د VIN پن سره وصل کړئ. دا Arduino په مستقیم ډول د موټور د بریښنا رسولو څخه ځواک ورکوي. مهم: دا د 5V پن سره مه وصل کوئ — دا به Arduino وسوځوي.
- ځمکنۍ اړیکه: د XY-1250 څخه ځمکه د Arduino په هر GND پن سره وصل کړئ.
- PWM سیګنالونه: د Arduino پن 5 د لومړۍ پرې شوې لارې سره وصل کړئ (چیرې چې د 555 محصول و)، او د Arduino پن 6 د دویمې پرې شوې لارې سره وصل کړئ.
- پوټینشیومیټر (اختیاري): که تاسو لاسي کنټرول غواړئ، یو 10kΩ پوټینشیومیټر د Arduino د A0 پن سره وصل کړئ، د نورو دوو پنونو سره 5V او GND ته.
- موټور: خپل DC موټور د XY-1250 ماډل د محصول ترمینلونو سره وصل کړئ.
یوځل چې تارونه وصل شي، Arduino به د موټور په څیر د ورته بریښنا رسولو څخه ځواک ترلاسه کړي، او دا به دواړو MOSFET ګیټ سرکټونو ته همغږي PWM سیګنالونه واستوي. (په ویډیو کې په 10:25)
د کوډ تشریح
د Arduino کوډ ساده دی او د PWM سیګنالونو تولید باندې تمرکز کوي. دلته کلیدي کاروونکي-قابل تنظیم برخې دي:
#define pwmPin1 5
#define pwmPin2 6
#define controlPin A0
pwmPin1اوpwmPin2هغه Arduino پنونه دي چې د PWM سیګنال دوه MOSFET ګیټ سرکټونو ته لیږي. دا د 5 او 6 پنونو په توګه تعریف شوي، چې دواړه د Arduino Uno پر PWM وړ پنونه دي.controlPinهغه انلاګ پن دی چې پوټینشنومیټر (A0) سره وصل دی. که تاسو نه غواړئ پوټینشنومیټر وکاروئ، تاسو کولی شئ دا له پامه وغورځوئ.
د loop() فنکشن کې، کوډ د پوټینشنومیټر ارزښت (0–1023) لوستي، دا د PWM ارزښت (0–255) ته نقشه کوي، او دا دواړه PWM پنونو ته لیږي. delay(500) د تازه کولو کچه په هر ثانیه کې دوه ځله ټاکي—تاسو کولی شئ دا د اسانه ځواب لپاره delay(100) ته راکم کړئ.
کوډ یو دودیز toPWM() فنکشن هم لري چې د سلنې ارزښت (0–100) د PWM ارزښت (0–255) ته اړوي. دا ګټور دی که تاسو غواړئ د پوټینشنومیټر پرته یو مشخص سرعت وټاکئ. د مثال په توګه، د toPWM(50) غوښتنه به 127 بیرته راولي، چې د 50٪ دندې دوره استازیتوب کوي. تاسو کولی شئ دا فنکشن په خپل کوډ کې وکاروئ ترڅو د موټرو سرعت مستقیم وټاکئ.
ازموینه او ننداره
د کوډ اپلوډ کولو او هرڅه وصل کولو وروسته، تاسو کولی شئ تنظیم وازموئ. که تاسو پوټینشنومیټر کاروئ، د هغه څرخول به د موټرو سرعت له 0 څخه تر 100٪ پورې په اسانۍ سره تنظیم کړي. سریال مانیټر به دواړه خام انلاګ ارزښت (0–1023) او نقشه شوی PWM ارزښت (0–255) ښکاره کړي.
که تاسو غواړئ سرعت په پروګراماتیک ډول کنټرول کړئ، تاسو کولی شئ د پوټینشنومیټر لوستل د ثابت ارزښت سره بدل کړئ. د مثال په توګه، د int pwm = toPWM(20); ټاکل به موټر په 20٪ سرعت چلوي. دا د هغو غوښتنلیکونو لپاره مناسب دی چیرې چې تاسو غواړئ موټر د لاسي تنظیم پرته په مشخص سرعت وګرځي. (په ویډیو کې په 16:42)
ژوندۍ پروژې ننداره
په ویډیو کې، تاسو کولی شئ تعدیل شوی XY-1250 کنټرولر وګورئ چې یو کوچنی DC موټر چلوي. ننداره ښیي:
- د موټرو سرعت د پوټینشنومیټر سره کنټرولول چې Arduino ته وصل دی.
- د
toPWM()فنکشن په کارولو سره موټر په ثابت 20٪ سرعت ټاکل. - سرعت 50٪ او بیا 80٪ ته لوړول ترڅو د کنټرول بشپړ حد وښیې.
د اوسیلوسکوپ لوستل تاییدوي چې دواړه PWM سیګنالونه په بشپړ ډول همغږي دي، د دوه چینلونو ترمنځ د مرحلې توپیر پرته. دا ډاډ ورکوي چې MOSFETs په مساوي توګه چلول کیږي، د نا مساوي اغوستلو یا ډیر تودوخې مخه نیسي. (په ویډیو کې په 14:56)
فصلونه
- [00:00] پیژندنه او د پروژې کتنه
- [01:42] د XY-1250 PWM کنټرولر څنګه کار کوي
- [04:28] د اصلي سیګنال ازموینه د اوسیلوسکوپ سره
- [07:02] د PCB لارو پرې کول ترڅو د 555 ټایمر جلا کړي
- [10:25] د Arduino تارونه تعدیل شوي ماډل ته وصل کول
- [12:18] د Arduino کوډ تشریح کول
- [14:56] د موټرو کنټرول ننداره د پوټینشنومیټر سره
- [16:42] د ثابت ارزښتونو سره په پروګراماتیک ډول سرعت کنټرولول
- [20:32] وروستۍ لنډیز او پایلي خبرې
انځورونه
/*
* Modify XY-1250 12-50V 60A PWM to work with Arduino.
get this code and other resouces http://robojax.com/RTJ162
If you want to control it without a potentiometer, see http://robojax.com/RTJ162
*
* Written by Ahmad Shamshiri
* on Saturday, June 15, 2019 at 16:14
* in Ajax, Ontario, Canada
* www.robojax.com
* Watch the video instruction: https://youtu.be/k13iTmvPtUU
*/
#define pwmPin1 5
#define pwmPin2 6
#define controlPin A0
void setup() {
pinMode(pwmPin1,OUTPUT);
pinMode(pwmPin2,OUTPUT);
Serial.begin(9600);
}
void loop() {
int potValue = analogRead(controlPin);
Serial.print(potValue);
int pwm =map(potValue, 0,1023, 0, 255);
analogWrite(pwmPin1,pwm);
analogWrite(pwmPin2,pwm);
Serial.print(" ");
Serial.println(pwm);
delay(500);
}
/*
* @brief Converts a percentage value from 0 to 100% to 0-255.
* @param v An integer value representing a percentage from 0-100.
* @return A value from 0 to 255.
*/
int toPWM(int v){
return map(v, 0,100,0,255);
}
/*
* file: PWM_for_XY1260_module_no_pot
* Modify XY-1250 12-50V 60A PWM to work with Arduino
* This code allows you to control the motor without a potentiometer. See video for demonstration.
* resources page for this project https://robojax.com/RTJ162
Watch the video instruction on youTube: https://youtu.be/ZLZr2AZgmPI
*
* How to use:
* To control speed at 100%
motorControl(100);
delay(3000);//keep it running for 3 seconds
* To control speed at 400%
motorControl(40);
delay(3000);//keep it running for 3 seconds
* To stop motor
motorControl(0); //set zero
delay(3000);//keep it running for 3 seconds
* Written by Ahmad Shamshiri
* on Saturday, January 30, 2021, at 12:49
* in Ajax, Ontario, Canada
* www.Robojax.com
* Watch the video instruction: https://youtu.be/ZLZr2AZgmPI
*/
#define pwmPin1 3
#define pwmPin2 6
bool defaultMotorON = false;// or set to "true" to make the motor start
unsigned int defaultSpeed= 20;//20% set it in % 0=stop, 100=full speed
int toPWM(int);//prototype
void setup() {
pinMode(pwmPin1,OUTPUT);
pinMode(pwmPin2,OUTPUT);
Serial.begin(9600);
Serial.print("Control XY-1260 without pot");
if(defaultMotorON){
analogWrite(pwmPin1,toPWM(defaultSpeed));
analogWrite(pwmPin2,toPWM(defaultSpeed));
}else{
analogWrite(pwmPin1,0);
analogWrite(pwmPin2,0);
}
}
void loop() {
motorControl(100);//set speed to 100%
delay(3000);//keep motor running at 100% for 3 seconds
motorControl(0);//stops motor
delay(4000);//keep motor stopped for 4 seconds
motorControl(45);//set speed to 45%
delay(3000);//keep motor running at 45% for 3 seconds
motorControl(0);//stops motor
delay(4000);//keep motor stopped for 4 seconds
//from 0 to 100% with 50 millisecond delay (increasing speed)
for(int i=0; i<100; i++)
{
motorControl(i);//set speed with value of i from 0 to 100
delay(50);//give motor 50 milliseconds before going to the next value
}//for loop end
motorControl(0);//stops motor
delay(4000);//keep motor stopped for 4 seconds
//from 100% to 10 with 50 millisecond delay (decreasing speed)
for(int i=100; i>0; i--)
{
motorControl(i);//set speed with value of i from 0 to 100
delay(50);//give motor 50 milliseconds before going to the next value
}//for loop end
motorControl(0);//stops motor
delay(4000);//keep motor stopped for 4 seconds
}//loop end
/*
* @brief converts % value from 0 to 100% to 0-255
* @param v is integer value representing % from 0-100
* @return will return value from 0 to 255
*/
int toPWM(int v){
return map(v, 0,100,0,255);
}//
/*
* @brief controls the speed of motor with value from 0 to 100%
* @param speed is integer value representing % from 0-100
* @return none
* written January 30, 2021 by Ahmad Shamshiri
* www.robojax.com
*
*/
void motorControl(int speed)
{
int pwm= map(speed, 0,100,0,255);
analogWrite(pwmPin1,pwm);
analogWrite(pwmPin2,pwm);
}
هغه شیان چې تاسو ورته اړتیا لرئ
-
امازون
-
امازون60A 3000W PWM module on Amazonamzn.to
-
ای بی
-
ای بی60A 3000W PWM module on eBayebay.us
-
علی ایکسپریس60A 100A Motor Speed Controller on AliExpress-1s.click.aliexpress.com
-
علی ایکسپریس60A 100A Motor Speed Controller on AliExpress-2s.click.aliexpress.com
-
علی ایکسپریس60A 3000W PWM module on AliExpresss.click.aliexpress.com
-
بنګګوډ60A 100A Motor Speed Controller on Banggoodbanggood.com
سرچینې او حوالې
-
بهرنیDatasheet for NCE7190A MOSFET (8 Pieces) (PDF)datasheet.lcsc.com
-
بهرنیSchottky Diode MBR20100CTG Datasheet (PDF)onsemi.com
فایلونه📁
هیڅ فایل شتون نلري.