Bascom: Sterowanie przekaźnikiami

relay Przekaźnik jest urządzeniem pozwalającym na sterowanie obwodami o wysokim poborze mocy takimi jak żarówka 230V, silnik elektryczny czy też czajnik elektryczny, przez obwody o niskim poborze mocy jak mikrokontroler. W tym poradniku przedstawię wam sposób obsługi przekaźników w bascomie. Zapraszam !

 

 

 

 


Aby przeprowadzić dzisiejszy poradnik będziemy potrzebować:

  • Moduł przekaźnika
  • Mikrokontroler (może być każdy z rodziny AVR, ja zastosuje ATmega32)
  • Przyciski typu tact switch
  • Klawiatura matrycowa
  • Odbiornik TSOP1736
  • Przewody połączeniowe

Co do przekaźnika to mogę polecić gotowe moduły dostępne w serwisie aukcyjnym za niespełna 10zł(taki jak na miniaturce poradnika) . Czemu akurat te ? ponieważ mają one optoizolację wejść, to znaczy, że jeżeli w wyniku uszkodzenia przekaźnika po stronie logicznej urządzenia pojawi się 230V to nie uszkodzi to naszego mikrokontrolera czy też komputera, jeżeli zasilamy układ z USB.

1.1 Sterowanie przekaźnikami przy pomocy przycisków  

Na początku łączymy układ jak na schemacie poniżej:

relay1
Schemat układu z dwoma przyciskami tact switch

Następnie piszemy program jak poniżej:

 

Na samym początku deklarujemy częstotliwość taktowania i typ mikrokontrolera. Następnie ustalamy porty wejścia/wyjścia.
Portd.5 i Portd.6 są wyjściami obsługującymi przekaźniki
Portb.2 i Portd.3 są wejściami obsługującymi przyciski

Wyżej wymienionym portom przypisujemy nazwy robocze, aby nasz kod był bardziej przejrzysty i łatwiejszy do napisania.
Ze względu na to, że przekaźniki są wyzwalane stanem niskim to my piszemy przed główną pętlą programu żeby przypisać im wysoki, co da taki efekt, że nie włączą się przypadkowo przy uruchamianiu układu.
Dochodzimy do momentu, gdzie mamy napisane Declare Sub, gdzie deklarujemy etykietę, dla której kompilator określa parametry
Składnia tej instrukcji wygląda następująco:

Declare Sub [nazwa]  
gdzie: [nazwa] to nazwa deklarowanej funkcji.

Rozpoczynamy główną pętlę programu i na samym jej początku widzimy nową instrukcję o nazwie Debounce. Funkcja ta eliminuje drgania styków w przyciskach. Składnia tej instrukcji wygląda następująco:

Debounce, pin_portu, stan, etykieta, Sub
gdzie:
pin_portu oznacza do którego pinu podłączony jest przycisk, tutaj można pisać aliasy pinów
stan oznacza jakim stanem ma być wywalana funkcja
etykieta oznacza jaką etykietę przypisujemy do przycisku
Sub oznacza, że instrukcja ma się odnieść do wcześniej wymienionej etykiety

Zatem dla nas są to Przycisk0 i Przycisk1 wyzwalany stanem niskim odnoszącym się w tej kolejności do etykiety R0 i R1.

Po przejściu do etykiety, ukazują nam się kolejne, nowe w tych kursach instrukcje, którymi są Toggle i Return. Instrukcja Toggle neguje aktywy stan końcówki, a Return wychodzi do głównej pętli programu z etykiety. Składnia instrukcji Toggle wygląda następująco:

Toggle pin
gdzie:
pin oznacza port i pin negowanej końcówki, tutaj również można wpisać alias