steppera kontroli pojazdów przy użyciu pic 16f872

W

WADA

Guest
Chcę do projektowania i wdrażania steppera silnikowych kontroler zbudowany wokół pic 16f872.Czy chcesz użyć silników w LX300 matryca drukarek.Czy ktoś może mi pomóc z pomysłów, jak będę w stanie realizować tego.

 
Użytkownik musiałby znaleźć steppera silnikowych kontrolera do sterowania silnika.
Kontroler byłyby kontrolowane przez PIC.
Najlepszym sposobem na to jest za pomocą PIC liczniki i przerwan do generowania impulsów do silnika kontrolera.Zależy od częstotliwości, co musisz przenieść silnikowych

 
cześć,

zobacz na stronie:
http://www.discovercircuits.com/M/motor-cont.htm

najlepszych regrads,

 
Użyj L293D lub TLE4726 dla interfejs i ten algorytm (pełna pass) dla kontroli (CCS Compiler):

char port_a;
# port_a bajt = 0x05 / / Początkowy adres Porta_A

char port_c;
# port_c bajt = 0x07 / / Początkowy adres Porta_C

/ / To zależy od szpilki, że używasz
# define BOB1B port_a, 4
# define BOB1A port_a, 5

# define BOB2B port_c, 4
# define BOB2A port_c, 5/ / Zmienne
statycznych unsigned int8 flag_step; / / Motor stanowiska banderą;
statycznych unsigned Int32 kroków; / / pass countervoid Close_Motor (void)
(
switch (flag_step) / / Następnie przechodzą
(
case 1:
bit_set (BOB1B); / / Pass 1
bit_clear (BOB1A);
bit_clear (BOB2B);
bit_set (BOB2A);
flag_step = 2;
kroków - / / grudzień przekazać zmienną liczbę
break;
case 2:
bit_clear (BOB1B); / / Pass 2
bit_set (BOB1A);
bit_clear (BOB2B);
bit_set (BOB2A);
flag_step = 3;
kroków - / / grudzień przekazać zmienną liczbę
break;
case 3:
bit_clear (BOB1B); / / Pass 3
bit_set (BOB1A);
bit_set (BOB2B);
bit_clear (BOB2A);
flag_step = 4;
kroków - / / grudzień przekazać zmienną liczbę break;
case 4:
bit_set (BOB1B); / / Pass 4
bit_clear (BOB1A);
bit_set (BOB2B);
bit_clear (BOB2A);
flag_step = 1;
kroków - / / grudzień przekazać zmienną liczbę
break;
)
powrotu;
)void Open_Motor (void)
(
switch (flag_step) / / Następnie przechodzą
(
case 1: / / Pass 1
bit_clear (BOB1B);
bit_set (BOB1A);
bit_set (BOB2B);
bit_clear (BOB2A);
flag_step = 4;
kroków / / pass Inc numer zmiennej
break;
case 2: / / Pass 2
bit_set (BOB1B);
bit_clear (BOB1A);
bit_set (BOB2B);
bit_clear (BOB2A);
flag_step = 1;
kroków / / pass Inc numer zmiennej
break;
case 3: / / Pass 3
bit_set (BOB1B);
bit_clear (BOB1A);
bit_clear (BOB2B);
bit_set (BOB2A);
flag_step = 2;
kroków / / pass Inc numer zmiennej
break;
case 4: / / Pass 4
bit_clear (BOB1B);
bit_set (BOB1A);
bit_clear (BOB2B);
bit_set (BOB2A);
flag_step = 3;
kroków / / pass Inc numer zmiennej
break;
)
powrotu;
)

void main (void)
(
kroki = 1; / / początkowa wartość biletów
)

Następnie należy umieścić opóźnienie między rutynowych biletów (słuchaliśmy maksymalnej częstotliwości operacyjnych silnikowych) i prędkości, które są potrzebne.

leomecma

 

Welcome to EDABoard.com

Sponsor

Back
Top