Generovani frekvence PICem

Danhard danhard@volny.cz
Úterý Únor 28 12:45:31 CET 2006


Co udelat prevodni tabulku, a do te ulozit prubeh toho rizeni.

Danhard
*******

Zdravim,

jeden kolega bastlir CNC masienk mne pozadal o vyvoj zarizenicka, kterym 
mannualne bude ovladat driver krokoveho motoru (vstupy STEP,DIR,BRAKE).

Jsem si to tak propocital a vyslo mi, ze mi staci generovat cca 4.5kHz, 
aby se motor tocil jak potrebuje pri max rpm.

Vzal jsem tedy PIC12F675 a pripojil na nej potenciometr a zacal psat SW.

Cele jsem to rozchodil, ale nedomyslel jsem jednu vec a to, ze se mi 
silene zvysuje citlivost v krajnich polohach potenciometru (stred potaku 
je stop motoru a ke krajum se otacky zvysuji s tim, ze je jiny smer) - 
je mi jasne , ze je to tim, ze se mi vlastne ke konci ty casy meni nasobne.

Zde je rutina interrupt:

procedure Interrupt;
begin
   Inc(j);
   if j>rychlost then
      begin
        j:=0;
        if TestBit(GPIO,0)=1 then ClearBit(GPIO,0)
                             else SetBit(GPIO,0);
      end
   else
      begin
        k:=0; //tohle je zde pro vyrovnani delky interrptu
        if TestBit(GPIO,0)=0 then ClearBit(GPIO,0)
                             else SetBit(GPIO,0);
      end;
   TMR0:=casovac;
   ClearBit(INTCON,2);
end;

Vstupem je promenna rychlost od 1 do 120 a timer0 je prednastavovan na 
240. V hlavni smycce je jen sejmuti potaku a osefovani stredove polohy a 
ridicich signalu pro smer a brzdu. PIC jede z interniho oscilatoru na 4MHz.

Jestli chapu dobre tak jedinne reseni je bud jeste zkratit trvani rutiny 
interruptu (ted 54us) a jeste vic prednastavit timer0 bliz k 255 s tim 
ze mi zbyde jen velmi malo na hlavni smycku.

A nebo holt pridat krystal na 20MHz a vylepsit si casovej rozpocet.

RadekCX
_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list@list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list





Další informace o konferenci Hw-list