Chương 5 - Đại cương về cấu trúc phần cứng và phần mềm.
Trang 1Chương 5
đạI CƯƠNG Về Cấu trúc phần cứng và phần mềm CHO ĐIềU
KHIểN Số động cơ điện một chiều
Chương này giới thiệu về phần cứng và phần mềm trong điều khiển số Hệ thống phần cứng được xây dựng từ vi điều khiển Bên cạnh đó, một hệ thống vi điều khiển có thể được ghép nối với máy tính, do đó các thông số của bộ điều khiển số có thể đặt trực tiếp trên máy tính Máy tính cũng làm nhiệm vụ giám sát giá trị đặt cũng như giá trị phản hồi của hệ thống
điều khiển Cuối cùng chương này giới thiệu đặc điểm của ngôn ngữ C là ngôn ngữ tiện lợi để lập trình cho các vi điều khiển trong điều khiển số
5.1 Vi điều khiển
Phần cứng điều khiển động cơ một chiều bao gồm vi điều khiển Một bộ vi điều khiển (viết tắt là MCU hay àC) là một máy tính trên một chip Đây là một dạng của vi xử lý có độ tích hợp cao, tiêu thụ ít năng lượng và giá thành thấp Điều này tương phản với một bộ vi xử lý
đa chức năng được sử dụng cho máy tính cá nhân phải được kết nối với các phần tử khác mới
có thể làm việc được Ngoài việc kết hợp với các phần tử số học và logic như một bộ vi xử lý
đa năng, một số vi điều khiển còn được tích hợp với các phần tử khác như là bộ nhớ đọc-viết
để lưu dữ liệu, bộ nhớ chỉ đọc được (ROM) hay còn gọi là bộ nhớ chớp nhoáng đê lưu mã hay code chương trình Một số họ vi điều khiển còn có bộ nhớ EEPROM (Electrically Erasable Programmable Read-Only Memory) được sử dụng để lưu chương trình mãi mãi Bộ nhớ EEPROM được gọi là bộ nhớ chỉ đọc được có khả năng lập trình xóa được bằng điện Ngoài
ra bộ vi điều khiển còn có các giao diện vào/ra
Với tốc độ xung nhịp khoảng một vài MHz hoặc thấp hơn, một bộ vi điều khiển thường làm việc với tốc độ thấp hơn so với bộ vi xử lý hiện đại nhưng đủ cho một số ứng dụng cụ thể Các vi điều khiển thường tiêu thụ công suất nhỏ một vài milliwatts và có khả năng làm việc ở chế độ chờ hay còn gọi là chế độ “sleep” trong khi đợi các sự kiện ngoại như quá trình ấn một nút ấn để đưa vi điều khiển về trạng thái làm việc Công suất tiêu thụ ở chế độ chờ có thể chỉ một vài nanowatt làm cho các vi điều khiển lý tưởng đối với các ứng dụng công suất thấp và thời gian làm việc lâu dài của nguồn cấp là pin
Các bộ vi điều khiển thường được sử dụng trong các thiết bị điều khiển tự động như là trong các hệ thống điều khiển động cơ ô tô, điều khiển xa, các máy văn phòng, các thiết bị
điện, các máy công cụ và đồ chơi Được thiết kế với kích thước nhỏ gọn, giá thành thấp và công suất tiêu thụ nhỏ so với quá trình thiết kế sử dụng một vi xử lý riêng biệt, bộ nhớ và các thiết bị vào và ra, các bộ vi điều khiển được xem như là giải pháp kinh tế để điều khiển điện
tử nhiều quá trình hơn Bảng 5.1 là một số họ vi điều khiển thông dụng của hãng Atmel và Microchip
Bảng 5.1: Một số vi điều khiển của hãng Atmel và Microchip
• AT89 series (Intel 8051 architecture)
• AT90, ATtiny, ATmega series (AVR
architecture) (Atmel Norway design)
• AT91SAM (ARM architecture)
• AVR32 (32-bit AVR architecture)
• 8 and 16-bit microcontrollers with 12 to 24-bit instructions
• ability to include DSP function
• 12-bit instruction PIC
• 14-bit instruction PIC
• PIC16F84
• 16-bit instruction PIC
• 32-bit instruction PIC
5.1.1 Vi điều khiển AVR Atmega16
Vi điều khiển AVR Atmega16 là bộ vi điều khiển 8 bit mạnh có tốc độ xử lý cao, tiêu thụ công suất nhỏ Sơ đồ chân ra của loại 40 chân có dạng như trên hình 5.1
Trang 2Hình 5.1: Sơ đồ chân ra của vi điều khiển Atmega16 loại 40 chân
Đặc trưng của bộ vi điều khiển này như sau:
-Hiệu năng cao, công suất nhỏ
-Kiến trúc RISC tiên tiến
-Thao tác hoàn toàn tĩnh
-16K Bytes bộ nhớ chương trình chớp nhoáng tự khả trình trong hệ thống
-512 Bytes EEPROM
-1K Byte SRAM nội
-Chu kỳ đọc/viết: 10,000 Flash/100,000 EEPROM
-Thời gian lưu trữ chương trình: 20 năm ở 80oC/ 100 năm ở 25oC
-Có khả năng khóa chương trình sau khi nạp
-2 bộ định thời/đếm 8 bit (Timer/Counter)
-1 bộ định thời/đếm 16 bit (Timer/Counter)
-4 kênh PWM
-8 kênh ADC 10 bit
-Lập trình nối tiếp USART
-32 đường lập trình vào/ra
-Điện áp làm việc: 4,5-5,5 V
-Mức tốc độ: 0 đến 16 MHz
Chức năng các chân của Atmega16
-VCC: Điện áp cấp số
-GND: Đất
-Port A (PA7 PA0): Port A làm việc như là các đầu vào của các bộ chuyển đổi từ tương
tự sang số (ADC) Port A cũng có thể làm việc như là các port I/O hai chiều 8 bit Các chân của cổng có thể có các điện trở kéo lên nội (được chọn cho mỗi bit) Các bộ đệm
đầu ra của Port A có đặc tính lái đối xứng với khả năng chìm và nguồn cao Khi các chân PA0 tới PA7 được sư dụng như các đầu vào và được kéo xuống bên ngoài, chúng
sẽ tạo nên một dòng điện nếu các điện trở kéo lên nội được kích hoạt Các chân cổng
A là ba trạng thái khi một điều kiện reset được kích hoạt thậm chí nếu xung nhịp không làm việc
-Port B (PB7 PB0): Port B là một port vào ra hai chiều 8 bit với các điện trở kéo lên nội (được chọn cho mỗi bit) Các bộ đệm đầu ra của Port B có đặc tính lái đối xứng với khả năng chìm và nguồn cao Khi là đầu vào, các chân của Port B được kéo xuống từ bên ngoài sẽ phát ra dòng nếu các điện trở kéo lên được kích hoạt Các chân cổng B là ba
Trang 3-Port C (PC7 PC0): Port C là một port vào ra hai chiều 8 bit với các điện trở kéo lên nội (được chọn cho mỗi bit) Các bộ đệm đầu ra của Port C có đặc tính lái đối xứng với khả năng chìm và nguồn cao Các bộ đệm đầu ra của Port B có đặc tính lái đối xứng với khả năng chìm và nguồn cao Khi là đầu vào, các chân của Port C được kéo xuống từ bên ngoài sẽ phát ra dòng nếu các điện trở kéo lên được kích hoạt Các chân cổng C là
ba trạng thái khi điều kiện reset được kích hoạt thậm chí nếu xung nhịp không làm việc Nếu giao diện JTAG được cho phép, các điện trở kéo lên trên các chân PC5(TDI), PC3(TMS) và PC2(TCK) sẽ được kích hoạt thậm chí khi có reset
-Port D (PD7 PD0): Port D là một port vào ra hai chiều 8 bit với các điện trở kéo lên nội (được chọn cho mỗi bit) Các bộ đệm đầu ra của Port D có đặc tính lái đối xứng với khả năng chìm và nguồn cao Khi là đầu vào, các chân của Port D được kéo xuống từ bên ngoài sẽ phát ra dòng nếu các điện trở kéo lên được kích hoạt Các chân cổng D là ba trạng thái khi điều kiện reset được kích hoạt thậm chí nếu xung nhịp không làm việc -RESET: Đầu vào reset Một mức thấp ở chân này với thời gian dài hơn độ dài của xung tối thiểu sẽ tạo ra một quá trình reset, thậm chí nếu xung nhịp không chạy
-XTAL1: Đầu vào tới bộ khuyếch đại bộ dao động đảo và đầu vào tơi mạch làm việc xung nhịp nội
-XTAL2: Đầu ra từ bộ khuyếch đại bộ dao động đảo
-AVCC: là chân cấp điện áp cho cổng A của bộ chuyển đổi A/D Chân này nên được nối với bên ngoài tới Vcc thậm chí khi ADC không được sử dụng Nếu ADC được sử dụng, chân này nên được nối với Vcc qua một bộ lọc thông thấp
-AREF: là chân tham chiếu tương tự cho bộ chuyển đổi A/D
5.1.2 Ghép nối vi điều khiển AVR Atmega16 với máy tính
Cổng nối tiếp RS232 là giao diện sử dụng rộng rãi nhất Trong các máy PC cổng này còn gọi là cổng COM1 Cổng RS232 được dùng cho các mục đích đo lường và điều khiển Việc truyền dữ liệu qua cổng được tiến hành thao cách nối tiếp, nghĩa là các bit được gửi nối tiếp nhau trên cùng một đường dẫn Loại truyền thông này có khả năng dùng cho các khoảng cách lớn hơn, khả năng bị nhiễu ít hơn so với dùng cổng song song Việc dùng cổng song song có nhược điểm là việc sử dụng cap quá nhiều sợi, hơn nữa mức tín hiệu nằm trong khoảng 0-5V không thích hợp với khoảng cách lớn
Mức logic tín hiệu sử dụng khác nhau tùy theo mạch cụ thể Tín hiệu định mức là +12V (logic 0) và -12V (logic 1) Mức tín hiệu này cho phép truyền dẫn tín hiệu khoảng cách xa Hình 5.1 là sơ đồ chân của cáp nối tiếp RS232
Hình 5.1: Cáp nối tiếp RS232
Trang 4Vi điều khiển AVR Atmega16 có thể ghép nối với máy tính qua bộ nhận và truyền nối tiếp đa năng đồng bộ và không đồng bộ (Universal Synchronous and Asynchronous serial Receiver and Transmitter /USART) Hình 5.2 là một ví dụ của việc mắc một bộ chuyển đổi mức cổng nối tiếp MAX232 với vi điều khiển AVR Atmega16 cho truyền thông nối tiếp với một máy tính qua cổng nối tiếp RS232
Hình 5.2: Ghép nối vi điều khiển Atmega 16 với máy tính qua truyền thông nối tiếp RS232 5.2 Động cơ điện một chiều
Động cơ 1 chiều Lab-Volt có các thông số định mức nh− sau:
-Phần ứng: 220 V-1,5 A
-Kích từ song song (shunt): 220 V-0,3 A
-Kích từ nối tiếp (series): 1,5 A
-Công suất động cơ: 175 W-1500 r/min
5.3 Phản hồi tốc độ
Phản hồi tốc độ là một máy phát tốc với đầu ra 1 V ứng với 500 vòng/phút
5.4 Tải cơ của động cơ
Khối Dynamometer dùng làm tải cơ cho động cơ điện:
-Công suất: 0-3 N.m – 0-2500 r/min, 175 W
Khi phần ứng của động cơ là 200 VDC và rô to của động cơ đ−ợc nối với tải cơ (dynamometer) và mô men đ−ợc điều chỉnh bằng tay về 0 N.m thì tốc độ động cơ là 940 vòng/phút
5.5 Van đóng cắt của mạch băm
Van đóng cắt của mạch băm là MOSFET công suất: Điện áp vào định mức 700 VDC, dòng định mức 1,5A Sơ đồ khối mạch mở MOSFET nh− trên hình 5.3 Theo thực nghiệm để MOSFET có thể mở đ−ợc thì đầu vào của khối điều khiển đóng cắt phải lớn hớn hoặc bằng 9VDC
Trang 5Hình 5.3: Sơ đồ khối mạch mở MOSFET của tủ thí nghiệm truyền động Lab-Volt 5.6 Diod mắc song song ngược với tải
-Điốt công suất mắc song song ngược với tải: 1 A
-Mục đích của diod này là bảo vệ MOSFET khỏi bị phá hủy khi tải cảm lớn
5.7 Cuộn kháng lọc
-Tác dụng của cuộn kháng lọc là đảm bảo cho dòng điện phần ứng là liên tục
-Mỗi cuộn kháng lọc nếu được mắc nối tiếp: 3,2 H – 0,75 A
-Nếu mỗi cuộn kháng lọc được mắc song song: 0,8 H – 1,7 A
Hình 5.4: Một cuộn kháng lọc 5.8 Điều khiển động cơ điện một chiều sử dụng phản hồi tốc độ
Một trong những phương pháp điều khiển động cơ điện một chiều là điều khiển điện áp phần ứng Trong phương pháp này, dòng điện kích từ được giữ không đổi và điện áp phần ứng được thay đổi
Tốc độ của động cơ tỷ lệ với điện áp phần ứng Do đó, để có được một tốc độ theo mong muốn, chúng ta chỉ cần đặt một điện áp một chiều tương ứng vào phần ứng của động cơ Tuy nhiên, khi tải của động cơ thay đổi, tốc độ của động cơ sẽ thay đổi
Để đạt được một hệ thống cho phép duy trì tốc độ đặt là không thay đổi khi tải của
động cơ thay đổi, chúng ta cần phải sử dụng phản hồi âm tốc độ Đối với một hệ thống phản hồi âm tốc độ, một tín hiệu điện áp tỷ lệ với tốc độ thật của động cơ (thường thu được qua một máy phát tốc gắn ở trên trục của động cơ) được trừ từ tín hiệu tỷ lệ với tốc độ đặt thường
được xem như là tín hiệu tham chiếu Kết quả cho ra một tín hiệu được gọi là tín hiệu sai lệch Tín hiệu sai lệch này sau đó sẽ xác định điện áp đặt vào phần ứng của động cơ
Nói chung, tín hiệu sai lệch sẽ được xử lý bằng một bộ điều khiển trước khi cho ra điện
áp tương ứng đặt vào phần ứng của động cơ Một bộ điều khiển đơn giản nhất có thể là một
bộ điều khiển tỷ lệ Trong thực tế, để có chất lượng điều khiển tốt hơn người ta phải sử dụng
bộ điều khiển PID (bộ điều khiển tỷ lệ-tích phân-vi phân) theo sơ đồ khối như trên hình 5.5
Khối điều khiển
đóng cắt
Cách ly và khuyếch đại
Đầu vào
Đến cực G của MOSFET
Trang 6Hình 5.5: Sơ đồ khối hệ thống điều khiển tốc độ 5.9 Một số đặc điểm chương trình phần mềm trong điều khiển số
Ta đã biết điều khiển số động cơ điện là điều khiển có thời gian ngắn nhất Hợp ngữ (Assembly) là ngôn ngữ sử dụng hiệu quả nhất dành cho mục đích này Chương trình có hiệu quả nhất là chương trình sử dụng bộ nhớ (dùng cho mã dịch và dữ liệu) ít nhất với thời gian ngắn nhất
Ngôn ngữ C có những đặc trưng của ngôn ngữ cấp cao nhưng cũng có những đặc điểm của ngôn ngữ bậc thấp là ngôn ngữ rất hiệu quả trong việc xây dựng các chương trình phần mềm điều khiển động cơ C có tính cấu trúc rất cao, có các toán tử rất mạch vì thế ngày này các chương trình lớn đều được viết bằng C C cũng có thể được ghép nối trực tiếp với hợp ngữ vì thế này nay C trở nên thông dụng hơn hợp ngữ nhiều
Khi lập trình bằng C người sử dụng phải nắm vững hệ lệnh của bộ vi điều khiển Ngoài
ra cũng cần biết các hàm được xây dựng riêng cho điều khiển Hàm C tương đương với chương trình con viết bằng hợp ngữ
C được gọi là ngôn ngữ thích hợp nhất cho điều khiển thời gian thực vì tính vạn năng, cô đọng và tốc độ thực hiện
Bộ điều khiển PID
Mạch động
cơ
S
Tải cơ
Máy phát tốc
Tín hiệu sai
lệch
Phản hồi (tỷ lệ với tốc độ động cơ) Tham
chiếu