Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Bascom - sterownik bramy , zapytanie o konfiguracje programowa

Joziek 24 Aug 2011 20:44 3477 18
  • #1
    Joziek
    Level 11  
    Witam

    Buduje sterownik bramy przesuwnej w której występuje zabezpieczenie graniczne które zwiera do masy gdy brama dojdzie do końca suwnicy.
    Załóżmy, że brama otwiera się dojdzie do końca i brama się zatrzyma (zabezpieczenie graniczne ciągle zwiera - czyli jest włączone) lecz jak się pojawi sygnał zamykania brama się powinna się zamykać. Zabezpieczenie wtedy będzie jeszcze chwile działało gdyż brama musi się kawałek przesunąć zęby się on wyłączył.

    Mój problem polega na tym jakby to rozwiązać programowo gdyż wszystkie moje pomysły po prostu się zapętlają w mojej analizie..że brama po prostu dosłownie ruszy i obrazu się zatrzyma zanim zdarzy wyjechać z zabezpieczenia.





    Code: basic4gl
    Log in, to see the code


    Proszę o rady i jakieś przykłady rozwiązania tego problemu.
  • #3
    Joziek
    Level 11  
    jest tylko jeden i on zatrzymuje bramę jak się ona dojedzie do końca zamknięcia bądź otwarcia, są dwie blaski na krańcach bramy które dociskają i powodują włączenie tego zabezpieczenia.
    Jak by były dwa to by nie było problemu.
    To jest stara brama jedna z pierwszych i tak tam było to rozwiązane.
  • #4
    bogdan_p
    Level 39  
    Według mnie to w sterowniku są dwie krańcówki lub jedna z parą styków NO / NC mechanizm przełączania jest na sprężynie tak że w danym położeniu krańcowym bramy uruchamiany jest odpowiedni styk .
  • #5
    Joziek
    Level 11  
    rozumiem cie bogdan_p tak może jest w nowszych typach takich bram, natomiast tu tak to rozwiązano że jest ino jeden krańcowy mechanizm i po jego włączeniu zwiera do masy. Z mechanizmu idą dwa kable i jeden jest podłączony do masy a drugi szedł prosto do sterownika starego.
    A stary sterownik co był po prostu się wypalił a ja buduje nowy..
  • #6
    bogdan_p
    Level 39  
    Ten sterownik to " zrób to sam " czy konkretny model i jakiego producenta ?
    Teoretycznie jest jeszcze jedna możliwość pomiar prądu przy starcie z pominięciem krańcówki wyłączenie kierunku przez sygnał z krańcówki ale nie spotkałem się jeszcze z takim rozwiązaniem , zawsze są dwie w starych modelach mechaniczne w nowych magnetyczne z kontaktronem lub halotronem , z drugiej strony czy nie prościej dorobić drugą krańcówkę i po problemie . Napisz co to za model sam jestem ciekaw .
  • #7
    Joziek
    Level 11  
    ten stary sterownik to jest sterownik zrobiony przez jakiegoś gościa nie ma na nim napisane żadnych danych i układy są zatarte.. widać ze to ręczna robota.. w starym sterowniku po prostu się włączał kiedy chciał i jednocześnie włączał styczniki od lewo prawo co powodowało zwarciem i zepsuciem ich.
    ja po prostu wywaliłem ta cała elektronikę za wyjątkiem styczników i buduje nowe sterowanie w oparciu o attine 2313 i z wykorzystaniem centralnego zamka z auta na pilot.
    I jedyny mój problem jak na razie to jest z tą częscią programu z zabezpieczeniem, jak by to rozwiązać?hm

    Dodano po 2 [minuty]:

    jak chodzi o druga krańcowe to nie ma jak kabla ciągnąć i to za dużo zachodu bo by trzeba było kostkę zrywać;/
  • #8
    snnaap
    Level 25  
    Joziek wrote:
    Witam

    Buduje sterownik bramy przesuwnej w której występuje zabezpieczenie graniczne które zwiera do masy gdy brama dojdzie do końca suwnicy.
    Załóżmy, że brama otwiera się dojdzie do końca i brama się zatrzyma (zabezpieczenie graniczne ciągle zwiera - czyli jest włączone) lecz jak się pojawi sygnał zamykania brama się powinna się zamykać. Zabezpieczenie wtedy będzie jeszcze chwile działało gdyż brama musi się kawałek przesunąć zęby się on wyłączył.

    Mój problem polega na tym jakby to rozwiązać programowo gdyż wszystkie moje pomysły po prostu się zapętlają w mojej analizie..że brama po prostu dosłownie ruszy i obrazu się zatrzyma zanim zdarzy wyjechać z zabezpieczenia.



    Code: basic4gl
    Log in, to see the code


    Proszę o rady i jakieś przykłady rozwiązania tego problemu.


    Twój problem polega na tym że źle piszesz program.
    Rozwiązań jest kilka a mianowicie:
    1. Możesz skorzystać z przerwania INT0 na zbocze opadające. Brama się otwiera krańcowa się zwiera następuje zatrzymanie bramy ponieważ uK zareaguje jedynie na zbocze opadające. Następnie zamykasz bramę krańcówka rozwiera się uK nie zareaguje ponieważ ma reagować tylko na sygnał opadający.
    2. Drugim rozwiązanie jest takie, że podczas otwierania bramy w chwili zadziałania krańcówki zatrzymujesz bramę i zamykasz ją do moment aż krańcówka "puści" (rozewrze się) tak aby na pinie OGR znowu pojawił się stan wysoki.

    Do czego zamontowana jest krańcówka? Do bramy czy do suwnicy? Bo nie rozumiem pewnej sprawy a mianowicie wiemy że mamy krańcówkę która zareaguje na pełne otwarcie bramy a jak wykrywana jest sytuacja całkowitego zamknięcia bramy?
  • #9
    Joziek
    Level 11  
    pierwsze rozwiązanie wydaje mi się dosyć ciekawe... drugie tez nawet nawet

    Krańcówka wykrywa pełne zamkniecie bramy jak i otwarcie. Rozwiązane jest to tak ze do bramy są przyspawane dwie odstające blaski, jedna na początku bramy a druga na jej końcu. jak brama np otwiera się blaszka z początku bramy dociska wałek który jest zamontowany skrzyni przy silniku on zwiera i brama się zatrzymuje. to samo się dzieje przy zamykaniu tylko że druga blaszka dociska ten wałek
  • #10
    bogdan_p
    Level 39  
    Joziek wrote:
    jak chodzi o druga krańcowe to nie ma jak kabla ciągnąć i to za dużo zachodu bo by trzeba było kostkę zrywać;/

    Kolego czegoś tu nie rozumiem po jakieś zrywanie kostki , w punkcie mocowania mechanizmu napędowego najczęściej umieszcza się sterownik wystarczy w tym miejscu zostawać dowolny układ mechaniczny lub magnetyczny z kranówkami które zostaną uruchomione w skrajnych położeniach bramy .
    Quote:
    w starym sterowniku po prostu się włączał kiedy chciał i jednocześnie włączał styczniki od lewo prawo co powodowało zwarciem i zepsuciem ich.

    Wystarczyło zastosować blokadę na stykach NC styczników , silnik jest 3f , 1f czy DC . Pomysł z przerwanie nie do końca jest dobry ponieważ skąd układ będzie wiedział w jakim położeniu jest aktualnie brama i jaki ruch może wykonać chyba że w pamięci będziesz zapisywał wykonany ruch .
  • #12
    snnaap
    Level 25  
    Joziek wrote:
    pierwsze rozwiązanie wydaje mi się dosyć ciekawe... drugie tez nawet nawet

    Krańcówka wykrywa pełne zamkniecie bramy jak i otwarcie. Rozwiązane jest to tak ze do bramy są przyspawane dwie odstające blaski, jedna na początku bramy a druga na jej końcu. jak brama np otwiera się blaszka z początku bramy dociska wałek który jest zamontowany skrzyni przy silniku on zwiera i brama się zatrzymuje. to samo się dzieje przy zamykaniu tylko że druga blaszka dociska ten wałek



    A czyli ten wałek działający na krańcówkę zawsze jest pomiędzy jedną a druga blaszką?
    Czyli można zastosować oba rozwiązania. Z ty,m że pierwsze ma taką wadę że gdy nie zastosujesz dodatkowego zabezpieczenia w programie to może dojść do spalenia silnika. A mianowicie mamy sytuację, że INT0 reaguje na zbocze opadające ale jeżeli otworzymy bramę krańcówka się zewrze (będzie na niej zero) to przy ponownej próbie otworzenia bramy (ruszenia jej w tą samą stronę) uK będzie czekał na zbocze opadające i nie zareaguje i dochodzi do nieszczęścia. Rozwiązaniem jest zabezpieczenie programowe takie ,że jeżeli był sygnał otwórz bramę i załączył się krańcówka nie można ponownie wywołać funkcji otwórz. I z drugiej strony to samo.

    Dodano po 1 [minuty]:

    bogdan_p >> słuszna uwaga wyjaśniona powyżej.
  • #13
    Joziek
    Level 11  
    no tak zawsze wałek działający na krańcówkę jest miedzy dwoma skrajnymi blaszkami.

    dobre spostrzeżenie odnośnie z tym dodatkowym zabezpieczeniem, lecz myślę że takie zabezpieczenie nie jest trudne w realizacji...
  • #14
    Joziek
    Level 11  
    opracowałem mój program do bramy.. lecz mam jeszcze jeden problem z tym przerwaniem INT0. Gdy np brama się otwiera i po zwarciu zworki portd.2 od INT0 układ prawidłowo zatrzymuje się lecz jak teraz włączę żeby brama się zamykała na zwartej zworce i po chwile od-zewrze przejdzie na stan wysoki zamykanie bramy się zatrzymuje jakby przerwanie działało tez na zbocze narastające;/ nie wiem dlaczego może się tak dziać... myślę konfiguracje tego przerwania mam prawidłową "Config Int0 = Falling"
    co może być tego przyczyna?

    Po za tym umieszczam mój program żeby jak by ktoś mógł go sprawdzić czy jest dobrze napisany i naprowadzić na nowe rozwiązania bądź pomysły:)
    i czy te waitms'y nie za bardzo mulą tego programu ? hm
    Code: basic4gl
    Log in, to see the code
  • Helpful post
    #15
    bogdan_p
    Level 39  
    Jak faktycznie zachowuje się styk tej krańcówki tzn. jest cały czas zwarty w położeniu krańcowym otwierając się w momencie przeciwnego ruchu czy jest to tylko impuls w ściśle określonej krańcowej pozycji .
    Kolejna sprawa jeżeli impulsy przerwania " dostarczasz " długim przewodem podłączonym do mikrokontrolera to nie dziw się że brama zacznie wariować przecież z takiego przewodu masz antenę zbierającą śmieci z otoczenia , samo zadziałanie styczników już może powodować dość duże zakłócenia . Możesz spróbować dołożyć kondensator przy samym mikrokontrolerze 10-100nF ale to wszystko zależy jak faktycznie zachowuje się styk , możesz również przez kilka sekund od wydania polecania ignorować sygnał przerwania tylko w tym wszystkim zapominasz o jednej sprawie , wszystko jest pięknie ładnie do momentu kiedy masz cały czas napięcie zasilania oraz program nie zawiesi się zastanawiałeś się co się stanie przy zaniku napięcia ? Dlatego pisałem wcześniej że dane o położeniu i ruchu powinny być zapisywane nie w zmiennych programu tylko w eeprom . Czy zrobiłeś blokadę na stycznikach , ponadto styki pomocnicze można również wykorzystać do określenia wykonywanego ruchu . Najgorzej analizuje się czyjeś programy jak dla mnie strasznie to zagmatwałeś , według mnie powinny być dwa podprogramy otwieranie / zamykanie do których odwołujesz się przez sterowanie ręczne lub zdalne , w samych podprogramach wystarczy warunek określony przez zmienną ruchu oraz stop od przerwania warto również dołożyć max czas pracy bez względu czy zadziała krańcówka . Nadal nie rozumie dlaczego nie chcesz dołożyć drugiej krańcówki lub zmienić tak układ abyś miał dwa stany zależne od położenia końcowego .
    Na koniec nawet jak wszystko będziesz miał dobrze programowo to możesz jeszcze powalczyć z zakłóceniami zwłaszcza od styczników .
    PS Jak możesz zrób zdjęcia szczególnie napędu i mechanizmu krańcówki .
  • #16
    Joziek
    Level 11  
    jestem świadom że mogą występować zakłócenia takie śmieci antenowe dlatego dodałem kondensator cer 100nF równolegle do zasilania z rezystorem podciągającym.

    Właśnie nie zastanawiałem się nad taką możliwością zawieszenia się bądź braku prąd, muszę przyznać że to słuszna uwaga. Oczywiste jest to że trzeba tą informacje zapisać do pamięci eeprom lecz programowo nie doszedłem do tego i nie wiem jak to zrobić.... muszę się przyznać do nie wiedzy;p
    Z mierzeniem czasu dla dodatkowego zabezpieczenia to również dobry pomysł.

    nie robiłem żadna blokadę na stycznikach, zależy jak mam to rozumieć..hmm

    Możliwie że zagmatwałem ale tak to widziałem, natomiast ty jesteś zdecydowanie o wiele bardziej doświadczonym programista więc inaczej lepiej widzisz rozwiązanie programowe tego problemu..

    Program przy zastosowaniu dwóch krańcówek by był łatwiejszy do opracowania lecz nie chce dodać drugiej krańcówki bo to jest brama kolegi a nie moja i nie chce robić zamieszanie w jej konstrukcje. Dlatego chce wykorzystać to co mam dostępne.
    Jak będę miał zdjęcia to wrzucę je.
  • #17
    Joziek
    Level 11  
    O to dodaje zdjecia nie są takie jakie bym chciał bo nie robilem ich ja..
    Zdjecie po otwaciu klapy z silnikiem i miejscem na sterownik po lewej stronie z bezpiecznikiem oraz w tyle widac przekladnie a lewej strony przekladni silnik ...
    Bascom - sterownik bramy , zapytanie o konfiguracje programowa
    zblizenie na ogranicznik ..
    Bascom - sterownik bramy , zapytanie o konfiguracje programowa
  • #18
    SylwekK
    Level 32  
    Miałem dokładnie ten sam problem ale szybciutko go rozwiązałem :)
    W moim urządzeniu (to nie brama ale jeździ w te i we wte) sprawa wygląda następująco: obie krańcówki spięte są równolegle i podłączone do jednego portu - chciałem nieco uprościć konstrukcje i oszczędzić jeden port. Wykrywanie kierunku nie jest problemem, bo definiuje to program i zaznacza odpowiednią flagę więc program wie, w którą stronę silnik za daleko pojechał i dla jakiego kierunku droga się skończyła ale spokojnie rozwiązanie da się przenieść na bramę... U siebie mam zastosowany silnik krokowy i po dojechaniu do końca ustawiona jest flaga zakazu ruchu w tym kierunku, a zerowana jest po odliczeniu pewnej wartości - powiedzmy 100 kroków - kiedy silnik przekręci w drugą stronę. W Twoim przypadku możesz zastosować np. licznik czasowy (bo kroków nie zliczysz) ustawiony na 1-2 sekundy, który zacznie liczyć po dostaniu sygnału powrotu bramy i w tym czasie krańcówka jest nieaktywna. Proste i skuteczne... :)
    Pozdrawiam
  • #19
    Joziek
    Level 11  
    ostatecznie wykonałem ten problem i na dwóch krańcówkach.
    Dziękuje za pomoc, uważam temat zamknięty na ta chwile...
    Pozdrawiam