Arduino Polska Forum

Pełna wersja: sterowanie silnikiem dcz uwzględnieniem pomiaru odległości ultrasonic
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam. Na wstępie chciałbym powiedzieć, iż jestem tu nowy i jestem początkującym użytkownikiem arduino.

Mam pewien projekcik do zrobienia i pomyślałem, że wykorzystam do tego celu arduino.

Zrobiłem urządzenie które za pośrednictwem ultradźwięków mierzy odległość od obiektu przy tym wyświetla tę odległość na wyświetlaczu i może ją wysłać po rs323 dalej. (nie jest to oparte na arduino, a na hałpniczo robionej płytce z układem)

Teraz chcę użyć arduino do następnego zadania:
Chcę podpiąć do arduino swój wykonany dalmierz, następnie zadać kilka zakresów w których silnik DC może się poruszać.
Zakresy te będą odpowiednikiem odległości. Chodzi o to aby móc przełożyć zczytaną odległość na konkretnie skalibrowany obrót silnika.

Widzę to tak.
Muszę skalibrować przynajmniej dwie pozycje silnika. Początkową nazwijmy ją 0 oraz końcową np. 5.
Analogicznie załóżmy że liczby są odpowiednikiem metrów.

Zatem teoretycznie mam zakres w jakim silnik może wykonywać swój ruch. Można założyć iż ruch wykonany od 0 do 5 będzie miał maksymalnie 360 stopni na silniku.  Aby móc określić jaką odległość ma do pokonania (jaki ruch silnika) przechodząc od 0 do 5 muszę podczas kalibracji tych wartości zliczyć ilość kroków (zatem silnik z enkoderem).

Załóżmy że przy pozycji 0 silnik nie zrobił żadnego kroku.
przy pozycji 0.20cm wykonał 20 kroków.
przy pozycji 0.50cm wykonał 70 kroków.
przy pozycji 1m wykonał 140 kroków.
przy pozycji 2m wykonał 210 kroków
przy pozycji 3m wykonał 280 kroków
przy pozycji 4m wykonał 250 kroków
przy pozycji 5m wykonał 320 kroków

1. pytanie: jak sczytać ilość wykonanych kroków w silniku DC w danej pozycji.
2. jaki algorytm zastosować aby móc przetworzyć dane z dalmierza podane na wyjściu w centymetrach i przełożyć je tym samym na ruch silnika DC tak aby wartość z dalmierza była zgodna z wartościami odpowiadającymi przykładowo powyżej założonymi ilościami kroków.

Przepraszam, jeżeli to dziecinne pytania. Ale tak jak pisałem to moje początki z elektroniką i arduino.
I bardzo dziękuję za pomoc.
Silnik krokowy załatwia sprawę przebyta trasa będzie zawsze taka sama dla takiej samej ilości kroków .