Kula’a XY-1250 10–50A/60A 3000W PWM Mai sarrafa saurin mota ta amfani da Arduino
A cikin wannan koyarwar, za mu nuna maka yadda za ka ɗauki na'urar sarrafa saurin motar PWM na XY-1250 (wanda aka ƙididdige shi don 10–50A/60A har zuwa 3000W) kuma mu gyara shi don ka iya sarrafa saurinsa da Arduino maimakon ƙullin da ke cikinsa. Wannan buƙata ce da ta shahara daga masu sha'awar sana'a waɗanda suke son haɗa na'urar sarrafa motar mai ƙarfi a cikin ayyukansu—kamar gina wani al'amuran lantarki na musamman, sarrafa saurin CNC spindle, tsarin tuƙi na mutum-mutumi, ko tsarin fan na atomatik. Ta hanyar maye gurbin potentiometer na hannu da siginar dijital, za ka sami cikakken iko, wanda za a iya tsarawa, a kan saurin motar ka, wanda ke buɗe duniyar dama don sarrafa kai tsaye da aiki daga nesa.

Ga wasu ayyuka masu amfani da za ka iya ginawa da wannan saitin:
- Gina wani al'amuran lantarki na musamman ko go-kart tare da tsarin haɓaka saurin da za a iya tsarawa.
- Ƙirƙirar na'urar sarrafa saurin spindle na CNC wanda za a iya daidaita shi ta hanyar G-code.
- Gina fan na greenhouse na atomatik wanda ke daidaita saurin bisa ga na'urorin zafin jiki.
- Yin mutum-mutumi mai sarrafa daga nesa tare da motoci masu ƙarfi.
- Haɓaka tsarin bel ɗin kai mai wayo don bita ko ƙaramin masana'anta.
Abubuwan Hardware
- Modul ɗin sarrafa saurin motar PWM na XY-1250 (10–50A/60A, 3000W)
- Arduino Uno (ko kowane allo mai jituwa)
- Motar DC (don gwaji)
- Samar da wutar lantarki ta DC (12V–36V da aka ba da shawarar)
- Potentiometer (10kΩ) — don zaɓin sarrafa hannu
- Wayoyin jumper
- Ƙarfe mai ɗora ƙarfe da waya (don gyara PCB)
Yadda XY-1250 ke Aiki
XY-1250 yana amfani da IC ɗin lokaci na 555 (wanda aka lakafta "U3" a kan allo) don samar da siginar PWM. Wannan siginar yana sarrafa ƙofar MOSFET guda huɗu waɗanda ke kunna da kashe da'irar motar mai ƙarfi. Matsakaicin aiki—wanda ke ƙayyade saurin motar—yawanci ana saita shi ta hanyar potentiometer na kan allo wanda aka haɗa zuwa pin 3 na lokacin 555. Don sarrafa wannan da Arduino, muna buƙatar cire haɗin fitowar 555 daga ƙofofin MOSFET kuma mu shigar da siginar PWM namu maimakon.
Wannan gyara ya zama dole saboda Arduino ba zai iya tuka ƙofofin MOSFET masu ƙarfi kai tsaye ba. Ta hanyar yanke hanyoyin PCB tsakanin lokacin 555 da MOSFETs, za mu iya shigar da siginar PWM namu mai ƙarancin ƙarfi daga Arduino cikin aminci, wanda ke ba mu cikakken iko na dijital akan saurin motar. (a cikin bidiyo a 01:42)
Gyara Allon XY-1250
Kafin mu haɗa Arduino, muna buƙatar yin yankuna biyu a kan PCB don ware fitowar lokacin 555 daga ƙofofin MOSFET. Ga yadda za a yi:
- Nemo guntuwar lokacin 555 (U3) a kan allo. Yana da ƙaramin digo ko layi wanda ke nuna pin 1.
- Gano hanyoyin PCB da ke fitowa daga pin 3 (fitowar) waɗanda ke kaiwa ga diodes da ke haɗe da ƙofofin MOSFET.
- Ta amfani da wuka mai kaifi ko kayan aiki mai juyawa tare da faifan yanka, a hankali yanke waɗannan hanyoyi a wurare biyu—ɗaya don kowace hanyar fitowar.
- Bayan yankewa, yi amfani da na'urar gwada ci gaba don tabbatar da cewa yankewar ta cika. Bai kamata ka ji ƙarar beep tsakanin pin 3 na 555 da yankin ƙofar MOSFET ba.
Wannan gyara yana da mahimmanci—yana hana siginar lokacin 555 shiga tsakani da siginar PWM namu na Arduino. (a cikin bidiyo a 07:02)
Jagorar Wayoyi
Wayoyin wannan aikin sun haɗa da haɗa Arduino zuwa allon XY-1250 da aka gyara. Ga tsarin haɗin:
- Wutar Arduino: XY-1250 yana da mai daidaita ƙarfin lantarki wanda ke fitar da kusan 8.5V. Haɗa wannan fitowar (jan waya tsakanin capacitors biyu) zuwa pin VIN na Arduino. Wannan yana ba da wutar lantarki ga Arduino kai tsaye daga samar da wutar motar. Muhimmi: Kada ka haɗa wannan zuwa pin 5V—zai ƙone Arduino.
- Haɗin ƙasa: Haɗa ƙasa daga XY-1250 zuwa kowane pin GND a kan Arduino.
- Siginonin PWM: Haɗa pin 5 na Arduino zuwa hanyar farko da aka yanke (inda fitowar 555 take), da pin 6 na Arduino zuwa hanyar ta biyu da aka yanke.
- Potentiometer (na zaɓi): Idan kana son sarrafa hannu, haɗa potentiometer na 10kΩ zuwa pin A0 na Arduino, tare da sauran pins biyu zuwa 5V da GND.
- Mota: Haɗa motar DC ɗinka zuwa ƙofofin fitowar modul ɗin XY-1250.
Da zarar an haɗa wayoyi, Arduino za a yi masa wutar lantarki daga wannan samar da wutar da motar ke amfani da shi, kuma zai aika siginonin PWM masu jituwa zuwa duka da'irorin ƙofar MOSFET. (a cikin bidiyo a 10:25)
Bayanin Lambar
Lambar Arduino a bayyane take kuma tana mai da hankali kan samar da siginonin PWM. Ga mahimman sassan da mai amfani zai iya daidaitawa:
#define pwmPin1 5
#define pwmPin2 6
#define controlPin A0
pwmPin1dapwmPin2su filolin Arduino da ke aika siginar PWM zuwa da'irorin ƙofar MOSFET guda biyu. An ayyana su a matsayin fil 5 da 6, waɗanda duka filolin da ke iya PWM ne akan Arduino Uno.controlPinshine filin analog da aka haɗa zuwa potentiometer (A0). Idan ba kwa son amfani da potentiometer, kuna iya watsi da wannan.
A cikin aikin loop(), lambar tana karanta ƙimar potentiometer (0–1023), tana taswira shi zuwa ƙimar PWM (0–255), kuma tana aika shi zuwa filolin PWM guda biyu. delay(500) yana saita ƙimar sabuntawa zuwa sau biyu a cikin daƙiƙa—kuna iya rage wannan zuwa delay(100) don amsa mai santsi.
Lambar kuma ta haɗa da aikin toPWM() na musamman wanda ke canza ƙimar kashi (0–100) zuwa ƙimar PWM (0–255). Wannan yana da amfani idan kuna son saita takamaiman gudun ba tare da potentiometer ba. Misali, kiran toPWM(50) zai dawo 127, wanda ke wakiltar kashi 50% na zagayowar aiki. Kuna iya amfani da wannan aikin a cikin lambar ku don saita gudun motar kai tsaye.
Gwaji da Nunawa
Bayan loda lambar da haɗa komai, kuna iya gwada saitin. Idan kuna amfani da potentiometer, juya shi zai daidaita gudun motar a hankali daga 0 zuwa 100%. Mai duba serial zai nuna duka ƙimar analog ɗin (0–1023) da ƙimar PWM da aka taswira (0–255).
Idan kuna son sarrafa gudun ta hanyar shirye-shirye, kuna iya maye gurbin karatun potentiometer da ƙayyadaddun ƙima. Misali, saita int pwm = toPWM(20); zai tafiyar da motar a gudun 20%. Wannan ya dace sosai ga aikace-aikace inda kuke son motar ta yi aiki a takamaiman gudun ba tare da daidaitawa da hannu ba. (a cikin bidiyo a 16:42)
Nunawa Aikin Kai Tsaye
A cikin bidiyon, kuna iya ganin mai sarrafa XY-1250 da aka gyara yana tafiyar da ƙaramin motar DC. Nunin yana nuna:
- Sarrafa gudun motar da potentiometer da aka haɗa zuwa Arduino.
- Saita motar zuwa ƙayyadaddun gudun 20% ta amfani da aikin
toPWM(). - Ƙara gudun zuwa 50% sannan zuwa 80% don nuna cikakken kewayon sarrafawa.
Karatun oscilloscope sun tabbatar da cewa siginonin PWM guda biyu suna aiki tare daidai, ba tare da bambancin lokaci tsakanin tashoshi biyu ba. Wannan yana tabbatar da cewa MOSFETs ana tafiyar da su daidai, yana hana lalacewa mara daidaituwa ko zafi mai yawa. (a cikin bidiyo a 14:56)
Babuka
- [00:00] Gabatarwa da bayanin aikin
- [01:42] Yadda mai sarrafa PWM na XY-1250 ke aiki
- [04:28] Gwajin siginar asali da oscilloscope
- [07:02] Yanke hanyoyin PCB don ware timer 555
- [10:25] Haɗa Arduino zuwa modul ɗin da aka gyara
- [12:18] Bayanin lambar Arduino
- [14:56] Nunin sarrafa motar da potentiometer
- [16:42] Sarrafa gudun ta hanyar shirye-shirye da ƙayyadaddun ƙima
- [20:32] Taƙaitawa na ƙarshe da kammalawa
Hotuna
/*
* 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);
}
Abin da zaka iya bukata
-
Amazon
-
Amazon60A 3000W PWM module on Amazonamzn.to
-
eBay
-
eBay60A 3000W PWM module on eBayebay.us
-
AliExpress60A 100A Motor Speed Controller on AliExpress-1s.click.aliexpress.com
-
AliExpress60A 100A Motor Speed Controller on AliExpress-2s.click.aliexpress.com
-
AliExpress60A 3000W PWM module on AliExpresss.click.aliexpress.com
-
Banggood60A 100A Motor Speed Controller on Banggoodbanggood.com
Albarkatun da kuma shafukan da za a duba
-
WajeDatasheet for NCE7190A MOSFET (8 Pieces) (PDF)datasheet.lcsc.com
-
WajeSchottky Diode MBR20100CTG Datasheet (PDF)onsemi.com
Fayiloli📁
Babu fayiloli da ake da su.