Bìa
LỜI CẢM ƠN
MỤC LỤC Trang
LỜI MỞ ĐẦU 1
1.1. Tổng quan về thang máy. 2
1.1.1. Giới thiệu: 2
1.1.2. Các bộ phận chính của thang máy: 3
1.2. Nguyên lý làm việc của hệ thống điều khiển. 4
1.3. Các thông số cơ bản và tính toán năng suất của thang máy. 5
Chương 2 – LÝ THUYẾT BỘ NGHỊCH LƯU 8
2.1. Giới thiệu bộ nghịch lưu 8
2.2. Bộ nghịch lưu áp 8
2.3. Bộ nghịch lưu áp một pha 9
2.4. Bộ nghịch lưu áp ba pha 13
CHƯƠNG 3 – GIỚI THIỆU VỀ VI ĐIỀU KHIỂN PIC18F 16
3.1. Giới thiệu tổng quát 16
3.1.1. Cấu trúc phần cứng 16
3.1.2. Các chức năng của chân: 17
3.2. Cấu trúc bộ nhớ: 21
3.2.1. Tổ chức bộ nhớ chương trình: 21
3.2.2. Tổ chức bộ nhớ dữ liệu 22
3.2.3. Data EEPROM: 23
3.3. Các PORT I/O 25
3.4. Bộ định thì trong PIC: 28
3.5. NGẮT: 33
3.5.1. Giới thiệu tổng quát: 34
3.5.2. Các thanh ghi điều khiển: 35
3.6. Các module của PIC18F4331: 37
3.6.1. Module PWM: 37
3.6.2. MODULE I2C,SPI: 44
3.6.3. Module A/D CONVERT: 46
Chương 4 – THIẾT KẾ PHẦN CỨNG 49
4.1. Sơ đồ khối tổng quát về hoạt động của mạch . 51
4.2. Giới thiệu chi tiết về các khối điều khiển. 51
4.2.1. Mạch nguồn. 51
4.2.2. Mạch lái. 51
4.3. Mạch điều khiển: 54
4.3.1. Mạch nghịch lưu áp 54
4.4. Sơ đồ mạch động lực và mạch điều khiển trong Orcard. 56
4.4.1. Mạch động lực. 56
4.4.2. Mạch điều khiển. 61
4.5. Lưu đồ giải thuật chương trình 62
4.6. Lập trình cho PIC18F4331 63
CHƯƠNG 5: KẾT QUẢ ĐẠT ĐƯỢC 73
5.1 Mô phỏng PSIM 73
5.2. Sơ đồ mạch thực tế 75
5.3. Dạng sóng áp dây thu được trên dao động ký. 77
TÀI LIỆU THAM KHẢO 78
78 trang |
Chia sẻ: maiphuongdc | Lượt xem: 1632 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế bộ UPS cứu hộ cho thang máy, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
(2.23)
Với : ,, - điện áp pha tâm nguồn
,,- điện áp dây tải
(2.24)
Quá trình điện áp ngõ ra của bộ nghịch lưu áp 3 pha sẽ được xác định khi xác định được điện áp trung gian ,,.
Qui tắc kích đối nghịch : cặp công tắc chung nút tải được kích đóng theo qui tắc đối nghịch nếu như hai công tắc trong cặp luôn ở trạng thái một được kích đóng, một được kích ngắt. Trạng thái cả hai cùng kích đóng (trạng thái ngắn mạch điện áp nguồn) hoặc cùng kích ngắt không được phép.
Nếu biểu diễn trạng thái được kích của linh kiện bằng giá trị 1 và trạng thái khoá kích bằng 0, ta có thể viết phương trình trạng thái kích của các linh kiện trong mạch nghịch áp 3 pha như sau:
Nếu công tắc lẻ được đóng, áp pha tâm nguồn có giá trị = +U/2
Nếu công tắc chẵn được đóng, áp pha tâm nguồn có giá trị = -U/2
Hệ quả:
Điện áp trên tải được xác định hoàn toàn không phụ thuộc tính chất tải nếu biết giản đồ kích đóng các công tắc và áp nguồn. Từ đó có thể điều khiển điện áp ngõ ra của bộ nghịch lưu bằng cách điều khiển giản đồ đóng cắt các công tắc bán dẫn.
Nếu không được kích đóng theo quy tắc đối nghịch, điện áp tải sẽ thay đổi phụ thuôc dòng điện tải và tham số tải.
Dạng dòng điện tức thời:
(2.25)
Thời gian chết (dead - time): là khoảng thời gian cần thiết áp đặt trong thời gian giản đồ đóng ngắt cặp linh kiện cùng pha tải, trong khoảng thời gian này hai công tác cùng pha tải sẽ bị khoá kích (ví dụ và ). Thời gian chết bắt đầu quá trình chuyển mạch của hai công tắc cùng pha tải để tránh xảy ra hiện tượng ngắn mạch nguồn. Do thời gian chết nhỏ không đáng kể, trong quá trình phân tích mạch nguồn, ta thường bỏ qua giai đoạn này.
CHƯƠNG 3 – GIỚI THIỆU VỀ VI ĐIỀU KHIỂN PIC18F
3.1. Giới thiệu tổng quát
3.1.1. Cấu trúc phần cứng
Coù caùc ñaëc ñieåm sau:
Ñaëc ñieåm
PIC18F458
Taàn soá ñònh möùc
DC-40Mhz
Boä nhôù laäp trình
16384 (byte)
Boä nhô laäp trình(instruction)
8192
Data memory(byte)
768
Data EEPROM memory(byte)
256
Nguoàn interrupt
34
I/O port
A,B,C,D,E
Timers
4
Modules capture/PWM
2
Pwm control
8 keânh
Motion Feedback module
1 QEL or 3*IC
Port noái tieáp
SSP,USART
A/D module(10bit-hight-speed)
9 input channels
Reset and delays
(PWRT, OST), MCLR (optional), WDT
Programmable low-voltage detect
Yes
Programmable brown-out reset
Yes
Instruction set
75 intruction
packages
40pin_dip vaø 44 pin_TQFP 44 pin-QFN
Caáu truùc phaàn cöùng toång quaùt beân trong cuûa hoï vi ñieàu khieån PIC 18FXX8:
3.1.2. Các chức năng của chân:
3.2. Cấu trúc bộ nhớ:
Bộ nhớ được chia làm 3 loại:
Bộ nhớ chương trình
Bộ nhớ dữ liệu
Data EEPROM
Bộ nhớ chương trình và bộ nhớ dữ liệu có thể truy cập đồng thời bởi các bus riêng
3.2.1. Tổ chức bộ nhớ chương trình:
Bộ nhớ chương trình có 21 bit và có khả năng lưu trữ đến 2MB, các véctơ ngắt nằm ở địa chỉ 0x000008 và 0x000018
3.2.2. Tổ chức bộ nhớ dữ liệu
Bộ nhớ dữ liệu là một Ram tĩnh. Mỗi thanh ghi chứa địa chỉ dữ liệu có 12 bit địa chỉ và được chia thành 16 bank thanh ghi mỗi bank chứa 256 bytes, 4 bit thấp của thanh chọn bank BSR . Bộ nhớ dữ liệu chia thanh ghi có chức năng đặc biệt SFR và thanh ghi đa dụng GPR. SFR dùng sử dụng để điều khiển và trạng thái các đối tượng điều khiển. GPR được sử dụng để lưu kết quả hoặc những tính toán trung gian.
Các thanh ghi có chức năng đặc biệt:
3.2.3. Data EEPROM:
Có thể xoá hoặc đọc bởi các toán hạng bình thường có 4 thanh ghi có chức năng đặc biệt có thể đọc hoặc ghi bộ nhớ chương trình và bộ nhớ dữ liệu. Đó là: EECON1, EECON2, EEDATA, EEDAR,EECON1 và EECON2.
EECON1: EEPROM CONTROL REGISTER 1
R/W-x R/W-x U-0 R/W-0 R/W-x R/W-0 R/S-0 R/S-0
EEFGD
CFGS
-
FREE
WRERR
WREN
WR
RD
Bit 7: EEFGD bit chọ flash hoặc data EEPROM.
=1 truy cập vùng nhớ flash program.
=0 truy cập vùng nhớ data EEPROM.
Bit 6: CFGS bit chọn cấu hình flash program/data EEPROM
=1 truy cập cấu hình hoặc tổ chức thanh ghi.
=0 truy cập flash EEPROM hoặc vùng nhớ data EEPRom.
Bit 5: không tác động
Bit 4: free
= 1 có thể xoá.
= 0 chỉ có thể thực thi việc ghi.
Bit 3: WRERR bit có thể xoá hoặc ghi.
= 1 toán hạng được ghi kết thúc sớm.
= 0 toán hạng được ghi được hoàn toàn bình thường.
Bit 2: bit cho phép ghi hoặc xoá.
= 1 cho phép chu kỳ ghi hoặc xoá.
= 0 ngăn chặn chu kỳ ghi hoặc xoá.
Bit 1: điều khiển ghi.
= 1 khởi đầu việc ghi hoặc xoá data EEPROM
= 0 chu kỳ ghi được hoàn thành.
Bit 0 : bit điều khiển đọc
= 1 đang thực hiện việc đọc.
= 0 đọc hoàn thành
EEDATA: Lưu giá trị cho đến khi toán hạng tiếp theo được thực hiện . Do đó, có thể đọc lệnh tiếp theo.
EEDAR: Thanh ghi địa chỉ có thể chứa 256 byte.
3.3. Các PORT I/O: Có tất cả 5 port và có thể được thanh ghi TRIS là port xuất hay port nhận. Sơ đồ hoạt động như sau:
3.3.1. Port A
Là thanh ghi hai chiều. Nếu bit TRISA bằng 1 thì port A là ngõ input ngược lại là ngõ output. Thanh ghi LATA là thanh ghi có thể đọc hoặc ghi được. Thanh ghi này lưu trữ giá trị xuất của port A.
Tên chân
Bit
Bộ đệm
Chức năng
RA0/AN0
0
TTL/ST
Vào/ra – ngõ vào là analog
RA1
1
TTL
Vào/ra – ngõ vào là analog
RA2
2
TTL
Vào/ra – ngõ vào là analog
RA3/PGM
3
TTL
Vào/ra – ngõ vào là analog, input capture kênh A
RA4
4
TTL
Vào/ra – ngõ vào là analog, input capture kênh B.
RA5
5
TTL
Vào/ra – ngõ vào là analog
OSC1
6
TTL/ST
OSC2 clock output or I/O pin
OSC2
7
TTL/ST
OSC2 clock input or I/O pin
Các chân RA: được tích hợp bởi ba chân ngõ vào capture và QEI.Các chân RA6 và RA7 được tích hợp chân giao động chính. Các chân RA và chân RA5 chuyển đổi A/D khi đặt hoặc xoá bit điều khiển trong thanh ghi ANSEL0 và ANSEL1.
Ví dụ: Movlw 0x00
Movwf TRISA; PORT A là port xuất.
Movlw 0xff
Movwf TRISA; PORTA là port nhập
3.3.2. Port B
Tên chân
Bit
Bộ đệm
Chức năng
RBO/INT
0
TTL/ST
Vào/ra – ngõ vào ngắt ngoài
RB1
1
TTL
Vào/ra – ngõ vào ngắt ngoài
RB2
2
TTL
Vào/ra – ngõ vào ngắt ngoài
RB3/PGM
3
TTL
Vào/ra – chân lập trình ở chế độ LVP
RB4
4
TTL
Vào/ra – với ngắt ngoài trên chân
RB5
5
TTL
Vào/ra – với ngắt ngoài trên chân
RB6/PGC
6
TTL/ST
Vào/ra – với ngắt ngoài trên chân
3.3.3. Port C
Tên chân
Bit
Bộ đệm
Chức năng
RC0/T1OSO/T1CKL
0
ST
Vào/ra – ngõ ra bộ dao động timer
RC1/T1OSL/ CCP2
1
ST
Vào/ra – ngõ vào bộ dao động timer/ ngõ vào xung timer 1
RC2 / CCP1
2
ST
Vào/ra hay ngõ vào capture 1 hay ngõ ra compare1/PWM1
RC3 / SCK / SCL
3
ST
Có thể là xung signal đồng bộ cho chế độ I2C và SPI
RC4 / SDI / SDA
4
ST
Chân nhận giao thức của I2C
RC5 / SDO
5
ST
Vào/ra – ngõ ra dữ liệu port serial đồng bộ.
RC6 / TX / CK
6
ST
Vào/ra – phát xung đồng bộ/bất đồng bộ.
RC7 / RX / DT
7
ST
Vào/ra – nhận xung đồng bộ/ bất đồng bộ.
3.3.4. Port D
Tên chân
Bit
Bộ đệm
Chức năng
RD0/PSP0
0
ST/TTL
Vào/ra – bit 0 của port parallel slave.
RD1/ SP1
1
ST/ TTL
Vào/ra – bit 1 của port parallel slave.
RD2/ PSP2
2
ST/ TTL
Vào/ra – bit 2 của port parallel slave.
RD3/ PSP3
3
ST/ TTL
Vào/ra – bit 3 của port parallel slave.
RD4/ PSP4
4
ST/ TTL
Vào/ra – bit 4 của port parallel slave.
RD5/ PSP5
5
ST/ TTL
Vào/ra – bit 5 của port parallel slave.
RD6/ PSP6
6
ST/ TTL
Vào/ra – bit 6 của port parallel slave.
RD / PSP7
7
ST/ TTL
Vào/ra – bit 7 của port parallel slave.
3.3.5. Port E
Tên chân
Bit
Bộ đệm
Chức năng
RE0/RD/AN5
0
ST/TTL
I/0 – ngõ vào điều khiển đọc ở chế độ port parallel slave hay ngõ vào analog.
RE1/WR/AN6
1
ST/ TTL
I/0 – ngõ vào điều khiển ghi ở chế độ port parallel slave hay ngõ vào analog.
RE2 / CS /AN7
2
ST / TTL
I/0 – ngõ vào điều khiển chọn chip ở chế độ port parallel slave hay ngõ vào analog.
Với CS = 1 thiết bị không được chọn.
S = 0 thiết bị được chọn.
3.4. Bộ định thì trong PIC: Có 4 bộ định thì
3.4.1. Timer 0:
Có các chức năng sau: bộ timer/counter 8 hoặc 16 bit có thể đọc hoặc ghi được phần mềm chuyên dụng có thể lập trình prescale được nguồn xung lock. Có thể được chọn từ bên ngoài hoặc bên trong, ngắt tràn từ ff-00H trong 8 bit và ffff-0000H trong chế độ 16 bit. Chọn cạnh nguồn cho xung clock, ngoài thanh ghi điều khiển TOCON
Sơ đồ thanh ghi TOCON
Bit 7 TMR0ON: Timer0 bit điều khiển on/off
Bit 7 TMR0ON: Timer0 bit ñieàu khieån on/off
1= Enables timer0
0 = Stops timer0
Bit 6 T016BIT: timer0 16 bit - control bit.
1 = timer0 được đặt cấu hình như 8-bit timer/counter.
0 = timer0 được đặt cấu hình như 16-bit timer/counter.
Bit 5 T0CS: Timer0 bit chọn nguồn clock cho timer
1 = Transition on T0CKI pin
0 = Internal instruction cycle clock (CLKO)
Bit 4 T0SE: Timer0 Source Edge Select bit
1 = Increment on high-to-low transition on T0CKI pin
0 = Increment on low-to-high transition on T0CKI pin
Bit 3 PSA: Timer0 Prescaler Assignment bit
1 = TImer0 prescaler is NOT assigned. Timer0 clock input bypasses rescaler.
0 = Timer0 prescaler is assigned. Timer0 clock input comes from rescaler output.
Bit 2-0 T0PS2:T0PS0: Timer0 Prescaler Select bits
111 =1:256 prescale value
110 =1:128 prescale value
101 =1:64 prescale value
100 =1:32 prescale value
011 =1:16 prescale value
010 =1:8 prescale value
001 =1:4 prescale value
000 =1:2 prescale value
Chế độ 8 bit: Hoạt động ở chế độ này khi bit T0CON =1 và cờ ngắt sẽ bật khi timer tràn từ ff_00.
Chế độ 16 bit: Hoạt động ở chế độ này khi bit T0CON =1 và cờ ngắt sẽ bật khi timer tràn từ ffff_0000. Ở chế độ này dùng hai cặp thanh ghi là TMR0H và MR0L nội dung của timer sẽ cập nhật thông tin qua 2 cặp thanh ghi này.
3.4.2. Timer1
Có các chức năng sau:
Timer/counter 16 bit
Có thể đọc hoặc xoá dữ liệu
Lựa chọn xuống xung clock bên ngoài hoặc bên trong.
Ngắt tràn từ ffff_0000H
Thanh ghi điều khiển là T1CON
Sơ đồ thanh ghi điều khiển
Bit 7 RD16: 16-bit bit cho phép write/read
1 = Enables register read/write of Timer1 in one 16-bit operation
0 = Enables register read/write of Timer1 in two 8-bit operations
Bit 6 T1RUN: Timer1 System Clock Status bit
1 = System clock is derived from Timer1 oscillator
0 = System clock is derived from another source
Bit 5-4 T1CKPS1:T1CKPS0: Timer1 Input Clock Prescale Select bits
11 =1:8 Prescale value
10 =1:4 Prescale value
01 =1:2 Prescale value
00 =1:1 Prescale value
Bit 3 T1OSCEN: Timer1 bit cho pheuøp Oscillator
1 = Timer1 oscillator is enabled
0 = Timer1 oscillator is shut-off
Bit 2 T1SYNC: Timer1 External Clock Input Synchronization Select bit When TMR1CS = 1 (External Clock):
1 = Do not synchronize external clock input
0 = Synchronize external clock input
Bit 1 TMR1CS: Timer1 Clock Source Select bit
1 = External clock from pin RC0/T1OSO/T1CKI (on the rising edge)
0 = Internal clock (FOSC/4)
Bit 0 TMR1ON: Timer1 On bit
1 = Enables Timer1
0 = Stops Timer1
3.4.3. Timer 2
Hoaït ñoäng ôû cheá ñoä 8 bit
Counter coù theå ñeám hoaëc ghi
Phaàn meàm coù theå laäp trình baèng prescale
Phaàn meàm coù theå laäp trình baèng postcale
Bit 7 Unimplemented: Read as ‘0’
Bit 6-3 TOUTPS3:TOUTPS0: Timer2 Output Postscale Select bits
0000 = 1:1 Postscale
0001 =1:2 Postscale
1111 =1:16 Postscale
Bit 2 TMR2ON: Timer2 On bit
1 = Timer2 is on
0 = Timer2 is off
Bit 1-0 T2CKPS1:T2CKPS0: Timer2 Clock Prescale Select bits
00 = Prescaler is 1
01 = Prescaler is 4
1x = Prescaler is 16
Ngaét timer 2: giaù trò cuûa TMP2 seõ ñöôïc so saùnh vôùi PR2 khi giaù trò cuûa hai thanh ghi baèng nhau côø ngaét TMR2IF seõ baät leân cho ñeán khi ñöôïc xoaù baèng phaàn meàn.
3.4.4. Timer3:
Coù caùc chöùc naêng sau :
Hoaït ñoäng ôû cheá ñoä timer/counter 16 bit
Hai thanh ghi 8 bit: TMR3H and TMR3L
Coù theå ñoïc hoaëc ghi• (caû hai thanh ghi)
Coù theå choïn boä ñeám trong hoaëc ngoaøi.
Reset töø CCP1/ECCP1 module trigger
Ngaét xảy ra khi thoaû maõn giaù trò töø FFFFh to 0000h
Bit 7 RD16: 16-bit Read/Write Mode Enable bit
1 = Enables register read/write of Timer3 in one 16-bit operation
0 = Enables register read/write of Timer3 in two 8-bit operations
Bit 6,3 T3ECCP1,T3CCP1: Timer3 and Timer1 to CCP1/ECCP1 Enable bits
1x = Timer3 is the clock source for compare/capture CCP1 and ECCP1 modules
01 = Timer3 is the clock source for compare/capture of ECCP1,
Timer1 is the clock source for compare/capture of CCP1
00 = Timer1 is the clock source for compare/capture CCP1 and ECCP1 modules
Bit 5-4 T3CKPS1:T3CKPS0: Timer3 Input Clock Prescale Select bits
11 = 1:8 Prescale value
10 = 1:4 Prescale value
01 = 1:2 Prescale value
00 = 1:1 Prescale value
Bit 2 T3SYNC: Timer3 External Clock Input Synchronization Control bit (Not usable if the system clock comes from Timer1/Timer3.)
When TMR3CS = 1:
1 = Do not synchronize external clock input
0 = Synchronize external clock input
When TMR3CS = 0:
This bit is ignored. Timer3 uses the internal clock when TMR3CS = 0.
Bit 1 TMR3CS: Timer3 Clock Source Select bit
1 = External clock input from Timer1 oscillator or T1CKI (on the rising edge after the first falling edge)
0 = Internal clock (FOSC/4)
Bit 0 TMR3ON: Timer3 On bit
1 = Enables Timer3
0 = Stops Timer3
3.5. NGẮT:
3.5.1. Giới thiệu tổng quát:
PIC18F458 coù nhieàu nguoàn ngaét khaùc nhau vaø coù möùc ñoä öu tieân khaùc nhau. Vector ngaét coù möùc öu tieân cao nhaát laø 000008H vaø thaáp nhaát laø 000018H, söï kieän ngaét öu tieân cao seõ ñöôïc öu tieân ngaét tröôùc so vôùi ngaét coù möùc öu tieân thaáp hôn.
Coù 10 thanh ghi ñeå ñieàu khieån vieäc ngaét:
RCON INTCON • INTCON2 INTCON3
PIR1, PIR2, PIR3 PIE1, PIE2, PIE3 IPR1, IPR2, IPR3
Moãi nguoàn ngaét coù ba bit ñeå ñieàu khieån ngaét: Bit côø chæ söï kieän ngaét xuaát hieän. Bit cho pheùp thöïc thi chöông trình rẽ nhaùnh ñeán ñòa chæ vector ngaét khi côø ngaét ñaõ baät. Bit öu tieân ñeå choïn möùc öu tieân cao hoaëc möùc öu tieân thaáp. Ngaét öu tieân ñöôïc cho pheùp baêng caùch ñaët bit IPEN. Khi ngaét öu tieân ñöôïc cho pheùp, coù hai bit cho pheùp ngaét toaøn cuïc, vieäc ñaët bit GIE seõ cho pheùp ngaét maø coù bit öu tieân cao hôn vaø ñaët bit GIEL cho pheùp taát caû caùc ngaét maø coù möùc öu tieân ñöôïc xoaù. Öu tieân thaáp khi coù söï kieân ngaét thì seõ nhaûy vaøo thöïc thi caùc leänh töø ñòa chæ ngaét vaø bit coù theå bò caám thoâng qua caùc bit cho pheùp cuûa chuùng. Khi bit IPEN bò xoaù chöùc naêng öu tieân seõ bò caám.Khi 1 ngaét ñöôïc ñaùp öùng thì bit cho pheùp ngaét toaøn cuïc ñöôïc xoaù ñeå caám caùc ngaét theâm. Neáu bit IPEN bò xoaù thì ñoù laø bit GIE.Neáu möùc öu tieân ngaét ñöôïc söû duïng thì ñoù seõ laø GIEH hoaëc GIEL .Nguoàn ngaét öu tieân thaáp khoâng ñöôïc thöïc thi khi nguoàn ngaét öu tieân cao ñang thöïc hieän. Ñòa chæ PC ñöôïc caát vaøo vuøng stack vaø pc ñöôïc naïp giaù trò laø ñòa chæ cuûa vector ngaét.Sau khi coù thuû tuïc ngaét,caùc nguoàn ngaét coù theå xaùc ñònh baèng vieäc kieåm soaùt caùc bit côø ngaét.Caùc bit côø ngaét phaûi ñöôïc xoaù baèng phaàn meàn tröôùc khi cho ngaét trôû laïi ñeå traùnh ngaét lieân tuïc. Thuû tuïc ngaét nhö sau:
Org 0x000008
…….. ;ngaét öu tieân cao nhaát
retfie
org 0x000018
…….;ngaét öu tieân cao nhì
retfie
3.5.2. Các thanh ghi điều khiển:
Bit 7: bit cho pheùp ngaét toaøn cuïc khi
IPEN=0:
1=cho pheùp taát caû caùc ngaét khoâng maët naï
0=caám taát caû caùc ngaét öu tieân
Khi IPEN=1
1=cho pheùp taát caû caùc ngaét öu tieân cao
0=caám taát caû caùc ngaét öu tieân cao
Bit 6: bit cho pheùp ngaét ngoaïi vi
Khi IPEN=0:
1=cho pheùp taát caû caùc ngaét ngoaïi vi khoâng maët naï
0=caám ngaét ngoaïi vi
Khi IPEN=1:
1=cho pheùp ngaét ngoaïi vi öu tieân thaáp
0=caám taát caû ngaét ngoaïi vi coù möùc öu tieân thaáp
Bit 5:bit ngaét traøn timer
1=cho pheùp
0=khoâng cho pheùp
Bit 4: cho pheùp ngaét ngoaøi INT0
1=cho pheùp
0=khoâng cho pheùp
Bit 3: bit cho pheùp ngaét khi coù söï thay ñoåi treân portb
1=cho pheùp töø chaân RB7:RB4 pin
0=khoâng cho pheùp
Bit 2:bit côø ngaét traøn timer 0
1=TMR0 bò traøn
0=chöa bò traøn
Bit 1:côø ngaét INT0
1=ngaét hieän höõu
0=ngaét khoâng hieän höõu
Bit 0: côø ngaét portb
1=ít nhaát coù söï thay ñoåi treân chaân RB
0=khoâng coù chaân naøo thay ñoåi treân chaân RB
Bit 7: RBPU bit cho pheáp portb keùo leân
1= taát caû portb cho pheùp
0=disable
Bit 6: INTEDG0
BIT 5: INTEDG1
Bit 4: INTEDG2
Bit 3: read 0
Bit 2: bit ngaét traøn timer0
Bit 1: read 0
Bit 0: bit ngaét thay ñoåi treân portB
1=high priotity
0=low priority
Bit 7: INT2 bit öu tieân ngaét ngoaøi
1=öu tieân thaáp
0=öu tieân cao
Bit 6: INT1 bit öu tieân ngaét ngoaøi
1=öu tieân cao
0=öu tieân thaáp
Bit 5: read as 0
Bit 4: INT2 cho pheùp ngaét ngoaøi int2
Bit 3: cho pheùp ngaét ngoaøi INT1
Bit 2: read as 0
Bit 1:bit côø ngaét INT1
Bit 0:bit côø ngaét INT0
3.6. Các module của PIC18F4331: Coù taát caû laø 4 module:
3.6.1. Module PWM:
3.6.1.1.Sơ đồ khối :
3.6.1.2.Caùc thanh ghi ñieàu khieån:
- Coù taát caû 22 thanh ghi ñeå ñieàu khieån module naøy.
- Taùm trong soá naøy ñöôïc duøng ñeå taïo xung ñieàu khieån:
• PTCON0
• PTCON1
• PWMCON0
• PWMCON1
• DTCON0
• ODVCOND
• ODVCONS
• FLTCONFIG
- 14 thanh ghi coøn laïi laø thanh ghi 16 bit:
• Caëp thanh ghi PTMRH vaø PTMRL
• Caëp thanh ghi PTERH vaø PTERL
• Caëp thanh ghi SEVTCMPH vaø SEVTCMPL
• Caëp thanh ghi PDC0H vaø PDCOL
• Caëp thanh ghi PDC1H vaø PDC1H
• Caëp thanh ghi PDC2H vaø PDC2H
3.6.1.3.Caùc kieåu xuaát xung:
Kieåu chaïy töï do:
Trong kieåu chaïy töï do thôøi gian cô baûn cuûa PWM seõ baét ñaâu ñeám leân cho ñeán
khi giaù trò thanh ghi PTMR vaø PTPER töông öùng vôùi nhau.Thanh ghi PTMR seõ
ñöôïc reset theo caïnh xung clock ngoõ vaøo vaø thôøi gian cô baûn tieáp tuïc ñeám leân
chöøng naøo bit PTEN vẫn coøn set.
Söï kieän ngaét phaùt sinh khi giaù trò töông öùng giöõa thanh ghi PTMR vaø PTPER xảy ra.
Kieåu single-shot:
Trong kieåu hoaït ñoäng naøy thôøi gian cô baûn cuûa PWM seõ baét ñaâu ñeám leân
khi bit PTEN ñöôïc set.Khi giaù trò thanh ghi PTMR töông öùng vôùi giaù trò cuûa
PTPERL söï kieän ngaét phaùt sinh ,vaø thanh ghi PTMR seõ ñöôïc reset döïa vaøo caïnh
xung clock ngoõ vaøo vaø bit PTEN seõ ñöôïc xoaù baèng phaàn cöùng.
3.6.1.4.Cheá ñoä chaïy PWM:
Chu kì PWM ñöôïc xaùc ñònh bôûi caëp thanh ghi PTPER.Chu kì PWM coù ñoä
phaân giaûi 12 bit ñöôïc keát hôïp 4 bit LSB cuûa PTPERL PTPERH.
* Caùc cheá ñoä ñeám cuûa PWM:
Cheá ñoä tree running count
Cheá ñoä up/down counting:
Taïo duty cycle:
PWM duty cycle ñöôïc xaùc ñònh bôûi caëp thanh ghi (PDCxL vaø PDCxH).Vaø vieäc
taïo duty cycle naøy ñöôïc taïo baèng vieäc so saùnh hai caëp thanh ghi naøy vôùi PWM
time base (PTPRH vaø PTPRL).
Khi PWM time base ñeám leân fit vôùi giaù trò cuûa PDCxx thì seõ taïo ra ñöôïc xung nhö hình sau: giaù trò ñænh cuûa boä ñeám ñöôïc löu trong PTPER
3.6.1.5.Dead time control:
Dead time laø khoaûng thôøi gian leân vaø xuoáng cuûa 1 xung ñieàu khieån bôûi vì caùc
thieát bò naêng löôïng khoâng thuaàn tuyù laø chæ coù ñoùng caét thoâng thöôøng maø phaûi coù
1 khoaûng thôøi gian ñoùng vaø caét ñeå traùnh tình traïng bò truøng daãn daãn ñeán coù theå
hö haïi thieát bò neáu hoaït ñoäng laâu daøi.
Khoaûng thôøi gian dead time naøy coù theå ñöôïc laäp trình trong module PWM
Thanh ghi ñieàu khieån naïp dead time cho xung:
bit 7-6 DTPS1:DTPS0: Dead Time Unit A Prescale Select bits
11 = nguoàn clonk cho Dead Time Unit is FOSC/16.
10 = nguoàn clonk cho Dead Time Unit is FOSC/8.
01 = nguoàn clonk cho Dead Time Unit is FOSC/4.
00 = nguoàn clonk cho Dead Time Unit is FOSC/2.
bit 5-0 DT5:DT0: Unsigned 6-bit dead time value bits for Dead Time Unit.
3.6.2. MODULE I2C,SPI:
Caùc thanh ghi lieân quan ñeán module:
SSPCON SSPSTAT SSPBUF INTCON PIR1 PIE1
3.6.2.1.Giới thiệu module I2C:
Module naøy ñeå ñieàu khieån giao tieáp vôùi thieát bò beân ngoaøi hoaëc vôùi hoï vi ñieàu khieån cuøng loaïi:coù theå laø EEPROM,A/D converter… SPI mode cho pheùp 8 bit döõ lieäu ñöôïc truyeàn ñoàng boä vaø nhaän cuøng moät luùc ba chaân ñöôïc söû duïng:
Serial Data Out (SDO) – RC7/RX/DT/SDO
Serial Data In (SDI) – RC4/INT1/SDI/SDA
Serial Clock (SCK) – RC5/INT2/SCK/SCL
Laø giao tieáp deã duøng nhaát hoaït ñoâng theo phöông phaùp baét tay ,1 master 2 clave master truyeàn döõ lieäu cho clave vaø ngöôïc laïi,noù phaùt 8 xung clock qua ñöôøng clock noái vôùi clave ñoâng thôøi truyeàn 8 bit data töø chaân SDO tôùi chaân SDI cuûa clave,neáu ñang truyeàn 3 bit maø reset pic thì data bò maát clave seõ khoâng nhaän ñuû 8 bit .
Giao tieáp naøy caàn hai daây.Neáu chæ gôûi data chæ chæ caàn daây clock vaø SDO vi ñieàu khieån nhaän seõ duøng SDI vaø daây clock,daây clock noái chung. Neáu coù gôûi vaø nhaän thì daây clock duøng chung master coù SDO noái tôùi SDI cuûa clave,SDO cuûa clave noái SDI cuûa master . Neáu master caàn truyeàn cho nhieàu clave trôû leân thì SDO master noái tôùi caùc SDI cuûa clave .
3.6.2.2.Module I2C
Laø coâng cuï ñaày ñuû cho cheá ñoä clave,vaø cung caáp ngaét treân hai bit START vaø STOP trong phaàn cöùng ñeå deã daøng thöïc thi treân cheá ñoä master. Hai chaân ñöôïc söû duïng ñeå chuyeån döõ lieäu:SDI vaø SDA pin.Vaø ngöôøi duøng phaûi caâu hình hai chaân naøy laø output hay input thoâng qua hai thanh ghi TRISC vaø TRISD. Khi söû duïng i2c ñeå giao tieáp thì hai chaân naøy phaûi ñöôïc noái leân 5v vôùi ñieân trôû keùo leân,vaø giaù tri ñieän trôû naøy phuï thuoäc vaøo toác ñoä boud cuûa pic.
•Cheá ñoä clave:
Trong cheá ñoä naøy hai chaân SCL SDA phaûi ñöôïc caáu hình nhö laø ngoõ vaøo (TRISC hoaëc TRISDñöôïc set). khi ñòa chæ khôùp hoaëc döõ lieäu chuyeån sau khi address match ñöôïc nhaän,töï ñoäng phaàn cöùng seõ phaùt xung ACK vaø load veà giaù trò trong thanh ghi SSPBUF . Coù hai ñieâu kieän laø nguyeân nhaân module SSP khoâng phaùt ACK xung:
+ Buffer full bit BF ñöôïc set sau khi söï chuyeån ñöôïc nhaän
+ Bit baùo traøn SSPOV (SSPCON) ñöôïc set sau khi söï chuyeån ñöôïc nhaän
Trong tröôøng hôïp naøy ,thanh ghi SSPSR giaù trò khoâng load vaøo SSPBUF nhöng bit SSPIF ñöôïc set.
Trình töï hoaït ñoäng naøy cho 10 bit_address:
1. Nhaän byte cao cuûa ñòa chæ(bits SSPIF,BF,UA ñöôïc set
2. update thanh ghi SSPADD vôùi byte thöù hai cuûa address(slow)_bit UA clear
3. Ñoïc thanh ghi SSPBUF vaø clear côø SSPIF
4. Nhaân byte thöù hai cuûa ñòa chæ(slow) SSPIF,BF UA ñöôïc set
5. Update thanh ghi SSPADD vôùi byte cao cuûa ADDRESS
6. Ñoïc giaù trò thanh ghi SSPBUF xoa bit BF vaø xoaù SSPIF
7. Nhaän lai ñieàu kieän start
8. Nhaän byte thöù 1 (high) cuûa address SSPIF,BF ñöôïc set
9. Ñoïc thanh ghi SSPBUF clear bit SSPIF,BF.
• Cheá ñoä master:Vaän haønh cheá ñoä naøy söû duïng ngaét khi phaùt hieân ñieâu kieän treân hai bit start vaø stop vaø trong cheá ñoä naøy hai chaân SCL SDA ñöôïc caáu hình nhö ngoõ output.
3.6.3. Module A/D CONVERT:
Coù 9 keânh treân pic18f4431 cho pheùp bieán ñoåi a/d.Group A töø AN0,AN4 vaø AN1,AN5 thì thuoäc nhoùm B,AN2 AN6 thuoäc nhoùm C, AN3 - AN7 thuoäc nhoùm D vaø ñöôïc choïn trong thanh ghi ADCHS. Coù 9 thanh ghi ñieàu khieån.Vaø coù hai cheá ñoä chaïy adc laø cheá ñoä 8 bit(0_255)vaø cheá ñoä 161 bit (0_1024). Thanh ghi keát quaû cho cheá ñoä bieán ñoåi a/d:
ADRESH:ADRESL laø caëp thanh ghi löu tröõ giaù trò cho pheùp bieán ñoåi A/D. Caëp thanh ghi naøy 16 bit.
Cheá ñoä löu tröõ keát quaû laø right justified vaø left justified ñöôïc ñieàu khieån trong thanh ghi ADCON2. Feeback module:
Module naøy duøng thieát keá ngõ vaøo cho nhöõng muïc ñích ñaëc bieät duøng trong caùc öùng duïng veà hoài tieáp. Module naøy bao goàm hai module phaàn cöùng :
Input capture module (IC)
Quadrature encoder interface(QEI)
* Reset boä ñeám xung:
- Moät xung index ñöôïc phaùt hieän treân chaân INDX:
+ Neáu encoder ñang vaän haønh ôû cheá ñoä thuaän chieàu ,POSCNT ñöôïc reset veà 0
+ Neáu encoder ñang chaïy ôû cheá ñoä nghòch chieàu thì giaù trò MAXCNT thanh ghi ñöôïc ghi vaøo POSCNT tröôùc khi xung keá treân QEA QEB sau khi coù caïnh xuoáng treân chaân INDX
- Khi hai thanh ghi POSCNT MAXCNT baèng nhau:
+ Neáu encoder ñang chaïy ôû chieàu thuaän thì POSCNT ñöôïc reset veà khoâng. Moät ngaét seõ xaõy ra khi reset veà khoâng
+ Neáu encoder ñang chaïy ôû chieàu ngòch thì giaù trò MAXCNT thanh ghi ñöôïc ghi vaøo POSCNT.Vaø cuõng coù söï kieän ngaét xaõy ra.
Chương 4 – THIẾT KẾ PHẦN CỨNG
Yêu cầu đặt ra:
Thiết kế bộ nghịch lưu áp 3 pha chạy động cơ không đồng bộ 3 pha.
Thiết kế bộ nghịch lưu áp 1 pha cung cấp cho các thiết bị điện trong thang máy.
Thiết kế mạch điều khiển giữa bộ UPS và thang máy.
4.1. Sơ đồ khối tổng quát về hoạt động của mạch .
ĐIỆN ÁP LƯỚI
3 PHA
Tín hiệu điện áp
từ thang máy 5V
Mạch giao tiếp PIC 18F
PIN 12V
RELAY
CONTACTOR
NGUỒN DC 24 V
RELAY
CONTACTOR
Bộ nghịch lưu 1 pha Bộ nghịch lưu 3 pha
Thiết bị
điện
1 pha
Mạch lái 3 pha
Mạch lái 1 pha
Nguồn 15V
MẠCH ĐIỀU KHIỂN
3 PHA
PIC18F
MẠCH ĐIỀU KHIỂN
1 PHA
PIC18F
Mạch tăng áp
PIN 12V
BỘ SẠC
NGUỒN AC 220V
4.2. Giới thiệu chi tiết về các khối điều khiển.
4.2.1. Mạch nguồn.
Mục đích của mạch nguồn là tạo ra điện áp DC 15V từ nguồn Pin hay acqui, để cung cấp điện áp cho mạch cách ly. Trong mạch nguồn sử dụng IC555 kích xung cho biến thế xung, tạo ra điện áp 15 VDC.
4.2.2. Mạch lái.
Có hai sự lựa chọn cho các khóa đóng ngắt công suất để tạo ra điện áp ba pha và 1 pha là sử dụ