Phương pháp điều chế độ rộng xung PWM

Một phần của tài liệu Luận văn tốt nghiệp đại học thiết kế ROBOT tự hành với hệ điều hành nhúng LINUX (Trang 25 - 90)

Phương pháp điều chế độ rộng xung PWM (Pulse Width Modulation) là phương pháp thay đổi điện áp ra trung bình nhờ vào thay đổi thời gian đóng ngắt của các khóa cấp điện cho ngõ ra.

Phương pháp PWM được sử dụng rất phổ biến trong điều khiển động cơ vì các ưu điểm:

o Mạch công suất thiết kế đơn giản.

o Vận tốc động cơ thay đổi êm.

o Tổn hao công suất nhỏ. Xét mạch điện sau:

Luận án tốt nghiệp Chương 4: Mạch công suất động cơ

Khóa S được đóng ngắt theo chu kỳ không đổi, bằng cách thay đổi thời gian đóng (Ton) và ngắt của khóa S trong chu kỳ (T), ta thay đổi được điện áp trung bình trên tải. Khoảng thay đổi từ 0 đến U.

Hình 4.2 – Phương pháp PWM. Ta có công thức: . on average T V U T

Như vậy ta thay đổi được điện áp trung bình cấp cho động cơ, việc này làm thay đổi vận tốc động cơ.

Xung PWM được tạo rất dễ dàng bằng các mạch vi điểu khiển. Thực tế người ta thường điều chế xung với tần số 5KHz đến 20KHz.

Khóa đóng ngắt S trong thực tế thường sử dụng Mosfet hoặc IGBT. 4.2.2 Mch cu H:

Mạch cầu H được sử dụng rộng rãi để điều khiển đảo chiều động cơ. Xét mạch:

Hình 4.3 – Mạch cầu H.

Giả sử khi có dòng điện chạy theo chiều +  - thì động cơ quay thuận, chiều ngược lại sẽ làm động cơ quay nghịch.

- Cho khóa S1 và S4 đóng, khóa S2 và S3 hở mạch, khi đó dòng điện qua động cơ có chiều: S1  M  S4, động cơ quay thuận.

- Muốn đảo chiều quay của động cơ, ta ngắt S1 và S4, đóng S2 và S3, khi đó dòng điện qua S3  M  S2, động cơ sẽ quay theo chiều ngược lại.

Trong đề tài này, kết hợp mạch cầu H và phương pháp PWM, ta sẽ điều khiển vận tốc và chiều quay của động cơ như sau:

- Quay thuận: ngắt khóa S2 và S3, đóng khóa S4 và cấp xung PWM cho S1.

Luận án tốt nghiệp Chương 4: Mạch công suất động cơ

4.2.3 IC công sut L298:

L298 là IC công suất tích hợp 2 mạch cầu H bên trong, chuyên dụng cho điều khiển các động cơ công suất thấp.

Hình 4.4 – IC công suất L298,

Các thông số kỹ thuật đáng chú ý:

o Điện áp hoạt động lên đến 46V.

o Có 2 mạch cầu H hoạt động độc lập, với dòng tối đa 2A cho mỗi cầu.

o Ngõ vào tương thích mức điện áp logic TTL. Sơ đồ nguyên lý:

Hình 4.5 –Nguyên lý IC L298.

Từ sơ đồ nguyên lý, dễ thấy mỗi ngõ ra (OUT1, OUT2, OUT3, OUT4) được điều khiển bởi 1 ngõ vào (IN1, IN2, IN3, IN4) độc lập. Khi ngõ vào ở mực logic thấp, ngõ ra tương ứng sẽ được kéo xuống GND qua RS mắc ở chân SENSE. Khi ngõ vào ở mức logic cao, ngõ ra tương ứng sẽ được kéo lên +VS.

EnA và EnB để cho phép hoặc cấm 2 cầu A và B.

SENSE A và SENSE B mắc với điện trở Sunt RSA và RSB để lấy điện áp hồi tiếp về mạch điều khiển nếu cần thiết. Khi không cần lấy điện áp hồi tiếp, có thể bỏ RSA và RSB, mắc trực tiếp SENSE A và SENSE B xuống GND.

VS là nguồn công suất cho động cơ. (adsbygoogle = window.adsbygoogle || []).push({});

Luận án tốt nghiệp Chương 4: Mạch công suất động cơ

4.3 Thc hin mch công suất động cơ:

Sử dụng 2 IC L298, ta được 4 mạch cầu H điều khiển 4 động cơ. Bản vẽ sơ đồ nguyên lý và tạo layout mạch in 2 mặt bằng phần mềm Orcad.

4.3.1 Sơ đồ nguyên lý:

Luận án tốt nghiệp Chương 4: Mạch công suất động cơ

4.3.2 Gii thích hoạt động:

Khối nguồn (Power supply):

• Lấy nguồn 12V từ acquy dùng làm nguồn công suất cho L298.

• Nguồn 12V cũng qua cuộn lọc L1, qua IC 7805 tạo nguồn áp 5V cấp cho khối logic của L298, và cấp nguồn cho mạch điều khiển.

• Cầu chì F1 và điot xung FR307 bảo vệ chống cấp ngược áp cho mạch. Khối Motor:

• Các tụ 104pF bù công suất.

• Các điot FR207 để dập dòng tự cảm, bảo vệ mạch. Khối Logic driver:

• Gồm 2 IC L298, cho phép điều khiển 4 động cơ.

• Các ngõ ra Out A1, Out A2, Out B1, Out B2, Out C1, Out C2, Out D1, Out D2 lần lượt là ngõ ra cấp dòng cho 4 động cơ cơ A, B, C, D tương ứng.

• Các ngõ vào In A1, In A2, In B1, In B2, In C1, In C2, In D1, In D2 lần lượt là ngõ vào điều khiển động cơ A, B, C, D.

Hoạt động: 4 động cơ được điều khiển độc lập và hoàn toàn tương tự nhau. Xét động cơ A:

• Để động cơ quay thuận, ta cấp mức logic 0 cho ngõ vào In A2, và cấp xung PWM cho In A1.

• Ngược lại, để động cơ quay nghịch, ta cấp mức logic 0 cho In A1, và cấp xung PWM cho In A2.

Luận án tốt nghiệp Chương 4: Mạch công suất động cơ

Luận án tốt nghiệp Chương 5: Mạch Micro2440 CHƯƠNG 5

Mch Micro2440

5.1 Tng quan v mch Micro2440:

Board Micro2440 là một sản phẩm của một nhóm nghiên cứu về hệ thống nhúng – hệ điều hành nhúng – máy tính nhúng trên kiến trúc vi xử lý lõi ARM, tên nhóm nghiên cứu là FriendlyARM. Website http://www.friendlyarm.net trình bày về các sản phẩm và dự án nghiên cứu của FriendlyARM.

Board FriendlyARM Micro2440 dựa trên nền tảng ARM9, sử dụng microprocessor S3C2440 của Samsung có thể chạy với xung clock tối đa 533 MHz. Board được sản xuất hướng đến người dùng phát triển ứng dụng nhúng, điều khiển thiết bị công nghiệp, phát triển các thiết bị PDA, GPS receiver.

Board FriendlyARM Micro2440 là một máy tính nhúng, xuất xưởng hệ điều hành Linux cài đặt sẵn và có thể làm việc ngay mà không cần bước cấu hình nào.

Với Micro2440, một người dùng với kiến thức lập trình ứng dụng trên máy tính có thể ngay lập tức làm việc và phát triển phần mềm ứng dụng trên board, không đòi hỏi kiến thức về phần cứng và điện tử.

Cho người dùng làm công việc nghiên cứu và phát triển, board Micro2440 có thể được nạp hệ điều hành Linux, Windows CE, Android, và có thể tùy biến về phần mềm hoàn toàn theo yêu cầu công việc cụ thể.

Board Micro2440 “mã nguồn mở” cả về phần cứng và phần mềm. Cho mục đích học tập và nghiên cứu, ta hoàn toàn có thể tham khảo các thiết kế phần cứng, các quy trình nạp (porting) một hệ điều hành lên một mạch nhúng, thực hành lập trình nhúng.

Board Micro2440 bao gồm 2 khối chính: core board và SDK board. Core board chứa CPU, các bộ nhớ, các thiết bị cần thiết tối thiểu để chạy CPU và memory, và các port chân cắm để cắm vào SDK board. SDK board có các module giao tiếp ngoại vi.

Luận án tốt nghiệp Chương 5: Mạch Micro2440 Cấu hình cơ bản của máy tính nhúng Micro2440: (adsbygoogle = window.adsbygoogle || []).push({});

• CPU tốc độ tối đa 533MHz. • 64MB SDRAM.

• 256MB bộ nhớ FLASH.

• LCD 3.5inch hoặc 7inch với resistor touch screen. • Real-time clock với pin backup.

• COM port. • USB host 1.1.

• 1 10/100 Ethernet RJ-45.

• Cổng giao tiếp với Camera Module CAM130 của FriendlyARM. • Audio output 3.5 stereo jack và Microphone.

• PWM buzzer.

• Nút nhấn, Led, GPIO.

5.2 Kiến trúc phn cng mch Micro2440:

5.2.1 Vi x lý S3C2440A:

S3C2440A là vi xử lý 16/32-bit của hãng SAMSUNG, được thiết kế cho các ứng dụng thiết bị cầm tay, smartphone, PDA… với mục tiêu tiết kiệm năng lượng, giá thành thấp, chất lượng cao.

S3C2440A được phát triển với lõi 16/32-bit ARM920T, công nghệ chế tạo CMOS 0.13µm, tập lệnh RISC. Lõi ARM920T tích hợp các khối: MMU, AMBA BUS, kiến trúc Harvard với 16KB instruction và 16KB data cache riêng biệt.

Luận án tốt nghiệp Chương 5: Mạch Micro2440

Hình 5.3 – Các khổi chức năng của S3C2440A

Luận án tốt nghiệp Chương 5: Mạch Micro2440 Và sơ đồ khối:

Hình 5.4 – Sơ đồ khối S3C2440A

5.2.2 Core board:

Core board được thiết kế layout 6 lớp với kích thước 52mm x 63mm. Trên đó chứa CPU (S3C2440A), các IC nhớ (memory), và đưa ra 3port chân cắm sắp xếp dạng chữ U để cắm vào mạch SDK board.

Luận án tốt nghiệp Chương 5: Mạch Micro2440

Hình 5.5 – Core board.

Core board là một mạch với các phần cứng tối thiểu cho một hệ thống máy tính. Nó bao gồm: Vi xử lý S3C2440; mạch cấp nguồn (đầu vào 5V); mạch Reset; cổng Jtag; các Led debug; các bộ nhớ: NAND FLASH, NOR FLASH, SDRAM; các linh kiện như tụ điện, điện trở, thạch anh cần thiết cho vi xử lý và các IC nhớ; 1 Jumper để chọn chế độ khởi động từ NAND FLASH hay NOR FLASH; và 3 port chân cắm PA, PB, PC.

Core board có thể xem như khối System(CPU và memory) cho board Micro2440. Chi tiết phần cứng core board:

• CPU:

•Samsung S3C2440A, tốc độ 400MHz, max 533MHz. • SDRAM:

•Dung lượng 64MB. •Data bus 32bit.

•Bus clock tối đa 100MHz. • Flash memory:

•256MB NAND FLASH. •2M NOR FLASH.

• Các cổng và thiết bị tương tác:

•1port PA 56 chân pitch 2.0mm cho GPIO. (adsbygoogle = window.adsbygoogle || []).push({});

Luận án tốt nghiệp Chương 5: Mạch Micro2440 •1port PC 56 chân pitch 2.0mm cho System bus.

•Mạch Reset on-board.

•Port Jtag 10 chân pitch 2.0mm. •LED.

• Clock hệ thống: •Thạch anh 12MHz. • Real-time clock:

•On-chip Real-time clock, không bao gồm pin back-up. •Thạch anh Real-time 32.768KHz. • Nguồn: •5VDC. • Kích thước: •63 x 52 mm. 5.2.3 SDK board:

SDK (Software Development Kit – bộ phát triển phần mềm) thường được biết đến như một mạch (Kit) trên đó có sẵn một số module chức năng phần cứng, nhằm mục đích dễ dàng cho học tập và nghiên cứu phát triển các phần mềm ứng dụng cho các module phần cứng đó.

Micro2440SDK là một mạch 2 lớp, gồm các module hỗ trợ khối hệ thống (Core board) giao tiếp với các thiết bị ngoại vi. Micro2440 là một máy tính nhúng và vai trò của SDK board gần tương tự Main Board của máy tính.

Luận án tốt nghiệp Chương 5: Mạch Micro2440 Micro2440SDK bao gồm:

• 1 RJ-45 network interface 100M, sử dụng Chip LAN DM9000. • cổng giao tiếp nối tiếp, gồm 3 ngõ ra TTL và 3 ngõ ra RS232. • USB Host (USB 1.1), sử dụng USB HUB Chip.

• 1 USB device (USB 1.1).

• Audio output 3.5mm stereo jack và 1 microphone. • 1 PWM buzzer.

• 1 biến trở W1 cho bộ ADC on-chip. • nút nhấn.

• 1 khe cắm SD card.

• LCD connector: 1 cho LCD 3.5inch và 1 cho LCD 7inch. • touch screen connector.

• 1 CMOS camera connector (CON4) để kết nối với Camera module CAM130 của FriendlyARM.

• Pin backup RTC • 1 port System Bus. • Ngõ vào cấp nguồn 5V.

Với việc tách riêng phần hệ thống (Core board) và phần giao tiếp ngoại vi (SDK), nhà sản xuất đã dự tính để ta có thể thiết kế và thi công lại 1 mạch nhúng sử dụng lại khối Core board nhưng với các ngoại vi và các khối chức năng khác thích hợp hơn với ứng dụng cụ thể của minh.

Core board bao gồm CPU và các memory (Flash, SDRAM) với tần số hoạt động và tần số trên data bus cao, ngoài ra S3C2440 có kiểu vỏ 289-FBGA, 2 lý do này khiến việc thiết kế và thi công khối CPU và memory trở nên phức tạp. Chắc chắn cần công nghệ mạch in nhiều hơn 2 lớp.

SDK chỉ gồm các port IO, các IC giao tiếp… nên việc thiết kế và thi công đơn giản hơn nhiều, hoàn toàn có thể sử dụng mạch in 2 lớp.

Vì vậy, cho 1 ứng dụng cụ thể cần đến khối hệ thống tương tự như Core board của Micro2440, ta hoàn toàn có thể dùng lại Core board và thiết kế lại SDK thích hợp.

5.3 Hđiều hành Embedded Linux trên Micro2440:

5.3.1 H điều hành Embedded Linux:

Một hệ điều hành bao gồm 2 phần chính: phần nhân hay lõi của hệ điều hành (Kernel) và phần hệ thống các tập tin và các ứng dụng (File System).

Embedded Linux là một hệ điều hành hoàn chỉnh. Cụm từ “embedded” thường được đề cập trong kernel nhưng thực chất không có một phiên bản Linux kernel nào dành riêng cho hệ thống nhúng. Linux kernel source code được sử dụng chung để compile cho mọi thiết bị, từ các thiết bị nhúng, đến máy PC và cả các server lớn, đối với mỗi platform sẽ có những option hiệu chỉnh phù hợp và đặc biệt dành cho platform đó.

Luận án tốt nghiệp Chương 5: Mạch Micro2440 Các thành phần cấu tạo nên hệ thống Embedded Linux bao gồm boot loader, Linux kernel, và File System. Tất cả các thành phần này đều có thể tìm thấy phiên bản open source và chúng ta có thể tự mình chỉnh sửa, thay đổi cho phù hợp với thiết bị của mình.

Embedded Linux không thể chạy trên các processor có kiến trúc nhỏ hơn 32-bit. Trong thời gian gần đây, công nghệ system-on-chip (SOC) phát triển mạnh, dẫn đến việc hạ giá thành sản xuất các microprocessor, đồng thời bộ nhớ RAM và flash cũng rẻ và có dung lượng lớn hơn tạo nên thuận lợi cho việc chuyển sang phát triển hệ thống nhúng có sử dụng Embedded Linux. Các hệ thống nhúng ngày nay bên cạnh các chức năng cần thiết còn có thể hỗ trợ thêm các chức năng phụ (web server, firewall, nghe nhạc...) thông qua hệ thống Embedded Linux.

Việc sử dụng Embedded Linux cho hệ thống nhúng còn giúp giảm thời gian thiết kế và phát triển, do bản thân Linux kernel được thiết kế theo module. Chúng ta có thể dễ dàng tìm được nhiều module có sẵn và hiệu quả như TCP/IP stack, X-server cho ứng dụng GUI, hoặc có thể tìm thấy driver cho thiết bị nhúng của mình đã được viết sẵn trong kernel.

Một điểm mạnh khác của Embedded Linux là open source, điều này cho phép người thiết kế can thiệp sâu hơn vào các dịch vụ và module mà hệ điều hành cung cấp. Người thiết kế có thể hiểu rõ hơn về những hàm mà họ gọi và thậm chí có thể thay đổi, tối ưu các hàm này cho thiết bị mình sử dụng. Người thiết kế còn có thể dựa vào các module driver có sẵn để tham khảo cho các driver mà họ sắp viết. Tính open source còn giúp code hỗ trợ bởi kernel có tính tin cậy cao, trước khi được đưa vào kernel source tree, code này đã được test rất nhiều trong cộng đồng và thậm chí nếu có lỗi xảy ra cũng sẽ có patch thay thế trong thời gian ngắn.

Tính sẵn sàng của Embedded Linux là rất cao. Ít có hệ điều hành nào hỗ trợ được nhiều platform và device driver như Linux. Ngoài hỗ trợ phần cứng Linux còn hỗ trợ các giao thức tiêu chuẩn (wifi, bluetooth, ...).

Tất cả những điều trên cho chúng ta thấy tính năng hiệu quả của hệ thống Embedded Linux và cũng những điểm mạnh đó làm cho xu hướng phát triển Embedded Linux ngày càng trở nên quan trọng, càng nhiều công ty đầu tư vào lĩnh vực này và càng nhiều người yêu thích Embedded Linux hơn. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 5.7 – Linus Torvalds, Hình 5.8 – Chú chim cánh cụt,

Luận án tốt nghiệp Chương 5: Mạch Micro2440 5.3.2 H điều hành Embedded Linux trên Micro2440:

Micro2440 đã được nhà sản xuất cài đặt sẵn Embedded Linux với các tính năng chính sau: • Kernel Version •Linux 2.6.29 • File Systems •YAFFS2 •CRAMFS •EXT2 •FAT32 •NFS

• Drivers (all open source) •Drivers for 3 serial ports •DM9000 driver

•Audio driver (UDA1341) (audio recording supported) •RTC driver

•User LED driver •USB host driver

•True color LCD driver (including 1024 x 768 VGA) •Touch screen driver

•USB camera driver

•Drivers for USB mouse, keyboard, flash drive and portable hard disk •SD card driver, supports maximum memory of 32 G

•I2C-EEPROM driver •PWM buzzer driver •LCD backlight driver •A/D converter driver

•Watchdog driver (watchdog reset is cold reset) • Linux Applications and Utilities

Một phần của tài liệu Luận văn tốt nghiệp đại học thiết kế ROBOT tự hành với hệ điều hành nhúng LINUX (Trang 25 - 90)