KHẢO SÁT THƯỚC ĐO QUANG & THIẾT KẾ CHẾ TẠO BỘ HIỂN THỊ TỌA ĐỘ XYZ CHO MÁY NC Tác giả : CAO TRẦN NGỌC BẢO Khóa luận được đệ trình để đáp ứng yêu cầu cấp bằng Kỹ sư ngành Điều Khiển Tự
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH
KHÓA LUẬN TỐT NGHIỆP
KHẢO SÁT THƯỚC QUANG HỌC &
THIẾT KẾ CHẾ TẠO BỘ HIỂN THỊ TỌA ĐỘ XYZ
CHO MÁY NC
Họ và tên sinh viên : CAO TRẦN NGỌC BẢO Ngành : ĐIỀU KHIỂN TỰ ĐỘNG
Tháng 06/2013
Trang 2KHẢO SÁT THƯỚC ĐO QUANG & THIẾT KẾ CHẾ TẠO
BỘ HIỂN THỊ TỌA ĐỘ XYZ CHO MÁY NC
Tác giả :
CAO TRẦN NGỌC BẢO
Khóa luận được đệ trình để đáp ứng yêu cầu
cấp bằng Kỹ sư ngành Điều Khiển Tự Động
Giáo viên hướng dẫn : Th.s LÊ VĂN BẠN
Tháng 06/2013
Trang 3LỜI CẢM ƠN
Đầu tiên em xin cảm ơn Ban giám hiệu Trường Đại Học Nông Lâm TP.HCM
và Ban chủ nhiệm khoa Cơ khí – Công nghệ Trường Đại Học Học Nông Lâm
TP.HCM đã tạo điều kiện thuận lợi trong suốt thời gian em theo học tại trường
Em xin cảm ơn quý thầy cô trong bộ môn Điều Khiển Tự Động nói riêng và quý thầy cô trong khoa Cơ khí – Công nghệ nói chung đã tận tình dạy dỗ, truyền đạt kiến thức, cũng như kinh nghiệm sống trong những năm em theo học tại trường
Em xin chân thành cảm ơn thầy Th.s Lê Văn Bạn đã tận tình hướng dẫn, chỉ bảo và tạo điều kiện thuận lợi để em hoàn thành đề tài đúng thời hạn
Cuối cùng em xin cảm ơn cha mẹ, người thân và bạn bè đã động viên, giúp đỡ trong những lúc khó khăn
Em xin chân thành cảm ơn
TP.Hồ Chí Minh, tháng 06 năm 2013 Sinh viên thực hiện
Cao Trần Ngọc Bảo
Trang 4TÓM TẮT
Ngày nay với sự phát triển nhanh chóng của khoa học kỹ thuật, các loại máy móc tối tân, hiện đại xuất hiện ngày càng nhiều và đa dạng về chủng loại Trong đó các loại máy NC được sử dụng rộng rãi do nó có ưu điểm là độ chính xác cao và cải thiện đáng kể năng suất lao động Tuy nhiên đối với các loại máy NC này thì nước ta thường phải nhập khẩu từ nước ngoài, vì thế giá thành rất cao Trong các máy NC hiện đại ngày nay, người ta đều sử dụng thước đo quang học thay vì thước đo chia vạch như những máy NC của thế kỷ trước Thước đo quang học có nhiều ưu thế so với thước đo chia vạch, như : độ chính xác cao, sai số thấp, giao tiếp giữa máy và con người dễ dàng hơn…
Do đó em đã chọn đề tài “Khảo sát thước đo quang và thiết kế chế tạo bộ hiển thị tọa độ 3 trục XYZ”, với mục đích đầu tiên là vận dụng tốt những kiến thức đã được học, thứ hai là góp phần giúp cho việc giám sát, theo dõi máy NC được thao tác dễ dàng hơn và thân thiện với người sử dụng Đề tài được thực hiện tại Bộ môn Điều Khiển Tự Động, khoa Cơ khí – Công nghệ, trường Đại Học Nông Lâm TP.HCM từ ngày 28/02/2013 đến ngày 25/06/2013
Mạch chạy ổn định, độ chính xác cao, tốc độ xử lý nhanh
Giáo viên hướng dẫn Sinh viên thực hiện Th.s Lê Văn Bạn Cao Trần Ngọc Bảo
Trang 5MỤC LỤC
Trang
CHƯƠNG 1 : MỞ ĐẦU 1
1.1 Đặt vấn đề 1
1.2 Mục đích đề tài 2
1.2.1 Mục đích chung 2
1.2.2 Mục đích cụ thể 2
1.3 Hạn chế đề tài 2
CHƯƠNG 2 : TỔNG QUAN 3
2.1 Tổng quan về thước đo quang học 3
2.1.1 Một số máy NC trong thực tế 3
2.1.2 Một số bộ hiển thị và thước quang 5
2.1.3 Khái niệm chung 6
2.1.4 Cấu tạo 6
2.1.5 Phân loại 7
2.1.5.1 Theo nguyên lý đo dịch chuyển trong thước quang 7
2.1.5.2 Độ phân giải 8
2.1.5.3 Số dây ra của thước 8
2.2 Phương pháp hiển thị trên LED 7 đoạn 9
2.2.1 LED 7 đoạn 9
2.2.2 Phương pháp quét LED 7 đoạn 10
2.3 Tra cứu các linh kiện điện tử 11
2.3.1 Ổn áp LM2576 – 5V 11
2.3.2 Ổn áp LD1117 – 3.3V 11
2.3.3 IC 74HC14 12
2.3.4 ULN2803 12
2.4 Nghiên cứu về vi điều khiển ARM Cortex-M3 32bit 12
2.4.1 Giới thiệu về dòng vi điều khiển ARM Cortex-M3 12
2.4.2 Tìm hiểu vi điều khiển STM32F100C8T6 14
Trang 62.4.2.1 Tổng quan 14
2.4.2.2 Sơ đồ chân và chức năng của vi điều khiển STM32F100C8T6 15
2.4.2.3 Thanh ghi Timer/Counter trên chip ARM STM32f100C8T6 16
2.5 Tìm hiểu phần mềm Keil ARM lập trình cho vi điều khiển ARM 16
2.6 Tìm hiểu phần mềm biên soạn chương trình Souce Insight 17
2.7 Chương trình SEGGER J-FLASH ARM nạp cho vi xử lý 18
2.8 Giới thiệu về mạch nạp Cortex-M/R J-Link 19
CHƯƠNG 3 : PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN 20
3.1 Địa điểm và thời gian thực hiện đề tài : 20
3.1.1 Địa điểm : 20
3.1.2 Thời gian : 20
3.2 Phương pháp nghiên cứu : 20
3.2.1 Chọn phương pháp thiết kế bộ hiển thị 20
3.2.2 Phương pháp thiết kế phần điện tử 20
3.3 Phương tiện thực hiện : 21
3.3.1 Các thiết bị phần cứng 21
3.3.2 Các phần mềm được sử dụng 21
CHƯƠNG 4 : KẾT QUẢ - THẢO LUẬN 22
4.1 Sơ đồ khối bộ đọc và hiển thị giá trị 22
4.2 Sơ đồ khối riêng cho từng trục tọa độ 22
4.3 Thực hiện phần điện tử 23
4.3.1 Làm mạch nguồn 23
4.3.2 Mạch quét Led 7 đoạn 24
4.3.3 Mạch xử lý xung từ Linear Encoder 24
4.3.4 Mạch xử lý chính 26
4.3.5 Mạch hiển thị tổng hợp 27
4.4 Thực hiện phần mềm 28
4.4.1 Sơ đồ đọc tín hiệu Encoder 28
4.4.2 Sơ đồ quét led bảy đoạn 28
4.4.3 Lưu đồ giải thuật mạch đọc và hiển thị 29
Trang 74.5 Chương trình cho vi xử lý 30
4.6 Kiểm tra và chạy thử 31
4.6.1 Kiểm tra bộ hiển thị 31
4.6.1.1 Phần điện tử 31
4.6.1.2 Phần cơ khí 32
4.6.2 Chạy thử nghiệm bộ hiển thị 34
4.7 Khảo nghiệm 34
4.7.1 Mục đích khảo nghiệm 34
4.7.2 Phương pháp bố trí khảo nghiệm 34
4.7.3 Xử lý số liệu 37
4.8 Kết quả 37
4.9 Thảo luận 40
CHƯƠNG 5 : KẾT LUẬN - ĐỀ NGHỊ 41
5.1 Kết luận 41
5.2 Đề nghị 41
TÀI LIỆU THAM KHẢO
PHỤ LỤC
Trang 8DANH SÁCH CÁC HÌNH
Trang
Hình 2.1 Máy phay NC MAKINO 3
hiệu FANUC M6 3
Hình 2.2 Máy phay NC Nhật Bản ……… 4
Hình 2.3 Máy NC DIY Rules 4
Hình 2.4 : Thước quang và bộ hiển thị của Mitutoyo 5
Hình 2.5 : Thước quang và bộ hiển thị của Jenix 5
Hình 2.6 : Thước quang và bộ hiển thị của Sterling 6
Hình 2.7 : Cấu tạo thước đo quang học 6
Hình 2.8 : Phương pháp phản xạ ánh sáng 7
Hình 2.9 : Phương pháp giao thoa ánh sáng 8
Hình 2.10 : Phương pháp cho ánh sáng truyền qua 8
Hình 2.11 : Sơ đồ chân của LED 7 đoạn 9
Hình 2.12 : Sơ đồ chân và hình thực tế của LM2576 – 5V 11
Hình 2.13 : Sơ đồ chân và hình thực tế LD1117 3.3V 11
Hình 2.14 : Sơ đồ chân và hình thực tế 74HC14 12
Hình 2.15 : Sơ đồ chân và hình thực tế ULN2803 12
Hình 2.16 : Sơ đồ khối chung của cấu trúc nhân ARM Cortex-M3 13
và các thiết bị ngoại vi 13
Hình 2.17 : Sơ đồ chân và hình thực tế của STM32F100C8T6 14
Hình 2.18 : Hoạt động đếm xung trong chế độ encoder 16
Hình 2.19 : Cửa sổ phần mềm Keil ARM 17
Hình 2.20 : Cửa sổ phần mềm Source Insight 18
Hình 2.21 : Giao diện phần mềm J-Flash 19
Hình 2.22 : Mạch nạp Cortex-M/R J-Link 19
Hình 3.1 : Sơ đồ hệ thống bộ hiển thị của thước quang 20
Trang 9Hình 4.1 : Sơ đồ nguyên lý mạch nguồn 5V 23
Hình 4.2 : Sơ đồ nguyên lý mạch nguồn 3.3V 23
Hình 4.3 : Sơ đồ nguyên lý mạch quét Led 7 đoạn 24
Hình 4.4 : Sơ đồ nguyên lý mạch xử lý xung 24
Hình 4.5 : Sơ đồ đấu dây thước quang 26
Hình 4.6 : Sơ đồ nguyên lý mạch điều khiển chính 26
Hình 4.7 : Sơ đồ nguyên lý mạch đọc và hiển thị chung cho bộ hiển thị 27
Hình 4.8 : Chương trình Source Insight 3.5 30
Hình 4.9 : Trình biên dịch Keil uVision ARM 4.20 30
Hình 4.10 : Board mạch in 31
Hình 4.11 : Board mạch in của 3 trục 31
Hình 4.12 : Mặt trước bộ hiển thị 32
Hình 4.13 : Mặt bên bộ hiển thị 32
Hình 4.14 : Bộ hiển thị 3 trục XYZ sau khi hoàn thành 33
Hình 4.15 : Phần hiển thị của trục X 34
Hình 4.16 : Phần hiển thị của trục Y 34
Hình 4.17 : Phần hiển thị của trục Z 34
Hình 4.18 : Máy phay CNC
Hình 4.19 : Thước chia vạch trên máy CNC 35
Hình 4.20 : Đồng hồ so 36
Hình 4.21 : Thước quang đo trục X
Hình 4.22 : Thước quang đo trục Z 36
Hình 4.23 : Thước quang đo trục Y 36
Hình 4.24 : Chi tiết hình chữ nhật bằng phíp 38
Hình 4.25 : Chi tiết hình chữ nhật bằng mica 39
Trang 10
DANH SÁCH CÁC BẢNG
Trang
Bảng 1 Thông số kỹ thuật máy FANUC M6 3
Bảng 2 Thông số kỹ thuật máy phay NC Nhật Bản 4
Bảng 3 Thông số kỹ thuật máy NC DIY Rules 4
Bảng 4 : Thông số của thước quang Mitutoyo 5
Bảng 5 : Thông số của thước quang Jenix 5
Bảng 6 : Thông số của thước quang Sterling 6
Bảng 7 : Bảng mã của LED 7 đoạn Anode chung 9
Bảng 8 : So sánh tính năng các bộ Timer/Counter 16
Bảng 9 : Thông số kỹ thuật của thước quang trục X 25
Bảng 10 : Thông số kỹ thuật của thước quang trục Y 25
Bảng 11 : Thông số kỹ thuật của thước quang trục Z 25
Bảng 12 : Số liệu khảo nghiệm lần 1 37
Bảng 13 : Số liệu khảo nghiệm lần 2 38
Bảng 14 : Số liệu khảo nghiệm lần 3 39
Bảng 15 : Số liệu khảo nghiệm lần 4 40
Trang 11
Máy NC (viết tắt cho Numerical Control - Điều khiển không sử dụng máy tính)
ra đời là một bước ngoặt đáp ứng tương đối đầy đủ các yêu cầu trong sản xuất chế tạo chi tiết máy với đặc điểm ưu việt hơn các dòng máy khác là khả năng sản xuất với độ chính xác khá cao, hạn chế tương đối sai sót Ngoài ra còn cho phép linh hoạt trong thao tác các sản phẩm và thời gian cần thiết cho thay đổi máy móc Ngoài ra máy NC
có giá thành không quá đắt, sử dụng cũng khá đơn giản, rất thích hợp với những nước đang phát triển như Việt Nam, không có khả năng đầu tư cho những máy móc thiết bị tối tân
Với các loại máy NC đời đầu, khả năng tương tác giữa con người và máy còn rườm rà, phức tạp, ngoài ra độ chính xác dịch chuyển vị trí còn thấp, sai số nhiều Vì thế để nâng cao năng suất, cải thiện khả năng tương tác giữa người và máy móc, người
ta đã ứng dụng thước đo quang học (Linear Encoder) vào máy NC Với thành tựu khoa học kỹ thuật hiện nay, các thước đo quang học đều có độ phân giải cao, sai số thấp, có thể sử dụng dễ dàng và có độ bền khá cao Đi kèm với thước đo quang là bộ giải mã, hiển thị tọa độ trục tọa độ giúp con người dễ dàng theo dõi các thông số đo, từ đó giúp con người thuận lợi hơn trong việc điều khiển, giám sát hoạt động của máy
Được sự chấp nhận của Ban chủ nhiệm khoa Cơ khí & Công nghệ - Trường Đại Học Nông Lâm Tp.HCM, từ đó em tiến hành thực hiện đề tài: “Khảo sát thước đo quang & Thiết kế chế tạo bộ hiển thị ba trục XYZ cho máy phay NC” với mục tiêu giải quyết những vấn đề trên
Trang 121.2 Mục đích đề tài
1.2.1 Mục đích chung
Tìm hiểu một số máy NC có trên thị trường
Tìm hiểu các loại thước quang và bộ hiển thị của một vài hãng sản xuất
Tìm hiểu nguyên lý hoạt động của thước quang
Từ đó tiến hành thiết kế, chế tạo bộ hiển thị 3 trục XYZ ứng dụng thước đo quang học
1.2.2 Mục đích cụ thể
Trên cơ sở khảo sát các mẫu máy khác để từ đó tìm hiểu cấu tạo, kết cấu, mạch điều khiển, chương trình điều khiển bộ hiển thị
Làm chủ được việc thiết kế, giá thành thiết bị hợp lý
Tìm hiểu và ứng dụng dòng vi điều khiển ARM Cortex-M3
Thiết kế, chế tạo cấu trúc bộ hiển thị
Thiết kế mạch điều khiển chung cho bộ đo, hiển thị kết quả đo được bằng dãy Led bảy đoạn
Viết chương trình điều khiển bằng phần mềm Source Insight 3.5 và biên dịch chương trình bằng KEIL - C
1.3 Hạn chế đề tài
Bộ hiển thị thiếu nhiều nút nhấn chức năng
Khả năng lọc nhiễu kém, làm ảnh hưởng quá trình đọc xung từ encoder
Chưa tích hợp các thiết bị ngoại vi và giao tiếp máy tính
Trang 13CHƯƠNG 2 TỔNG QUAN – TRA CỨU TÀI LIỆU
2.1 Tổng quan về thước đo quang học
2.1.1 Một số máy NC trong thực tế
Bảng 1 Thông số kỹ thuật máy FANUC M6
Hành trình trục X 700 mm Hành trình trục Y 400 mm Hành trình trục Z 350 mm Tốc độ làm việc
Trang 14Hình 2.2 Máy phay NC Bảng 2 Thông số kỹ thuật
Nhật Bản máy phay NC Nhật Bản
Hành trình trục X 640 mm Hành trình trục Y 500 mm Hành trình trục Z 350 mm
Hình 2.3 Máy NC Bảng 3 Thông số kỹ thuật máy
DIY Rules NC DIY Rules
Hành trình trục X 900 mm Hành trình trục Y 410 mm Hành trình trục Z 550 mm Tốc độ làm việc tối đa 42 m/phút
Trang 152.1.2 Một số bộ hiển thị và thước quang
Trang 16Hình 2.6 : Thước quang và bộ hiển thị của Sterling
Độ phân giải 5µm & 1µm
Độ chính xác +/-10µm , +/-5µm Chiều dài 1000 mm – 1500mm Tốc độ 60 – 120 m/phút Chiều dài cable 3m
Nhiệt độ làm việc 0 – 450C
Bảng 6 : Thông số của thước quang Sterling
Ngày nay các loại thước đo quang học đều có độ chính xác cao, thuận lợi cho việc giám sát và điều khiển vị trí Vì thế thước đo quang học thường được ứng dụng trong các máy gia công chính xác (CNC)
2.1.3 Khái niệm chung
Linear Scale (bộ mã hóa tuyến tính) là một bộ cảm biến đọc tỉ lệ để chuyển đổi các vị trí mã hóa thành tín hiệu tương tự hoặc tín hiệu số Chuyển động được xác định bởi sự thay đổi của vị trí
2.1.4 Cấu tạo
Hình 2.7 : Cấu tạo thước đo quang học
Trang 17Dựa vào khả năng phản xạ của bề mặt vật liệu, vạch khắc được làm từ vật liệu
có khả năng phản xạ cao trên thước để ngăn không cho ánh sáng truyền qua Ánh sáng chiếu lên thước dịch chuyển và phản xạ trở lại tới bộ thu Từ đó sẽ biết được sự dịch chuyển
Hình 2.8 : Phương pháp phản xạ ánh sáng
Phương pháp giao thoa ánh sáng :
Sử dụng nguồn sóng đơn sắc mà mặt sóng là mặt sóng phẳng Khi đặt bộ thu quang điện tại tâm giao thoa kế sẽ nhận được sự thay đổi cường độ và sẽ xác nhận
được sự dịch chuyển thẳng
Trang 18Hình 2.9 : Phương pháp giao thoa ánh sáng
Phương pháp cho ánh sáng truyền qua:
Thước chính bao gồm các vạch đen có bước T và có độ truyền qua là 0% - 1%,
độ rộng là T/2 Thước phụ cũng chia như thước chính và chuyển động tương đối với
thước chính
Hình 2.10 : Phương pháp cho ánh sáng truyền qua 2.1.5.2 Độ phân giải :
Mỗi xung dịch chuyển có thể từ 0.01µm trở lên Do đó tùy thuộc vào mục đích
sử dụng, yêu cầu về độ chính xác mà có lựa chọn thích hợp
2.1.5.3 Số dây ra của thước
- 4 dây : nguồn, mass, pha A, pha B
- 5 dây : nguồn, mass, pha A, pha B, pha Z
Trang 19Thực chất việc phân biệt số dây cho ta xác định được số pha của Linear Encoder đó Càng nhiều dây ra thì càng có nhiều pha và Linear Encoder đó càng có sự chính xác cao hơn
2.2 Phương pháp hiển thị trên LED 7 đoạn
2.2.1 LED 7 đoạn :
Led 7 đoạn là 7 con led đơn dạng thanh ghép lại với nhau tạo thành một con số
Bảy con led này nối chung với nhau Anode hoặc Catode Mỗi thanh led có một chân đưa ra để điều khiển Ví dụ như led loại Anode chung có chân chung được nối
lên mức cao khi hiển thị Các thanh led muốn sáng thì chân điều khiển phải ở mức áp thấp Nếu sáng số 3 thì chân chung câu lên Vcc, các chân còn lại có mức áp tương
ứng: abcdefg = 0000110 (mức 0 là thanh led sáng) Led loại Catode chung tương tự
nhưng khi chọn led thì chân chung nối xuống GND, thanh led sáng tương ứng tín hiệu điều khiển có mức cao
Trang 202.2.2 Phương pháp quét LED 7 đoạn :
Có 2 cách chính để hiển thị LED 7 đoạn : phương pháp chốt và quét Thực chất phương pháp kết hợp cả chốt và quét là tối ưu nhất và được dùng nhiều hiện nay, đặc biệt là mạch hiển thị bảng báo tỉ giá Tuy nhiên với yêu cầu đề tài đặt ra thì phương pháp quét mới là sự lựa chọn hợp lý nhất
Dựa trên độ lưu ảnh của mắt, một hình ảnh mắt ta thấy nhưng phải mất 40ms mới xử lý xong (cỡ 24-25 hình/1 giây), do đó nếu các hình xuất hiện trước mắt ta mà chớp tắt nhanh hơn 25 hình/giây thì ta không thấy nó chớp nữa, có thể hiểu như mắt ta
bị thừa thông tin
Như vậy nếu bằng cách nào đó ta cho một con led đơn chớp tắt thật nhanh (tần
số trên 25 Hz, nhanh hơn nữa càng tốt, vài trăm Hz, thậm chí vài KHz càng tốt miễn là con led có thể chớp tần số đó) Ta sẽ thấy con led đó luôn luôn sáng, mà thực chất chu
kỳ sáng tắt của nó rất nhanh
Bằng cách cho luân phiên nhiều led hiển thị thông tin khác nhau ta có cảm giác nhiều led 7 đoạn đang sáng đồng thời, với cách này ta chỉ cần một bus dữ liệu nối song song cho tất cả các led (gồm 7 dây a,b,c,d,e,f,g) mỗi led được điều khiển bằng một tín hiệu khác sao cho tại một thời điểm chỉ có duy nhất một led 7 đoạn được phép hiển thị
và lúc này bus cũng đang truyền dữ liệu ứng với Led này Đối với đề tài này, ta chỉ cần luân phiên 6 con led 7 đoạn, và vi xử lý STM32F100C8T6 đáp ứng tốt nhu cầu nên ta không cần thêm các IC giải mã chọn kênh như : 74138, 74154…
Nếu chỉnh tần số nhỏ 25 Hz, ta sẽ thấy các led luân phiên sáng tắt, thời gian mỗi led khá lâu (lâu hơn thời gian lưu ảnh của mắt) Như hình sau :
Nếu chỉnh tần số lớn hơn 25 Hz, ta sẽ thấy các led sáng liên tục, thời gian cho mỗi led ngắn Thực chất là các led sáng tắt quá nhanh, mắt chúng ta không nhận biết được
Trang 21Phương pháp này tiện dụng ở phần cứng lẫn phần mềm, tuy nhiên nếu số lượng led quá nhiều thì thời gian sáng trung bình của mỗi led là T lại giảm đi (T = 1/n, với n
là số led 7 đoạn) Điều này dẫn đến các led bị suy giảm độ sáng vì thế phương pháp quét chỉ áp dụng với số lượng led 7 đoạn là dưới 20 con
2.3 Tra cứu các linh kiện điện tử
2.3.1 Ổn áp LM2576 – 5V
Hình 2.12 : Sơ đồ chân và hình thực tế của LM2576 – 5V
Hoạt động ổn định với điện áp ngõ ra 5V
Nguyên lý hoạt động : Khi cấp một điện áp chênh lệch từ 7-40V vào chân Vin
và GND cho chân số 3 và 5, ngõ ra Vout sẽ cung cấp một điện áp ổn định ở 5V
Trang 22Nguyên lý hoạt động: Khi cấp một điện áp chênh lệch từ 4-15V vào chân Vin và GND, ngõ ra Vout sẽ cung cấp một điện áp ổn định ở 3.3V
2.3.3 IC 74HC14
Hình 2.14 : Sơ đồ chân và hình thực tế 74HC14
Cấu tạo của 74HC14 gồm 6 cổng NOT riêng biệt, có chức năng nghịch đảo giá trị đầu vào (mức 1 đảo thành mức 0, mức 0 đảo thành mức 1)
2.3.4 ULN2803
Hình 2.15 : Sơ đồ chân và hình thực tế ULN2803
ULN2803 là một vi mạch đệm dòng – áp, bản chất cấu tạo là các mảng Darlington có thể chịu được dòng điện lớn (mỗi chân có thể cho dòng 0.5A đi qua)
2.4 Nghiên cứu về vi điều khiển ARM Cortex-M3 32bit
2.4.1 Giới thiệu về dòng vi điều khiển ARM Cortex-M3
Bộ xi xử lý nhúng ARM được ứng dụng vào rất nhiều thị trường khác nhau bao gồm các ứng dụng doanh nghiệp, các hệ thống ô tô, mạng gia đình và công nghệ mạng không dây Dòng vi xử lý ARM Cortex dựa trên một kiến trúc chuẩn đủ để đáp ứng hầu hết các yêu cầu về hiệu năng làm việc trong tất cả các lĩnh vực trên Dòng ARM Cortex bao gồm ba cấu hình khác nhau của kiến trúc ARMv7: cấu hình A cho các ứng dụng tinh vi, yêu cầu cao chạy trên các hệ điều hành mở và phức tạp như Linux, Android…; cấu hình R dành cho các hệ thống thời gian thực và cấu hình M được tối
ưu cho các ứng dụng vi điều khiển, cần tiết kiệm chi phí
Trang 23Bộ vi xử lý Cortex-M3 là bộ vi xử lý ARM đầu tiên dựa trên kiến trúc
ARMv7-M và được thiết kế đặc biệt để đạt được hiệu suất cao trong các ứng dụng nhúng cần tiết kiệm năng lượng và chi phí, chẳng hạn như các vi điều khiển, hệ thống cơ ô tô, hệ thống kiểm soát công nghiệp và hệ thống mạng không dây Thêm vào đó là việc lập trình được đơn giản hóa đáng kể giúp kiến trúc ARM trở thành một lựa chọn tốt cho ngay cả những ứng dụng đơn giản nhất
Hình 2.16 : Sơ đồ khối chung của cấu trúc nhân ARM Cortex-M3
và các thiết bị ngoại vi
Những ưu điểm nổi bật của dòng ARM Cortex-M3 so với các dòng AVR, PIC:
Hiệu suất cao, có thể làm việc nhiều hơn hoặc thông minh hơn Năng lượng tiêu tốn ít hơn Hiệu năng vượt trội (điểm Dhrystone là 1,25 DMIPS/MHz)
Giá thành thấp hơn, với nhiều thiết bị ngoại vi hơn: Timer, ADC, DAC 12bit, USART, SPI…
Tần số hoạt động cao hơn cho khả năng xử lý nhanh hơn (từ 24-140MHz) Khả năng chống nhiễu tốt hơn và nhiều ưu điểm khác
Trang 242.4.2 Tìm hiểu vi điều khiển STM32F100C8T6
2.4.2.1 Tổng quan
Vi điều khiển STM32F100C8T6 của hãng STMicroelectronics là vi điều khiển với nhân ARM, thuộc dòng Value line với các đặc tính như sau:
Nhân ARM 32-bit Cortex-M3, hoạt động với tần số tối đa 24MHz
Bộ nhớ Flash 64KB lưu chương trình chạy; Bộ nhớ SRAM 8KB
Nguồn nuôi từ 2-3.6V; Hỗ trợ thạch anh ngoại 4-24MHz, dao động nội 8MHz và 40kHz cho dao động chính của CPU Ngoài ra còn có bộ nhân tần (PLL) lập trình được với hệ số nhân từ 2 đến 16, giúp đạt được tần số hoạt động cao chỉ với thạch anh tần số thấp
Tích hợp 1 bộ Timer 16-bit đa chức năng với 6 ngõ PWM với dead time (khoảng thời gian được chèn vào giữa hai đầu tín hiệu xuất PWM bù nhau trong điều khiển mạch cầu H) lập trình được và 6 bộ timer 16-bit khác với khả năng đếm lên/xuống với 4 ngõ PWM, Input capture cho mỗi timer
Các thiết bị ngoại vi giao truyền nhận nối tiếp: 2 bộ SPI, 2 bộ I2C, 3 bộ USART
Bộ chuyển đổi tương tự-số (ADC) với 10 kênh, độ phân giải 12-bit
Bộ chuyển đổi số-tương tự (DAC) với 2 kênh, độ phân giải 12-bit
Hệ thống xử lý ngắt chồng nhau Nested vectored interrupt
Có thể cấu hình lại các chân của phần cứng bằng chương trình
Hình 2.17 : Sơ đồ chân và hình thực tế của STM32F100C8T6
Trang 252.4.2.2 Sơ đồ chân và chức năng của vi điều khiển STM32F100C8T6
Các cổng hai hướng PA (PA15÷PA0), PB (PB15÷PB0), PC (PC15÷PC13), PD (PD1÷PD0) là cổng vào/ra 16 bit, tổng cộng 37 chân, các chân của các cổng này có thể được cấu hình bằng phần mềm với các chế độ sau:
Ngõ vào trở kháng cao (input floating)
Ngõ vào với điện trở kéo lên bên trong (input pull-up)
Ngõ vào với điện trở kéo xuống bên trong (input pull-down)
Ngõ vào tương tự (analog)
Ngõ ra hở (open-drain)
Ngõ ra đẩy-kéo (output push-pull)
Ngõ ra các chức năng phụ đẩy-kéo (alternate function push-pull)
Ngõ ra các chức năng phụ hở (alternate function open-drain)
Ngõ ra/vào của các bộ định thời (Timer), SPI, I2C, USART được cấu hình mặc định lên một số chân của PA, PB, PC Ngoài ra, các chân của các thiết bị ngoại vi này cũng có thể được tái cấu hình (remap) vào chân của cổng khác để tiện cho việc sử dụng Ví dụ: chân USART1_TX và USART1_RX mặc định nằm trên 2 chân PA9 và PA10, tuy nhiên, có thể cấu hình lại 2 chân này sang PB6 và PB7 trong chương trình
Một số chân thường sử dụng:
TIM1_CH1, TIM1_CH2 , TIM1_CH4, TIM2_CH1 , TIM8_CH1: các chân được sử dụng cho các chức năng đọc độ rộng xung (input capture), xuất xung (PWM), đếm xung (counter), đọc encoder (quadrature encoder) của các bộ Timer
1 đến 8
USART_TX, USART_RX: các chân truyền, nhận cho bộ truyền nối tiếp không đồng bộ chuẩn RS232
SPI_MOSI, SPI_MISO, SPI_SCK, SPI_SS: các nhận truyền, nhận cho
bộ truyền nối tiếp đồng bộ chuẩn SPI
Trang 262.4.2.3 Thanh ghi Timer/Counter trên chip ARM STM32f100c8t6
Timer/Counter là các module độc lập với CPU Chức năng chính của các bộ Timer/Counter là định thì (tạo ra một khoảng thời gian, đếm thời gian…) và đếm sự kiện Trên các chip ARM hiện nay, các bộ Timer/Counter đều tích hợp thêm chức năng tạo ra các xung điều rộng PWM (Pulse Width Modulation) Ngoài ra, một số Timer/Counter còn được dùng như các bộ canh chỉnh thời gian (calibration) trong các ứng dụng thời gian thực Các bộ Timer/Counter của chip ARM STM32f100c8t6 đều
có độ rộng thanh ghi chứa giá trị định thời hay giá trị đếm là 16 bit Tuy nhiên chế độ hoạt động và phương pháp điều khiển của từng Timer/Counter ít nhiều có sự khác biệt
Bảng 8 : So sánh tính năng các bộ Timer/Counter
Hình 2.18 : Hoạt động đếm xung trong chế độ encoder 2.5 Tìm hiểu phần mềm Keil ARM lập trình cho vi điều khiển ARM
Trang 27Keil ARM là phần mềm lập trình cấp cao theo ngôn ngữ C được sử dụng để thay thế cho chương trình hợp ngữ vì nó có tính năng tương tự, dễ lập trình hơn và hỗ trợ nhiều cho người sử dụng Ngoài ra, hãng ST còn cung cấp cho người dùng bộ thư viện chuẩn lập trình giao tiếp với thiết bị ngoại vi tương thích với chuẩn CMSIS Thông qua bộ thư viện này, lập trình viên dễ dàng giao tiếp với các thiết bị phần cứng chuẩn của các dòng Cortex-M3 của ST
Hình 2.19 : Cửa sổ phần mềm Keil ARM
Phần mềm Keil ARM hỗ trợ hầu hết các loại vi điều khiển ARM của các hãng như NXP, ST, TI, Samsung… tiện lợi cho việc lập trình khi có nhu cầu thay thế các loại vi điều khiển khác nhau mà không phải làm quen lại với một ngôn ngữ hoặc trình biên dịch mới
2.6 Tìm hiểu phần mềm biên soạn chương trình Souce Insight
Trong quá trình lập trình, viết code sử dụng các trình biên dịch như Keil (hoặc
đa phần các công cụ lập trình khác như IAR, CodeRed…) rất bất tiện:
Các tính năng tìm kiếm thường rất hạn chế (tính năng tìm kiếm nhanh,
dễ dàng theo dõi các hàm, biến… trong một chương trình gồm rất nhiều tập tin *.c
và *.h là rất cần thiết)
Trang 28 Giao diện soạn thảo đơn điệu (màu sắc của các từ khóa, biến toàn cục, cục bộ …)
Hình 2.20 : Cửa sổ phần mềm Source Insight
Công cụ Source Insight khắc phục rất tốt 2 nhược điểm nêu trên Với khả năng tìm kiếm, liệt kê kết quả tìm được và giao diện soạn thảo ưa nhìn với nhiều cách chú thích code, giúp người lập trình dễ theo dõi chương trình
2.7 Chương trình SEGGER J-FLASH ARM nạp cho vi xử lý
J-FLASH là công cụ nạp chương trình cho vi điều khiển, được hãng SEGGER của Đức phát triển và cung cấp miễn phí Công cụ này có hỗ trợ nạp cho nhiều dòng vi
xử lý với nhiều hãng khác nhau như : ST, Toshiba, Atmel, Fujitsu…
Vùng soạn thảo
Vùng tham khảo lệnh
Vùng hiển
thị chương
trình con
Trang 29Hình 2.21 : Giao diện phần mềm J-Flash 2.8 Giới thiệu về mạch nạp Cortex-M/R J-Link
firmware cho các loại vi điều khiển ARM Cortex-M/R Adapter Cortex-M/R J-Link đuợc thiết kế sử dụng giao tiếp SWD vì thế đơn giản hóa giao tiếp giữa cable và target, với tối thiểu 3 đường CLK, SWDIO và GND chúng ta có thể thực hiện việc download firmware và debug MCU, và hoàn toàn làm đuợc như cách thức của sợi cable JTAG thông thuờng
Hình 2.22 : Mạch nạp Cortex-M/R J-Link
Trang 30CHƯƠNG 3 PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN NGHIÊN CỨU
3.1 Địa điểm và thời gian thực hiện đề tài :
3.1.1 Địa điểm :
Quá trình thực hiện đề tài bao gồm:
Phần chế tạo thực hiện tại địa chỉ 226 khu tám gian, Trường Đại Học Nông Lâm TP.HCM
Phần khảo nghiệm lấy kết quả được tiến hành tại Phòng thực tập Điều Khiển Tự Động - Trường Đại Học Nông Lâm TP.HCM
3.1.2 Thời gian :
Đề tài đã tiến hành từ 28 tháng 02 năm 2013 đến 13 tháng 06 năm 2013
Quá trình thực hiện nghiên cứu, thiết kế và chế tạo hệ thống máy từ ngày 28 tháng 2 năm 2013 đến ngày 5 tháng 06 năm 2013
Thời gian còn lại là quá trình khảo nghiệm lấy kết quả, sửa và hoàn thành bài luận văn
3.2 Phương pháp nghiên cứu :
3.2.1 Chọn phương pháp thiết kế bộ hiển thị
Độ dịch chuyển
của thước
Hiển thị kết quả
Xử lý tín hiệu và
tính toán
Bộ đệm dòng