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

[ATMEGA8] Sterownik silnika krokowego

riger 12 Gru 2010 18:00 4354 8
REKLAMA
  • #1 8859778
    riger
    Poziom 24  
    Witam!
    Stworzylem taki oto schemat sterownika do silnika unipolarnego:
    [ATMEGA8] Sterownik silnika krokowego
    Zaczerpnalem tez z pewnej strony kod do ATMEGI, napisany w bascomie. Po lekkiej modyfikacji wyglada on tak:
    '************* Konfiguracja uC *****************
    '***********************************************
    $regfile = "m8def.dat"
    $crystal = 7372800
    
          Dim Testin As Integer , Wa As Integer
    
          Config Pinb.0 = Input
          Config Pinb.1 = Input
          Config Pinb.2 = Output
          Config Pinb.3 = Output
          Config Pinb.4 = Output
          Config Pinb.5 = Output
    
          Wa = 5
    
          Lus:
          If Pinb.0 = 0 Then Gosub Cw
          If Pinb.1 = 0 Then Gosub Ccw
    
    
          Goto Lus
    Ccw:
          Portb = $b00000100                                    ' turn on Q1
          Waitms Wa                                             ' wait 2wa ms
          Portb = 0                                             ' turn off Q1
    
    
          Portb = $b00001000                                    ' turn on Q2
          Waitms Wa                                             ' wait 2wa ms
          Portb = 0
    
    
          Portb = $b00010000                                    ' turn on Q3
          Waitms Wa                                             ' wait 2wa ms
          Portb = 0                                             ' turn off Q3
    
    
          Portb = $b00100000                                    ' turn on Q4
          Waitms Wa                                             'wait wams
          Portb = 0                                             'turn off Q4
          Return
    
    Cw:
          Portb = $b00100000                                    ' turn on Q1
          Waitms Wa                                             ' wait 2wa ms
          Portb = 0                                             ' turn off Q1
    
    
          Portb = $b00010000                                    ' turn on Q2
          Waitms Wa                                             ' wait 2wa ms
          Portb = 0
    
    
          Portb = $b00001000                                    ' turn on Q3
          Waitms Wa                                             ' wait 2wa ms
          Portb = 0                                             ' turn off Q3
    
    
          Portb = $b00000100                                    ' turn on Q4
          Waitms Wa                                             'wait wams
          Portb = 0                                             'turn off Q4
          Return


    Na schemacie jest wyjscie na impulsator, ktory narazie nie jest wpiety oraz nie jest oprogramowany.
    Wrzucilem ww. kod do uC i podpialem zasilanie po czym sciezka od zasilania oraz dioda zennera ATMEGI osiagnela temp. Slonca i sie spalily ;P Tutaj prosze o jakas sugestie co zrobilem zle. Dioda zennera na schemacie 5V1, 1,3W takze teoretycznie powinna wystarczyc (zasilanie 12V)...
  • REKLAMA
  • #2 8859806
    elektryk101
    Warunkowo odblokowany
    A jakim napięciem zasilasz mikroprocesor? Powinno byc 5V.
  • REKLAMA
  • #3 8859906
    riger
    Poziom 24  
    Tak jak napisalem w ostatnim zdaniu, 12V. Z tym, ze do zasilania uC wpieta jest dioda zennera 5V1 1,3W.
  • #4 8859910
    janbernat
    Poziom 38  
    Wszystko prawidłowo się spaliło.
    Ale najpierw się spaliła dioda zenera, potem procesor a potem ścieżka.
    Wszystko to mogło się wydawać palić w nieco innej kolejności- ale to co podałem powinno być prawidłowe.
    Jeśli masz trochę więcej takich kompletów to zrób film.
    A tak bardziej serio- znasz choć trochę prawo Ohma?
  • #5 8859954
    tymon_x
    Poziom 30  
    riger napisał:
    Tak jak napisalem w ostatnim zdaniu, 12V. Z tym, ze do zasilania uC wpieta jest dioda zennera 5V1 1,3W.

    Fajnie, na Zenerku odłoży się 5.1V, a gdzie reszta napięcia ma się odłożyć, na ścieżce? Jakiegoś dodatkowego elementu pasywnego mi tu brakuje... A stabilizator typu LM7805 to już podrożały tak kosmicznie? I brak filtracji przy nóżce od zasilania, ale to pikuś...

    Dodatkowo:
    22 pin - GND - do masy
    20 pin - AVCC - do +5V
    21 pin - AREF - jak nie używa, do masy przez kondensator
    Reset w powietrzu też taki nieelegancki.
    Kondensatory odsprzęgające 100nF między Vcc, a GND jak najbliżej nóżek od zasilania.
  • REKLAMA
  • #6 8860077
    riger
    Poziom 24  
    Czy teraz lepiej? ;)
    [ATMEGA8] Sterownik silnika krokowego
    PS. Do kolegi Janbernat, pewnie przykro bedzie Ci to przeczytac, ale procesor w dalszym ciagu zyje...
  • #7 8860153
    elektryk101
    Warunkowo odblokowany
    No to dla bezpieczeństwa procesora zastosuj jeszcze LM7805.
  • #8 8860232
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #9 8860326
    riger
    Poziom 24  
    Mysle jednak, ze Twoj problem ze zrozumieniem prostego kodu nie jest powodem dla ktorego ja musial bym wracac do podstaw programowania ;)
REKLAMA