1.1 Lời nói đầu
Ngày nay, khoa học kỹ thuật đạt rất nhiều tiến bộ trong lĩnh vực điều khiển tự động hóa. Các hệ thống điều khiển được áp dụng các quy luật điều khiển cổ điển, điều khiển hiện đại, cho tới điều khiển thông minh, điều khiển bằng trí tuệ nhân tạo. Kết quả thu được là hệ thống hoạt động với độ chính xác cao, tính ổn định bền vững, và thời gian đáp ứng nhanh. Trong điều khiển công nghiệp, bộ điều khiến PID là sự lựa chọn chung, tối ưu nhất cho các hệ thống điều khiển có hàm truyền (phương trình trạng thái) như điều khiển vị trí, điều khiển vận tốc, điều khiển mức
Đề tài ‘ ball and beam’, điều khiển chính xác vị trí của quà bóng (ball) trên thanh (beam) với các bộ điều khiển PID vị trí và PID góc. Đề tài ‘ ball and beam’ là cầu nối giữa lý thuyết điều khiển và hệ thống thực. Đây là một đề tài hay, kết hợp giữa kỹ thuật thu thập tín hiệu và các bộ điều khiển vòng kín nhằm tạo ra một hệ thống có tính tự động hóa.
Hệ thống chương trình này không chỉ áp dụng vào một ứng dụng cụ thể như mô hình ‘ ball and beam’, mà còn có thể mở rộng ra cho nhiều ứng dụng điều khiển thăng bằng khác như:
- Điều khiển giữ thăng bằng cho Robot đi bằng hai chân.
- Hệ thống điều khiển thăng bằng máy bay, tên lửa.
- Các hệ thống điều khiển tốc độ, điều khiển vị trí ứng dụng trong công nghiệp.
1.2 Nhiệm vụ luận văn.
1.2.1 Mục tiêu đề tài.
Mục tiêu của đề tài là xây dựng mô hình bóng và thanh. Điều khiển cân bằng và điều khiển vị trí của quả bóng trên thanh nằm ngang. Trong thời gian nhận đề tài, mục tiêu thực hiện đề tài được đề ra như sau:
- Tìm hiểu về các mô hình ‘ball and beam’ đã có, tìm hiểu nguyên lý cân bằng.
- Tính toán các tham số động lực học, hàm trạng thái (space – state) của mô hình.
- Khảo sát phương pháp dùng kỹ thuật xử lý ảnh xác định khoảng cách, vị trí.
- Xây dựng mô phỏng trên Matlap 7 Simulink, và visualbasic 6.
- Thiết kế bản vẽ, xây dựng và lắp ráp mô hình thực.
- Lựa chọn cảm biến góc (encoder), và cảm biến vị trí quả bóng.
- Thiết kế mạch điều khiển trung tâm nhằm xử lý các tín hiệu đo và đưa ra các tín hiệu điều khiển.
- Thiết kế mạch cầu ‘H’, bốn MOSFET điều khiển động cơ.
- Thiết kế mạch phanh (thắng) động cơ.
- Thiết kế mạch khuếch đại tín hiệu, mạch lọc tín hiệu, mạch phát hiện quá dòng trên động cơ.
- Bộ hiển thị trên LCD graphich 64x128.
- Xây dựng, lập trình thuật toán PID, điều khiển động cơ DC.
44 trang |
Chia sẻ: ngtr9097 | Lượt xem: 4182 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Luận văn Lý thuyết và điều khiển mô hình bóng và thanh (thuyết minh+code), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chöông II
LÝ THUYẾT TIẾP CẬN
2.1 Động lực học mô hình bóng và thanh. (Link tham khảo [27])
Hình 2.1.1 Mô hình Ball Beam
Các thông số quan tâm.
M
Trọng lượng ball
R
Bán kính ball
d
Bán kính đĩa quay (ofset)
g
Lực trọng trường
L
Chiều dài thanh beam
J
Mô men quay
r
Vị trí tọa đô ball
Góc nghiêng của thanh
EMBED Equation.DSMT4
Góc quay của động cơ
Thành lập phương trình chuyển động của quả bóng
Hình 2.1.2 Phân tích lực tác động lên Bóng
Phương trình chuyển động theo phương chuyển động Ox:
;(0)
Gia tốc của quả bóng.
Lực làm chuyền động tịnh tiến của banh:
;(1)
Mô men quay của quả banh:
; (2)
Lực làm chuyển động quay của quả banh bằng mô men quay chia cho bán kính quả banh.
(3)
Kết hợp phương trình (0),(1) và (3) ta được:
Tuyến tính hóa với góc nhỏ :
Ta thu được biểu thức sau:
;(4)
Mối quan hệ giữa góc nghiêng thanh beam và góc quay motor như sau:
;(5)
Thay biểu thức (5) vào (4) ta được:
;(6)
Hàm truyền
Laplace hóa biểu thức (6) ta thu được hàm truyền như sau:
Phương trình trạng thái.
(
3.2 Lý thuyết động cơ DC.
Một trong những bộ truyền động điều khiển trong hệ thống đó là động cơ DC. Mô men quay được tác động trực tiếp hay gián tiếp qua cơ cấu truyền động. Mạch điện cung cấp phần cứng như hình sau:
Hình 2.2.1 Mạch phần cứng Motor
Một số thông số vật lý của động cơ:
* Mô men quán tính của rotor (J) * Tỷ lệ ma sát tắt dần của truyền động (b) * Hằng số điện động (K=Ke=Kt) * Điện trở của cuộn dây (R) * Điện cảm của dây quấn (L) * Ngõ vào: nguồn cung cấp (V)* Ngõ ra (): vị trí của trục.
Phương trình toán học của động cơ.
Mô men của động cơ, T, liên quan trực tiếp tới dòng điện phần động i bằng hằng số Kt. Sức điện động e có liên quan trực tiếp tới vận tốc quay theo biểu thức sau:
Kt (hằng số phần động) , Ke (hằng số động cơ.).
Ta có biểu thức theo định luật Newton’s:
(1)
Hàm truyền
Thực hiện phép Laplace biểu thức (1), theo biến (s)
(2)
Loại trừ I(s) từ hệ (2) , ta được hàm truyền mối liên hệ giữa vận tốc góc và điện áp ngõ vào như sau:
(3)
Tuy nhiên, vấn đề chúng ta xem xét trong ví dụ này, ngõ ra là vị trí. Ta lấy tích phân Theta, vì vậy phải chia hàm truyền (3) cho (s).
Phương trình trạng thái.
Phương trình trên có thể được viết dưới dạng phương trình trạng thái.
Phương trình này dùng cho điều khiển vị trí, tốc độ động cơ DC.
2.3 Lý thuyết điều khiển PID
Bộ điều khiển PID là bộ điều khiển hồi tiếp thông dụng nhất, nó trở thành yếu tố cần thiết nhất trong các hệ thống điều khiển, là công cụ chuẩn, xuất hiện năm 1940. Trong lĩnh vực điều khiển công nghiệp, hơn 95% các bộ điều khiển vòng kín là áp dụng bộ điều khiển PID. Bộ điều khiển PID ngày nay tìm thấy hầu hết trong các lĩnh vực điều khiển. Bộ điều khiển PID thậm chí được nhúng trong nhiều hệ thống điều khiển với mục đích đặc biệt. Điều khiển PID hợp thành bởi các phần tử logic, các hàm thống kê, sơ đồ khối và máy tính để xây dựng các hệ thống điều khiển tự động hóa cao như sản xuất năng lượng, vận chuyển, chế tạo.
Bộ điều khiển PID (A proportional integral derivative controller) là bộ điều khiển sử dụng kỹ thuât điều khiển theo vòng lặp có hồi tiếp. Một bộ điều khiển PID cố gắng hiệu chỉnh sai lệch giữa tín hiệu ngõ ra và ngõ vào sau đó đưa ra một một tín hiệu điều khiển để điều chỉnh quá trình cho phù hợp.
Sơ đồ khối của bộ điều khiển PID
Hình 2.3.1 Sơ đồ khối vòng PID
2.3.1 Hàm truyền đạt
Hàm truyền của khâu PID là:
Nếu e(t) là đầu vào, u(t) là đầu ra thì
Hay viết dưới dạng khác:
Với:
– Kp là độ lợi của khâu tỷ lệ (Proportional gain)
– Ki là độ lợi của khâu tích phân (Integral gain)
– Kd là độ lợi của khâu vi phân (Derivative gain)
Việc hiệu chỉnh 3 thông số KP, KI, KD sẽ làm tăng chất lượng điều khiển. Ảnh hưởng của 3 thông số này lên hệ thống như sau:
Đáp ứng vòng kín
Thời gian tăng
Vọt lố
Thời gian quá độ
Sai sô xác lập
Kp
Giảm
Tăng
Ít thay đổi
Tăng
Ki
Giảm
Tăng
Tăng
Không xác định
Kd
Ít thay đổi
Giảm
Giảm
Thay đổi ít
2.3.2 Các cách kết hợp:
Khâu tỉ lệ tích phân: (PI)
Khâu tỉ lệ vi phân: (PD)
Khâu tỉ lệ vi tích phân: (PID)
2.3.3 Bộ điều khiển PID số
Bộ điều khiển PID có hàm truyền dạng liên tục như sau:
Có 3 phương pháp căn bản để biến đổi z hàm truyền trên.
Phương pháp Euler thuận (Forward Euler):
Phương pháp Euler nghịch (Backward Euler):
Phương pháp hình thang (Tustin):
Theo phương pháp hình thang ta có biến đổi z PID như sau:
Viết lại G(z) ta có:
Đặt:
Ta có:
Ta tính được tín hiệu điều khiển u(k) khi tín hiệu vào e(k) như sau:
Cuối cùng ta có được công thức sau:
2.3.4 Áp dụng khâu bão hòa trong bộ điều khiển PID
Tất cả các bộ đáp ứng, điều tiết, truyền động sau PID đều đáp ứng với giới hạn của nó. Nó không thể đáp ứng ngoài giá trị ngưỡng max và min của nó. Trong hệ thống điều khiển với dải tín hiệu điều khiển rộng, tín hiệu điều khiển có thể đạt tới quá giới hạn của cơ cấu chấp hành. Khi đó, hệ thống hồi tiếp vòng kín sẽ bị vỡ, toàn hệ thống hoạt động như điều khiển vòng hở. Nếu sử dụng khâu tích phân trong bộ điều khiển, sai số sẽ càng ngày càng được tích tụ lại, tăng mạnh lên.Điều này có nghĩa giá trị khâu tích phân trở nên rất lớn, khi đó đòi hỏi phải tìm sai số từ nhiều chu kỳ lấy mẫu trước nó.
Để giải quyết vấn đề này ta dùng khâu bão hòa vào ngõ ra của khâu tích phân hay vào ngõ ra của toàn bộ PID.
Hình 2.3.1.5 Khâu bão hòa trên ngõ ra.
Hình 2.3.1.9 Khâu bão hòa trên khâu I.
2.4 Vài điểm về vi điều khiển PIC18F4520.
Giới thiệu các họ vi điều khiển của Microchip
Hình 2.4.1 Các họ vi điều khiển của hãng Microchip
Họ vi điều khiển PIC và dsPIC do hãng chế tạo và sản xuất với công nghệ hiện đại, phù hợp cho các ứng dụng đơn giản cho đến phức tạp. Đặc biệt ngoài ngôn ngữ lập trình assembler như các MCU khác, người dùng có thể lập trình PIC trên ngôn ngữ C quen thuộc thông qua các phần mềm hỗ trợ ( C08 Compiler; CCS C....).
Gồm các họ cơ bản như 3au:
8 bit:
+ PIC10
+ PIC12
+ PIC16
+ PIC18
16 bit:
+ PI24F
+ PIC24H
+ dsPIC30
+ dqPI#
Dùx theo các ᛩfg $ቅ.g cḥ thể mà ta có phể chቅf 2a AhiP phø hp ( theo hướjg dẫn của nhà sản xuất tại trang chủ của micrgchip: www.microchip.coM ).
2,4.1 Tính năng của vI điều khiỂn PIC 10F4520.
K`ả năng của bộ nhớ
Bộ l`ớ chươne trình 32Kb
BỘ nhớ dữ lhệu 1.5Kb
Bộ nhớ EEPRNM 056 byte&
BỘ nhớ b`ươne tpìn( āiểl `ìNh kiểu Flash cho `hép 100 000 lần ghi xóa, bộ nhớ EEPROM cho phép 1000 000 lần ghi xóa.
Khả năng lƠu trữ củ` bộ nhớ là 40 năl.
Khả năng củ` CPU.
Khả năng xứ dý 10MPIS.
Cấu 4rúc/ lệnh tối ưu với chương trình ngôn ngỮ C.
Cho phèp bhi chương trình dưới bộ điều khiển phầf mềm.
Cñ ưu tiên ngẮt
Bộ nhân 8"it X 8bit chu k đơn.
Wa chd/g Timer với thໝi fian lẩp trình từ 4ms – 131s
Điện ap hoᲡt động pṫ 2.0V đến 5.5V
Dò tèm đưểc 16 mứb cao/thấp của điện áp (HLDF module) cñ hỗ trợ ngắt.
Tính năng ngoại vi aao.
Sink/source cao 25mA/25mA
Có 3 ngắt ngoại vi
2 Module CCP (Capture – Compare – PWM)
1 Module ECCP ( Enhanced Capture Compare PWM) cho phép phát 1 - 4 chân phát xung.
Có 4 timer hoạt động độc lập
Timer0: bộ đếm / bộ ghi 16 bit với prescale của chương trình.
Timer1: bộ đếm / bộ ghi 16 bit
Timer2: bộ đếm / bộ ghi 8 bit với scale chương trình, hỗ chợ cho PWM
Timer3: bộ đếm / bộ ghi 16bit
1 Module port serial đồng bộ MSSP, hai chế độ hoạt đông
3 wire SPI hỗ trợ cả 4 mode SPI
Hỗ trợ cả Master và Slave của I2C
1 Module USART
Hỗ trợ RS485 và RS232
Auto-wake-up khi nhận bit start
Tự động dò tốc độ Baud.
1 Module port slave song song
1 Module A/D
Bộ biến đổi ADC 10 bit
Khả năng lấy mẫu nhanh
Khả năng chuyển đổi trong thời gian ngủ.
2 Bộ so sánh analog với ngõ vào tích hợp
Cấu trúc bộ dao động mềm dẻo.
4 chế độ hoạt động cho thạch anh, tần số của thạch anh có thể lên tới 40Mhz
4x phase clock loop cho phép nhân tần số xung nhịp lên 4 lần, áp dụng cho cả dao động thạch anh và dao động nội.
Bộ tạo dao động nội RC 2 chế độ hoạt động, tần số lên tới 4Mhz
2 Mode cho xung dao động ngoại, tần số lên tới 40Mhz
Khối dao động nội RC
Lựa chọn được 8 tần số từ 31Khz – 8Mhz
Cung cấp một giới hạn xung nhịp từ 31Khz đến 32Mhz nếu sử dụng với PCL (phase clock loop)
Bộ tạo dao động thứ 2 sử dụng Timer1 tần số 32Khz.
Sơ đồ chân và sơ đồ khối chức năng của PIC18F5420.
Hình 2.4.1.1: Sơ đồ chân của PIC18F4520
Chú ý: CCP2 được tích hợp trên PORTC hoặc PORTB
Chú ý :
CCP2 ở PORTC khi CCP2MX được set.
RE3 được sử dụng khi chức năng không đİợc dùNg.
OSC1/CLKH và OSC2/CLKO sử dụng Trong chế ā᳙ tạo xung nhịp thl không được dùng cho IO
Hình 2.4.1.2 sơ đồ khối chức nfg của PIC18F4520*
2.4.2 Bộ truyền nhậl USART( Univers!l Synchronous Asynchr-nous Recei&eb Transmit).
- USART có (ai chế độ hoมp đỘng
Đồng bỉ ( Synchronous) giao tiếp với các ngoại vi như vi mẁch A/D,D/A,EEPROM nối tiếp.
Bất đểng bộ ( Asqnchronous) giac tiếp với 6i điều khiểl, máy tính #á nhân.
- Chế độ đồng bộ hoạt độnc dṱa trên hAa đường 4ruyແn clmck và dữ liệu( da4a), khi phát xung Clock thì truyền theo data. Cấj phải dùng hai chân xuất nhập để thực hiệ, công taệc trqyền nhậf dữ liệu Và tr'ng một thời điểm chỉ thực hiện ược một công viỆc truyền hoಷc nhận.
- hế đ໘ bấ4 ā᳓ng bộ khtng aản xung cdock nên một chân đượ# dùnc Để truyền và chân còn lại thu nhận $ữ hiệu. Cả truyềj và nhận có thỂ t(ực hiẃn pại cùne một thời điໃe (full du0hex). USARP sẽ điề5 khiển cả hai c`ân trUyền jhận, nên các chân này khôlg hỗ tr I/O khI đã sử d᳥ng USART.
- Chú ý rằng USARD sử $ụfg mức logic. Nếu qử dụng āẃ ghao tiếp Với máy tmnh theo cHuẩn @S232 thì cᚧn phải có vi mạch chuyển đổi.
- C`ân xuất nhập của USART đượb tích hợp trªn PORTC với các chức năng RC6/X/CK fà RC7/RP/DT.
- @oạ4 động c૧` USART dựa trên các thanh ghi.
Trẁng thái và điều khiển truyền TXST@.
Trạnc th¡i và điều kHiển the RCSTA.
Điẁu khiển tốc độ Baud BAUDCON
Ngoài ra c²n cò các thanh ghi.
SPBRG phanh gha Chm phép đặt tốc độ baud.
TXREG thAnh ghi d liệu truyền.
RCPEG thanh ghi dữ diệu nhậl.
PIR1 thanh g(i c`ứa các cờ ngắt.
PIE1 thanh ghi cho phép các ngắt.
2.4.2.1 Truyền dữ liệu.
Hình dưới đây mô tả sơ đồ khối truyền của bộ truyền nhận USART. USART có thể truyền 8 bit hoặc 9 bit bằng cách đặt bit TX9 trong thanh ghi TXSTA. Nếu truyền ở chế độ 9 bit thì bit thứ 9 cần phải được đưa vào bit TX9D trong thanh ghi TXSTA trước khi đưa dữ liệu vào thanh ghi TXREG, 8 bit hoặc 9 bit dữ liệu sẽ được đưa vào thanh ghi dich nối tiếp TSR (Transmit (Serial) Shifl Register) để truyền đi. TSR không nạp giá trị từ TXREG cho đến khi bit Stop được truyền đi của lần nạp trước đó. Khi bit Stop được truyền đi thì TSR sẽ nạp giá trị mới từ TXREG nếu được cho phép.
Hình 2.4.2.1 Sơ đồ bộ truyền USART
Mỗi lần TXREG truyền dữ liệu đến TSR thì TXREG ở trạng thái rỗng và bật cờ truyền TXIF (PIR1.4) lên [1]. Một ngắt được sinh ra nếu đặt bít cho phép ngắt TXIE( PIE1.4) lên [1]. Việc đặt bit TXIF không phụ thuộc vào trạng thái của TXIE, TXIF không thể xóa bằng phần mềm. Chỉ xóa ngay lúc nạp giá trị vào TXREG và trở về trạng thái mức cao ở chu kỳ xung nhịp tiếp theo.
Như vậy thì TXIF chỉ ra trạng thái của TXREG. Một bit khác, TRMT (TXSTA.1) thể hiện trạng thái của TSR. TRMT là bít chỉ đọc và được đặt lên [1] khi thanh ghi TSR rỗng.
Hình 2.4.2.2 Truyền một lần
Hình 2.4.2.3 Truyền liên tiếp.
2.4.2.2 Nhận dữ liệu.
Giống như truyền dữ liệu, USART có thể đặt cấu hình nhận 8bit hoặc 9bit bằng cách đặt bit RX9 trong thanh ghi RCSTA lên mức [1]. Sau khi tìm thấy bit start, 8 bit hoặc 9bit của dữ liệu nối tiếp được dịch từ chân RX vào thanh ghi dịch nhận nối tiếp. Sau khi bit cuối cùng được dịch vào thì stop bit được kiểm tra và dữ liệu được đưa vào bộ đệm và từ bộ đệm đưa vào thanh ghi RCREG nếu thanh ghi này ở trạng thái rỗng. Nếu ở chế độ nhận 9 bit, bit thứ 9 được đưa vào bit RX9D trong thanh ghi RCSTA, 8bit còn lại vẫn đưa vào thanh ghi RCREG.
Sử dụng tách rời thanh ghi dịch và bộ đệm FIFO giúp cho phần mềm trên MCU có thêm thời gian để đọc dữ liệu trước khi xảy ra lỗi tràn. MCU có khả năng nhận 2 byte và đang bận nhận byte thứ ba trước khi dữ liệu trong bộ đệm được đọc.
Hình 2.4.2.4 Sơ đồ bộ thu USART
Hình 2.4.2.5 Giản đồ thời gian nhận dữ liệu USART.
2.4.2.3 Tốc độ BAUD của USART.
Tốc độ baud được đặt bằng cách ghi vào thanh ghi SPBRGH (byte cao) và SPBRG(byte thấp) đối với chế độ 16 bit, và chỉ sử dụng thanh ghi SPBRG đối với chế độ 8 bit. Dưới đây là công thức tính toán tốc độ baud.
- Bít SYNC (TXSTA) là bit lựa chọn chế độ của USART, bit SYNC =[1] cho chế độ đồng bộ, SYNC =[0] chế độ bất đồng bộ.
- Bit BRG16 là bit lựa chọn chế độ 16 bit hay 8 bit. BRG16=[1] cho chế độ 16 bit.
- BRGH lựa chọn chế độ tốc độ baud cao hay tốc độ thấp.
2.4.3 ADC.
PIC18F5420 có 13 chân hỗ trợ Analog với các chức năng khác nhau, cho phép đọc analog được 13 kênh với độ phân giải là 10 bit.
Hình 3.4.3 Sơ đồ khối của ADC.
ADC có năm thanh ghi.
ADRESH kết quả chuyển đổi byte cao
ADRESL kết quả chuyển đổi byte thấp
ADCON0 thanh ghi điều khiển.
ADCON1
ADCON2
Các bước thực hiện chuyển đổi ADC.
+ Đặt cấu hình cho bộ ADC
Cấu hình chân Analog, điện áp tham chiếu (ADCON1).
Chọn kênh (ADCON0)
Chọn thời gian thu nhận Analog.(ADCON2)
Lựa chọn nguồn xung nhịp cho ADC (ADCON2)
Cho phép ADC (ADCON0)
+ Thiết lập ngắt ( nếu cần)
Xóa bit ADIF – cờ ngắt ADC
Đặt bit ADIE – cho phép ngắt ADC
Đặt bit GIE – cho phép ngắt toàn cục
+ Chuyển đổi.
Đặt bit GO/DONE (ADCON0)
+ Chờ ADC chuyển đổi
Chờ bit GO/DONE bị xóa
Chờ ngắt ADC (nếu dùng ngắt)
+ Đọc kết quả từ (ADRESH:ADRESL)
+ Cho lần chuyển đổi tiếp theo có thể bắt đầu từ bước 1 hoặc bước 2.
2.4.4 CCP ( Capture – Compare - PWM )
Đây là module có hầu hết trong các sản phẩm của PIC18F. Cần phân biệt module với các module PWM chuyên dung trên các PIC điều khiển động cơ (PIC18F43XX,18F44XX...). PIC18F4520 còn có thêm module ECCP chuyên dụng để thực hiện bộ biến đổi DC- DC hay điều khiển cầu H full-bridge và haft-bridge. Ở đây chỉ đề cập đến module CCP.
CCP (2 chân xuất nhập CCP1 và CCP2) có ba chức năng nhưng khi hoạt động chỉ thực hiện được một chức năng trên một chân, nếu không sử dụng chức năng CCP có thể chuyển chân này thành chân I/O.
Mỗi module có một thanh ghi 16 bit là sự kết hợp của hai thanh ghi 8 bit là CCPR1H:CCPR1L đối với CCP1 và CCPR2H:CCPR2L đối với CCP2.
Mỗi chức năng của CCPx đỏi hỏi phải có một bộ đếm (Timer) để hoạt động ( capture/compare cần Timer1 or Timer3 – PWM cần Timer2)
Sự ảnh hưởng lẫn nhau giữa các module.
CCP1
CCP2
Sử ảnh hưởng
Capture
Capture
Mỗi module cần Timer1 hoạc Timer3 để hoạt động.
Các Timer phải khác nhau cho mỗi CCP
Capture
Compare
Chế độ compare có thể reset Timer của nó nên không thể dùng chung timer. Các Timer nên khác nhau cho mỗi CCP.
Compare
Compare
Compare
Capture
Capture
PWM
Không chụi ảnh hưởng
Compare
PWM
Không chụi ảnh hưởng
PWM
Capture
Không chụi ảnh hưởng
PWM
Compare
Không chụi ảnh hưởng
PWM
PWM
Sử dụng chung Timer2
2.4.4.1 Capture.
Mỗi khi có cạnh (lên hoặc xuống tùy vào cài đặt) của xung đưa vào chân CCPx thì giá trị trong Timer của CCP đó được đưa vào thanh ghi của CCP. Có thể xảy ra ngắt nếu được cài đặt.
Hình 2.4.4.1Sơ đồ khối hoạt động chế độ capture.
Capture có thể dùng để đo độ rộng xung. Sử dụng CCP1 lấy cạnh lên, CCP2 lấy cạnh xuống của cùng 1 xung, tức là 2 CCP nối nhau. Một xung vuông đi vào kích CCP1 trước ( cạnh lên ), thu được giá trị timer, lúc cạnh xuống của xung kích CCP2 thu được giá trị timer lúc xuống cạnh . Lấy 2 giá trị trừ nhau được độ rộng xung. Chỉ cần sử dụng một ngắt của CCP2.
2.4.4.2 Compare.
Khi timer đếm đến giá trị mà ta lưu trữ trong CCP thì chân CCPx sẽ xuất ra mức cao/thâp/hay không nhưng có ngắt.
Hình 2.4.4.2 Sơ đồ hoạt động chế độ compare.
2.4.4.3 PWM.
Module này xuất ra xung vuông có tần số và độ rộng điều chỉnh được dễ dàng. Có thể dùng module này để điều khiển điện áp DC. Xung ra sẽ đóng cắt linh kiện như SCR. Với độ rộng xung xác định sẽ cho ra điện áp trung bình xác định. Ở đây sử dụng module này để điều khiển motor DC nhỏ.
Các công thức tính tần số và tỷ lệ xung :
=> tần số
(2)
Độ phân giải của PWM là 10 bit. Trong đó 8 bit thấp chứa trong thanh ghi CCPRxL, 2 bit còn lại là bit 5 và bit 4 của thanh ghi CCPxCON.
Chú ý rằng giá trị phải nhỏ hơn
Công thức tính độ phân giải cực đại là
Sau đây là một vài ví dụ đối với thạch anh 40MHz.
PWM Frequence
2.44kHz
9.77 kHz
39.06 kHz
156.25 kHz
312.5 kHz
416.67 kHz
Timer2 prescale
16
4
1
1
1
1
PR2
FFh
FFh
FFh
3Fh
1Fh
17h
Độ phân giải cực đại (bits)
10
10
10
8
7
6.58
PWM Frequence
1.46kHz
6 kHz
23.45kHz
93.75 kHz
Timer2 prescale
16
4
1
1
PR2
FFh
F9h
FFh
3Fh
Độ phân giải cực đại (bits)
10
9.78
10
8
Đối với thạnh anh 24Mhz( đang dùng)
Để tiện cho việc sử dụng giá trị điều xung tuyến tính trong khoảng 0-1000. Tức là giá trị nạp cho PR2 là F9h = 249.
2.4.5 ECCP (Enhanced Capture Compare PWM).
CCP1 hoạt động như một module CCP với chế độ PWM mở rộng cung cấp 2- 4 kênh điều xung. Có thể sử dụng module này để điều khiển cầu H full-bridge và haft- Bridge.
2.5 Cảm biến góc và cảm biến vị trí
2.5.1 Cảm biến góc (encoder)
Hình 2.5.1 Hình dạng môt số Encoder thực tế
Encoder thường dùng đo góc quay, có hai loại encoder là encoder gia tăng và encoder tuyệt đối. Cả hai dạng trên dựa trên nguyên tắc cảm biến ánh sáng với một đĩa có khắc vạch sáng – tối quay giữa nguồn sáng và phototransistor.
Hình 2.5.1.1 Đĩa và nguồn sáng của Encoder
Encoder gia tăng ( incremental encoder): Có ba đầu ra A, B, Z. Hai đầu A, B phát ra “n” xung khi đĩa quay một vòng, còn đầu Z phát ra 1 xung / vòng.
Xung A sớm pha 90o so với xung B khi đĩa quay theo chiều kim đồng hồ, và trễ pha 90o khi đĩa quay ngược chiều kim đồng hồ.
Thuận chiều kim đồng hồ Ngược chiều kim đồng hồ.
Hình 2.5.1.2 Giản đồ xung Encoder 2 pha A, B
Trong hình trên , xác định thứ tự cạnh lên của pha A, B ta xác định được chiều quay của động cơ.
Pha Z là cơ sở để xác định vị trí ban đầu, ( bắt đầu một vòng).
Các đầu ra của encoder là loại điện áp hay cực thu hở. Một số encoder có ngõ ra vi sai
dùng để chống nhiễu trên đường dây truyền.
Hình 2.5.1.3 Giản đồ xung ngõ ra A, B vi sai
Encoder tuyệt đối: ( absolute encoder): cho trị số nhị phân của góc quay từ 0 ( 360o so với vị trí gốc. Độ phân giải từ 8 ( 14 bit dạng BCD, mã Gray hay nhị phân, ngõ ra cực thu hở. Một số encoder tuyệt đối đo vị trí nhiều vòng ( dùng nhiều đĩa với bánh răng giảm tốc) và nhớ mã vị trí khi mất điện ( chứa vào bộ nhớ trên encoder).
Ví dụ: E6C-N đo góc trong một vòng bằng 9 bit, và số vòng quay bằng 8 bit mã phụ hai ( quay thuận nghịch).
Một số encoder tuyệt đối xuất dữ liệu ra nối tiếp theo xung nhịp từ ngoài đưa vào để giảm số dây nối vào ra. Dữ liệu xuất ra theo đường DATA hay ( DATA+, DATA-), xung nhịp cấp vào CLOCK hay (CLK+, CLK-).
Dữ liệu được truyền như sau:
Ban đầu DATA và CLK ở mức cao, khi CLK chuyển từ cao xuống thấp, dữ liệu vị trí được chốt lại, chuẩn bị truyền dữ liệu, dữ liệu truyền ra nối tiếp bắt đầu từ MSB ở các cạnh xuống kế tiếp của xung nhịp.
Bảng thông số của một số encoder của hãng OMRON.
Encoder gia tăng E6B2
Mã hiệu
E6B2 – CWZ3E
Điện áp cấp
5VDC ( 12 VDC +-5%
Dòng tiêu thụ
100mA, Max
Độ phân giải
10, 20,