krokových motorov pomocou pic 16f872

W

WADA

Guest
Chcem navrhnúť a implementovať krokovej motor řadič postavený okolo pic 16f872.Chcete použiť motory nájsť v LX300 ihličkové tlačiarne.Mohol by mi niekto pomôcť s nápadmi, ako budem môcť realizovať to.

 
Tie budú musieť nájsť krokovej motor řadič pre ovládanie motora.
Řadič bude kontrolovaný PIC.
Najlepší spôsob, ako to urobiť, je
to pomocou PIC, časovača a prerušenie generovať impulzy pre motorové radič.Záleží ako často budete musieť presunúť na motor

 
nazdar,

vzhľad tohto webu:
http://www.discovercircuits.com/M/motor-cont.htm

Najlepšie regrads,

 
Použite L293D alebo TLE4726 pre rozhrania a tento algoritmus (plný priechod) pre ovládanie (CCS Compiler):

char port_a;
# Byte port_a = 0x05 / / Počiatočná adresa Porta_A

char port_c;
# Byte port_c = 0x07 / / Počiatočná adresa Porta_C

/ / Je
to závisí na kolíky, ktoré používate
#
Define BOB1B port_a, 4
#
Define BOB1A port_a, 5

#
Define BOB2B port_c, 4
#
Define BOB2A port_c, 5/ / Ukazovatele
statické unsigned int8 flag_step, / / pozícia Motor vlajky;
statické unsigned int32 kroky; / /
pass protizárukuvoid Close_Motor (void)
(
switch (flag_step) / /
Next permanentka
(
case 1:
bit_set (BOB1B); / / Pass 1
bit_clear (BOB1A);
bit_clear (BOB2B);
bit_set (BOB2A);
flag_step = 2;
krokov -, / / číslo pasu decembra variabilný
break;
case 2:
bit_clear (BOB1B); / / Pass 2
bit_set (BOB1A);
bit_clear (BOB2B);
bit_set (BOB2A);
flag_step = 3;
krokov -, / / číslo pasu decembra variabilný
break;
case 3:
bit_clear (BOB1B); / / Pass 3
bit_set (BOB1A);
bit_set (BOB2B);
bit_clear (BOB2A);
flag_step = 4;
krokov -, / / číslo pasu decembra variabilný break;
Prípad 4:
bit_set (BOB1B); / / Pass 4
bit_clear (BOB1A);
bit_set (BOB2B);
bit_clear (BOB2A);
flag_step = 1;
krokov -, / / číslo pasu decembra variabilný
break;
)
návrate;
)void Open_Motor (void)
(
switch (flag_step) / /
Next permanentka
(
case 1: / / Pass 1
bit_clear (BOB1B);
bit_set (BOB1A);
bit_set (BOB2B);
bit_clear (BOB2A);
flag_step = 4;
krokoch , / / číslo pasu Inc variabilný
break;
case 2: / / Pass 2
bit_set (BOB1B);
bit_clear (BOB1A);
bit_set (BOB2B);
bit_clear (BOB2A);
flag_step = 1;
krokoch , / / číslo pasu Inc variabilný
break;
case 3: / / Pass 3
bit_set (BOB1B);
bit_clear (BOB1A);
bit_clear (BOB2B);
bit_set (BOB2A);
flag_step = 2;
krokoch , / / číslo pasu Inc variabilný
break;
Prípad 4: / / Pass 4
bit_clear (BOB1B);
bit_set (BOB1A);
bit_clear (BOB2B);
bit_set (BOB2A);
flag_step = 3;
krokoch , / / číslo pasu Inc variabilný
break;
)
návrate;
)

void main (void)
(
krokov = 1, / / Počiatočná hodnota priechodu
)

Potom musíte dať meškanie medzi bežnou pasu (poslusna maximálny operačný frekvencie motor) a rýchlosť, ktorú potrebujete.

leomecma

 

Welcome to EDABoard.com

Sponsor

Back
Top