1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu ứng dụng và phát triển công nghệ tự động thiết kế để chế tạo các chip thông minh cho đo lường và điều khiển các đề tài nhánh và các chuyên đề

647 1 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 647
Dung lượng 20,66 MB

Nội dung

Trang 1

Viện khoa học và Công nghệ Việt Nam

Phòng Công nghệ Tự động hoa- Viện Công nghệ thông tin ĐÈ TÀI KC-03-20

©

NGHIEN CUU, THIET KE VA CHE TAO

BO DIEU KHIEN MAY LANH VA

BO DIEU KHIEN TU XA HONG NGOAI

<

Trang 2

Viện Khoa học và Công nghệ Việt Nam

Phòng Công nghệ Tự động hóa —- Viện Công nghệ thông tin ĐỀ TÀI KC-03-20

Tài liệu kỹ thuật

BO DIEU KHIEN MAY LANH

Trang 3

Phòng Công nghệ Tự động hoá- Viện Công nghệ thông tỉn

Đề tài KC-03-20

PHAN CUNG VA PHAN MEM DIEU KHIEN

MAY LANH

1 PHAN CUNG, CAC THIET LAP, SO DO VAO RA VA CHIP DKML-1 Sơ đồ khối vào/ra của board điều khiển máy lạnh: Chip DKML-1 / #Ix Loe tin higu 0 ` › , Module đèn LED dau thu hang ngoai vé Loa tin higu © Module nhận 00 lệnh từ nút bi — Led chíthịL nit bam và đầu thu hồng [ | — ngoai 5 Module động O : 13) cơ dân núng £) E động cơ nén - «QD

nsor nhiét da E Module động

OL mg module da c cơ quạt gid —O

iết đỒ 1

: nhấn độ C động cơ quat gid

sensur điểm đồng — Abe li module do ˆ C} x os Module déng điểm đồng ce déo cánh —X) động cơ đáo cánh

Các chức năng hoạt động của chip DKML-I

1.1 Thiết kế CHIP DKML-I

Chip DKML-1 được thiết kế trên nền chip trắng CY8C27443 của công

nghệ PSoC Chip là thành phần điều khiển chính cả phần cứng và mềm của bo

điều khiển máy lạnh

Trang 4

Phòng Cơng nghệ Tự động hố- Viện Công nghệ thông tin Đề tài KC-03-20 e Các thông số hệ thống của Chip DKML-I : Selected Giobai Parameters (test) : Name ị Value 32K Select 7 Internal AGndBypass _ :

A Bull Power Low i

Analog Power SC On/Ref Low ị

'CPU_Clock _ J8ysClv2

LVDThrottleBack " "Disable

‘Op-Amp Bias Low

PLL_Mode _ Disable -

Power Setting [ Vcc / SysClk freq ] '5.0V / 24MAz :

Ref Mux (Wdd/2)+/-BandGap § ep_Timer 512_Hz ‘SwitchModePump / ~~ OFF SysClk Source™” Internal ‘SysClk*2 Disable ~ ` _ No ‘Trip Voltage [LVD (SM ~~ 481¥ (5.00¥) iene SyeCet anion la ị VCa= VCLN - ws a ‘VC3 Divider — - 60 7 VG Sa "— _- ver" Watchdog Enable = ==- Enable + Áp sử dung: 5V + Dao động trong + Tần số đồng hồ CPU 12 MHz + Tân số đồng hồ hệ thống SysClk 24 Mhz + Tần số ngắt Sleep_ Timer 1 Hz + Có sử dụng WatchDog

- WatchDog được dùng đề phòng trường hơp hệ thống bị rơi vào trạng thái treo máy do bất kì lí do gì Máy sẽ được khởi động lại Sleep_Timer được dùng để phục vụ WatchDog

Trang 5

Phòng Công nghệ Tự động hố- Viện Cơng nghệ thông tin Để tài KC-03-20 e Các khối chức năng của Chip DKML-I: POA EFE2PRDM, 0ounter24 | PGA Timers Sole) aa Alot l MUX ADCINCVR AMUX4 Buffer E2PROMRealtimeclock Ref_!ow timers + ADC dùng kiểm soát nhiệt độ phòng và kiểm soát nhiệt độ mặt giàn lạnh ; + Bộ phân kênh dùng cho mục đích một ADC kiểm soát nhiều điểm đo khác nhau

+ Khuyếch đại đệm dùng ôn định đầu vào cho ADC Khuyếch đại 1:1

+ Timer_1 và các ngắt GPIO đùng cho các đầu vào điều khiển nút bấm và điều khiển hồng ngoại

+ Timer 2 dùng cho mục đích Real Time Clock Tạo ra bộ đếm xung đồng hồ dựa trên nguồn xung đồng hồ hệ thống

Đây là các khối chức năng được xử lí bằng phần cứng, ngoài ra các

module con lai dùng để điều khiển các đầu ra của hệ như:

Trang 6

Phòng Công nghệ Tự động hố- Viện Cơng nghệ thông tin Dé tai KC-03-20

+ Module hién thị, trực tiếp điều khiển các led chỉ thị qua các Port của

chip

+ Module Buzzer, truc tiếp điều khiển loa tín hiệu bằng tần số âm thích

hợp qua Port của chip, có hỗ trợ của mạch đệm công suất

+ Module Quat gió và máy nén, điều khiển cdc relay dong cat động cơ

quạt gió và động cơ nén giàn nóng

+ Module Louver điều khiển động cơ bước dùng cho cánh đảo gió Áp dụng theo phương pháp điều khiển Half Stepping là phương pháp cho độ mịn

bước và độ ôn định cao

* Dưới đây là sơ đồ chân vào ra của chip DKML~1 Port_0_7 1 P0] ~ 28 VDD Porto § C”” 2Pojn| 27 P0(6] Comperessor_Motor cj 3 Pas} 28 P044] Fan_Motor_ Medium 4 Pott} 25 P02] IrBARX_PRX_Dinw_lnpuPn | § P27] 24 POLO} (rDARX_CRX_BtTimerOutputPin 6 P25] 23 P26) Port_2_3 ?P2l3] Chip DKML-1 22 P2{4] Temp_ln 8P2|1| 21 P2[2] | 9SMP 20 P2|0] Timer_LED_Yellow 10 P17] 19 XRES Economic_LED_Green 11 P15] 18 P1[ Mightness_LED_Red

Step_Motor_3 12 P113] 17P14J Power LED_ Green

Step_Motor_1 13P11] 18P1I2] 4 Slep Molor 2

4vss 18 P1[0) (ed Step_Motor_0

_ Chip DKML-1 duoc thiét ké trén

nén chip trang CY8C27443 cia céng nghé PSoC

Trang 7

Phòng Công nghệ Tự động hố- Viện Cơng nghệ thông tin

Dé tai KC-03-20

* Mô tả chỉ tiết các chân của chip DKML-1

Signal Pin Table (test)

Piné®PorthLabel Select , Drive Interrupt

1 PO[7] Pert 0 7 AnalogÏnput ‘High Z Analog’ Disablelnt : 2 Pols] | Port 0 5 AnalogOutBu£_ 1 High Z Analog Disablelnt ị 3 P0[2] ¡ | Port_ 0_3 AnalogOutBuf_0 High Z Analog " Disablelnt : 4 so PO[i] Port_0_1 Analoginput ‘High Z Analog DisablelInt 6

P2[7] | Port_2_7 StdCPU HighZ Analog Disablelnt

: P2[5] | Port_2_5 StdCPU _ High Z Analog DisableInt Por 2 3: StdCPU High Z Analog _ Dis ablelnt

Port21 StdCPU HighZ Analog Disablelm

C10 PA{7] Potl7 StdCPU SrengSlew Diabiein

11: PI[5] Podn l5 StdCPU = StrongSlow Disablelnt 12 Pl[3] Port13 StdCPU StrongSlow _Disablelnt 12 PHI] Port1_1 StdCPU — Strong Slow Disablelnt 14 VSS ị 15 PHO] Poen l0 St4CPU ¡SwongSlow “7 BIBT, a Diablin su _ ;Đet l2 StdCPU SwongSlew Dablclnt

a 17 P114] StdCPU | Strong Slow _Disablelnt

18 _ _PHS] StdCPU — Strong Slow Dwablelnt 1Q XRES tư

_ Ø1 P22} Port_22) SIdCPU | Strong Slow Disablelnt - “92°” P24] Port 24 StdCPU | StrongSlow Diableim - _ 23 P26] Port26 StdCPU /SưongSlew Disablelnt - ' 24 POO} |Port_0.0 StdCPU | StrongSlow Disablein

25 P0[2] Port 02 StdCPU HighZAnalog Disablelnt

Trang 8

Phòng Công nghệ Tự động hoá- Viện Công nghệ thông tin

Đề tài KC-03-20

1.2 Sơ đồ nguyên lý của board điều khiển máy điều hoà nhiệt độ

Được chia ra thành các module gồm có: + Khối nguồn cấp

+ Khối giao tiếp hồng ngoại, nút bấm, khối đo nhiệt độ (hai kênh) và khối

chỉ thị Tất cả đều giao tiếp trực tiếp với mC

+ Khối đầu ra điều khiển máy nén, quạt gió, đảo cánh gió và loa tín hiệu thì có tầng đệm công suất trong giao tiếp với mC

Trang 10

Phòng Công nghệ Tự động hoá- Viện Công nghệ thông tin Đề tài KC-03-20 LIST OF MATERIAL Item Part

Number | Description Reference Value Quantity | Note

1 | Còi tín hiệu BZ1 HXD 11 Loa tín hiệu 2 | Tụ Sứ C1 104 4 3 | Tụ Sứ C2 104 4 4 | Tụ Hoá C3 47uF 1 5 | Tụ Sứ C4 104 1 6 | Ty Nhva C5 1uF/450V † 7 | Tụ Sứ C6 104 i 8 | Tụ Sử C7 104 4 9 | Tụ Nhựa ce 0.1uF/275V ‡ 10 | Tụ Sứ cg 104 1 11 | Tụ Hoá C10 2200uF 1 12 | Tụ Sứ C1 104 ‡ 13 | Tụ Hoá C12 220uF 1 14 | Tụ Sứ C13 104 † 15 | Tụ Hoá C14 220uF 1 16 | Den Bao D1 LED $3 i 17 | Đèn Báo D2 LED ¿3 4 18 | Đèn Báo D3 LED ¿3 1 19 | Dén Bao D4 LED 63 1 20 | Cầu nắn dòng D5 BRIDGE 3A 1

21 | Cầu chỉ F1 | FUSE 3A 250VAC 1

22 | Connector J† 2 pin x 2.5 mm 1_¡ Emergency Botton

23 | Dây Socket 2 pin 255mm 1 | Emergency Botton 24 | Connector J2 5 pin x 2.5 mm 1 | Stepper Motor 25 | Day Socket 5 pin 1 | Stepper Motor

26 | Connector d3 5 pin x 7.5 mm 11 CN-Fan

27 | Connector J4 7 pin x 2.5 mm 1 | Socket LED - REV

Trang 11

Phòng Công nghệ Tự động hoá- Viện Công nghệ thông tin Đề tài KC-03-20

30 | Connector J7 2 pin x 7.5mm 1 | POWER

31 | Connector 48 4 pin x 2.5 mm 1 | Sensor 32 | Day Socket 4 pin Nhiét 86(385mm) Chéng đông (440mm) 1 | Sensor 33 | Connector JQ 2 pin x 2.5 mm 1 34 | Connector J10 ‘2 pin x 2.5 mm 1 35 | Động cơ đảo cánh MG1 MOTOR STEPPER 5 wires 1 36 | Điện Trở Ri 220G +5% 0.25W 1 37 | Điện Trở R2 4.7kQ +5% 0.25W 1 38 | Điện Trở R3 470Q +5% 025W 1 39 | Điện Trở R4 470Q +5% 0.25W 1 40 | Điện Trở R5 tk QO +5% 0.25W 1 41 | Điện Trở R6 470 Q +5% 0.25W i 42 | Điện Trở R7 470Q +5% 0.25W 1 43 | Điện Trở R8 10kQ + 5% 0.25W 1 44 | Điện Tre R9 10k Q + 5% 0.25W 1 45 | Đầu thu hồng ngoại | REV1 IrDA Reciever có mũ sắt chống nhiễu 1 | Tàn số 38kHz 46 | Rơle RL1 HJR-3FF-S-Z 1 47 | Role RL2 HJR-3FF-S-Z 1 48 | Role RL3 HJR-3FF-S-Z 1 49 | Rơle RL4 HJQ-15F-Z-S-H 1

50 | Nhiệt điện trở RT1 THERMISTOR 10k EC95 4_| Sensor nhiét 51 | Nhiét dién tro RI2 THERMISTOR 10k EC95 1 | Sensor chống đông

52 | VARISTOR RV1 14k561 1

B3 | Vỏ nhựa bọc RV1 si

54 | Phim bam SW1 SW TACT-SPST/SM 1 | Emergency Button

55 | Biến Áp T1 TRANSFORMER 1 | 12V AC Out

56 | IC U1 ULN2003A 1 | Đệm công suất

67 | Ic U2 ULN2003A 1 Đệm công suất

Trang 12

Phòng Công nghệ Tự động hố- Viện Cơng nghệ thông tin

Đề tài KC-03-20

2 PHAN MEM, NGUYEN LY VA GIAI THUAT

Chương trình điều khiển máy điều hoà nhiệt độ gồm có các vấn đê chính là: + Giao tiếp với các đầu vào nhận lệnh và xử lí các lệnh đó

+ Do các thông số nhiệt độ hiện tại và so sánh với các thông số đặt trước để đưa ra quyết định điều khiển

+ Đo đếm đồng hồ thời gian thực dùng cho các lệnh và quyết định điều khiển theo thời gian

+ Các thuật điều khiển theo các chế độ đặt trước của người dùng

Bốn vấn để chính trên chính là cốt lõi của phần mềm điều khiển ngoài ra

còn có các module giao tiếp đầu vào và đầu ra, phục vụ cho các đầu thu thập số liệu vào và các đầu điều khiển ra Các đầu vào và ra sẽ được sử lí theo các

nguyên lí đo và điều khiển

Trong cả bốn vấn đẻ cốt lõi cần giải quyết của phần mềm điều khiển thì ta

thấy tất cả các module đó đều có thể can thiệp vào trạng thái hoạt động của máy

Chính vì vậy vẫn đề được đặt ra là tất cả các module đó phải can thiệp được vào vấn đề điều khiển các đầu ra của hệ thống, nhưng không được chồng chéo làm

vô hiệu hoá nhau cũng như không làm rối loạn điều khiển Bên cạnh đó để đảm

bảo sự kịp thời trong vấn để điều khiển, phải được phân chia các quá trình cũng

như xen kẽ để thực hiện một cách kịp thời các quá trình đó

Với vấn đề đặt ra như vậy, ý tưởng được xây dựng là các trạng thái hoạt động, điều khiển được xây dựng qua hệ thống các thanh ghi xác lập trạng thái hoạt động Cùng một loạt các thanh ghỉ hỗ trợ dùng trong các trường hợp lưu giữ

Trang 13

Phòng Công nghệ Tự động hố- Viện Cơng nghệ thông tin Đề tài KC-03-20 power_remote 00100000 0x20 Temper_flag 00000000 0x40 Remote_flag 10000000 0x80 If Command_Reg_1 XXXX XXXX OxXX RunMode Auto 0000 0001 0x01 RunMode Cool 0000 0010 0x02 RunMode Dry 0000 0100 0x04 RunMode Fan 0000 1000 0x08 Speed Auto 0001 0000 0x10 Speed High 00100000 0x20 Speed Medium 01000000 0x40 Speed Low 1000 0000 0x80 it Command_Reg 2 XXXX XXXX OxXX Run_start 0000 0001 0x01 Start run Oscilation Auto 0000 0010 0x02 Oscilation Con 00000100 0x04 Oscilation Stp 0000 1000 0x08

Power start 00010000 0x10 Power on Start

Flag 1 0010 0000 0x20 Run Mode Auto /Dry start

Power_Stop 01000000 0x40 Power off Start

MotorDr 1000 0000 0x80 Motor Direction

PRBS EROS OE IEDR OR IEE ISOS OSI ISSO IORIORI TOC OSIOR I aI EI

Ngoài ra còn có các thanh ghi phụ trợ dùng dé backup trang thái của một

số trạng thái điều khiển khác nhau trong các lệnh tạm thời Như tạm dừng, tạm

ngắt, tạm chuyến chế độ

Econ Mig_Reg dùng tạm chuyển chế độ sang Economy va Mightiness Dung phy tro cho thanh ghi Power_Timer_Reg

Rest_reg dùng trong chế độ tạm dừng máy nén khi nhiệt độ hạ dưới mức yêu cầu Phụ trợ cho thanh ghi Command_Reg_ 1

Pause_reg_1, Pause_reg 2 ding trong chế độ tạm nghỉ trong các chế độ

điều khiển Run Mode của người dùng, hai thanh ghi tạm này phụ trợ cho thanh

ghi Command_Reg 1 và Command_Reg_2

Và khá nhiều các biến trạng thái khác được sử dụng kết hợp cho xử lí các giải thuật của chương trình

Trang 14

Phòng Công nghệ Tự động hố- Viện Cơng nghệ thông tin

Đề tài KC-03-20

Các thanh ghỉ này sẽ xác lập trạng thái hoạt động của máy để xác lập các đầu ra thông qua các module điều khiển đầu ra Các lệnh đầu vào cũng can thiệp trực tiếp lên các thanh ghi này, và các module thực hiện các giải thuật điều khiển cũng tác động lên nó

2.1 CÁC MODULE ĐẦU VÀO

2.1.1 ĐO NHIỆT ĐỘ ĐA KÊNH, NGUYÊN LÝ VÀ THUẬT TOÁN

Trên board điều khiển có hai kênh nhiệt độ, một kênh xác định nhiệt độ

phòng, kênh còn lại xác định nhiệt độ mặt giàn lạnh đề phòng hệ thống phân

phối nhiệt trục trạc, gây đóng băng trên bề mặt máy Nhiệt độ được đo qua hai cảm biến nhiệt điện trở Nên khi xác định được giá trị điện trở của nhiệt điện trở

thì ta cũng xác định được nhiệt độ bao quanh nhiệt điện trở đó Một ADC được dùng phối hợp với một bộ phân kênh sẽ giúp giải quyết vấn đề này

Nguyên !í: Hai cổng P0.3 và P 0.5 là hai chân cấp áp tham chiếu, khi đặt

lên hai nhánh của mạch một hiệu điện thé thì sẽ có một dòng chạy qua và tạo áp rơi trên thermoistor Với điện trở tham chiếu có gia tri biết trước, ta xác định

được dòng chạy qua nhánh mạch, đồng thời ta có được áp rơi trên các thermistor đo được trên port P 0.1 và P0.7 thì tương ứng sẽ xác đính được điện trở hiện thời

Trang 15

Phòng Công nghệ Tự động hố- Viện Cơng nghệ thông tin :

Đề tài KC-03-20

Thermistor đùng loại 10k chuẩn tại 25°C

Thông qua bộ phân kênh ta sẽ lần lượt đo được các gia tri Vo, Vi, V2, V3 có: cư, V.-V, 7=] ,-E: Ra man = Rol «xe: = Al

Qua công thức này cho thấy, độ chính xác và ôn định của điện trở tham chiều rất ảnh hưởng tới kết quả của thermistor đo được Giải thuật: Start Measure ADC Sample V0= VỊ= Vv2= VA= SteinHart-Hart / equation T1= T2= Sau khi có được Rue„iso, ta sẽ tính được nhiệt độ của điểm đo dựa trên đặc tính của sensor

Loại thermistor được dùng ở dây là loại NTC Thermistor EC95, độ nhạy

là -4%/°C, độ chính xác có thể đạt được là +0.1 °C, giải đo là -80°C —> +150%C

Trang 16

Phòng Cơng nghệ Tự động hố- Viện Công nghệ thông tin Đề tài KC-03-20

Để tính toán được nhiệt độ cần thiết có thể sử dụng hai phương pháp tra bảng hoặc tính tốn theo cơng thức SteinHart Hart

Với phương pháp tra bảng thì sẽ tốn bộ nhớ hơn tuy nhiên tốc độ cho ra kết quả nhanh hơn Với phương pháp SteinHart Hart thì tiết kiệm bộ nhớ hơn tuy nhiên tính toán phức tạp hơn, chậm hơn

Dựa trên yêu cầu thì phương pháp tỉnh toán SteinHart Hart được lựa chọn ở đây Và được tính toán như sau:

7 “ae { Rr] * {n® ha) ° (In: fas)

Trong đó T là nhiệt độ thực tế cần tinh toán Rt là điện trở đã đo và tính được, R¿; là điện trở chính xác Các hệ số a, b, c, d được tra theo bảng sau: Rt/ Ry 5 a b c d 68.600 to3.274 3.3538646E-3 | 2.5654090E-4 | 1.9243889E-6 | 1.0969244E-7 3.274 to 0.36036 3.3540154E-3 | 2.5627725E-4 | 1.9621987E-6 ¡ 7.3003206E-8 0.36036 to 0.06831 | 3.3539264E-3 | 2.5609446E-4 | 2.0829210E-6 | 4.6045930E-8 0.06831 to 0.01872 | 3.3368620E-3 | 2.4057263E-4 | -2.6687093E-6 | -4.0719355E-7 Ụ

Áp dụng công thức trên và bộ hệ sô đã cho thì kết quả thu được sẽ chính

là nhiệt độ cân đo

Chương trình thực hiện đo nhiệt độ trên hai kênh từ một ADC:

JJ*YYEEECEEEkXEEOEBOESOIOECEE-IOE-KEXCIOECECHECEHOEEEIOICICECECICEOICICEIOCEIOIOESCECIOEXEIOECEAOEIOECEHOIO

void Mes_dew_tem(void) { BYTE i;

int V0,V1,V2,V3; // Voltage measure

float rR; // Resistance real measure

Trang 18

Phòng Công nghệ Tự động hố- Viện Cơng nghệ thơng tin Đề tài KC-03-20 //Findout suitable coefficients Rnom = (float)rR/R25; rLogR = log(Rnom); i=0; while(Range[i] > Rnom){ Ar = Afi); Br = BỊ]; Œr = CỊI]; Dr = DỊ; 1+t; } //Temperature with SteinHart-Hart equation rT =( 1Art(Br*rLogR)+(Cr*pow(rLogR,2))+(Dr*pow(rLogR,3)) ))-273.15; Cur_Dew = (double)(rT); } J [FEAR A AE 8 RA A AE OH HR HR HR RE CR RR BK RH AE HE EE HC A A Ak HH HH

Kết quả trả về là hai giá trị nhiệt độ hiện tại Cur_Tem và Cur_Dew

2.1.2 NHAN LENH TU NUT BAM VA DIEU KHIEN TU XA

Cả nút bấm và đầu nhận infrared đều có trạng thái thường cao Vì vậy cả

hai đều có thể sử dụng ngắt GPIO dạng falling edge dé nhận dang

Với nút bắm thì khi có ngat falling edge cia đầu vào nút bấm thì nó sẽ xử lí lệnh Botton_Power Can thiệp thanh ghi lệnh dựng cờ báo Botton_Power

Cũng như vậy, đầu thu hồng ngoại cũng được giao diện qua ngắt GPIO Tuy nhiên, ngắt GPIO mới là bắt đầu của quá trinh nhận dạng lệnh từ remote control : Nguyên lý của lệnh từ điều khiển từ xa: 400 us 200 us GOO us 200 us 500 us

Start bit bit 0 bit 1

Nguyên lí trên có đặc điểm là: Nếu ta sử dụng một bộ đếm để đếm được

khoảng hạ thấp của cdc bit và qui đối theo thời gian thì có thể xác định được bit

Trang 19

Phòng Công nghệ Tự động hoá- Viện Công nghệ thông tin

Đề tài KC-03-20

start, bit 0, bit 1, hơn nữa số bit số liệu sẽ chủ động được chứ không giới hạn 6 8 bit Phu thuộc theo giới hạn của tập lệnh điều khiển Do yêu cầu của tập lệnh

điều khiển trong ứng dụng này, độ dài lệnh là 8 bit được lựa chọn, 8 bịt đủ đáp ứng cho độ của tập lệnh

Giải thuật: Sử dụng một ngất GPIO dé nhận diện sự bắt đầu khoảng ha

thấp của mối bit, đồng thời một counter được kích hoạt để đếm độ rộng của

khoảng lặng đó (thường chọn tần số đếm ở 38 kHz) Khi kết thúc khoảng lặng

thi dung ngắt counter dé nhận lại giá trị counter, đựa vào đó để nhận diện đó là

bit 0 hay 1 Bat đầu tir bit start đến khi đếm đủ tổng số 9 bit (ké ca start bit) thi

có được một lệnh hoàn chỉnh và chuyển cho module xử lí lệnh Remote Control, Botton Interrupt GPIO int of Botton Port nose GPIO int of !R Port PowerTimerReg Buzzer, Led, Temvalue Bit 0, Bit 1: 1+=1 Start_bit: i= 1 CommandReg = PowerTimerReg = Buzzer, Led, Temvalue

Tuy nhiên nếu xử lí trực tiếp lệnh trong ngắt sẽ làm cho ngắt quá dài và có

thể làm chương trình trở nên không ổn định Chính vì vậy có thể dựng cờ báo

lệnh để chương trình xử lí ngoài vòng ngắt Nhưng nếu hết một vòng quét

chương trinh mới xử lí cờ lệnh thì lại quá lâu, có thé là các lệnh chưa kịp xử lí đã

Trang 20

Phòng Cơng nghệ Tự động bố- Viện Công nghệ thông tin

Đề tài KC-03-20

bị lệnh khác chèn vào Để khắc phục, module kiểm tra cờ lệnh và xử lí lệnh sẽ được cài vào rải rac trong các quá trình khác đề xử lí đan xen trong chương trình Tăng tính kịp thời của vấn đề xử lí lệnh lên bằng cách tăng số lần kiểm soát trong một chu kì quét của chương trình

Chương trình ngắt GPIO kiểm tra và kiểm tra nguồn ngắt (Botton / Infrared) để chuyển tiếp chương trình:

đjPE XE XS XE E SE SE đc 4E 4O Ác 4C SH SCSE đt Ác 4C dc SE 4C OR ICICI AICI EER HK

Trang 21

Phòng Công nghệ Tự động hố- Viện Cơng nghệ thơng tin

Đề tài KC-03- 20

Chương trình ngắt GPIO đã khởi động bộ đếm timer khi nguồn ngất là

infrared Khi hệt khoảng lặng của bit ngắt Capture của bộ đêm được kich hoạt đề sử lí

Trang 22

Phòng Công nghệ Tự động hố- Viện Cơng nghệ thông tin Đề tài KC-03-20 RETURN: or reg[INT_MSKO0], INT_MSK0_GPIO or reg{INT_MSKO], INT_MSK1_DCB03 ‘or reg[INT_MSK0], INNT_MSK0 SLEEP nop call _Timer8_Stop pop xX pop A reti

| PERRO ARICA ROIIOO I IE IOC RIOR ICICI AICI ICI RCI ICICI ICICI AA ICR AR A AE

Trong quá trinh xử lí ngắt cho Infrared tất cả các ngắt khác: GPIO Int, Real Time Int, Sleep Timer Int sẽ bị khoá và chỉ được mở lại khi đã thực hiện xong ngắt này để tránh tranh chấp ngắt gây sai lệch số liệu thu được

Giá trị mã lệnh thu được sẽ được xử lí trong module ngoài ngắt remote_control() dé tránh làm ngắt quá dài

2.1.3 BONG HO THOI GIAN THUC VA WATCHDOG TIMER

Đồng hồ thời gian thực dùng đếm thời gian hệ thống Nguyên li thực hiện lả dùng một counter đếm và dùng ngất counter dé tang giá trị thời gian sau mỗi lần ngắt Giá trị thời gian đếm được sẽ được xử lí trong các module chính giải quyết về giải thuật xử lí thời gian

Chương trình phục vụ ngắt thời gian rất đơn giản: -

(JE XS X CEC IA IEICE dt ĐC s 4c SE dc + SE ok se 4 4d £ €4 4 ĐC X 4k tế

RealTime Clk_ISR:

;@PSoC_UserCode_BODY@ (Do not change this line.)

Trang 23

Phòng Công nghệ Tự động hoá- Viện Công nghệ thông tin Dé tai KC-03-20 ; Insert your custom code above this banner :@PSoC_UserCode_END@ (Do not change this line.) reti

| [A HAIR AAA RAR AA EAR RATA AREER A IIA TO TO IE TC AACE ACAI TCA HEA TAA A AR A AH A OA

Ngắt Sleep Timer có tính chất chu kì tương tự khi chọn nó ở tan sé 1 Hz,

tuy nhiên không thể sử dụng ngắt này cho đồng hồ thời gian thực với độ chính xác cao, vì ngắt này có mức độ ưu tiên thấp nhất, dễ bị làm sai lệch bởi các ngắt khác Tuy nhiên đây là ngắt cần thiết dùng cho WatchDog WatchDog sẽ tự động reset hệ thống khi vì một lí do nào đó mà hệ bị treo (chương trinh lỗi, nhiễu loạn ) Khi hệ thống bị time_out khoảng 3 chu kì sleep timer mà không Clear WatchDog thi hé thống sẽ auto reset Day là một tính chất cần có dé hệ thống có thể chạy ôn định mà tránh phiền phức nhất cho người sử dụng

Chương trình Watch Dog được ghép với ngắt Sleep Timer Int:

(PS SE CE # Ệ É đc đc 4€ CC SE 4CSE RIGGS OCICS ISIC ICCC ACI AG ICI HC IO IK ia] ka ok

SleepTimer_ISR:

Trang 24

Phòng Công nghệ Tự động hố- Viện Cơng nghệ thơng tin

Đề tài KC-03-20

2.2 CAC MODULE DIEU KHIEN DAU RA

2.2.1 CAC DEN CHi THI, QUAT GIO VA MAY NEN

Các đèn chỉ thị có công suất nhỏ nên được điều khiến trực tiếp mà không

cần sử dụng tới tầng đệm công suất Tuy nhiên, đèn được treo ở mức thường cao cho nên đề bật đèn ta cần đưa chân điều khiển về mức thấp Điều khiển theo mức logíc ngược Ưu điểm của phương thiết kế mạch điều khiển thường cao là giảm tải cho các chân điều khiển của mC Đầu ra chỉ tiêu công suất khi chân điều khiển hạ xuống mức thấp, chính vì vậy giảm tải cho mC, nếu trong trường hợp công suất tiêu hao khi mức điều khiến cao thì có thể xảy ra trường hợp mức áp duy trì không đủ, non áp khi đầu ra cần một công suất tương đối Tuy nhiên, điêu đó chỉ có ý nghĩa khi cần giao tiêp ngoài với mức logic cần ôn định, và với các mC có công suất tải trên các chân không được tốt Đối với PSoC cũng như

trong trường hợp điều khiển LED chỉ thị thì điều này không có nhiều ý nghĩa vì

công suất tải của PSoC rất tốt cũng như mức logic đối với LED là không quân

trọng

Chương trình điều khiển LED chỉ thị đầu ra khá đơn giản:

_ PRR XE co E SE ức ác c 4oEcC Rk kak a oo oe ook ake a fe aco a fk fa a ok of aa a MP doc đc #define timer_led (0x02) z #define economic_led (0x08) ⁄ #define mightness led (0x20) #define power_led (0x80) #define all_led (OxAA) Ht void LedOff(BYTE IDL) { PRTIDR |= IDL; } it

void LedOn(BYTE IDL) {

PRTIDR &= ~IDL; }

[PERRO IO ICICI ICO Ác dc Ác c đc SE 4c 4c 4 Ác ĐC St kc đo dc I CK Ác đe ẹ đc A f dc ICR IK ae

Các đầu ra điêu khién relay dong cat dong co quat gió và động cơ nén đòi hỏi công suất điều khiển lớn hơn, chính vì vậy cần có tầng đệm công suất

Trang 25

Phòng Công nghệ Tự động hoá- Viện Công nghệ thông tin

Đề tài KC-03-20

Đệm công suất ở đây sử dùng IC ULN2003, IC này có thể chịu dòng tới

500 mA, đầu ra đảo(hỉnh vẽ) Do đó mặc dù các relay cũng được treo thường cao nhưng lại được điều khiển theo mức logic thông thường, mức cao sẽ đóng

relay

Cả động cơ nén và động cơ quạt gió đều là loại động cơ AC Động cơ nén chỉ có một cấp độ duy nhất tuy nhiên động cơ quạt gió có 3 cấp độ khác nhau Có thể thay đổi được tốc độ nhờ 3 cấp độ đó có số vòng dây khác nhau Nên cần điều khiển 4 trạng thái cho máy nén và quạt gió

Chương trình điều khiển đóng cắt quạt gió và máy nén thông qua điều

khiển các relay rất đơn giản chỉ là điều khiển các trạng thái cổng đầu ra

[PEACE SIO IO IOI IOI ICI cá Íc ác Ác dd dc đc dc dc CÁ c dc dc oe oe oe eee ee de ke fe ak ae ka #define fan_low #define fan_medium #define fan_high #define compressor #define fan_all #define fan_comp 1B 2B 3B 4B 5B 6B 7B 16 15 14 13 12 1 10 Diện ULN20034 (0x01) (0x04) (0x10) (0x40) (0x15) (0x55) If

void FanOn(BYTE IDF){

Trang 26

Phòng Công nghệ Tự động hố- Viện Cơng nghệ thông tin Đề tài KC-03-20 PRT2DR |= IDF; } it void FanOff(BYTE IDF) { PRT2DR &= ~IDE; } Of [RP a ee ee ee oe Re of ee eo ee Ế SE dẸ Ệ E dự sÉ dỆ tệ đệ dc đ sk đệ E sÉ É AE 2E dE SE dự dế d ee ee cứ d dế dế dịc Ác dE 4 2E s Á€ XE ÚC

Cần đảm bảo các relay điều khiển động cơ quạt gió không được cùng đóng nhiều hơn 1 trạng thái Động cơ máy nén cần được chú ý vì nó ít thay đôi trạng thái hơn quạt gió nhưng không được khởi động nhiều lần với thời gian quá ngăn vì có thê làm tăng ap trong máy nén gây nguy hiểm

2.2.2 ĐỘNG CƠ ĐẢO CÁNH GIÓ

Trang 27

Phòng Công nghệ Tự động hố- Viện Cơng nghệ thông tin

Đề tài KC-03-20

Điều khiển động cơ bbước là sự điều khiển phối hợp các pha A,B,C,D

sao cho động cơ quay, có chiều và tốc độ như ta mong muốn Ưu điểm của động cơ bước là:

+ Độ chính xác cao trong điều khiển chuyên dộng + Không cần sensor tốc độ

+Độ ổn định cao, không có những điểm mất ôn định nghiêm trọng

Trang 28

Phòng Công nghệ Tự động hoá- Viện Công nghệ thông tin Đề tài KC-03-20 +Bước 3: +Bước 4:

Trang 29

Phòng Cơng nghệ Tự động hố- Viện Công nghệ thông tin Đề tài KC-03-20 Bước 3: Bước 4: Phương pháp này có độ phân giải thấp nhất Nhưng khả năng ỗn định vị trí là tot nhat

+ HALF STEPPING — COMBINATION OF WAVE AND FULL STEPPING:

Trang 31

Phòng Cơng nghệ Tự động hố- Viện Công nghệ thông tin Đề tài KC-03-20 Bước 8: al # Ie fi

Phương pháp này có được sự ưu việt của cả hai phương pháp trên Ôn định

ở tốc độ cao, momen lớn Độ phân giải tốt

Trong trường hợp muốn quay ngược lại đảo lại các bước cũng theo thứ tự trên Đúng với cả ba phương pháp

Chương trình điều khiên động cơ:

Động cơ đảo cánh gió được điều khiển theo phương pháp thứ ba là phương pháp có nhiều ưu điểm nhất Với chương trình điều khiển thực hiện cho cả hai chiều xuôi và ngược chiều kim đồng hồ /E XE SE HCXETE ĐC dc dc đc Ác Úc dc đc 4E ST Í co TE SE ck scare ok fi ae Ca ek ak ak i a A Ca #define step_motor_0 (0x01) #define step_motor_1 (0x04) #define step_motor_2 (0x10) #define step_motor_3 (0x40) #define step_motor_all(0x55) Ne void LouverUp(INT Pos, BYTE Speed) {

Trang 32

Phòng Công nghệ Tự động hố- Viện Cơng nghệ thơng tin Đề tài KC-03-20 module_delay_l(Speed); PRTIDR &= ~step_motor_1; module_delay_1(Speed); PRT1DR |= step_motor_3; module_delay_l(Speed); PRTIDR &= ~step_motor_2; module delay l(Speed); Louver_Pos++; } Louver _Pos ; PRTIDR &= ~step motor_ all; } it

Trang 33

Phòng Công nghệ Tự động hố- Viện Cơng nghệ thơng tin

Đề tài KC-03-20

PRTIDR &= ~step_motor_all;

} [PRA RAE He A A A AR of A EE EE ee FE 2 FF BB A ACA A ee EH Hee Oh A A a HH Chương trình thực hiện các bước điều khiển như nguyên lí đã xây dựng Cần xử lí thêm việc ngắt toàn bộ pha của động cơ khi ra khỏi module điều khiển nảy Để tránh bị nóng động cơ Do quá trinh đảo cánh gió là quá trình kéo đài và liên tục nên quá trình này được chia nhỏ và xử lí từng phần nhỏ trong ca chu kì vòng quét, đồng thời phải lưu lại thông tin về vị trí và hướng quay cho lần hoạt động tiếp theo

2.2.3 MODULE DIEU KHIỂN LOA TÍN HIEU

Trang 34

Phòng Công nghệ Tự động hoá- Viện Công nghệ thông tin

Đề tài KC-03-20

2.3 CÁC MODULE XỬ LÝ THUẬT TOÁN CHƯƠNG TRÌNH CHÍNH 2.3.1.MODULE XỬ LÝ THỜI GIAN

Module xử lí thời gian dùng cập nhật thời gian, xử lí các khoảng thời gian

hẹn giờ bật tắt, xử lí khoảng thời gian bắt đầu bật máy và thời gian bắt đầu tắt

máy phục vụ cho vấn để giải quyết các thuật toán bật/tắt máy Cập nhật thời gian hệ thông để phục vụ các module khác

Tuỳ theo trạng thái của máy là đang bật hay tắt máy mà có các thông số

cần cập nhật khác nhau Dựa vào đó có thể chia ra hai dang cap thời gian khi

Trang 35

Phòng Công nghệ Tự động hố- Viện Cơng nghệ thơng tin Đề tài KC-03-20 Chương trình; [PRISE O ICI TSCA RICCI TEI ACAI ICR ARR IO ACR ICICI I RO OR AACR A I I A HHA AA AH HR void On_Update_time(void){ if (ticktack != 0){ Cur_Time += ticktack; if(Cur_Time > 0x15179){ Cur_Time = 0; } if ((Command_Reg 2 & Power_start) != 0){ Run_Time -= ticktack; if ((Run_Time > OxFF)|(Run_Time < 1)){ Command_Reg 2 &=~Power_start; } } if (Power_Timer_Reg & Sleep_timer) != 0){ Set_Time_ Of -= ticktack; if ((Set_Time_Off > 0x8CA0)|(Set_Time_Off < 0x01)){ asm("nop"); Power_Timer_Reg &= ~Sleep_timer; code_value = 0x02; Power_Timer_Reg |= Remote_flag; } } if (Power_Timer_Reg & Mightiness) != 0){ if (HiPower_Time > Cur_Time){ HiPower_Time = Cur_Time; } if (Cur_Time - HiPower_Time > 900){ code_value = 0x1A; > Power_Timer_Reg |= Remote_flag; 7 } } ticktack = 0; } return; }

//Y* X#E XI ®# XE 4CSE SE K É 44C 4 4E SE S SE fE 4E c4 € c E Úc đc ck dc đc E c SE E St E SE c E4 +

Đối với module offime update dùng khi máy ở trạng thái tắt thì không cần cập nhật thời gian hẹn giờ tắt nữa, nhưng thay vì đếm khoảng thời gian bắt đầu

mở máy thì đếm ngược khoảng thời gian bắt đầu tắt máy

Trang 37

Phòng Công nghệ Tự động hố- Viện Cơng nghệ thông tin

De tai KC-03-20

2.3.2 CAC MODULE XU LY CHE DO HOAT DONG 2.3.2.1 MODULE XU LY CHE DO CHO SPEED

Speed của quạt gió có các chế độ chạy:

Xx "AUTO - HIGH - MEDIUM - LOW —”

«+

Trong đó chỉ chế độ Auto là có cách chạy biến đổi:

° AUTO: Ở chế độ này quạt gió sẽ chạy lúc mạnh lúc yếu mô phỏng như gió trời, cứ sau 10 phút tốc độ quạt lại được thay đổi theo chu ki: High - Medium — Low

e HIGH, MEDIUM, LOW: G cac chế độ này tốc độ quạt là xác

định và được duy trì ôn định

Vì vậy xây dựng chế độ phức tạp hơn các chế độ điều khiển trực tiếp kia

đôi chút và có dựa vào thời gian hệ thống đề xử lí

Trang 38

Phòng Cơng nghệ Tự động hố- Viện Công nghệ thông tin Đề tài KC-03-20 FanOn(fan_low); retum; } Fan Time = Cur_Time; J [RRR IR I I TH A HR HE XS dc HE A A ee He ee he eR Be ee ee ke Ae ko ae

Các chế độ của quạt gió sẽ được điều khiển qua module chuyên trách Fan Mode Module nay kiém tra thanh ghi xác định các chế độ đặt của quạt gió từ

đó đưa ra quyết định điều khiển Sơ đỗ chương trình: Start Fan Mode Ỳ Reading Command for select mode t t Auto High Med Low ỳ Ỳ ! ! 10" FanOn(fan_high) 10" FanOn(fan_medium) FanOn(fan_high) FanOn(fan_medium) - FanOn(fan_low) 10° 10” FanOn(fan_low) oe eS’

Chương trình lựa chọn chế độ chạy

Trang 39

Phòng Công nghệ Tự động hố- Viện Cơng nghệ thông tin Đề tài KC-03-20 if (Command_Reg_1 & Speed_medium) != 0){ FanOn(fan_medium); Fan_ Time =0; return; } if (Command_Reg_1 & Speed_low) != 0){ FanOn(fan_low); Fan_Time =0; return; } FanOff(fan_all); } | fA Ae Re ke A eRe He AR A Ee ee A SE 4E Ý ĐC E Đ + A A OR É %

2.3.2.2 MODULE XU LY CHE DO CHO OSCILATION

Oscilation là chức năng thực hiện việc đảo cánh gió Có thể có các chế độ đảo cánh gió sau :

& AUTO - CONTINUOUS - STOP —™

y «

Cửa gió được chia ra 6 vị trí Vị trí đóng hết, mở hết và 4 vị trí trung gian Khi tắt mày cánh gió luôn ở vị trí đóng hết

Cánh đảo gió được điều khiển ở 3 chế độ và theo các vị trí trên:

° AUTO: Ở chế độ này cánh gió sẽ đảo kép sắc vị trí Sau khi cánh gió được mở ra khỏi vị trí đóng hết sẽ đảo theo trình tự: từ vị trí 1 lên 3, xuống 2, lên 4, xuống 3, lên 5, sau đó trong quá trình xuống sẽ đảo ngược lại cũng như vậy Như vậy trong một quá trình lên hoặc xuống mỗi vị trí thường được đảo qua 2 lần tạo ra những luồng gió có cường độ thay đổi như gió trời chứ không rải đều như ở chế độ liên tục Cánh gió sẽ đảo theo chu kì 3 phút chạy, 1 phút dừng

e CONTINUOUS: Ở chế độ này cánh gió sẽ đảo đều và liên tục từ

trên xuống dưới từ vị trí I lên 5 và ngược lại

° STOP: Khi nhận được lệnh này, cánh dao gid sé dimg 6 1 trong 5 vi trí gần nhất tuỳ thuộc theo quá trính đang đảo lên hay xuống

Sơ đồ giải thuật : (next page)

Ngày đăng: 06/10/2023, 10:49

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN