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

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

katomasz 28 Kwi 2010 07:21 2148 18
  • #1 8011531
    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.
    
    $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 8011635
    sp3ots
    Poziom 38  
    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 8011654
    katomasz
    Poziom 16  
    sp3ots - mógłbym prosić o schemat na jednym przekaźniku, jak to miałoby wyglądać?
  • #4 8011687
    sp3ots
    Poziom 38  
    Teraz nie mogę, dopiero po 11tej godzinie, przepraszam.
  • #5 8011693
    katomasz
    Poziom 16  
    Spoker, dzięki - chętnie poczekam.
  • #6 8011709
    Logi
    Poziom 19  
    Tu masz przykład podłączenia przekaźnika

    Bascom - program, schemat i coś nie działa.
  • #7 8011732
    PiotrPitucha
    Poziom 34  
    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 8012369
    katomasz
    Poziom 16  
    Ok. Poprawione w/g sugestii. Czy tak jak teraz jest już dobrze?
    Bascom - program, schemat i coś nie działa.
  • #9 8012418
    tadzik85
    Poziom 38  
    Od bazy do masy nie od emitera.
  • #10 8012446
    katomasz
    Poziom 16  
    Poprawione. Czy tak?
    Bascom - program, schemat i coś nie działa.
  • #11 8012534
    sp3ots
    Poziom 38  
    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 8012585
    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 8012610
    sp3ots
    Poziom 38  
    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 8012626
    katomasz
    Poziom 16  
    Dzięki serdeczne. Dam znać po testach.
  • #15 8014057
    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.
  • #16 8015497
    katomasz
    Poziom 16  
    Czyli tak:
    Bascom - program, schemat i coś nie działa.
  • #17 8015762
    PiotrPitucha
    Poziom 34  
    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 8015913
    sp3ots
    Poziom 38  
    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 8016040
    katomasz
    Poziom 16  
    W pierwszej kolejności podłączę źródło równolegle do obydwu zasilań, więc masa będzie wspólna.
REKLAMA