logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

arduino + LCD sheld + przekaź - Probem ze sterowaniem przekaźnikami

mlody6666 16 Wrz 2014 15:02 1518 1
REKLAMA
  • #1 13965402
    mlody6666
    Poziom 10  
    Posty: 14
    Ocena: 2
    Witam!
    Używam maszyny która proacuje na zasadzie prasy hydraulicznej poziomej. Do tej pory obsługiwana była ręcznym regulatorem hydraulicznym, że trochę się bawiłem arduino pomyślałem że spróbuję trochę ulepszyć maszynę - takie małe CNC...

    Zastosowałem regulator oparty na cewkach, do sterowania cewek użyłem przekaźników: Link

    Do pomiaru wysuniecia tłoka uzyłem suwmiarki elektronicznej - po podpięciu i przepuszczeniu sygnału przez tranzystorki arduino wypluwa mi na wyświetlacz (LCD keypad shield) dokładny wymiar jak na suwmiarce. Zrobiłem też minimenu w którym wybiera się długość wysuwu, itd. Ręczna obsługa działa jak należy, natrafiłem natomiast na problem z funkcją automatycznego oruchamiania tłoka.

    Urządzenie powinno działać tak:
    pozycja wyjsciowa - 0
    po naciśnieciu przycisku powinien załaczyć się jeden przekaźnik - powodując ruch tloka w jedną stronę,
    po osiągnięciu wartości zadanej wcześniej zmiennej - powiedzmy 50mm skrypt musi wyłączyć przekaźnik 1 i uruchomić 2 w celu porotu tłoka do 0 i wyłączenie go. Ślęczę nad problemem już 4 dzień i za chiny nie mogę tego ogarnąć. Może ktoś poratuje jakimś pomysłem?

    kod wygląda tak:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod




    void automat () // tu nie działa - próbowałem w ten sposób ale nie działa jak należy - za wszelką pomoc z góry dzięki!
  • REKLAMA
  • #2 13965724
    el2010tmp
    Poziom 25  
    Posty: 713
    Pomógł: 97
    Ocena: 44
    Zamiast:
    mlody6666 napisał:
    if(value >= 50 && stan == 1)

    pisz:
    while(!(value >= 50 && stan == 1));
    w następnych if(...) również.
REKLAMA