ATNEL tech-forum
https://forum.atnel.pl/

silnik krokowy bipolarny z napędu DVD
https://forum.atnel.pl/topic22251.html
Strona 1 z 1

Autor:  Eposas [ 13 maja 2019, o 17:34 ]
Tytuł:  silnik krokowy bipolarny z napędu DVD

Witam, mam pewien problem, chciałem napisać program do obsługi silnika krok bipolar, wzorowałem na bluebooku, i chce aby przesuwając enkoder w lewo poruszał mi się w lewo o jeden krok jeden jeden ruch, i tak samo w prawo. Więc zacząłem pisać program jednakże trochę wychodzi mi nie tak jak powinno a mianowicie dzieje sie ze jak obórce impulsator to robi mi jeden krok ale juz nic więcej nie wazne ile zrobie ruchów (nie patrzcie się na komentarze:) są z poprzedniej wersji ). Przysyłam kod programu
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Autor:  Eposas [ 13 maja 2019, o 20:13 ]
Tytuł:  Re: silnik krokowy bipolarny z napędu DVD

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
obsługa enkodera jest za pomocą biblioteki z sklepy atnel

Autor:  Eposas [ 13 maja 2019, o 20:44 ]
Tytuł:  Re: silnik krokowy bipolarny z napędu DVD

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


dokładnie tak dwie zmienne :) ale co z związku tym, soryy za może i głupie pytania ale ja już w głowie mam sieczkę
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Autor:  Eposas [ 13 maja 2019, o 20:59 ]
Tytuł:  Re: silnik krokowy bipolarny z napędu DVD

dalej nie chce ruszyć silnik ;/

Autor:  Eposas [ 13 maja 2019, o 21:12 ]
Tytuł:  Re: silnik krokowy bipolarny z napędu DVD

Dalej nie działa mimo ze zadnych błędów mi nie wywala, wszystko dobrze się kompiluje

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Autor:  SylwekK [ 14 maja 2019, o 08:21 ]
Tytuł:  Re: silnik krokowy bipolarny z napędu DVD

Ajajaj... tego się tak nie robi. Oczywiście da się, podobnie jak i widelcem zupę jeść też się da tylko jakim kosztem.
Przede wszystkim musisz mieć sprecyzowane założenia, bo podejście do problemu może się wtedy nieco zmienić. Jeśli chcesz kręcić enkoderem to czy ten ruch będzie odbywał się w obie strony z podobną ilością impulsów? Ma to znaczenie dla algorytmu.
Jak więc się to robi? Na licznikach i ich porównywaniu. Enkoder zalicza swoje impulsy i silnik krokowy też ma zliczać swoje. Ważne aby zliczanie odbywało się w dwóch kierunkach (czyli licznik odejmuje przy przeciwnym kierunku ruchu). Teraz wystarczy porównywać oba liczniki i w zależności od tego, który więcej zliczył obracać silnikiem w lewo lub w prawo. Jeśli, np. enkoder wykonał 10 imp. a krokowy 4 to już wiadomo, że kierunek musi być taki aby silnik "dokręcił" te 6 impulsów. Proste prawda :) Jest haczyk, o którym trzeba pamiętać! Dla ruchu silnika należy wprowadzić opóźnienie dobrane doświadczalnie. Chodzi o to , że przy bardzo szybkim ruchu enkoderem silnik chciałby szybciutko nadrobić straty i też się szybciutko obrócić - niestety ten numer nie przejdzie z racji swojej bezwładności (nie dotyczy silników DC z enkoderem). Dlatego po dodaniu opóźnienia on spokojnie nadgoni w swoim tempie licznik do wymaganej wartości.
Myślę, że opisałem to dość jasno.
A czy to w ogóle działa w taki sposób?? Ależ tak! ;) Film poniżej to potwierdza z nieco bardziej rozbudowanym algorytmem wzbogaconym o rampę, a enkoder daje 1600 impulsów na obrót. Silnik co prawda DC, ale za to z enkoderem i działa to dokładnie na tej samej zasadzie z liczeniem impulsów co z krokowym.


------------------------ [ Dodano po: 9 minutach ]

Ooo! Znalazłem jeszcze stary film gdzie tą zasadę pierwszy raz zastosowałem jeszcze kiedy w bascomie programowałem :)



Tu jest sterowanie potencjometrem (odczyt ADC) w zakresie 0-255 impulsów o ile pamiętam. To jest właśnie ta istota licznika - z ADC otrzymuje gotową wartość, a przy enkoderze trzeba ją sobie zliczać... ale to chyba nie jest trudne ;) Podczas ruchu w niektórych momentach gdy szybko kręcę gałką da się zauważyć, że silnik jedzie ze swoją maksymalną stałą prędkością. To jest właśnie to o czym pisałem wcześniej - ogranicznik prędkości żeby nie zgubił kroków.

Autor:  Eposas [ 14 maja 2019, o 10:21 ]
Tytuł:  Re: silnik krokowy bipolarny z napędu DVD

Dzięki jak wrócę do domu będę rozkminiał z tymi licznikami, jak będę miał problem to napisze do cb na pw Sylwekk

Autor:  Eposas [ 20 maja 2019, o 11:25 ]
Tytuł:  Re: silnik krokowy bipolarny z napędu DVD

Silnik jakimś cudem ruszył cel zamierzony osiągnięty kiedy kręce w lewo to obraca się w lewo i na odwrót.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Autor:  SylwekK [ 20 maja 2019, o 14:04 ]
Tytuł:  Re: silnik krokowy bipolarny z napędu DVD

Może i ruszył co nie zmienia faktu, że jest praktycznie to samo co było tylko masz dodatkowo zaliczane kroki silnika. Ruch powinien odbywać się w oparciu o różnice liczników, a u Ciebie po prostu na podstawie kierunku enkodera to działa. Takim sposobem nawet się nie zbliżysz do efektu jaki pokazałem na filmach. Szkoda.

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/