Znaleziono 5 wyników

autor: Bochen625
21 gru 2015, 00:50
Forum: Arduino, Raspberry pi i inne systemy mikroprocesorowe
Temat: Problem ze sterowaniem silnikiem krokowym
Odpowiedzi: 8
Odsłony: 5067

Czytałem tylko średnio go zrozumiałem.
Dzięki za wyjaśnienie i pomoc :)
autor: Bochen625
20 gru 2015, 23:37
Forum: Arduino, Raspberry pi i inne systemy mikroprocesorowe
Temat: Problem ze sterowaniem silnikiem krokowym
Odpowiedzi: 8
Odsłony: 5067

Ok problem rozwiązany lecz teraz przede mna kolejna zagadka.
Chcę odczytać wartość prędkości z zakresu 0-150 z pinu analogowego i wyświetlić ją na wyświetlaczu lcd. Generalnie zadanie bardzo proste ALE w momencie kiedy prędkość wynosi np. 130 i zmniejszę ją do wartości np 60 to zero z wartości 130 zostaje na wyświetlaczu i pokazuje wtedy wartość 600. Wie ktoś jak co z tym zrobić?
autor: Bochen625
20 gru 2015, 18:12
Forum: Arduino, Raspberry pi i inne systemy mikroprocesorowe
Temat: Problem ze sterowaniem silnikiem krokowym
Odpowiedzi: 8
Odsłony: 5067

wydaje mi sie ze działamy na tej samej bibliotece.

#include <Stepper.h>

silnik implementuje w taki sposob

Stepper silnik = Stepper(400, dir, step1);
autor: Bochen625
20 gru 2015, 17:18
Forum: Arduino, Raspberry pi i inne systemy mikroprocesorowe
Temat: Problem ze sterowaniem silnikiem krokowym
Odpowiedzi: 8
Odsłony: 5067

Re: Problem ze sterowaniem silnikiem krokowym

kierunek definiuje po prostu
int kierunek;

Z tego co wiem i jak sprawdzałem na tym prostym przykładzie samej pracy silnika to jeżeli dla wartości step podam liczbę "na minusie" np -100, to silnik kręci się zgodnie z ruchem wskazówek zegara, a jeżeli wartość jest na plusie to silnik kręci się w przeciwnym kierunku.
autor: Bochen625
20 gru 2015, 15:11
Forum: Arduino, Raspberry pi i inne systemy mikroprocesorowe
Temat: Problem ze sterowaniem silnikiem krokowym
Odpowiedzi: 8
Odsłony: 5067

Problem ze sterowaniem silnikiem krokowym

Witam.
Jestem w trakcie budowania bardzo prostej konstrukcji, która napędzana będzie silnikiem krokowym. Program piszę na Arduino i chcę aby sterowanie silnikiem odbywało się za pomocą joysticka, który jak wiadomo jest potencjometrem. Tak wygląda kod funkcji, która odpowiada za sterowanie.

void manualMode()
{
int value = 0;
int kierunek;
int predkosc;

value = analogRead(sensorX);

if(value > 540)
{
predkosc = map(value, 540, 1023, 0, 100);
kierunek = 1;
}

if(value > 440 && value < 540)
{
predkosc = 0;
}

if(value < 440)
{
predkosc = map(value, 0, 440, 100, 0);
kierunek = -1;
}

if(predkosc > 0)
{
silnik.setSpeed(predkosc);
silnik.step(kierunek);
}

}

Problem polega na tym, że niezależnie w którą stronę pochyle joystick, to silnik kręci się w tą samą stronę (dokładnie zgodnie ze wskazówkami zegara).
Sprawdzałem też czy zadziała kiedy zamiast joysticka do sterowania uzyje przycisków ale jest to samo.
Czy ktoś wie i mógłby mi powiedzieć gdzie lub w czym jest problem, bo na prawdę już sam nie wiem o co chodzi. :???:

Dla przykładu powiem jeszcze, że testowałem też na "czystym" programie, czyli zaimplementowałem silnik, podałem setSpeed oraz step i wtedy działa bez zarzutu. Ustawiając step na wartości dodatnie silnik kręci się w jedną stronę, a po zmianie w kodzie na wartości ujemne silnik kręci się w odwrotną stronę.
Liczę na waszą pomoc, będę bardzo wdzięczny.
Pozdrawiam.

Wróć do „Problem ze sterowaniem silnikiem krokowym”