MỤC LỤC
Cụng nghệ này cho phộp cỏc lệnh thực thi chỉ trong một chu kỡ nhịp xung, vỡ thế tốc độ xử lý dữ liệu cỳ thể đạt đến 1 triệu lệnh trờn giừy ở tần số 1 Mhz. Atmega128 cung cấp những đặc tớnh sau: 128 K bytes bộ nhớ chương trỡnh, 4K bytes bộ nhớ EEPROM, 4K bytes SRAM, 52 chừn với mục đớch vào ra thụng thường, 32 thanh ghi làm việc với mục đớch thụng thường, bộ đếm thời gian thực (RTC), 4 bộ Timer/Counter với chế độ so sỏnh và PWM, 2 USARTs, 8 kờnh ADC 10 bit với khả năng lựa chọn đầu vào và lập trỡnh được hệ số khuếch đại, Watchdog timer cú khả năng lập trỡnh nhờ bộ tạo dao động bờn trong, giao tiếp SPI, bộ giao tiếp kiểm tra lỗi theo chuẩn IEEE 1149.1, chỉ dựng để debug hệ thống và chương trỡnh trờn chip và khả năng lựa chọn 6 chế độ tiết kiệm năng lượng.
Ở chế độ power-save, Timer khụng đồng thời tiếp tục hoạt động, mà cho phộp người sử dụng dựng một Timer cơ sở trong khi cỏc thiết bị đang ở chế độ nghỉ. Chế độ giảm nhiễu cho ADC ngừng CPU và cỏc module vào ra ngoại trừ timer và ADC, để giảm nhiễu xuống thấp nhất trong quỏ trỡnh biến đổi ADC.
PB5 OC1A (đầu ra so sỏnh và PWM A của timer/counter1) PB4 OCO ( đầu ra so sỏnh và PWM của timer/counter0 PB3 MISO (bus giao tiếp SPI vào master hoặc ra slave) PB2 MOSI ( bus giao tiếp SPI vào slave hoặc ra master) PB1 SCK (quy định tốc độ đụng hồ khi giao tiếp) PB0 ____SS (chọn SPI là slave hay master). Chương trỡnh ngắt chỉ đơ giản giống hệt như một chương trỡnh con (subrountine), ngoại trừ một đặc điểm là việc thực thi của đoạn chương trỡnh ngắt này khụng bị bộ xử lý đoỏn trước là sẽ xuất hiện ở một thời điểm cụ thể nào. Bộ vi điều khiển AVR cú rất nhiều cấu trỳc ngắt sau đừy em chỉ trỡnh bày về cỏc loại ngắt mà mỡnh sẽ dựng. Đối với một loại vi điều khiển sẽ cú nhiều vectơ ngắt để phục vụ cho chương trỡnh như vectơ ngắt ngoài, ngắt nối tiếp, ngắt định thời. Sau đừy là cỏc nguyờn nhừn gừy ngắt của AVR. Trong chương trỡnh dành cho mạch giao tiếp cú sử dụng đến hai loại vectơ ngắt là ngắt do định thời và ngắt do nối tiếp. Vỡ vậy, trong phần này chỉ giới thiệu hai loại vectơ ngắt này. b )Giao tiếp nối tiếp.
Đối tượng điều khiển là đối tượng tuyến tớnh ổn định bậc 2 cú hàm truyền G(s) là. Bộ điều khiển PID-Neural:. Bộ điều khiển cú hệ số thớch nghi γ =1 và cỏc trọng số cú giỏ trị ban đầu là. Mụ hỡnh điều khiển:. Hỡnh 3.4: Mụ hỡnh điều khiển với đối tượng ổn định. Bộ điều khiển PID truyền thống với cỏc hệ số K T TP, ,I D được tớnh theo phương phỏp hằng số thời gian tổng của Kuhn:. Hàm truyền của đối tượng được viết lại như sau:. Nhận xột: So với bộ PID truyền thống, bộ điều khiển PID-Neural cho tớn hiệu đầu ra tốt hơn nhiều, khụng cú độ quỏ điều chỉnh, tốc độ xỏc lập nhanh. Nghiờn cứu trường hợp cú nhiễu, đưa vào hệ thống nhiễu ồn trắng cú cường độ noise power =0.01 và nhiễu được cộng thờm vào đầu vào của đối tượng. Đối tượng nghiờn cứu khụng đổi. Bộ điều khiển PID-Neural:. Bộ điều khiển cú hệ số thớch nghi γ =1 và cỏc trọng số cú giỏ trị ban đầu là. Mụ hỡnh điều khiển:. Bộ điều khiển PID truyền thống với cỏc hệ số K T TP, ,I D được tớnh theo phương phỏp hằng số thời gian tổng của Kuhn:. Hàm truyền của đối tượng được viết lại như sau:. Nhận xột: Khi cú nhiễu bộ điều khiển PID-Neural cho tớn hiệu đầu ra bỏm theo tớn hiệu đặt, khụng cú độ quỏ điều chỉnh trong khi ở bộ PID truyền thống cú xảy ra hiện tượng quỏ điều chỉnh. Để tạo ra đối tượng cỳ trễ, ta thờm vào 1 khừu trễ trước đối tượng điều khiển. Đối tượng điều khiển cỳ hàm truyền là:. Bộ điều khiển PID-Neural:. và cỏc trọng số cú giỏ trị ban đầu là. Mụ hỡnh điều khiển:. Bộ điều khiển PID truyền thống với cỏc hệ số K T TP, ,I D được tớnh theo phương phỏp hằng số thời gian tổng của Kuhn:. Hàm truyền của đối tượng được viết lại như sau:. Nhận xột: Với đối tượng cú trễ, tớn hiệu ra của hệ thống ở bộ điều khiển PID- Neural tốt hơn so với bộ điều khiển PID truyền thống, cú xảy ra độ quỏ điều chỉnh nhưng rất nhỏ. 45 d) Đối tượng cỳ thành phần tớch phừn. Nhận xột: Với đối tượng cỳ thành phần tớch phừn, chất lượng tớn hiệu đầu ra của hệ thống khụng được tốt, độ quỏ điều chỉnh lớn, thời gian xỏc lập dài. Nhưng với bộ điều khiển PID-Neural, chất lượng tớn hiệu đầu ra của hệ thống rất tốt, thời gian xỏc lập ngắn, khụng xảy ra hiện tượng quỏ điều chỉnh.
Cụng việc này tạo ra chất lượng điều khiển khụng cao do sự sai lệch giữa đối tượng thực và đối tượng sau khi tuyến tớnh húa. Đối tượng điều khiển là đối tượng tuyến tớnh ổn định bậc 2 cú hàm truyền G(s) là. Cỏc trọng số ban đầu là:. Mụ hỡnh điều khiển:. Hỡnh 3.18: Tớn hiệu đầu ra và tớn hiệu đặt với đối tượng ổn định. Nhận xột: Tớn hiệu đầu ra rất tốt. Dự là đối tượng bậc 2 nhưng khụng xảy ra hiện tượng quỏ điều chỉnh hay dao động. b) Đối tượng cú nhiễu. Nhiễu được sử dụng là nhiễu ồn trắng cú cường độ noise power = 0.01. Đối tượng nghiờn cứu và hệ số thớch nghi khụng đổi. Cỏc trọng số ban đầu là:. Hỡnh 3.20: Tớn hiệu đầu ra và tớn hiệu đặt trong trường hợp cú nhiễu Nhận xột: Ảnh hưởng của nhiễu chỉ cú tỏc động nhỏ đến chất lượng hệ thống. Đối tượng điều khiển khụng đổi. Hệ số thớch nghi là 2. Cỏc trọng số ban đầu là:. Mụ hỡnh điều khiển:. Hỡnh 3.22: Tớn hiệu đầu ra và tớn hiệu đặt trong trường hợp cú nhiễu. Nhận xột: Sai lệch giảm dần theo quỏ trỡnh học của mạng nơron. c) Đối tượng cỳ thành phần tớch phừn. Đối tượng cỳ thành phần tớch phừn được sử dụng là đối tượng cỳ hàm truyền sau:. Cỏc trọng số cú giỏ trị ban đầu là:. Mụ hỡnh điều khiển:. Hỡnh 2.22: Đối tượng cỳ thành phần tớch phừn. Hỡnh 2.23: Tớn hiệu đầu ra và tớn hiệu đặt với đối tượng cỳ thành phần tớch phừn. Nhận xột: Với đối tượng cỳ thành phần tớch phừn, việc lựa chọn bộ điều khiển theo mụ hỡnh này sẽ cho tớn hiệu đầu ra tốt hơn nhiều so với bộ điều khiển PID-Neural, độ quỏ điều chỉnh nhỏ, thời gian xỏc lập nhanh, sai lệch tĩnh bộ. e) Đối tượng phi tuyến. Nhận xột: Với đối tượng phi tuyến, việc lựa chọn bộ điều khiển theo mụ hỡnh này sẽ cho tớn hiệu đầu ra tốt hơn bộ điều khiển PID-Neural,thời gian xỏc lập nhanh hơn.
Khối điều khiển trung từm sử dụng vi điều khiển Atmega 128 được mở rộng bộ nhớ sram ngoài, 64K bytes. Do Atmega 128 cú cỏc hàm cú sẵn dựng cho LCD nờn rất tiện cho người dựng trong việc lập trỡnh. // đọc một byte ký tự từ LCD hoặc từ RAM unsigned char lcd_read_byte(unsigned char addr);.
Trừ khi CPU đang làm một cụng việc gỡ cực kỳ quan trọng mà khụng cho phộp ngắt này được thực hiện, cũn trong cỏc trường hợp cũn lại thỡ ngắt sẽ tỏc động đến CPU để nú dừng cụng việc đang thực hiện và bắt đầu thực hiện một chương trỡnh dựng để cung cấp một byte khỏc cho bộ đệm của cổng COM. Byte kế tiếp sẽ được chuyển từ bộ đệm truyền của cổng COM vào thanh ghi dịch truyền dữ liệu.Quỏ trỡnh truyền dữ liệu từng bit một của byte mới bắt đầu Một ngắt khỏc được phỏt ra để bỏo cho cho thiết bị biết để gửi một byte khỏc tới bộ đệm hiện thời đang trống. Bởi khi một ký tự được nhận cũng cú cựng ngắt như vậy cộng thờm đường điều khiển thay đổi trạng thỏi…Với tốc độ truyền chậm thỡ việc cú bộ đệm nhận 1 byte khụng là vấn để gỡ nhưng khi tốc độ cao hơn thỡ sẽ cú thể đẫn đển việc CPU khụng thể thực hiện cụng việc của UART đỳng lỳc gừy ra sự ghi đố dữ liệu (trong khi nhận dữ liệu) gừy ra cỏc lỗi “overrun” hay “overflow”.
Ban đầu sai lệch tớch lũy eI nhỏ cần tăng tớn hiệu điều khiển, sau đú theo thời gian điều khiển sai lệch này tăng dần thỡ cần giảm tớn hiệu điều khiển nờn chọn chọn hàm truyền của nơron thứ hai là hàm gaussian. Sau khi tiến hành mụ phỏng với nhiều đối tượng, quỏn tớnh bậc 2, đối tượng cú thành phần tớch phừn, khụng ổn định và đối tượng phi tuyến chỳng em đú quyết định sử dụng động cơ một chiều làm đối tượng thử nghiệm cho bộ điều khiển. Em thấy kết quả khỏ tốt, với bộ vi xử lý 8 bit sau một khoảng thời gian học khoảng 2 tiếng thời gian xỏc lập giảm xuống khoảng 1,5s, khụng cú độ quỏ điều chỉnh, khả năng tự chỉnh định khi cú tải, nhiễu tải nhưng sự thớch ứng là hơi chậm do tốc độ phản hồi đầu ra vỡ vậy mà mà cú trễ trong qua trỡnh chỉnh định tham số của mạng.