Professional Documents
Culture Documents
GVHD:
GVHD:
CHNG I
TNG QUAN
I/ MT S NG DNG CA VITME TRONG THC T HIN NAY
B truyn ng Vitme-ai c hin nay c ng dng rt nhiu v l mt thnh phn
gn nh khng th thiu trong cc h thng dn ng ,cc thit b my mc cng
nghip cng nh dn dng ,thit b hng khng ,qun s
V d nh my CNC , cc cnh tay Robot Cc my dn dng nh cc CD , my
photocoppy
GVHD:
GVHD:
CHNG II
THIT K C CU C KH
I/THIT K C CU C KH :
S NG
1
5
Driver
Vi x l
ng c
Cm bin
Tnh ton vn tc ng c:
Yu cu: Thit k h thng vt me ai c vi vn tc bn trt t 2 > 5mm/s.
Chn vt me c bc vt 1,2 mm ng knh ngoi D = 8mm .
Vn tc trc vt me:
Vbt
Vv =
p
Vi Vbt = 2 > 5mm/s ta tnh c vn tc trc vt me t 100 vng/pht 250 vng/pht
Chn hp gim tc 2 cp vi t s truyn tng l 6. T ta chn c vn tc ca ng
c l:
Vdc = VbtU = 600 ->1500 vng/pht
Ta chn loi ng c c vn tc ti a l 1500 vng/pht
GVHD:
GVHD:
GVHD:
GVHD:
CHNG III
THIT K V M PHNG B IU KHIN BNG
MATLAB SIMULINK
Yu cu t ra: S dng Matlab Simulink m phng iu khin ng c bc n
v tr mong mun trong thi gian cho trc (v d l 2s).
I. Thit lp s khi ca m hnh ng c trn Matlab Simulink
Ta s dng SimElectronic m phng hot ng ca ng c.
Trn ca s Simulink ta thit lp h thng s khi nh sau:
Hnh 9
II.KHO ST CC KT QU:
Ta th kho st kt qu sau khi ng c quay ln lt 10, 15, 20, 25 bc. Cc biu
thu c l nh sau:
GVHD:
III.NHN XT:
Cc kt qu thu c vn cha cho ta thy c r rng s vn ng ca ng c
bc trong m phng Matlab, nh vy, vic kho st ng c bc trn Matlab
Simulink l rt phc tp. Qua c th thy rng, vic s dng PID iu chnh
b rng xung nhm mc ch gim thi gian t n v tr mong mun ca ng c
bc trong trng hp ny (m phng trn Matlab) l ht sc kh khn. thi
im hin ti, do kin thc v thi gian cn hn ch nn trong ni dung n
chng em cha th thc hin c. Chng em s tip tc nghin cu su thm v
vn ny trong thi gian sp ti.
10
GVHD:
CHNG IV
S MCH DRIVER CHO NG C V S MCH K
THIT K MCH CNG SUT V MCH IU KHIN
Thit k mch cng sut v mch iu khin bng phn mm orcad 9.2 ta c mch
nguyn l nh hnh sau:
11
GVHD:
12
GVHD:
V TR CI T
VI IU KHIN
SO SNH
X =Y
y
STOP
C ADC
SO SNH
X<Y
y
QUAY THUN
13
QUAY NGHCH
GVHD:
II.NGUYN L HOT NG NG C BC
ng c bc s dng trong n l ng c bc n cc
Cu to ng c bc n cc:
Hot ng ng c bc:
Quay thun
1a
2a
1b
2b
1a
2a
1b
2b
Quay nghch
14
GVHD:
15
GVHD:
Khong cch ln nht m b truyn thc hin l 55mm.khi nhp v tr mong mun
vo v tr ci t v nhn send trn bng thng s p ng s phn hi v v tr m
b truyn ang di chuyn.Bin tr s dng c gi tr 10k ,do v tr ci t =v tr
p ng
Chng trnh c# ( ph lc trang 26)
16
GVHD:
20
30
40
50
10
20
30
39
50
11
20
30
39
50
11
20
30
39
50
11
20
30
40
50
10
20
29
39
50
Ln
GVHD:
Http://www.picvietnam.com
18
GVHD:
Cc ph lc:
Chng trnh vit bng CCS cho PIC16F887
#include<16f887.h>
#device *=16 adc=10
#use delay(clock=20000000)
#fuses HS,NOWDT,NOPROTECT
#use rs232(baud=9600,parity=N,xmit=pin_c6,rcv=pin_c7)
INT16 x,y;
float32 x1,y1;
void quay_thuan()
{
output_high(PIN_d0);
delay_ms(10);
output_low(PIN_d0);
output_high(PIN_d1);
delay_ms(10);
output_low(PIN_d1);
output_high(PIN_d2);
delay_ms(10);
output_low(PIN_d2);
output_high(PIN_d3);
delay_ms(10);
output_low(PIN_d3);
}
void quay_nghich()
{
output_high(PIN_d3);
delay_ms(10);
output_low(PIN_d3);
output_high(PIN_d2);
delay_ms(10);
output_low(PIN_d2);
output_high(PIN_d1);
delay_ms(10);
output_low(PIN_d1);
output_high(PIN_d0);
delay_ms(10);
output_low(PIN_d0);
}
void SET_ADC()
19
GVHD:
{
setup_adc_ports(all_analog);
setup_adc(adc_clock_internal);
set_adc_channel(0);
delay_us(10);
}
#int_rb
void Int_ls()
{
output_LOW(PIN_C3);
}
#INT_RDA
VOID RECEVICE()
{
X=GETC();
SET_ADC();
Y=READ_ADC();
X1=X*17.1;
while((int16)X1<y)
{
QUAY_NGHICH();
SET_ADC();
Y=READ_ADC();
y1=y/17.1;
putc((int8)y1);
}
while ((int16)X1>y)
{
QUAY_THUAN();
SET_ADC();
Y=READ_ADC();
y1=y/17.1;
putc((int8)y);
}
}
VOID MAIN()
{
while(TRUE)
{
enable_interrupts(int_rb);
20
GVHD:
enable_interrupts(INT_RDA);
enable_interrupts(global);
}}
Chng trnh c#
using
using
using
using
using
using
using
using
System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Linq;
System.Text;
System.Windows.Forms;
namespace giaotiepmaytinh
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
if (serialPort1.IsOpen) serialPort1.Close();
serialPort1 .Open ();
}
private void Form1_FormClosed(object sender,
FormClosedEventArgs e)
{
if (serialPort1.IsOpen) serialPort1.Close();
}
private void send_Click(object sender, EventArgs e)
{
byte data = (byte) Convert .ToInt16 (set.Text,10 );
if (data > 55)
serialPort1.Write(new byte[] { 55 }, 0, 1);
else if (data <10)
serialPort1.Write(new byte[] { 10 }, 0, 1);
else
serialPort1.Write(new byte[] { data }, 0, 1);
21
GVHD:
}
private void serialPort1_DataReceived(object sender,
System.IO.Ports.SerialDataReceivedEventArgs e)
{
//dapung.Text = serialPort1.ReadByte().ToString();
byte nhan = (byte)serialPort1.ReadByte();
object[] para = { nhan };
//dapung .BeginInvoke (new deleFunC
dapung.BeginInvoke(new deleFunc(Display),para);
//Gi hm hin th d liu
}
//Hm con hin th d liu
private delegate void deleFunc(byte nhan);
private void Display(byte nhan)
{
//Chuyn byte nhn c thnh s thp phn
string receive = Convert.ToString(nhan, 10);
dapung.AppendText(receive + " ");
}
private void reset_Click(object sender, EventArgs e)
{
serialPort1.Write(new byte[] { 0 }, 0, 1);
set.Text = " 5";
}
private void button1_Click(object sender, EventArgs
{
dapung.Text = " ";
}
private void label1_Click(object sender, EventArgs e)
{
}
}
22
GVHD:
23
GVHD:
24
GVHD:
25