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

[C][atmega16] L293D zmiana kierunku obrotow w petli while

dturczak 28 Cze 2009 13:27 4234 14
REKLAMA
  • #1 6713580
    dturczak
    Poziom 19  
    Witam próbuje zmieniać kierunek obrotu przerobionego serwomechanizmu w za pomocą pilota w kodzie RC5.
    Samo odbieranie kodu naciśniętego przycisku oczywiście działa. (przykład z zapalaniem diody).

    Jak widać na obrazku poniżej do zmiany kierunku służą wejścia układu 1A,2A,3A,4A. wszystkie są podpięte pod port C.

    pojedyncze ustawienie kierunku w pętli while() jak również przed nią oczywiście działa
    np PORTC=0x30; //jeden kierunek
    PORTC=0x48; //drugi kierunek

    Problem następuje w momencie kiedy kierunek chce zmienić po wystąpieniu konkretnego warunku. Silniczki przestają reagować i sama Atmega wydaje się zawieszać. jak powinno się to programowo rozwiązać?


       
    PORTC=0x30;
    
    while(1)    
      { 
     
    char liczba=0;
    liczba=rc5_odczyt(pojedyncze);
    
    
    if (liczba==16)   //naciśnięty przycisk "lewy" na pilocie
    {
    
    	PORTC=0x48; //zmiana kierunku
    
    	PORTB|=_BV(3); //zapalenie diody
    } 


    [C][atmega16] L293D zmiana kierunku obrotow w petli while[/code]
  • REKLAMA
  • #2 6713709
    dawid512
    Poziom 32  
    JTAG wyłączony?
  • #3 6713729
    dturczak
    Poziom 19  
    tak wyłączone
    fuse bit
    0xDF 0xD9
    kwarc 12 mHz.
  • #4 6713772
    _Robak_
    Poziom 33  
    Daj pełny schemat i cały program. A jak miernikiem sprawdzasz wyjścia to są prawidłowe ? Wisze ze serwa zasilacz z VCC, nie jest to dobre rozwiązanie, jak bym radził dać na nóżkę zasilania silników napięcie sprzed stabilizatora, albo dać osobny stabilizator dla tych silników.
  • #5 6713980
    dturczak
    Poziom 19  
    narazie testuje wszystko na zasilaniu z usb, moze to byc przyczyną ?
  • REKLAMA
  • #6 6714113
    _Robak_
    Poziom 33  
    Zalezy jaki stabilizator itp. Radze ci dac do serw osobne zrodlo zasilania i polaczyc masy. Moze byc tak ze serwa szarpna duzo pradu, stabilizator nie wydoli i procek ci sie resetuje, albo skacze pod jakis sobie tam adres.
  • #7 6714442
    dawid512
    Poziom 32  
    Zmierz jaki prąd pobiera serwo być może USB dostarcza zbyt mały prąd.
  • #8 6714522
    dturczak
    Poziom 19  
    caly uklad pobiera 250 mA (2 serwa).
    schemat: stabilizator(LM7805) ,teraz zewn zasilacz 15V 0,5A
    [C][atmega16] L293D zmiana kierunku obrotow w petli while

    z tego co pamietam to kiedys podobny uklad mi dzialal.nie wiem w czym problem :/ jaka jest szansa ze z atmega jest cos nie tak ?
  • #9 6714619
    janbernat
    Poziom 38  
    I 4 diody na każdy silnik -jak w danych L293
  • REKLAMA
  • #10 6714643
    dturczak
    Poziom 19  
    ale to jest wersja D,diody powinny byc wbudowane ?
  • REKLAMA
  • #11 6714818
    janbernat
    Poziom 38  
    Fakt do wersji D nie trzeba
  • #12 6715390
    _Robak_
    Poziom 33  
    250ma, ale kiedy, jak silniki sie kreca bez obciazenia? Pusc oba silniki i przytrzymaj palcem i zmierz wtedy pobor proadu, zaloze sie ze biora znaczni wiecej. Jesli zamiast silnika podpinasz diody i ci dziala to ja stawiam na zbytnie obciazenie pradowe, moze jakies zaklocenia od silnikow ? Wstaw rezystor pomiedzy reset i VCC i kondensator 100n pomiedzy Vcc i GND.
  • #13 6716285
    janbernat
    Poziom 38  
    To było niedawno.
    Daj płytkę.
    Czy pod kondensatorami przy kwarcu idą jakieś sygnały?
    Jak jest prowadzona masa?
    Zewnętrzny zasilacz-a serwa dalej zasilane z Vcc?
    Z 15V/5V na 0.5A=5W.
    7805-będzie się grzał.
    Spróbuj znaleźć zasilacz 9V/1A i dać zasilanie serw (czyli L293) przed 7805.

    Dodano po 5 [minuty]:

    Właśnie przy zmianie kierunku obrotów silniki pobierają dużo prądu.
    Być może potrzebna jest tzw. rampa-stopniowe zmniejszanie obrotów do 0 i ponowne stopniowe zwiększanie obrotów w przeciwnym kierunku.
    O tak: \____/
  • #14 7966206
    kubagumowski
    Poziom 11  
    Może ktoś ma jeszcze jakiś pomysł
  • #15 7969027
    Domel88
    Poziom 10  
    Daj inne zasilanie silników najlepiej, nawet ze zwykłej bateryjki 9V, bo jako elementy indukcyjne strasznie zakłócenia sieją, co może być przyczyną wieszania się atmegi. Nie napisałeś jak z tym poborem prądu silników w stanie zwarcie.
REKLAMA