Arduino Polska Forum

Pełna wersja: silnik krokowy 28BYJ48
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam

Podpiąłem sinik krokowy do Motor Control Shield.
Możecie zobaczyć kod programu bo jakoś nie chce kręcić, silnik delikatnie syczy i tyle.

Kod:
int motor1_dir1 = 12;
int motor1_dir2 = 13;
int motor1_pwm  = 11;

int motor2_dir1 = 8;
int motor2_dir2 = 7;
int motor2_pwm  = 10;
//motor 1
int motor3_dir1 = 5;
int motor3_dir2 = 4;
int motor3_pwm  = 9;

int motor4_dir1 = 3;
int motor4_dir2 = 2;
int motor4_pwm  = 6;


void setup()
{
//ustawienie wyjść
 pinMode(motor1_dir1, OUTPUT);
 pinMode(motor1_dir2, OUTPUT);
 pinMode(motor1_pwm, OUTPUT);

 pinMode(motor2_dir1, OUTPUT);
 pinMode(motor2_dir2, OUTPUT);
 pinMode(motor2_pwm, OUTPUT);

 pinMode(motor3_dir1, OUTPUT);
 pinMode(motor3_dir2, OUTPUT);
 pinMode(motor3_pwm, OUTPUT);

 pinMode(motor4_dir1, OUTPUT);
 pinMode(motor4_dir2, OUTPUT);
 pinMode(motor4_pwm, OUTPUT);

//ustawienia stanu logicznego na wyjściu digitalWrite(Pin, Stan). Stan jest stanem logicznym, który może być HIGH bądź LOW (wysoki bądź niski).
 digitalWrite(motor1_dir1, 0);
 digitalWrite(motor1_dir2, 1);
 digitalWrite(motor1_pwm, 1);

 digitalWrite(motor2_dir1, 0);
 digitalWrite(motor2_dir2, 1);
 digitalWrite(motor2_pwm, 1);

 digitalWrite(motor3_dir1, 0);
 digitalWrite(motor3_dir2, 1);
digitalWrite(motor3_pwm, 1);

 digitalWrite(motor4_dir1, 0);
 digitalWrite(motor4_dir2, 1);
 digitalWrite(motor4_pwm, 1);

}
void loop()
{
//0  PWM = 0% dioda nie świeci
//64 PWM = 25%
//128 PWM = 50%
//192 PWM = 75%
//255 PWM = 100%

 analogWrite(motor1_pwm, 128); //128
 
 analogWrite(motor2_pwm, 128);

 analogWrite(motor3_pwm, 128);

 analogWrite(motor4_pwm, 128);
 delay(500);
}
Witam,
Czy na pewno podłączenie jest dobre? A , może mówi pan p o innym silniku?
@robo1973 sterowanie PWM jest do silników DC, może poszukaj sobie przykładów do tego shielda dla silnika krokowego. Masz ich tam podpiętych 4? Wystarczy w google wbić "Motor Control Shield stepper" i zacząć np. od analizy tego:
https://www.rs-online.com/designspark/ar...or-control. A może i po polsku coś znajdziesz.
Dziękuję kol kaczakat za pomoc Sprawdzę program z linka co podałeś.
Ten program z mojego pierwszego posta producent podaje jako przykład Więc powinien śmigać ?
Staraj się pisać po polsku, to może więcej osób będzie Ci chciało przeczytać, zrozumieć, pomóc. Ruch silnika krokowego odbywa się dzięki sekwencji odpowiednio dobranych przepływów prądu przez cewki silnika. Ten program może działać ze zwykłym silnikiem DC, nie będzie działać z krokowym. Do obsługi silnika krokowego polecam też bibliotekę Arduino accelstepper.
Mam Motor Control Shield

MOTOR 1 M1A/M1B PWM=D6, IN1=D2, IN2=D3

MOTOR 2 M2A/M2B PWM=D9 IN1=D4, IN2=D5

Zdefiniowałem tak i działa :

// inicjalizacja obiektu do kontroli silnika
Stepper myStepper(stepsPerRevolution,2,3,4,5);
Temat do zamknięcia. Problem rozwiązany. Pozdrawiam i dziękuję
Następnym razem jak ktoś ładnie poprosi to wystarczy współpracować.