Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

silnik krokowy - assembler

24 Sty 2005 00:32 2849 6
  • Poziom 18  
    Mam problem, jak napisac sterownik do silnika krokowego w assemblerze pod procesor Atmela np. 8515?

    Unipolarny silnik krokowy posiada wyprowadzone na zewnątrz 5 zacisków. Jeden z nich jest zaciskiem wspólnym dla wszystkich uzwojeń, podłączanym zwyczajowo do dodatniego bieguna zasilania. Pozostałe 4 zaciski to wyprowadzenia odpowiednich uzwojeń.

    Silnik krokowy jest podłączony do 4 najmłodszych wyjść ekspandera PCF8574 przez wzmacniacze prądowe ULN2803. Przepływ prądu przez wybraną cewkę silnika uzyskuje się podając wartość “0” na pozycje bitową odpowiadającą wyprowadzeniu ekspandera do którego podłączona jest cewka.
    Zatem na początku programu należy wszystkie wyjścia ekspandera ustawić w stan “1”.

    Interesuje mnie sterowanie jednofazowe. Przy takim sterowaniu w danej chwili czasu prąd przepływa tylko przez jedno uzwojenie silnika. Przebieg napięć sterujących dla sterowania jednofazowego przedstawia rysunek poniżej.

    A, B, C, D oznaczają kolejne uzwojenia silnika.

    Trzeba tak zmontowac program żeby po nacisnieciu klawisza „start” powtarzal petle dawania na nozki portu A: 0111, 1011, 1101, 1110, dopoki nie zostanie wcisniety klawisz „stop”, przy przycisku „zmiana kierunku” powinien zatrzymac silnik czyli dac: 1111 i za jakis czas dawac w odwrotnej kolejności: 1110, 1101, 1011, 0111.

    Szczerze to nie mam bladego pojecia jak to zrobic i za pomoc z gory dziekuje

    Dodano po 1 [godziny] 52 [minuty]:

    Nie bede ukrywal ze mam to na zaliczenie, takze pomagajac ratujesz mnie przed powtorka semestru!!!
  • Pomocny post
    Poziom 18  
    Nie lubie pisac programow na sucho...bo takie chyba zawsze zawieraja bledy....... ale w ramach odstresowania miedzy zaliczeniami postanowilem skrobnac cos dla treningu ;)

    Program przewidziany na 89C2051....mozna go wrzucic na wieksze '51, ale ten maly atmelek w zupelnosci wystarczy. Jest prawie pewne, ze soft zawiera pewne bledy (czas pisania 16 min bez wiekszego wnikania w szczegoly.......bo chyba nie da sie wniknac bez hardware), wiec prosze innych elektrodowiczow i Ciebie o weryfikacje :D

    pozdr
    Dosinsky

    ps. tez bym chcial miec takie rzeczy na zaliczenie :D
  • Poziom 18  
    ja raczej niesprawdze bo.. nie umiem tego jezyka:(
  • Poziom 25  
    Dosinski napisał:
    ;-------------------------------------
    STOP:
    MOV IE,#00000000B
    MOV P1,#11111111B
    ACALL DELAY
    AJMP reset; zatrzymuje silnik, wraca na poczatek programu i czeka na wcisn START
    RETI
    ;-----------------------------------
    Też programu nie analizowałem (przeglądnąłem szybko) bo wddf napisał że nie zna tego języka więc ciekawe jak chce mieć zaliczenie, ale dla innych którzy by się chcieli uczyć pokazuję błąd i go omawiam.
    Podprogram STOP obsługuje przerwanie i powinien kończyć się rozkazem RETI nie tylko napisanym na koncu ale również wykonywanym (a nie tak jak wyżej gdzie przed wykonaniem RETI program wyskoczy przez AJMP reset). Nie wykonanie RETI skutkuje pozostawieniem na stosie adresu powrotu z przerwania i może również nie wykasować flagi przerwania.

    Zamist rozkazu AJMP sugeruję zastosować nastepującą sztuczkę:
    POP ACC
    POP ACC ;zdjałem ze stosu dwa bajty adresu powrotu
    MOV DPTR,#reset ;do DPTR umiesciłem adres etykiety reset
    PUSH DPL
    PUSH DPH ;na stos umiesciłem nowy adres pod który zostanie przeniesiony program po wykonaniu RETI.
    I to by było na tyle.
  • Poziom 18  
    Witam ponownie!

    olekewaagata ---> racja
    Rety nie zauwazylem tego :) nie moglo dzialac dobrze :D



    pozdrawiam i dzieki za czujnosc :)
    Dosinsky
  • Poziom 18  
    Nie umiem nie dla tego ze jestem len itp., moja sytuacje z przedmiotu porownam do DOSa, mam zrobic na dysku c:\wddf\wddf.txt nie znajac polecen takich jak mk dir. Nikt u mnie na roku nie napisal sam programow i jeszcze kupe osob nic niema. Takie zajecia poprostu
  • Poziom 18  
    Cytat:
    Takie zajecia po prostu


    No to polecam np. www.mikrokontrolery.of.pl , zreszta podobnych pozycji jest bardzo wiele.....ja wychodze z zalozenia, ze chciec to moc :D

    Pozdrawiam
    Dosinsky