Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Bascom - program, schemat i coś nie działa.

katomasz 28 Kwi 2010 07:21 1581 18
  • #1 28 Kwi 2010 07:21
    katomasz
    Poziom 16  

    Witam. Poniżej przedstawiam program do procesora Attiny2313 oraz schemat sterowania bramą. Układ ma działać na czterech przekaźnikach - dwa do otwierania i zamykania oraz jeden do domykania oraz jeden do wolnego otwierania w fazie początkowej. Dodatkowo układ ma zabezpieczenie do bezpiecznika przeciwprzeciążeniowego C8 oraz podłączenie do bariery optycznej. Sterowanie jest realizowane przez jeden przycisk (zasada, otwórz - stop - zamknij - stop) oraz trzy mikrowyłączniki NO - zamknięte, uchylone, otwarte. I jdenak coś nie działa. Proszę o pomoc w diagnozie.
    Listing programu w BASCOMie.

    Code:

    $regfile = "Attiny2313.dat"
    $crystal = 1000000


    Config Portb = Input
       Portb = &B00000000
    Config Portd = Output
       Portd = &B0000000
       Pinb.5 = 1

    Wolne_otwieranie Alias Portd.0
    Otwieranie Alias Portd.1
    Wolne_zamykanie Alias Portd.2
    Zamykanie Alias Portd.3

    Kran_close Alias Pinb.0
    Kran_middle Alias Pinb.1
    Kran_open Alias Pinb.2
    Switch Alias Pinb.3
    Bariera Alias Pinb.4
    Przeciazenie Alias Pinb.5

    Dim Pozycja As Integer
    Dim Stan As Bit
    Pozycja = 11
    Stan = 0
    Do
       If Switch = 1 And Stan = 0 And Przeciazenie = 1 Then
          Stan = 1

          If Pozycja = 21 And Wolne_zamykanie = 1 Then
             Wolne_zamykanie = 0
             Pozycja = 11
          Elseif Pozycja = 21 And Wolne_zamykanie = 0 Then
             Wolne_zamykanie = 1
             Cls
          Elseif Pozycja = 11 And Wolne_otwieranie = 1 Then
             Wolne_otwieranie = 0
             Pozycja = 21
          Elseif Pozycja = 11 And Wolne_otwieranie = 0 Then
             Wolne_otwieranie = 1
          Elseif Pozycja = 12 And Otwieranie = 1 Then
             Otwieranie = 0
             Pozycja = 22
          Elseif Pozycja = 12 And Otwieranie = 0 Then
             Otwieranie = 1
          Elseif Pozycja = 22 And Zamykanie = 1 Then
             Zamykanie = 0
             Pozycja = 12
          Elseif Pozycja = 22 And Zamykanie = 0 Then
             Zamykanie = 1
          End If
       Elseif Kran_close = 1 And Wolne_zamykanie = 1 Then
          Wolne_zamykanie = 0
          Pozycja = 11
       Elseif Kran_open = 1 And Otwieranie = 1 Then
          Otwieranie = 0
          Pozycja = 22




       Elseif Pozycja = 11 And Kran_middle = 1 And Wolne_otwieranie = 1 Then
          Wolne_otwieranie = 0
          Waitms 500
          Otwieranie = 1
          Pozycja = 12
       Elseif Pozycja = 22 And Kran_middle = 1 And Zamykanie = 1 Then
          Zamykanie = 0
          Waitms 500
          Wolne_zamykanie = 1
          Pozycja = 21
       Elseif Bariera = 1 And Pozycja = 22 And Zamykanie = 1 Then
          Zamykanie = 0
          Waitms 500
          Otwieranie = 1
          Pozycja = 12
        End If
        If Switch = 0 Then
          Stan = 0
        End If
        If Przeciazenie = 0 Then
          If Pozycja = 11 And Wolne_otwieranie = 1 Then
             Wolne_otwieranie = 0
             Pozycja = 21
          Elseif Pozycja = 12 And Otwieranie = 1 Then
             Otwieranie = 0
             Pozycja = 22
          Elseif Pozycja = 21 And Wolne_zamykanie = 1 Then
             Wolne_zamykanie = 0
             Pozycja = 11
          Elseif Pozycja = 22 And Zamykanie = 1 Then
             Zamykanie = 0
             Pozycja = 12
          End If
        End If
    Loop

    End


    A poniżej schemat:
    Bascom - program, schemat i coś nie działa.

  • #2 28 Kwi 2010 08:28
    sp3ots
    Poziom 35  

    Witam !
    Odniosę się tylko do części schematu sterującego przekaźnikami.
    Na schemacie brak zasilania przekaźników, złe połączenie diod przy przekaźnikach, powinno być równoległe połączenie cewki przekaźnika i diody.
    Procesor powinien sterować przekaźnikiem przez "klucz" tranzystorowy np. BC 337 itp + w bazie szeregowy rezystor np.10k.
    Powodzenia życzę Stefan

  • #3 28 Kwi 2010 08:34
    katomasz
    Poziom 16  

    sp3ots - mógłbym prosić o schemat na jednym przekaźniku, jak to miałoby wyglądać?

  • #4 28 Kwi 2010 08:48
    sp3ots
    Poziom 35  

    Teraz nie mogę, dopiero po 11tej godzinie, przepraszam.

  • #5 28 Kwi 2010 08:50
    katomasz
    Poziom 16  

    Spoker, dzięki - chętnie poczekam.

  • #6 28 Kwi 2010 08:57
    Logi
    Poziom 19  

    Tu masz przykład podłączenia przekaźnika

    Bascom - program, schemat i coś nie działa.

  • #7 28 Kwi 2010 09:08
    PiotrPitucha
    Poziom 32  

    Witam
    Ten opornik do zasilania jest w Atmegach zbędny, a nawet będzie przeszkadzał, dałbym go z bazy do masy a ten z portu do bazy zmniejszył do około 2K.
    Procesory serii 8051 miały małą wydajność w stanie wysokim i wtedy ten opornik miałby uzasadnienie, przy Atmegach lepiej zabezpieczyć się przed kłapnięciem przekaźnika w trakcie resetu i dać go do masy.
    Piotr

  • #8 28 Kwi 2010 12:40
    katomasz
    Poziom 16  

    Ok. Poprawione w/g sugestii. Czy tak jak teraz jest już dobrze?
    Bascom - program, schemat i coś nie działa.

  • #9 28 Kwi 2010 12:58
    tadzik85
    Poziom 38  

    Od bazy do masy nie od emitera.

  • #10 28 Kwi 2010 13:05
    katomasz
    Poziom 16  

    Poprawione. Czy tak?
    Bascom - program, schemat i coś nie działa.

  • #11 28 Kwi 2010 13:32
    sp3ots
    Poziom 35  

    Dodaj jeszcze 100nF pomiędzy VCC a GND jak najbliżej pinu 20 i rezystor około 4,7k pomiędzy pinami 1 i 20 ATTiny2313. Zastosuj przekaźniki na 12V, zasil je osobnym napięciem.

  • #12 28 Kwi 2010 13:49
    katomasz
    Poziom 16  

    Kolejna wersja:
    Bascom - program, schemat i coś nie działa.
    Natomiast jeżeli chodzi o przekaźniki, to mam już takie na 5V na cewkę. Może wystarczy tylko osobne źródło dla nich?

  • #13 28 Kwi 2010 13:58
    sp3ots
    Poziom 35  

    Przetestuj układ na jednym zasilaniu, jeśli będzie coś nie tak zmienisz na dwa oddzielne zasilania. Wszystko będzie zależało od jakości zasilacza ( wydajności prądowej, stabilności, filtracji).
    Powodzenia. Stefan

  • #14 28 Kwi 2010 14:04
    katomasz
    Poziom 16  

    Dzięki serdeczne. Dam znać po testach.

  • #15 28 Kwi 2010 20:38
    janbernat
    Poziom 38  

    Oporniki R1, R4,R5,R7 między bazę a masę.
    A nie między masę a wyjście procesora.
    Pisał o tym Tadzik85.

  • #17 29 Kwi 2010 10:16
    PiotrPitucha
    Poziom 32  

    Witam
    Tak jest ładniej :) ale w tym układzie nie ma w zasadzie różnicy gdzie będą te oporniki, w obu miejscach spełnią swoją funkcję, pewnie to kwestia wygody projektowania płytki, gdybyś zamiast pojedynczych oporników wsadzał gotową drabinkę to wygodniej byłoby podpiąć je do portu.
    Powodzenia
    Ps. Tak jak jest nie zadziała, zapomniałeś połączyć emiterów do masy procesora

  • #18 29 Kwi 2010 10:58
    sp3ots
    Poziom 35  

    Witam !
    Jeśli chcesz użyć dwóch zasilaczy ?, to masy obu układów (procesora i sterowników ) muszą być połączone razem. Na schemacie tego połączenia nie ma.
    Połącz X1-2 z X5-2

  • #19 29 Kwi 2010 11:38
    katomasz
    Poziom 16  

    W pierwszej kolejności podłączę źródło równolegle do obydwu zasilań, więc masa będzie wspólna.

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME