Luận Văn Ứng dụng lập trình điều khiển động cơ bước sử dụng chip ARM Cortex M3 STM32F103RC

Thảo luận trong 'Điện - Điện Tử' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    170
    Điểm thành tích:
    0
    Xu:
    0Xu
    Đồ án tốt nghiệp năm 2013
    Đề tài: Ứng dụng lập trình điều khiển động cơ bước sử dụng chip ARM Cortex M3 STM32F103RC




    MỤC LỤC
    Lời Mở Đầu 1
    Chương 1 TỔNG QUAN VỀ CORTEX . 3
    1.1. Các phiên bản kiến trúc ARM . 3
    1.2 Bộ xử lí Cortex và đơn vị xử lí trung tâm Cortex . 4
    1.3 Đơn vị xử lí trung tâm Cortex (Cortex CPU) 5
    1.3.1 Kiến trúc đường ống (Pipline) . 5
    1.3.2 Mô hình lập trình (Programmer’s model) . 5
    1.3.2.1 Thanh ghi XPSR 6
    1.3.3 Các chế độ hoạt động của CPU . 7
    1.3.4 Tập lệnh Thumb-2 8
    1.3.5 Bản đồ bộ nhớ (Memory Map) . 9
    1.3.6 Truy cập bộ nhớ không xếp hàng (Unaligned Memory Accesses) . 11
    1.3.7 Dải Bit (Bit Banding) . 12
    1.4 Bộ xử lí Cortex 13
    1.4.1 Bus . 14
    1.4.2 Ma trận Bus 14
    1.4.3 Timer hệ thống (System timer) . 14
    1.4.4 Xử lí ngắt (Interrupt Handling) . 15
    1.4.5 Bộ điều khiển vector ngắt lồng nhau (Nested Vector Interrupt
    Controller) 15
    1.4.5.1 Nhập và thoát khỏi một ngoại lệ của NVIC (NVIC Operation
    Exception Entry And Exit) . 16
    1.4.5.2 Các chế độ xử lí ngắt cao cấp (Advanced Interrupt Handling
    Modes) . 17
    1.4.5.2.1 Quyền ưu tiên ngắt (Interrupt Pre-emption) . 17
    1.4.5.2.2 Kỹ thuật Tail Chaining trong NVIC . 17
    1.4.5.3 Cấu hình và sử dụng NVIC 19
    1.4.5.3.1 Bảng vector ngắt (Exception Vector Table) 19
    1.5 Các chế độ năng lượng 24
    1.5.1 Cách đi vào chế độ năng lượng thấp của CPU Cortex 24
    1.5.2 Khối hỗ trợ gỡ lỗi CoreSight 26
    Chương 2 KIẾN TRÚC HỆ THỐNG CỦA ARM CORTEX 28
    2.1 Cấu trúc bộ nhớ . 28
    2.2 Tối đa hiệu năng 29
    2.2.1 Vòng Khóa Pha (Phase Lock Loop) 30
    2.2.2 Cấu hình cho bus 32
    2.2.3 Flash Buffer . 33
    2.2.4 Direct Memory Access . 34
    Chương 3 NGOẠI VI . 39
    3.1 Ngoại vi đa dụng . 39
    3.1.1 Các cổng I/O đa dụng . 39
    3.1.1.1 Chức năng thay thế (Alternate Function) 41
    3.1.1.2 Event Out 42
    3.1.2. Ngắt ngoại (EXTI) . 42
    3.1.3 ADC 43
    3.1.3.1 Thời gian chuyển đổi và nhóm chuyển đổi 44
    3.1.3.2 Analogue WatchDog . 46
    3.1.3.3 Cấu hình ADC 47
    3.1.3.4. Dual mode . 48
    3.1.4.1. Cả hai khối ADC cùng hoạt động ở cùng chế độ Regular hoặc Injected
    . 49
    3.1.4.2. Cả hai khối cùng hoạt động ở 2 chế độ Regular và Injected xen kẽ 49
    3.1.4.3. Hoạt động xen kẽ nhanh và chậm Regular 50
    3.1.4.4. Chế độ kích hoạt thay thế . 50
    3.2.1. Khối Capture/Compare . 52
    3.2. 2 Khối Capture . 53
    3.2.3 Chế độ PWM Input 54
    3.2.4 Chế độ PWM . 55
    3.2.5 Chế độ One Pulse . 56
    3.3 Đồng bộ hoá các bộ định thời 56
    3.4 RTC và các thanh ghi Backup . 58
    3.5 Kết nối với các giao tiếp khác 59
    3.5.1 SPI . 59
    3.5.2 I2C . 60
    3.5.3 USART 61
    3.5.4 CAN 63
    3.5.5 USB . 65
    Chương 4 LẬP TRÌNH ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC SỬ DỤNG
    ARM-STM32F103 . 67
    4.1 Giới thiệu Kit STM32 STM32F103 . 67
    4.1.1 Mạch CPU 68
    4.1.2 Mạch giao tiếp RS232 qua USART1 . 69
    4.1.3 Mạch cấp nguồn và USB . 69
    4.1.4 Mạch giao tiếp với LCD, nạp và gỡ nỗi chương trình qua JTAG, các
    mạch giao tiếp CAN/ PS2 . 70
    4.1.5 Mạch thẻ nhớ SD/MMC qua giao tiếp SPI 70
    4.2 Điều khiển động cơ bước với Kit STM32 STM32F103 . 70
    4.2.1.Thiết kế mạch Motor Driver: . 70
    4.2.2. Chương trình điều khiển Step Motor: . 71
    Kết Luận . 74
    Tài liệu tham khảo: . 75




    Lời Mở Đầu
    Ngày nay với sự phát triển của ngành điện tử và ứng dụng điện tử đã
    giúp sự sáng tạo của con người trở thành hiện thực. Các lĩnh vực của cuộc
    sống đều áp dụng những thiết bị điện tử và dường như nhìn đâu trong gia đình
    chúng ta cũng có thiết bị điện tử. Ngành điện tử và ứng dụng điện tử đã tạo
    chỗ đứng và khẳng định được tầm quan trọng của mình đối với nhu cầu của
    con người.
    Với những ứng dụng cho các hệ thống nhúng ngày càng trở nên phổ
    biến: từ những ứng dụng đơn giản như điều khiển một chốt đèn giao thông
    định thời, đếm sản phẩm trong một dây chuyền sản xuất, điều khiển tốc độ
    động cơ điện một chiều, thiết kế một biển quảng cáo dùng Led ma trận, một
    đồng hồ thời gian thực .Đến các ứng dụng phức tạp như hệ thống điều khiển
    robot, bộ kiểm soát trong nhà máy hoặc hệ thống kiểm soát các máy năng
    lượng hạt nhân. Các hệ thống tự động trước đâ y sử dụng nhiều công nghệ
    khác nhau như các hệ thống tự động hoạt động bằng nguyên lý khí nén, thủy
    lực, rơle cơ điện, mạch điện tử số, các thiết bị máy móc tự động bằng các cam
    chốt cơ khí. Các thiết bị, hệ thống này có chức năng xử lý và mức độ tự động
    thấp so với các hệ thống tự động hiện đại được xây dựng trên nền tảng của
    các hệ thống nhúng.
    Trong nhiều năm trước, các dòng vi điều khiển 8051 được sinh viên
    dùng nhiều với tính năng đơn giản, dễ sử dụng; AVR được sử dụng nhiều
    trong các cuộc thi Robocon nhờ tốc độ sử lý khá cao, ổn định; PIC với ưu thế
    tốc độ cao, chi phí thấp hơn cũng được nghiên cứu, sử dụng nhiều, đặc biệt
    trong các cuộc thi lập trình tay nghề khu vực và thế giới. Nhưng trong một vài
    năm trở lại đây, có một dòng vi điều khiển mới, càng ngày càng nắm vị trí
    quan trọng trong các lĩnh vực đòi hỏi tốc độ xử lý cao như điện tử viễn thông,
    sản xuất các dòng diện thoại di động smartphone, giám sát, an ninh Đó là
    họ vi điều khiển ARM. Với rất nhiều thế hệ ra đời, với nhiều tính năng , công
    dụng khác nhau.
    2
    Với nhiều tính năng vượt trội của ARM và xu thế lựa chọn dòng vi điều
    khiển mới ở Việt Nam nên trong đề tài nghiên cứu khoa học này, dưới sự giúp
    đỡ của Thầy Nguyễn Huy Dũng, em thực hiện đề tài nghiên cứu Ứng dụng
    lập trình điều khiển động cơ bước sử dụng chip ARM Cortex M3
    STM32F103RC.
     

    Các file đính kèm:

Đang tải...