safwan092

Simple Control BLDC 3PH Motor Car No BT

Nov 19th, 2024
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.06 KB | None | 0 0
  1. //////////////////////////////////////////////////////////////////////////
  2. //Left Motors Pin Connections To Arduino Uno
  3. //////////////////////////////////////////////////////////////////////////
  4. const int L_Motor_PIN_DIR = 2; // Motor direction signal
  5. const int L_Motor_PIN_BRK = 3; // Motor Break signal
  6. const int L_Motor_PIN_PWM = 9; // 490Hz pins 3, 9, 10, 11
  7. const int L_Motor_PIN_S = 12; // Motor Speed Input signal
  8. //////////////////////////////////////////////////////////////////////////
  9. //------------------------------------------------------------------------
  10. //////////////////////////////////////////////////////////////////////////
  11. //Right Motors Pin Connections To Arduino Uno
  12. //////////////////////////////////////////////////////////////////////////
  13. const int R_Motor_PIN_DIR = 4; // Motor direction signal
  14. const int R_Motor_PIN_BRK = 5; // Motor Break signal
  15. const int R_Motor_PIN_PWM = 10; // 490Hz pins 3, 9, 10, 11
  16. const int R_Motor_PIN_S = 11; // Motor Speed Input signal
  17. //////////////////////////////////////////////////////////////////////////
  18. int set_Speed = 15;
  19. int tSafeTime = 100;
  20.  
  21. void setup() {
  22. setupMotorDriversPins();
  23. Break_All_Motors();
  24. }
  25.  
  26. void loop() {
  27. /*
  28. Front (25, 1000);
  29. delay(1000);
  30. Back (25, 1000);
  31. delay(1000);
  32. Left (25, 1000);
  33. delay(1000);
  34. Right (25, 1000);
  35. delay(1000);
  36. */
  37. Break_All_Motors();
  38. delay(5000);
  39. }
  40.  
  41.  
  42. void setupMotorDriversPins() {
  43. pinMode(L_Motor_PIN_DIR, OUTPUT);
  44. pinMode(L_Motor_PIN_BRK, OUTPUT);
  45. pinMode(L_Motor_PIN_PWM, OUTPUT);
  46. pinMode(L_Motor_PIN_S, INPUT);
  47. pinMode(R_Motor_PIN_DIR, OUTPUT);
  48. pinMode(R_Motor_PIN_BRK, OUTPUT);
  49. pinMode(R_Motor_PIN_PWM, OUTPUT);
  50. pinMode(R_Motor_PIN_S, INPUT);
  51. }
  52.  
  53. void Break_All_Motors() {
  54. digitalWrite(L_Motor_PIN_BRK, 1);
  55. digitalWrite(R_Motor_PIN_BRK, 1);
  56. }
  57.  
  58. void Front(int setTheSpeed, int timeToDelay) {
  59. safeGuardMotors();
  60. analogWrite(L_Motor_PIN_PWM, setTheSpeed);//15
  61. analogWrite(R_Motor_PIN_PWM, setTheSpeed);//15
  62. digitalWrite(L_Motor_PIN_DIR, 1);
  63. digitalWrite(R_Motor_PIN_DIR, 0);
  64. delay(timeToDelay);
  65. }
  66.  
  67. void Back(int setTheSpeed, int timeToDelay) {
  68. safeGuardMotors();
  69. analogWrite(L_Motor_PIN_PWM, setTheSpeed);//15
  70. analogWrite(R_Motor_PIN_PWM, setTheSpeed);//15
  71. digitalWrite(L_Motor_PIN_DIR, 0);
  72. digitalWrite(R_Motor_PIN_DIR, 1);
  73. delay(timeToDelay);
  74. }
  75.  
  76.  
  77. void Right(int setTheSpeed, int timeToDelay) {
  78. safeGuardMotors();
  79. analogWrite(L_Motor_PIN_PWM, setTheSpeed);//15
  80. analogWrite(R_Motor_PIN_PWM, setTheSpeed);//15
  81. digitalWrite(L_Motor_PIN_DIR, 1);
  82. digitalWrite(R_Motor_PIN_DIR, 1);
  83. delay(timeToDelay);
  84. }
  85.  
  86. void Left(int setTheSpeed, int timeToDelay) {
  87. safeGuardMotors();
  88. analogWrite(L_Motor_PIN_PWM, setTheSpeed);//15
  89. analogWrite(R_Motor_PIN_PWM, setTheSpeed);//15
  90. digitalWrite(L_Motor_PIN_DIR, 0);
  91. digitalWrite(R_Motor_PIN_DIR, 0);
  92. delay(timeToDelay);
  93. }
  94.  
  95. void safeGuardMotors() {
  96. delay(tSafeTime);
  97. digitalWrite(L_Motor_PIN_BRK, 0);
  98. digitalWrite(R_Motor_PIN_BRK, 0);
  99. delay(tSafeTime);
  100. }
  101.  
Advertisement
Add Comment
Please, Sign In to add comment