Professional Documents
Culture Documents
Group 27 TC301
BO CO
BI TP LN VI X L
TI:
H Ni, 5/2013
Group 27 TC 301
Page 1
BO CO BTL - VXL
Group 27 TC301
TRNG I HC BCH KHOA H NI
BO CO
BI TP LN VI X L
TI:
H Ni, 5/2013
Group 27 TC 301
Page 2
BO CO BTL - VXL
Group 27 TC301
H v Tn
MSSV
L Anh Quang
20102722
Mai Vn Quyt
20102057
20102061
20102018
im
Group 27 TC 301
Page 3
BO CO BTL - VXL
Group 27 TC301
Tiu ch nh gi
0. Tng im ban u
Thang im
10.0
1. im tr
1.1. Khng c sn phm
1.2. Khng c bo co bn cng
1.3. Thiu chc nng: bt/tt ng c
1.4. Thiu chc nng: ci t, hin th cc tham s ng c (tc
ci t, sai s cho php)
1.5. Thiu chc nng: hin th tc hin thi ca ng c
1.6. Thiu chc nng: cnh bo nu tc qu cao/thp (vt
qua sai s cho php)
1.7. Thiu chc nng: hin th ngy, gi hin ti
1.8. Thiu chc nng: chnh ngy, gi h thng
1.9. Thiu chc nng: hn gi bt/tt ng c
1.10. Thiu chc nng: hin th nhit hin thi
1.11. Thiu mt on co vit bng ASM
1.12. PCB khng c tn nhm v cc thnh vin
1.13. Bo co s si/thiu ni dung (tn ti/nhm/mc lc/yu
cu ca ti/k hoch nhm/thit k s khi/co)
2. im cng
2.1. Mch in v sp xp linh kin p/Mch in th cng
2.2. Cc chc nng thc hin c p ng tt ( nhy, tc
tnh ton, hin th)
Group 27 TC 301
Page 4
BO CO BTL - VXL
Group 27 TC301
Group 27 TC 301
Page 5
BO CO BTL - VXL
Group 27 TC301
MC LC
LI NI U .................................................................................................................... 9
CHNG I: M T TI ........................................................................................ 10
1.1. Yu cu chc nng................................................................................................ 10
1.2. Yu cu phi chc nng ......................................................................................... 10
1.3. Cc cng c s dng ............................................................................................. 10
1.4. S khi ca h thng ....................................................................................... 11
1.5. K hoch thc hin v phn chia cng vic ....................................................... 11
CHNG II: THIT K H THNG ........................................................................ 12
2.1. Khi ngun ............................................................................................................ 12
2.2. Khi x l trung tm ............................................................................................ 13
2.2.1. Khi vi iu khin 16F877 .............................................................................. 13
2.2.2. Khi IC dch 74HC595 iu khin LED 7 on ............................................ 14
2.2.3. IC thi gian thc DS1307 ................................................................................ 15
2.2.4. Cm bin nhit dng LM35 ........................................................................ 16
2.2.5. LCD 16x2 ......................................................................................................... 17
2.2.6. L298 ................................................................................................................. 18
2.2.7. Keypad ............................................................................................................. 19
2.3. S nguyn l ton mch .................................................................................. 20
2.4. S layout mch ................................................................................................ 21
2.5. Hnh chp ton mch ........................................................................................... 21
CHNG III: KT LUN ............................................................................................ 22
Group 27 TC 301
Page 6
BO CO BTL - VXL
Group 27 TC301
Group 27 TC 301
Page 7
BO CO BTL - VXL
Group 27 TC301
DANH MC HNH V
STT
Tn hnh v
S trang
S khi
11
11
Khi ngun
12
13
14
15
16
LCD 16x2
17
L298
18
10
Keypad
19
11
20
12
S layout mch
21
13
21
Group 27 TC 301
Page 8
BO CO BTL - VXL
Group 27 TC301
LI NI U
K thut vi x l v iu khin xut hin rt nhiu trong mi lnh vc khoa hc k
thut hin nay. Vi s pht trin mnh m ca cng ngh, nhiu h vi x l v iu khin
cng vi nhng tnh nng mi xut hin ngy cng a dng. ng c mt chiu c
ng dng rt rng ri trong nhiu lnh vc thc tin.
Tuy nhin ng c DC hot ng tt th ta phi thit k cho n mt b iu khin
gip cho ng c hot ng mt cch linh hot v chnh xc. iu khin ng c DC l
mt ng dng thuc dng c bn nht ca iu khin t ng. Chng em nghin cu
ti iu khin ng c DC s dng PIC 16F877A nhm mc ch tm hiu r hn v
vi iu khin cng nh cch thc hot ng ca loi ng c ph bin ny, ng thi hc
hi thm kinh nghim trong qu trnh lp t mch thc t.
Group 27 TC 301
Page 9
BO CO BTL - VXL
Group 27 TC301
CHNG I: M T TI
1.1. Yu cu chc nng
-
Nu ng c ngng quay (trng thi ngh) th LED 7 thanh hin th nhit hin
thi, LCD hin th ngy gi.
Hn gi bt/tt ng c.
Page 10
BO CO BTL - VXL
Group 27 TC301
Page 11
BO CO BTL - VXL
Group 27 TC301
Group 27 TC 301
Page 12
BO CO BTL - VXL
Group 27 TC301
Group 27 TC 301
Page 13
BO CO BTL - VXL
Group 27 TC301
2.2.2. Khi IC dch 74HC595 iu khin LED 7 on
Group 27 TC 301
Page 14
BO CO BTL - VXL
Group 27 TC301
2.2.3. IC thi gian thc DS1307
Group 27 TC 301
Page 15
BO CO BTL - VXL
Group 27 TC301
2.2.4. Cm bin nhit dng LM35
Group 27 TC 301
Page 16
BO CO BTL - VXL
Group 27 TC301
2.2.5. LCD 16x2
Group 27 TC 301
Page 17
BO CO BTL - VXL
Group 27 TC301
2.2.6. L298
Hnh 9. L298
Khi iu khin ng c s dng IC L298 kt ni vi IC74HC04 v IC 74HC08 dng
iu khin tc v chiu quay ca ng c.
Group 27 TC 301
Page 18
BO CO BTL - VXL
Group 27 TC301
2.2.7. Keypad
Group 27 TC 301
Page 19
BO CO BTL - VXL
Group 27 TC301
Group 27 TC 301
Page 20
BO CO BTL - VXL
Group 27 TC301
Page 21
BO CO BTL - VXL
Group 27 TC301
https://www.google.com.vn/
http://www.picvietnam.com
http://7pmtech.com
http://hoiquandientu.com/
http://vidieukhien.net/
http://www.mikroe.com
http://www.ccsinfo.com
http://www.mcu.banlinhkien.vn
PH LC A: NG GP CC THNH VIN
A.1. L Anh Quang
- V mch, t mch, mua linh kin, vit code.
Group 27 TC 301
Page 22
BO CO BTL - VXL
Group 27 TC301
PH LC B: SOFTWARE CODE
Code gm c 4file chnh
-Hm main.c : cha chng trnh chnh, nu r thut ton thc hin bi ton.
-Hm main.h: cha cc th vin driver, nh ngha cc chn I/O.
-Hm var.h : cha cc bin ton cc ca chng trnh.
-Cc hm driver: ds1307, led7, key4x4, lcd16x2, display.
#include
#include
#include
#include
#include
#include
#include
"main.h"
"var.h"
"lcd16x2\lcd_16x2.c"
"DISPLAY\display.c"
"DS1307\ds1307.c"
"key4x4\key_4x4.c"
"LED7\led7.c"
#INT_TIMER1
void Motor_Speed()
{
disable_interrupts(INT_EXT);
setup_timer_1(T1_DISABLED);
van_toc=pulse_encodera;
pulse_encodera=0;
set_timer1(0xF15A);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_4);
enable_interrupts(INT_EXT);
enable_display=1;
}
#INT_EXT
void Count_Pulse()
{
pulse_encodera++;
}
Group 27 TC 301
Page 23
BO CO BTL - VXL
Group 27 TC301
void main()
{
uint16_t i=0,j=0;
uint16_t buff_duty;
bit flag_set=0;
bit flag_temp=0;
// Thiet lap do ADC
setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(AN0);
set_adc_channel(0);
//delay_us(10); // Luu y su can thiet cua khoang thoi gian nay
// Thiet lap ngat ngoai
enable_interrupts(GLOBAL);
// Cho phep ngat toan cuc
ext_int_edge(H_TO_L);
// Cau hinh ngat ngoai theo canh xuong
enable_interrupts(INT_EXT);
// Cho phep ngat ngoai
enable_interrupts(INT_TIMER1);
// Cho phep ngat tran TIMER1
// Thiet lap TIMER1: Dinh thi 3ms
setup_timer_1(T1_INTERNAL|T1_DIV_BY_4);
// Cau hinh bo chia cho TIMER1
set_timer1(0xF15A);
// Cau hinh gia tri cho thanh ghi TMR1 Dinh thi 3ms
// Tao xung PWM
duty=999;
set_pwm1_duty(duty);
setup_timer_2(T2_DIV_BY_16,0xFA,1);
setup_ccp1(CCP_PWM);
// Thiet lap I/O cho cac PORT
DDRA=0x01;
DDRB=0x01;
DDRC=0x18;
DDRD=0xF0;
DDRE=0;
// duty= read_eeprom(1);
key=0;
DIR_MOTOR=QUAY_THUAN;
Display_Begin();
while(TRUE)
{
key=KEY4X4_GetKey();
switch(key)
{
case MODE: // Vao che do dieu chinh thoi gian va duty
if(flag_set)Display_Setting();
break;
case UP: DIR_MOTOR=QUAY_THUAN;
// Doi chieu dong co: quay thuan
break;
case DOWN: DIR_MOTOR=QUAY_NGHICH; // Doi chieu dong co: quay nghich
break;
case CLEAR:
// ON/OFF dong co
if(duty!=0)
{
buff_duty=duty;
duty=0;
flag_set=1;
flag_temp=1;
}
else if(duty==0)
{
duty=buff_duty;
Group 27 TC 301
Page 24
BO CO BTL - VXL
Group 27 TC301
flag_set=0;
flag_temp=0;
}
set_pwm1_duty(duty);
break;
}
switch(DIR_MOTOR)
{
case QUAY_THUAN:Display_Motor_Dir(0);
break;
case QUAY_NGHICH:Display_Motor_Dir(1);
break;
}
switch(flag_temp)
{
case 0:
j++;
delay_ms(2);
if(j==50)
{
j=0;
Convert_Led(van_toc);
}
break;
case 1:
nhiet_do=read_adc()/2;
i++;
delay_ms(2);
if(i==100)
{
i=0;
Display_7seg_Temp(nhiet_do);
}
break;
}
Display_Time_Speed_Temp(); // Hien thi thoi gian va toc do dong co
}
}
/******************************KET THUC FILE******************************
______________________________GROUP27_TC301______________________________*/
#ifndef __MAIN_H
#define __MAIN_H
#define PRO_DATA const
/***************KHAI BAO CAC THU VIEN*****************/
#include <16F877A.h>
#device adc=10
#FUSES
#FUSES
#FUSES
#FUSES
#FUSES
NOWDT
HS
NOPUT
NOBROWNOUT
NOLVP
Group 27 TC 301
Page 25
BO CO BTL - VXL
Group 27 TC301
for I/O
#FUSES NOCPD
//No EE protection
#FUSES NOWRT
//Program memory not write protected
#FUSES NODEBUG
//No Debug mode for ICD
#FUSES NOPROTECT
//Code not protected from reading
#use delay(clock=20000000)
#use I2C(master, sda=PIN_C4, scl=PIN_C3)
/*
Kieu So Nguyen Co Dau
*/
typedef
int1
bit;
typedef
int
int8_t;
typedef
long
int16_t;
typedef
long long
int32_t;
/*
Kieu
typedef
typedef
typedef
/*
Kieu
typedef
#include
#include
#include
#include
#include
#include
#include "stdio.h"
#include "math.h"
#CASE
//______________________I/O A ____________________________
// Chan data LCD16x2
#define LCD_D4
PORTA_4
#define LCD_D5
PORTA_3
#define LCD_D6
PORTA_2
#define LCD_D7
PORTA_1
//#define ENCODERB
PINA_5
//#define DDR_ENCODERB
DDRA_5
//______________________I/O B ____________________________
// Chan dieu khien 74HC595
#define SH_CP
PORTB_5
#define DS
PORTB_3
#define ST_CP
PORTB_4
//______________________I/O C ____________________________
// Chan dieu khien huong MOTOR DC
#define DIR_MOTOR
PORTC_0
// Chan dieu khien DS1307
#define DS1307_SDA
PIN_C4
#define DS1307_SCL
PIN_C3
// Chan dieu khien key4x4
#define KEY4X4_COL1
PORTC_7
#define KEY4X4_COL2
PORTC_6
#define KEY4X4_COL3
PORTC_5
//______________________I/O D ____________________________
#define KEY4X4_COL4
PORTD_3
#define KEY4X4_ROW1
PIND_7
#define KEY4X4_ROW2
PIND_6
#define KEY4X4_ROW3
PIND_5
#define KEY4X4_ROW4
PIND_4
Group 27 TC 301
Page 26
BO CO BTL - VXL
Group 27 TC301
#define DDR_KEY4X4_COL4
DDRD_3
#define DDR_KEY4X4_ROW1
DDRD_7
#define DDR_KEY4X4_ROW2
DDRD_6
#define DDR_KEY4X4_ROW3
DDRD_5
#define DDR_KEY4X4_ROW4
DDRD_4
//______________________I/O E ____________________________
// Chan dieu khien LCD16x2
#define LCD_RS
PORTE_2
#define LCD_RW
PORTE_1
#define LCD_EN
PORTE_0
#define QUAY_THUAN
#define QUAY_NGHICH
0
1
#define DDR_OUT
#define DDR_IN
0
1
#define OK
'*'
#define CLEAR
'/'
#define MODE
'#'
#define EXIT
'x'
#define UP
'+'
#define DOWN
'-'
#endif
/******************************KET THUC FILE******************************
______________________________GROUP27_TC301______________________________*/
#ifndef __VAR_H
#define __VAR_H
// Bien giao tiep LED 7 thanh
uint8_t const chu_so[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
// gia tri
0
1
2
3
4
5
6
7
8
9
uint8_t const off_led=0xff;
uint8_t Buff_HC595[4];
// Bien do toc do dong co
uint16_t pulse_encodera=0;
uint16_t duty;
uint16_t van_toc=0;
// Bien giao tiep DS1307
uint8_t hour, min, sec;
// Bien giao tiep LM35
uint8_t nhiet_do;
// Bien KEY4x4
uint8_t key;
bit enable_display=0;
// Co hien thi LCD
#endif
/******************************KET THUC FILE******************************
______________________________GROUP27_TC301______________________________*/
Group 27 TC 301
Page 27
BO CO BTL - VXL
Group 27 TC301
PH LC C . HNG DN S DNG
Hng dn s dng mch:
-
Sau 2s, mn hnh LCD16x2 s hin th: thi gian trung bnh ca h thng, tc
v chiu quay ca ng c. Mn hnh LED 7 thanh s hin th thi gian tc thi
ca h thng.
Khi ng c ang chy:
+ n UP: iu khin ng c quay cng chiu kim ng h.
+ n DOWN: iu khin ng c quay ngc chiu chim ng h.
+ n CLR: ON/OFF ng c.
Khi dng ng c:
+ Mn hnh LED 7 thanh s hin th nhit ca h thng.
+ n MODE: vo ch iu chnh cc thng s ca h thng: hour, min,
sec, duty.
Group 27 TC 301
Page 28