Control XY-1250 10-50A 60A 3000W PWM motor Speed controller using Arduino
Control XY-1250 10-50A 60A 3000W PWM motor Speed controller using Arduino
This video explains how modify the 60A PWM module and control it with Arduino. Either with potentiometer or just Arduino code.
If you don't want to control this module using external signal, and see this module fully tested under different loads, you may
have to see XY-1250 60A Module is tested and expaliend page. See how to control this module without potentiomerer
Chapters of this video
- 00:00 Start
- 00:40 Introduction
- 01:42 Hardware explained
- 04:26 Waveform viewed on oscilloscope
- 06:56 Disconnecting the signal from board
- 08:49 Powering Arduino from this board
- 12:26 Code explained
- 15:42 Testing with Arduino
- 16:28 Code to control without potentiometer
Components used in this module
-Schottky 4 diode MBR20100CTG datasheet (pdf)-Datasheet for NCE7190A Mosfet (8 pieces) (pdf)
-Datasheet S2H1002A4 Constant Current diode (2 pieces used) (pdf)
-2nd Datasheet S2H1002A4 Constant Current diode (2 pieces used) (pdf)
Resources for this sketch
- XY-1250 60A Module is tested and expaliend
- VL53L0X Datasheet(pdf)
- Main Review of 10-50V 60A 3000W PWM (YouTube)
- Using Potentiometer with Arduino (Code and video)
- Get Wiring Diagram for this from Robojax Arduino Course on Udemy
- Get Early Access to my videos via Patreon
/*
* Modify XY-1250 12-50V 60A PWM to work with Arduino
if you wan to control is without potentiometer, see http://robojax.com/L/?id=308
*
* Written by Ahmad Shamshiri
* on Saturday Jun 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 % 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);
}//