Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 95 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
95
Dung lượng
4,4 MB
Nội dung
LỜI NÓI ĐẦU 4 CHƯƠNG 1: LÝ THUYẾT MẠNG NƠRON 6 1.1 Nơron tự nhiên 6 1.2 Nơron nhân tạo 8 1.3 Mạng truyền thẳng và huấn luyện mạng theo thuật toán Brandt-Lin 10 1.3.1 Mạng truyền thẳng 10 1.3.2 Thuật toán Brandt-Lin 12 CHƯƠNG 2: GIỚI THIỆU ATMEGA 128 16 2.1 Đặc điểm của Atmega 128 16 2.2 Mô tả các chân 18 2.3 Kiến trúc tổng quan của Atmega128 21 2.3.1 Bộ nhớ của Atmega128 21 2.3.2 Tệp thanh ghi : 23 2.3.3 Port (cổng) vào ra 24 2.3.4 Giao tiếp với SRAM ngoài 27 2.3.5 Cấu trúc ngắt của Atmega 128 28 2.3.6 Bộ biến đổi A/D bên trong 31 2.3.7 Bộ truyền/nhận UART 32 2. 3.8 Bộ định thời 34 CHƯƠNG 3: MÔ PHỎNG HỆ THỐNG ĐIỀU KHIỂN ĐƯỢC THIẾT KẾ DỰA TRÊN MẠNG NƠRON 37 3.1 Thiết kế bộ điều khiển PID-Neural có chỉnh định thích nghi trọng số của mạng 37 3.1.1 Thuật toán chỉnh định trọng số 37 3.1.2 Kết quả mô phỏng 39 3.2 Thiết kế bộ điều khiển sử dụng sai lệch làm đầu vào 55 3.2.1 Thuật toán chỉnh định trọng số 55 3.2.2 Kết quả mô phỏng 59 CHƯƠNG 4 : ỨNG DỤNG ĐIỀU KHIỂN ĐỐI TƯỢNG THỰC 67 1 4.1 Động cơ điện một chiều 67 4.1.1. Cấu tạo của động cơ một chiều 67 4.1.2. Encoder gắn trên động cơ một chiều 69 4.1.3. Động cơ sử dụng để thử nghiệm 70 4.2. Thiết kế bộ điều khiển trên nền vi điều khiển Atmega 128 71 4.2.1. Khối điều khiển trung tâm 72 4.2.2. Giao tiếp với LCD 73 4.2.3. Phương thức truyền nhận dữ liệu qua RS232 trên PC 74 4.2.3.1 Cấu trúc vật lý của cổng RS232 74 4.2.3.2 Quá trình truyền và nhận dữ liệu của cổng COM của PC 75 4.2.3.3 Các loại truyền thông nối tiếp 80 4.2.4. Khối driver điều khiển động cơ 81 4.2.4.1. Giới thiệu về IC cầu H MC33886 81 4.2.4.2. Sơ đồ nguyên lý của driver điều khiển động cơ 84 4.2.5. Giao tiếp với bàn phím 85 4.3 Thiết kế giao diện bảng điều khiển 86 4.3 Thiết kế hệ thống điều khiển trên nền bộ điều khiển PID-Neural 89 4.3.1 Mô hình điều khiển 89 4.3.2 Chỉnh định các trọng số và tính toán đầu ra 92 4.5 Đánh giá kết quả thực nghiệm 93 Chương 5: KẾT LUẬN 94 Tài liệu tham khảo 95 95 2 3 LỜI NÓI ĐẦU Con người luôn ngạc nhiên về khả năng lưu trữ, nhận dạng và xử lý thông tin của bộ não con người. Từ lâu, các nhà khoa học đã tìm hiểu, nghiên cứu và sáng tạo các giải pháp cho các bài toán kỹ thuật theo phương pháp xử lý của bộ não. Mạng nơron nhân tạo đã ra đời từ đó. Hiện nay, mạng nơron được ứng dụng trong nhiều lĩnh vực như nhận dạng, xử lý thông tin, dự báo và điều khiển. Đồ án của nhóm nghiên cứu khía cạnh ứng dụng trong điều khiển của mạng nơron. Không giống các lĩnh vực ứng dụng khác là việc tính toán mạng nơron được thực hiện bằng máy tính, khi áp dụng vào điều khiển, mọi tính toán của mạng nơron đều được thực hiện bằng vi điều khiển có tốc độ thấp hơn tốc độ máy tính rất nhiều nên yêu cầu thiết kế cấu trúc mạng gọn nhẹ để phù hợp với vi điều khiển và tối ưu thời gian điều khiển được đặt lên hàng đầu. Khi ứng dụng trong điều khiển cấu trúc mạng nơron sẽ bao gồm luôn cả đối tượng điều khiển nên không thể sử dụng các luật học thông thường như luật học lan truyền ngược mà cần tìm 1 luật học khác phù hợp hơn. Sau một thời gian dài tìm kiếm, nhóm đã tìm ra được thuật toán Brandt-Lin làm giải pháp cho việc huấn luyện mạng nơron. Thuật toán Brandt-Lin là sản phẩm do 2 nhà khoa học Robert D. Brandt và Feng Lin đưa ra. Trong đồ án này, ngoài việc thực hiện tốt các mô phỏng, nhóm đã tiến hành điều khiển thực tế được động cơ 1 chiều có công suất nhỏ và với các yêu cầu điều khiển không cao. Do hạn chế về dụng cụ thí nghiệm nên bộ điều khiển dựa trên mạng nơron của nhóm mới chỉ ứng dụng điều khiển 1 đối tượng ở điều kiện đơn giản nên chưa thể khẳng định sẽ điều khiển thành công với các loại đối tượng khác. Đồ án của nhóm chắc hẳn còn nhiều sai sót mà bản thân các thành viên trong nhóm chưa phát hiện ra. Do vậy nhóm rất hy vọng nhận được sự chỉ bảo của thầy cô, bạn bè và người đọc. Chúng em, những thành viên trong nhóm làm đồ án xin gửi lời cảm ơn đến phó giáo sư, tiến sĩ Phan Xuân Minh đã tận tình hướng dẫn chúng em hoàn thành đồ 4 án này. Ngay từ ban đầu cô đã đặt ra mục tiêu rõ ràng và cao giúp cả nhóm thấy rõ những việc mình cần hoàn thành. Cô cung cấp cho nhóm những lời khuyên mang tính định hướng đúng đắn khi nhóm gặp khó khăn trong quá trình nghiên cứu. Nhóm cám ơn những người bạn đã hỗ trợ, cung cấp những tài liệu về mạng nơron quý giá và giúp đỡ về mặt thiết kế, nhờ đó mà đồ án này được hoàn thành đúng hạn. Hà Nội, ngày 30 tháng 5 năm 2007 Nhóm thực hiện đồ án Nguyễn Ngọc Hải Cao Thế Phong Võ Đoàn Quế Anh 5 CHƯƠNG 1: LÝ THUYẾT MẠNG NƠRON 1.1 Nơron tự nhiên Thành phần cấu thành cơ bản của hệ thần kinh trung ương là nơron. Tế bào sinh học này nhận và xử lý thông tin và sau đó giao tiếp với các phần khác của cơ thể con người. Hình 1.1 trình bày một mô hình đơn giản các nơron sinh học và hình 1.2 mô tả một nơron sinh học. Thân tế bào thần kinh được gọi là soma và được bao quanh bởi một lớp mạng huyết tương mỏng. Hình 1.1: Sơ đồ 5 nơron liên kết với nhau 6 Hình 1.2: Sơ đồ một nơron sinh học Mỗi tế bào thần kinh nhận nhiều đầu vào thông qua các dendrite và sau khi xử lý sẽ tạo một đầu ra dọc theo axon. Điểm nối giữa một axon và một dendrite được gọi là synapse. Thông tin do một tế bào thần kinh tạo ra được truyền dọc theo axon của nó. Một axon kết thúc ở mối nối khớp của một nơron khác. Về mặt xử lý thông tin, một nơron với nhiều dendrite như nhiều đầu vào và một axon đại diện một đầu ra có thể được xem như một hệ MISO. Các hàm xử lý thông tin trong hệ MISO này được chia thành 4 loại. Hình 1.3 mô tả một nơron đơn giản. Hình 1.3: Mô hình một nơron đơn giản có nhiều đầu vào và một đầu ra 7 Dendrites: Chúng bao gồm một cây nhiều nhánh, đóng vai trò như các đầu vào của nơron. Trung bình có 3 4 10 10− dendrite trên một nơron. Synapse: Đây là vùng chứa đựng các kinh nghiệm trong quá khứ. Nó cung cấp bộ nhớ dài hạn cho các kinh nghiệm được thu thập trong quá khứ. Vùng này nhận thông tin từ các giác quan hay từ các nơron khác và cung cấp đầu ra thông qua axon. Soma: Thân tế bào thần kinh được gọi soma. Nó nhận thông tin từ synapse và sau đó xử lý thông tin. Hầu như tất các các chức năng logic của nơron được thực hiện ở soma. Axon: Đầu ra của nơron được gọi là axon. 1.2 Nơron nhân tạo Hình 1.4: Nơ-ron nhân tạo Cấu trúc một nơron nhân tạo (xem hình 1.4) bao gồm các thành phần sau: Đầu vào 1 2 , , , n x x x : Các đầu vào nhân với các trọng số 1 2 , , , n w w w . Một đầu vào có giá trị bằng 1 được gọi là 1 bias và được ký hiệu là 0 x . Hàm số đầu vào f tính tập hợp các tín hiệu đầu vào cho nơron ( , )u f x w= , trong đó x và w lần lượt là các vectơ đầu vào và trọng số. Thông thường chọn f là hàm tổng 1 n i i i u x w = = ∑ . 8 Hàm kích thích s tính toán mức độ kích thích của nơron a=s(u). Hàm đáp ứng tính toán giá trị tín hiệu đầu ra của nơron o=g(a). Tín hiệu đầu ra của tín hiệu thông thường bằng mức độ kích thích của nơron o=a. Tùy theo sự khác nhau của từng tham số ở trên mà sinh ra các kiểu nơron khác nhau. Các giá trị đầu vào và đầu ra của 1 nơron có thể số nhị phân {0,1}, số lai {-,1}, giá trị liên tục trong đoạn [0,1], hoặc các số rời rạc trong 1 khoảng được định nghĩa trước. Hình 1.5: Các hàm kích thích hay được sử dụng nhất: (a) Hàm chặn cứng; (b-1), (b-2) Các hàm chặn tuyến tính ; (c) Các hàm sigma: hàm logsig (c-1), hàm logsig 2 cực (c-2); (d) hàm gaussian (hàm hình quả chuông) Hình trên mô tả các loại hàm kích thích hay được sử dụng nhất. Hàm chặn cứng (hình 1.5[a]). Nếu giá trị đầu vào của mạng lớn hơn 1 giá trị chặn nào đó thì nơron trở nên tích cực (giá trị kích thích bằng 1), ngược lại nó sẽ không tích cực (giá trị kích thích bằng 0). Hàm chặn tuyến tính. Giá trị kích thích sẽ tăng tuyến tính cùng với sự tăng của tín hiệu đầu vào và khi đến một ngưỡng nào đó đầu ra sẽ bão hòa. Các kiểu hàm chặn 9 tuyến tính khác nhau phụ thuộc vào phạm vi của giá trị đầu ra nơron (hình 1.5[b-1], 1.5[b-2]). Hàm sigma. Hàm sigma là hàm truyền phi tuyến hình chữ S được đặc trưng bởi các yếu tố sau. Bị chặn, các giá trị của nó bị hạn chế giữa 2 ngưỡng, ví dụ như [0 1], [-1 1]. Đơn điệu tăng, nghĩa là các giá trị của g(u) không bao giờ giảm khi u tăng. Liên tục và tăng, do đó có thể đạo hàm ở mọi điểm trong miền của hàm xác định của hàm. Các kiểu hàm sigma khác nhau được sử dụng trong thực tế là: hàm logsig 1 1 cu a e − = + (hình 1.5[c-1]) trong đó c là hằng số. Một hình thức khác của hàm logsig là hàm logsig 2 cực: ( ) 1 1 cu cu e h u e − − − = + (hình 1.5[c-1]) và hàm tansig: ( ) tanh cu cu cu cu e e u e e − − − = + . Hàm gaussian (hàm hình quả chuông, hình 1.5[d]). 1.3 Mạng truyền thẳng và huấn luyện mạng theo thuật toán Brandt-Lin 1.3.1 Mạng truyền thẳng Mạng nơron nhân tạo là tập hợp các nơron nhân tạo được liên kết với nhau theo một quy luật nhất định nhằm phục vụ nhu cầu của người thiết kế mạng. Có 2 loại mạng nơron thường được sử dụng là mạng truyền thẳng và mạng hồi tiếp. Hình 1.6 mô tả mạng truyền thẳng và mạng hồi tiếp. Dù cấu trúc của mạng nơron thuộc loại nào thì mạng nơron đều có cấu tạo chung là được cấu thành từ các lớp. Lớp đầu tiên được gọi là lớp đầu vào (input layer), lớp cuối cùng được gọi là lớp đầu ra (output layer), các lớp giữa được gọi là các lớp ẩn (hidden layer). 10 [...]... i =1, 2,3 z i l u ra ca nron th i thuc lp n, i =1, 2,3 o l u ra ca lp u ra net1 , net2 ln lt l hm truyn ca lp n, lp u ra Tớnh u ra ca cỏc lp: Lp n: (1) (1) (1) a1 (1) = x 1 w 11 + x 2 w12 + x 3 w13 z 1 = net 1 (a1 (1) ) (1) (1) a2 = x 1w (1) + x 2 w (1) + x 3 w 23 21 22 (1) z 2 = net 1 (a2 ) (1) (1) (1) a3 (1) = x 1 w 31 + x 2 w 32 + x 3 w 33 z 3 = net 1 (a3 (1) ) Lp u ra: (2) (2) (2) a(2) = z1w 11 + z2 w12... dy j l 1 = l yi l dy j dxij = dE l ' l l 1 F j ( xij ) yi dy lj dE dE 1 = l dy lj dw lij F jl ' ( xij ) yil 1 (1) l q dE E dE dyk +1 = + l dy lj y lj k =1 dyk +1 dy lj q E dE + +1 = l + wljk 1 l +1 Fkl +1' ( x ljk ) (2) y j k =1 dyk 14 m theo (1) suy ra : dE dE 1 = (3) l +1 +1 dyk +1 dw ljk Fkl +1' ( xljk ) y lj thay (3) vo (2) ta cú : q dE E dE 1 + = l + wljk 1 +1 dy lj y j k =1 dw ljk y lj & +1 m w... y lj & +1 m w ljk = dE +1 dw ljk dE E 1 q l +1 l +1 1 & nờn: = l w jk w jk l l dy j y j k =1 yj & w lij = dE dE l = l Fi l ' ( xij ) yil 1 l dw ij dy j E 1 q l +1 l +1 1 l & = ( l w jk w jk l ) Fi l ' ( xij ) yil 1 y j k =1 yj q + & +1 = ( wljk 1w ljk k =1 1 E l l ) Fi l ' ( xij ) yil 1 l yj y j 15 CHNG 2: GII THIU ATMEGA 12 8 2 .1 c im ca Atmega 12 8 Kh nng thc thi cao, cụng sut tiờu th thp,... nng m rng b nh ngoi chõn Port C Pin PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 Chc nng AD15 (m rng b nh ngoi vi bit d liu l bit 15 ) AD14 (m rng b nh ngoi vi bit d liu l bit 14 ) AD13 (m rng b nh ngoi vi bit d liu l bit 13 ) AD12 (m rng b nh ngoi vi bit d liu l bit 12 ) AD 11 (m rng b nh ngoi vi bit d liu l bit 11 ) AD10 (m rng b nh ngoi vi bit d liu l bit 10 ) AD9 (m rng b nh ngoi vi bit d liu l bit 9) AD8(m rng b nh... 2 .1: Phõn tớch 1 h thng theo thut toỏn Brandt-Lin nh lý i vi mt h thng cú tớnh ng hc cho bi ộ p l l - 1 y = F ờ w ij yi ỳ ồ ờj =1 ỳ ở ỷ l j nu cỏc l i trng q + & & +1 w = ( ồ w ljk 1w ljk l ij k =1 s (1) liờn kt 1 ảE - g l )Fil' ( x lij )y li - 1 l yj ảy j thỡ ch s cht lng E = w lij c thớch nghi (2) 1 n ( ym yi )2 s gim dn theo thi gian Núi túm li l 2 i =1 phng trỡnh sau luụn tha món: q + & & +1 w... Port D cũn cú thờm chc nng m rng b nh ngoi chõn Port D Pin PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0 Chc nng T2 (u vo b m timer/counter2) T1 (u vo b m timer/counter1) XCK1 (dựng khi giao tip USART1 cn dựng b dao ng riờng) ICP1 INT3/TXD1 (Ngt m rng hoc chõn truyn tớn hiu ca UART1) INT2/RXD1 (Ngt m rng hoc nhn tớn hiu ca UART1) INT1/SDA (Ngt m rng hoc chõn a ch ca giao tip I2C) INT0/SCL (Ngt m rng hoc chõn a dao... hỡnh 3 .14 minh ha b dn kờnh (multiplexer), úng vai trũ la chn mt trong nhiu ngun tớn hiu ng h dựng cho b timer/counter B chia tn s dựng cho c b timer/counter 0, timer/counter 1, v timer/counter 2 c minh ha trờn hỡnh 2 .11 34 Hỡnh 2 .11 : B dn kờnh S ca b timer/counter 0 8 bit c minh ha trờn hỡnh 2 .12 Hỡnh 2 .12 : S ca b timer/counter0 8 bit 35 S ca b timer/counter 1 16 bit c biu din trờn hỡnh 2 .13 Hỡnh... ngt ca AVR Reset : Chõn ngoi, Preset, Brown-out reset v Watchdog reset INT0 : Ngt ngoi yờu cu 0 INT1 : Ngt ngoi yờu cu 1 Timer1 CAPT : Ngt do s kin m/nh thi 1 Timer1 COMPA : Ngt do t giỏ tr so sỏnh A m/nh thi 1 Timer1 COMPB : Ngt do t giỏ tr so sỏnh B m/nh thi 1 Timer1 OVF: Ngt do trn bm/nh thi 1 Timer0 OVF: Ngt do trn bm/nh thi 0 SPI,STC : Giao tip ni tip xong USART, RXC : Nhn ni tip xong... ca AVR 2.3 .1 B nh ca Atmega128 Atmega 12 8 cha 12 8 Kbytes chng trỡnh v cú chu k ty xúa l 10 000 ln B m ca Atmega 12 8 l 16 bit Cú th np chn trỡnh cho chip qua cng SPI, JTAG hoc cng song song Atmega 12 8 s dng kin trỳc Harvard vi b nh d liu v b nh chng trỡnh tỏch bit nhau Hỡnh 3.4 minh ha phỏc tho kin trỳc bờn trong ca b iu khin Atmega 12 8 Bus d liu dựng cho b nh d liu l mt bus 8 bit, cho phộp 21 ni hu ht... (TOV1, OCF1A, OCF1B, v ICF1) 2.3.6 B bin i A/D bờn trong Atmega 12 8 cung cp b bin i tng t s vi phõn gii 10 bit Ngoi ra, bờn cnh bờn cnh b bin i ADC cũn cú mt b dn kờnh 8 ni vo, mi li cú th c dn riờng l ti b hin th ADC B bin i ADC c s dng PORTF Nú cú kh nng kt hp 16 u vo in ỏp khỏc nhau Hai u vo khỏc l ( ADC0 vi ADC1 v ADC2 vi ADC3) l cú th lp trỡnh c h s khuch i, nú cung cp cỏc bc h s khuch i 0 dB(1x), . ra. Tính đầu ra của các lớp: Lớp ẩn: (1) (1) (1) (1) 1 1 11 2 12 3 13 (1) 1 1 1 (1) (1) (1) (1) 2 1 21 2 22 3 23 (1) 2 1 2 (1) (1) (1) (1) 3 1 31 2 32 3 33 (1) 3 1 3 w w w ( ) w w w ( ) w w w ( ) a. Brandt và Feng Lin đưa ra. Trong đồ án này, ngoài việc thực hiện tốt các mô phỏng, nhóm đã tiến hành điều khiển thực tế được động cơ 1 chiều có công suất nhỏ và với các yêu cầu điều khiển không cao. . Động cơ điện một chiều 67 4 .1. 1. Cấu tạo của động cơ một chiều 67 4 .1. 2. Encoder gắn trên động cơ một chiều 69 4 .1. 3. Động cơ sử dụng để thử nghiệm 70 4.2. Thiết kế bộ điều khiển trên nền vi điều