Arduino Polska Forum

Pełna wersja: Sterownik manualnej skrzyni biegów
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam chciałbym prosić o pomoc w napisaniu programu albo o gotowy program do arduino uno bo takową płytkę posiadam. Program miałby obsługiwać jak na razie czterobiegową skrzynię biegów, trzy biegi do przodu i wsteczny. Za zmiane biegów odpowiadałyby dwa siłowniki pneumatyczne podłączone do dźwigni zmiany biegów. Biegi są w układzie H i jeden siłownik poruszałby dźwignią przód- tył a drugi na boki. Siłownik poruszający dźwignię przód-tył miałby trzy czujniki indukcyjne żeby sterownik wiedział w jakiej pozycji jest siłownik a co za tym idzie jaki bieg jest załączony czy też jest luz. Drugi siłownik miałby dwa czujniki sygnalizujące położenia skrajne siłownika. Dodam że mam już wykonane sprzęgło z hamulcem sterowane elektrohydraulicznie, po naciśnięciu przycisku ciągnik się zatrzymuje. Chcę to zrobić tak żeby po naciśnięciu przycisku przypisanego do danego biegu najpierw uruchomiłoby się sprzęgło z hamulcem a potem jak ciągnik się zatrzyma został wrzucony wybrany bieg. Za informacje czy ciągnik się zatrzymał czy dalej jedzie odpowiadałby czujnik zamontowany przy wale przedniego napędu Póki wał by się obracał to sterownik by nie zmieniał biegu dopiero jak wał by się zatrzymał i przestały by być podawane impulsy do sterownika to wtedy by sterownik załączył beg. Taki układ eliminowałby zgrzytanie przy zmianie biegów bo skrzynia nie jest synhronizowana.
Moim zdaniem największy problem to jest tak zaprogramować układ żeby bez względu jaki bieg jest obecnie załączony czy też jest luz, włączył wybrany bieg. Np. mamy wrzucony wsteczny co odpowiada w tej skrzyni jako położenie dźwigni górne lewe, i teraz chcemy wrzucić dwójkę położenie prawe górne, wciskamy przycisk od dwójki, załącza się sprzęgło ciągnik się zatrzymuje no i teraz zaczynają się schody bo sterownik musi najpierw tak wysterować siłownikiem żeby wyrzucić na luz potem drugim siłownikiem przeciągnąć dźwignię na prawo i dopiero potem wbić bieg. I tak ze wszystkimi biegami. Siłownikami sterowałyby zawory elektromagnetyczne poprzez przekaźniki. Ze strony mechanicznej mam już wszystko obmyślone i zaprojektowane nawet widzę w głowie jak to działa tylko nie potrafię programować dlatego proszę was o pomoc.
Może przedstawię po krótce jak by to miało wyglądać. Odpalamy ciągnik jest luz chcemy ruszyć z jedynki położenie dźwigni dolne lewe. Wciskamy przycisk jedynki sterownik dostaje komendę i zaczyna wykonywać sekwencję działań to jest: włącz sprzęgło, poczekaj póki przestaną płynąć impulsy z czujnika wału, (przypominam że ruszamy z miejsca więc wał się nie kreci, w takim wypadku sterownik przechodzi dalej z wykonywaniem poleceń) jesli czujnik od środkowego położenia dźwigni ma stan wysoki (to znaczy luz) przesuń dźwignię w prawo aż do uzyskania na czujniku skrajnego położenia dźwigni stanu wysokiego, wtedy włącz przekaźnik odpowiadający za cewkę pierwszego biegu, po wbiciu biegu i pojawieniu się na czujnikiu pierwszego biegu stanu wysokiego puść sprzęgło odczekaj 5 sekund i wyłącz wszystkie przekaźniki. Teraz chcemy jechać do tyłu wciskamy przycisk wstecznego: włącz sprzęgło poczekaj póki ciągnik się zatrzyma uruchom przekaźnik żeby z jedynki wyrzucić na luz i jeśli czujnik skrajnego lewego położenia dźwigni ma stan wysoki wrzuć wsteczny po pojawieniu się na czujniku wstecznego stanu wysokiego puść sprzęgło odczekaj 5 sekund i zakończ operację. Zdaję sobie sprawę że to może brzmi chaotycznie ale inaczej nie potrafię tego wytłumaczyć.