Lừi (core) của bộ vi xử lý AT89C51CC02 hỗ trợ tốc độ đến 40Mhz. Cỏc thiết bị ngoại vi tớch hợp trờn chớp tƣơng đƣơng với dũng vi xử lý 8052 bao gồm 4 cổng vào ra song song (port1-4), 3 bộ định thời (timer0-2), 14 nguồn tạo ngắt và 256 byte ram.
4.2.2. Bộ điều khiển truyền thụng CAN (CAN Controller) của AT89C51CC02 AT89C51CC02
4.2.2.1. Sơ đồ khối
Hỡnh 4.3: Sơ đồ khối bộ điều khiển truyền thụng CAN của vi xử lý AT89C51CC02
4.2.2.2. Cỏc tớnh năng chớnh của bộ điều khiển truyền thụng CAN
Hỗ trợ cả 2 chuẩn CAN 2.0A và 2.0B
Tối ƣu cấu trỳc để giao tiếp với lừi vi xử lý dễ dàng (thụng qua cỏc thanh ghi SFR)
Khả năng lƣu 4 đối tƣợng thụng điệp (message object) độc lập Tự động trả lời khung yờu cầu dữ liệu
Hỗ trợ chế độ nghe (listening mode) với khả năng tự động nhận tốc độ truyền thụng trờn mạng (AutoBaud)
4.2.2.3. Cơ chế hoạt động
Mỗi khung bản tin gửi hoặc nhận đƣợc lƣu trong cỏc vựng bộ đệm gọi là một đối tƣợng thụng điệp (message object). Cỏc đối tƣợng thụng điệp này bao gồm 8byte dữ liệu của bản tin, 4 byte ID của bản tin và 1 byte cấu hỡnh bản tin.
Bộ điều khiển CAN của AT89C51CC02 hỗ trợ 4 đối tƣợng thụng điệp. Mỗi thụng điệp cú thể đặt ở nhiều chế độ, độc lập với nhau, đặc biệt là trong chế độ trả lời tự động. Bộ điều khiển CAN này quản lý cỏc đối tƣợng thụng điệp thụng qua cơ chế phõn trang (pagination). Cơ chế này cho phộp bộ điều khiển CAN tổ chức cỏc đối tƣợng thụng điệp thành 4 mailbox, mỗi mailbox cú 20 byte dữ liệu. Bộ điều khiển CAN giao tiếp với lừi của vi xử lý thụng qua cỏc thanh ghi đặc biệt (Special Function Register). Cú 32 SFR để quản lý toàn bộ hoạt động của bộ điều khiển CAN.
Bộ điều khiển CAN cú thể tạo ra 5 nguồn ngắt vi xử lý bao gồm: Ngắt truyền bản tin: ngắt khi hoàn tất truyền một bản tin. Ngắt nhận bản tin: ngắt khi đó nhận đƣợc một bản tin đầy đủ. Ngắt bỏo lỗi: khi xảy ra cỏc lỗi nhƣ lỗi bit, lỗi crc, lỗi xỏc nhận… Ngắt do bộ đệm đó đầy
Hỡnh 4.4: Sơ đồ cỏc ngắt của bộ điều khiển CAN trong vi xử lý AT89C51CC02
4.3. VI ĐIỀU KHIỂN TÍCH HỢP BỘ XỬ Lí TÍN HIỆU SỐ
MICROCHIP DSPIC30F4011
dsPIC30 là một dũng vi điều khiển 16 bit tớch hợp bộ xử lý tớn hiệu số 16 bit của hóng Microchip. Với việc tớch hợp module xử lý tớn hiệu số (Digital Signal Processor) và một lừi vi điều khiển (controller), hóng Microchip đó tạo ra một bộ vi điều khiển cú khả năng xử lý cỏc phộp tớnh phức tạp và điều khiển trực tiếp cỏc thiết bị ngoại vi chỉ với một linh kiện duy nhất. Khụng chỉ làm gọn nhỏ cỏc bo mạch, một chip nhƣ vậy cũn làm đơn giản việc thiết kế mạch điện tử và đặc biệt là tăng khả năng chống nhiễu cho hệ thống.
Trong dũng vi điều khiển dsPIC30, dsPIC30F4011 với giỏ thành hợp lý đƣợc thiết kế chuyờn dụng cho điều khiển động cơ. dsPIC30F4011 đƣợc tớch hợp cỏc module đặc biệt trong lừi vi điều khiển nhƣ bộ đọc xung phản hồi vị trớ động cơ (quadrature encoder), bộ điều chế độ rộng xung (PWM), bộ biến đổi tớn hiệu tƣơng tự-số (ADC), và đặc biệt là bộ điều khiển truyền thụng CAN. Do đú, dsPIC30F4011 rất thớch hợp trong việc xõy dựng cỏc bộ điều khiển động cơ trong hệ thống điều khiển phõn tỏn robot SHEPHENT.
4.3.1. Cỏc tớnh năng chớnh của dsPIP30F401:
Kiến trỳc Harvard cú hiệu chỉnh
Tập lệnh tối ƣu cho ngụn ngữ lập trỡnh C với chế độ địa chỉ linh hoạt. Tập lệnh gồm 84 lệnh cơ bản với độ dài lệnh 24 bit, độ dài dữ liệu 16 bit 48 KB bộ nhớ Flash, cú thể nạp lại nhiều lần
2 KB bộ nhớ RAM
1KB bộ nhớ EEPROM cho phộp lƣu cỏc tham số mà khụng cần nguồn nuụi Tốc độ xử lý tối đa 30 triệu lệnh trong 1 giõy (MIPs)
30 nguồn tạo ngắt với 3 nguồn ngoài, 8 mức ƣu tiờn Bộ xử lý tớn hiệu số đƣợc tớch hợp
Chế độ địa chỉ module và đảo bit
Bộ nhõn bằng phần cứng 17 x 17 bit chỉ trong 1 chu kỳ lệnh
4.3.1.1. Cỏc thiết bị ngoại vi trờn chip
Cỏc chõn vào/ra cú khả năng chịu dũng cao: 25mA
Module định thời (Timer) với tần số xung clock cú thể chia đƣợc và cấu hỡnh thành 1 cặp Timer 16 bit hoặc 1 timer 32 bit
Bộ điều chế độ rộng xung (PWM) với độ phõn giải 16 bit
Module truyền dữ liệu SPI và ….. hỗ trợ chế độ nhiều chủ tớ (Multi- Master/slave) và chế độ địa chỉ 7 bit/10 bit
2 module truyền thụng nối tiếp (UART) với bộ đệm FIFO Module truyền thụng CAN tƣơng thớch chuẩn 2.0B
4.3.1.2. Cỏc module tớn hiệu tương tự (anolog)
4 bộ chuyển đổi tớn hiệu tƣơng tự - số (ADC) với cỏc khả năng : Tốc độ lấy mẫu lờn tới 500Ksps
9 kờnh vào
Chuyển đổi ngay cả trong chế độ ngủ (sleep) Cú thể lập trỡnh để khởi động lại (reset) hệ thống
4.3.1.3. Cỏc tớnh năng khỏc của vi điều khiển
Bộ nhớ chƣơng trỡnh Flash với khả năng ghi/xúa tới 100.000 lần Bộ nhớ EEPROM với khả năng ghi/xúa 1 triệu lần
Cú khả năng tự lập trỡnh lại bằng mó lệnh
Watchdog Timer sử dụng bộ giao động C riờng trờn chip cho phộp tiờu thụ năng lƣợng nhỏ và độn tin cậy rất cao
Hỗ trợ khả năng lập trỡnh trờn bo mạch (In-circurt Serial Programing)
4.3.1.4. Chế tạo theo cụng nghệ CMOS
Cụng nghệ Flash với hiệu suất cao
Tiờu thụ năng lƣợng rất nhỏ
4.3.2. Cỏc module chuyờn dụng cho điều khiển động cơ của vi điều khiển dsPIP30F4011 khiển dsPIP30F4011
6 kờnh ra PWM với nhiều khả năng lựa chọn Ra theo 3 cặp hoặc kờnh riờng biệt
3 bộ thay đổi chu kỳ đặc biệt cho động cơ 3 pha
Thời gian trễ cho việc đúng /mở phần điện tử cụng suất cú thể cấu hỡnh lại.
Modul giải mó xung phản hồi vị trớ (Quadraturn Encoder) Bộ 3 đầu vào cho cỏc tớn hiệu kờnh A, B, Index
Thanh ghi vị trớ 16 bit
Cú chế độ X2, X4 cho phộp đếm theo cỏc sƣờn xung bờn, xuống, cú thể tạo ra ngắt khi thanh ghi tràn
Bộ lọc nhiễu cú thể lập trỡnh đƣợc
4.3.2.1. Module điều khiển mụtơ PWM
Module này làm đơn giản bài toỏn điều chế độ rộng xung (Pulse Width Modulated – PWM). Trong thực tế, module PWM sẽ đƣợc ứng dụng cho cỏc bài toỏn điều khiển truyến động sau:
Điều khiển động cơ 3 pha xoay chiều dõy quấn Điều khiển động cơ từ trở chuyển mạch
Điều khiển động cơ một chiều Nguồn UPS
Module PWM cú những tớnh năng sau: 06 cổng vào/ra PWM với 3 bộ tạo chu kỳ Độ phõn giải lờn tới 16 bit
Thay đổi tần số PWM ’ on – the – fly’ Cỏc chế độ đầu ra : Sƣờn và trung tõm Chế độ tạo xung đơn
Hỗ trợ ngắt cho việc cập nhật khụg đối xứng trong chế độ trung tõm Bộ so sỏnh sự kiện đặc biệt cho việc lập lịch những sự kiện ngoại vi khỏc Module này chứa 3 bộ tạo chu kỳ, đƣợc đỏnh số từ 1 đến 3. Nú cú 6 cổng ra PWM đƣợc đỏnh số từ PWM 1H/ PWM 1L đến PWM 3H/PWM 3L, nú đƣợc tổ hợp thành từng nhúm cao/thấp(High/Low). Đối với những tải bổ xung, cổng PWM thấp luụn luụn bổ xung tƣơng ứng với cổng vào/ra cao
Module này cho phộp một vài chế độ hoạt động, vỡ vậy rất thuận tiện cho cỏc ứng dụng điều khiển cụng suất xỏc định.
4.3.2.2. Module giao diện encoder gúc phần tư (Quadrature Encoder
Interface Module – QEI)
Module này cung cấp giao diện cho encoder vị trớ tƣơng đối để lấy đƣợc dữ liệu vị trớ của động cơ, khụng cần sự can thiệp của phần mềm.
Một bộ encoder vị trớ tƣơng đối tiờu biểu cú 3 đầu ra: pha A, pha B và xung Index( xung chỉ số, chỉ cú 1 xung khi động cơ quya đƣợc 1 vũng). Hai tớn hiệu pha A(QEA), pha B(QEB) cú quan hệ thống nhất. Nếu pha A vuợt pha B, thỡ chiều mụtơ đƣợc cho là quay thuận hoặc mang dấu dƣơng, nếu pha A trễ hơn pha B thỡ chiều mụtơ đƣợc coi là quay nghịch hoặc mang dấu õm.
Kờnh Index đƣợc sử dụng để thiết lập vị trớ tuyệt đối. Xung chỉ số xẩy ra cựng với pha A và pha B, cả hai cựng cú mức thấp.
Cỏc tớnh năng của QEI bao gồm:
03 kờnh đầu vào cho hai tớn hiệu pha và xung chỉ số Bộ đếm tăng/giảm vị trớ 16 bit
Đếm số lần đảo chiều
Đo vị trớ với chế độ x2 và x4
Bộ lọc nhiễu trờn đầu vào cú thể lập trỡnh Lựa chọn chế độ Timer/Counter 16 bit Cỏc ngắt QEI
Bộ đếm tăng/giảm 16 bit sẽ đếm tăng hoặc giảm mỗi khi cú xung, cỏi này đƣợc tạo ra bởi sụ khỏc nhau của tớn hiệu đầu vào của pha A và pha B. Bộ đếm hoạt
xỏc định bởi tớn hiệu UPDN, tớn hiệu này đƣợc tạo bởi bộ logic giao diện encoder gúc phần tƣ.
4.3.3. Bộ điều khiển truyền thụng CAN (CAN Controller) của dsPic30F4011 dsPic30F4011
Module CAN( Controller Area Network) là một giao diện nối tiếp, phự hợp cho việc truyền trụng với những module CAN khỏc hoặc cỏc thiết bị vi điều khiển. Giao diện/ giao thức này đƣợc thiết kế để cho phộp truyền thụng trong mụi trƣờng cú nhiễu. Chip dsPIC30F4011/4012 cú một mudule CAN
Cỏc tớnh năng của module nhƣ sau:
Thực hiện giao thức CAN 1.2, CAN 2.0A, CAN 2.0B Khung dữ liệu chuẩn và mở rộng
Độ dài dữ liệu 0-8 byte
Tốc độ bit cú thể lập trỡnh lờn tới 1Mbit/s Hỗ trợ chế độ truyền xa
Hai bộ đệm nhận tớn hiệu đầu vào( mỗi bộ lờn tới 8 byte dữ liệu) 6 bộ lọc
3 bộ đệm truyền với mức ƣu tiờn xỏc định( lờn tới 8 byte dữ liệu) Tớnh năng Wake-up với bộ lọc thụng thấp cú thể lập trỡnh
Chế độ Loopback cú thể lập trỡnh hỗ trợ khả năng tự kiểm tra (self-test) Nguồn khúa cú thể lập trỡnh
Kết nối với module Input Capture(IC2 cho cả CAN1 và CAN2) cho thời gian lấy mẫu và đồng bộ mạng
Chế độ tiết kiệm năng lƣợng
Module CAN chứa một lừi giao thức và phần điều khiển/ đệm bản tin. Lừi giao thức CAN kiểm soỏt tất cả cỏc chức năng nhận và truyền bản tin trờn bus CAN. Bản tin đƣợc truyền bằng việc tải đầu tiờn cỏc thanh ghi dữ liệu phự hợp. Trạng thỏi và lỗi cú thể đƣợc kiểm tra bằng cỏch đọc cỏc thanh ghi phự hợp. Bất kỳ bản tin nào đƣợc phỏt hiện trờn bus CAN đều đƣợc kiểm tra lỗi.
4.3.3.1. Kiểu khung bản tin
Module CAN truyền cỏc kiểu khung bản tin khỏc nhau.
Khung dữ liệu chuẩn: Một khung dữ liệu chuẩn đƣợc tạo bởi một nỳt khi nỳt này muốn truyền dữ liệu. Nú bao gồm một bộ nhận dạng chuẩn 11 bit(Standard Identifier –SID)
Khung dũ liệu mở rộng: Nú tƣơng tự nhƣ khung dữ liệu chuẩn nhƣng nú sử dụng bộ nhận dạng chuẩn 18 bit
Khung dữ liệu xa: Nú cú khả năng đối với một nỳt đớch khi yờu cầu dữ liệu từ một nguồn nào đú. Để thực hiện đƣợc điều này, nỳt đớch gửi một bản tin xa với một bộ nhận dạng xỏc định dữ liệu yờu cầu, nỳt nguồn dữ liệu phự hợp sau đú sẽ gửi một khung dữ liệu đỏp ứng với yờu cầu từ xa này
Khung dữ liệu lỗi: Một khung dữ liệu lỗi đƣợc tạo ra bởi bất kỳ nỳt nào khi phỏt hiện ra cú lỗi trờn bus. Một khung lỗi bao gồm 2 trƣờng: một trƣờng cờ lỗi và một trƣờng xỏc định ranh giới lỗi
Khung dữ liệu quỏ tải: Một khung dữ liệu quỏ tải cú thể đƣợc tạo ra bởi một nỳt nhƣ kết quả của hai điều kiện. Thứ nhất là: Nỳt này phỏt hiện ra một bit trội trong nội bộ khung - điều này là bất hợp lệ. Thứ hai là: vỡ điều kiện nội tại nờn nỳt khụng cú khả năng nhận bản tin tiếp theo. Một nỳt cú thể tạo ra nhiều nhất 2 khung qua tải liờn tiếp để trỡ hoón việc bắt đầu của bản tin tiếp theo
Khụng gian nội bộ bản tin: Khụng gian nội bộ bản tin phõn biệt một khung dữ liệu đi đến là từ bản tin tiếp theo hay từ bản tin từ xa.
4.4. XÂY DỰNG NỀN TẢNG TRUYỀN THễNG TIN CHO HỆ THỐNG
Nhƣ đó núi ở trờn, mục đớch của đề tài là xõy dựng một hệ thống truyền động cú một sự liờn kết chặt chẽ giữa cơ và điện, việc xõy dựng một cơ sở cho hệ thống truyền thụng giữa cỏc bộ điều khiển là nền tảng cho toàn bộ hệ thống phõn tỏn cần hƣớng tới xõy dựng một chuẩn truyền thụng dựa trờn CAN, khả thi trong điều kiện Việt Nam. Việc xõy dựng cỏc hệ thống dựa theo một chuẩn cụ thể nhƣ CANOpen hay Devicenet gặp khỏ nhiều khú khăn. VCCAN đƣợc xõy dựng dựa trờn CAN.
CAN với nhiều ƣu thế vƣợt trội so với cỏc chuẩn truyền thụng cụng nghiệp trong lĩnh vực truyền động cú thể coi là lựa chọn hàng đầu khi ứng dụng vào luận văn này. CAN chỉ đƣợc chuẩn hoỏ lớp liờn kết dữ liệu và một phần của lớp vật lý.Do đú việc triển khai lớp ứng dụng và cụ thể hoỏ lớp vật lý là điều kiện để xõy dựng một hệ điều khiển phõn tỏn hoàn chỉnh.
4.4.1. Triển khai lớp vật lý
Hiện nay trờn thế giới, CAN với chuẩn vật lý RS – 485 với cỏp đụi dõy xoắn đƣợc sử dụng rất phổ biến. Việc ứng dụng chuẩn vật lý này trong điều kiện Việt Nam là hoàn toàn khả thi. Chuẩn RS-485 với cỏp đụi dõy xoắn là quỏ quen thuộc với cỏc kỹ sƣ Việt Nam. Ngoài ra cỏc linh kiện, dõy cỏp, giắc nối… đều dễ tỡm đƣợc và cú giỏ thành khụng cao. VCCAN hỗ trợ chuẩn vật lý RS-485, cỏp đụi dõy xoắn với chiều dài tối đa 250m (tốc độ truyền 250 K bit/s)
Tỏc giả đó sử dụng IC MCP2251 của hóng Microchip. Đõy là IC hỗ trợ giao diện CAN với chuẩn RS-485 núi trờn. IC này hỗ trợ tốc độ lờn tới 1Mbit/s và cho phộp 64 trạm trờn một đƣờng mạng (khụng cần repeater). Trong điều kiện phũng thớ nghiệm với tốc độ truyền 1Mbit/s, tỷ lệ bản tin bị lỗi so với số bản tin truyền tốt là 1/5000.
4.4.2. Triển khai lớp ứng dụng
Việc triển khai lớp ứng dụng cho VCCAN một phần dựa trờn cỏc linh kiện và thiết bị thực sẽ sử dụng, một phần dựa trờn yờu cầu về tớnh năng thời gian, dữ liệu của một hệ thống truyền động.
Cỏc thiết bị trong một hệ thống truyền động, đặc biệt là robot thƣờng khụng cỏch xa nhau. Vơi linh kiện MCP2251 hoặc một số linh kiện giao diện vật lý CAN của cỏc hóng sản xuất khỏc, tốc độ 1M bit/s và giới hạn khảong cỏch 40m là hoàn toàn khả thi. VCCAN hỗ trợ ba tốc độ truyền là 1M bit/s, 500 K bit/s và 250 K bit/s, tƣơng ứng với cỏc chiều dài tối đa của đƣờng mạng là 40m, 100m, và 250m.
4.4.3. Cơ chế giao tiếp
VCCAN hoạt động dựa trờn mụ hỡnh nhà sản xuất/ ngƣời tiờu dựng (producer custumer) với hỡnh thức giao tiếp chủ yếu là Master/Slave. Mụ hỡnh này cho phộp cỏc hỡnh thức giao tiếp nhƣ sau:
Điều khiển theo sự kiện: sử dụng trong trƣờng hợp cú lỗi vớ dụ vận tốc, gia vƣợt khỏi giới hạn cho phộp cỏc thiết bị chấp hành.
Điều khiển theo thời gian: Master cú thể gửi dữ liệu hoặc lệnh điều khiển theo một chu kỳ định trƣớc.
Gửi đồng loạt
Hỏi tuần tự (polling): phƣơng phỏp kinh điển cho cỏc hệ thống chủ/tớ
4.4.4. Phõn loại thiết bị và dữ liệu trong VCCAN
VCCAN hƣớng tới cỏc hệ thống truyền động và tớnh năng thời gian đƣợc đặt lờn hàng đầu. Cỏc thiết bị phõn tỏn trong hệ thống chủ yếu là cỏc bộ điều khiển chống hành.
4.4.4.1. Thiết bị điều khiển chuyển động
Thiết bị điều khiển chuyển động bao gồm tất cả cỏc bộ điều khiển động (một