Arduino thực ra là một bo mạch vi xử lí được dùng để tương tác với các thiết bị phầncứng như cảm biến, động cơ, đèn hay các thiết bị khác.. Chỉ với $30, người dùng đã có thể sở hữu một b
Trang 1TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI
KHOA: ĐIỆN – ĐIỆN TỬ
……….
BÁO CÁO BÀI TẬP LỚN MÔN: THIẾT KẾ HỆ THỐNG NHÚNG
Tên đề tài:
THIẾT KẾ MÁY KHẮC LASER CNC
Trang 2MỤC LỤC
LỜI MỞ ĐẦU 3
PHẦN 1 GIỚI THIỆU ĐỀ TÀI 4
PHẦN 2 TÌM HIỂU VỀ ARDUINO 6
2.1 Giới thiệu chung về arduino 6
2.2 Cấu trúc phần cứng 8
2.3 Cấu trúc phần mềm và lập trình 8
2.3.1 Cài đặt Arduino IDE 11
2.3.2 Môi trường lâp trình ARDUINO 12
2.3.3 Cấu trúc chương trình 12
2.3.4 Nạp bootloader cho arduino 12
2.4 Arduino Uno R3 8
2.4.1 Nguồn(Arduino Uno R3) 11
2.4.2 Bộ nhớ 12
2.4.3 Các cổng vào/ra 12
PHẦN 3 TÌM HIỂU VỀ MÁY CNC 10
3.1 Giới thiệu chung về máy CNC 11
3.1.1 Lịch sử phát triển của hệ thống máy CNC 11
3.1.2 Những đặc điểm cơ bản của máy CNC 12
3.2 Giới thiệu chung về máy Laser CNC 13
3.2.1 Tình hình sử dụng máy CNC ở nước ta 13
3.2.2 Phân loại máy khắc Laser CNC 14
3.2.3 Giới thiệu về một số mẫu mã máy khắc Laser CNC đang có trên thị trường 14
3.3 Các phương pháp điều khiển trên máy CNC 14
3.3.1 Điều khiển 2D 14
3.3.2 Điều khiển 21/2D 15
3.4 Cấu trúc tổng thể máy CNC mini 17
3.4.1 Phần điều khiển 17
3.4.2 Phần chấp hành 17
3.5 Hệ trục tọa độ trên máy CNC 17
PHẦN 4 TÌM HIỂU ĐỘNG CƠ BƯỚC 10
4.1 Khái quát 11
4.1.1 Vai trò của động cơ bước 11
4.1.2 Cấu tạo động cơ bước 12
4.1.3 Hoạt động 12
Trang 34.1.4 Ứng dụng 12
4.1.5 Các đặc tính cơ bản của động cơ bước 12
4.1.6 Một số loại động cơ bước 12
4.1.7 Điều khiển động cơ bước 12
4.2 Giới thiệu module Driver A4988 và CNC Sheil 11
4.2.1 Giới thiệu module Driver A4988 12
4.2.2 Giới thiệu module CNC Sheil 12
4.3 Điều khiển động cơ bước qua A4988 bằng GRBL 11
4.3.1 Khái quát GRBL 12
4.3.2 Quản lý nhanh 12
4.3.3 Những giới hạn của G-code 12
4.3.4 Các tính năng mới trong v0.9 12
PHẦN 5 CODE 10
PHẦN 6 MÔ HÌNH 10
2
Trang 4LỜI MỞ ĐẦU
Công nghệ thông tin giờ đây đã xuất hiện như một phần không thể thiếu trong cuộc sống hằng ngày từ giáo dục, thương mại đến giải trí, y học và được xem là một ngành mũi nhọn của các cường quốc trên thế giới Sự bùng nổ thông tin và sự phát triển mạnh mẽ của công nghệ kỹ thuật số đặt ra yêu cầu đối với tất cả các ngành, lĩnh vực rằng muốn phát triển thì phải hướng đến một nền công nghiệp sản xuất tiên tiến, mức độ tự động hóa, cơ khí hóa cao, để trở thành nước công nghiệp phát triển theo hướng bền vững.
Máy CNC (Computerized Numeric Control) ra đời là một trong những thành tựukhoa học, kỹ thuật của nhân loại và nó ngày càng được ứng dụng rộng rãi trong sảnxuất Máy CNC đã góp phần không nhỏ vào việc giải quyết nhiệm vụ cấp bách hiệnnay là tự động hoá quá trình sản xuất, nó được ứng dụng rộng rãi từ hệ thống sảnxuất hàng khối cho đến sản xuất đơn chiếc và các hệ thống sản xuất linh hoạt
Tuy nhiên, hiện nay ở Việt Nam, việc nghiên cứu, chế tạo và áp dụng vào sảnxuất các máy này gặp rất nhiều hạn chế Đa phần chỉ ở các doanh nghiệp chế tạokhuôn mẫu với quy mô sản xuất lớn và các trường Đại học, Cao Đẳng kỹ thuật mới
sử dụng đến máy CNC Do vậy em đã quyết định chọn đề tài “Thiết kế, chế tạo máy khắc Laser ứng dụng công nghệ CNC” để nghiên cứu và hoàn thiện và làm chủ
kiến thức lĩnh vực này trong tương lai
Do kiến thức còn hạn chế nên không thể tránh khỏi những sai sót, chúng em mong thầy giúp đỡ và cho ý kiến để hoàn thiện hơn đề tài này.
Chúng em xin chân thành cảm ơn!
Nhóm Sinh Viên Thực Hiện
Nguyễn Khả Du Nguyễn Đình DũngDoãn Thế Duy
Vũ Bá Dương Nguyễn Trọng Đức
Lê Như Hiếu Nguyễn Quốc Huy Đinh Công Quý Hoàng Quang ToànNguyễn Đức Thắng
Trang 5PHẦN 1: GIỚI THIỆU ĐỀ TÀI
Máy khắc laser tự động là một dạng khác của máy CNC Nó phù hợp với định hướngnghiên cứu chung của xã hội vì nó phục vụ theo đúng nhu cầu cuộc sống Do đó, hướngnghiên cứu này không những giúp chủ động tìm tòi, nghiên cứu, dần dần làm chủ kiến thứclĩnh vực này trong tương lai Khái niệm về laser còn tương đối mới mẻ ở Việt Nam, với
"LASER" viết tắt của "Light Amplification by Stimulated Emission of Radiation", laser là sựkhuếch đại ánh sáng bằng phát xạ kích thích Bức xạ laser được tạo ra từ một bộ nguồn laser.Hiện nay hai loại laser nguồn thông dụng là laser tinh thể bán dẫn và laser khí Nguồn laser cóthể được kích hoạt bằng ánh sáng (đèn chớp hoặc diot) hoặc điện thế Tinh thể laser hoặc khíđược đặt giữa hai gương cho phép cộng hưởng và định hướng chùm tia laser Một tỉ lệ xácđịnh của chùm tia laser được truyền qua gương phản xạ bán toàn phần và nó có thể dùng đểgia công vật liệu Ngoài ra, laser còn có rất nhiều ứng dụng khác như trong công nghệ quân
sự, viễn thông, đo lường, y tế
Máy khắc laser không chỉ quan trọng trong ngành cơ khí mà còn trong nhiều ngànhkhác như: may mặc, giày dép, vẽ mạch điện tử… và đặc biệt được ứng dụng trong ngành thủcông mỹ nghệ Với ưu điểm của máy khắc đã và đang nâng cao khả năng tự động hóa củadoanh nghiệp tại Việt Nam như: người vận hành ít, ít phải can thiệp vào hoạt động của máy.Nhiều máy khắc laser có thể tự động chạy liên tục cho tới khi kết thúc và như vậy giải phóngnhân lực cho công việc khác và ít xảy ra hỏng hóc do lỗi vận hành, thời gian gia công được dựbáo chính xác, người vận hành không đòi hỏi phải có kỹ năng thao tác (chân tay) cao như điềukhiển máy công cụ truyền thống Trong nghiên cứu này, nhóm tác giả thực hiện việc nghiêncứu, thiết kế, chế tạo máy khắc laser trong điều kiện phát triển tại Việt Nam Các kết quảnghiên cứu cho thấy khả năng chủ động trong chế tạo và đáp ứng yêu cầu trong điều khiển
PHẦN 2: TÌM HIỂU VỀ ARDUINO
2.1 Giới thiệu chung về arduino
Arduino thực sự đã gây sóng gió trên thị trường người dùng DIY ( là những người tựsáng chế ra sản phẩm của mình) trên toàn thế giới trong vài năm gần đây, gần giống vớinhững gì mà Apple đã làm được trên thị trương thiết bị di động Số lượng người dùng cực kìlớn và đa dạng với trình độ trải rộng từ bậc phổ thông đến bậc đại học đã làm cho ngay cảnhững người sáng tạo ra cũng phải ngạc nhiên về mức độ phổ biến
Arduino thực ra là một bo mạch vi xử lí được dùng để tương tác với các thiết bị phầncứng như cảm biến, động cơ, đèn hay các thiết bị khác Đặc điểm nổi bật của Arduino là môitrường phát triển ứng dựng cực kì dễ sử dụng Với ngôn ngữ lập trình có thể học nhanh chóngngay cả khi người học ít hiểu biết về điện tử và lập trình Và điều làm nên Arduino chính làmức giá rất thấp và tính chất nguồn mở từ cứng tới mềm Chỉ với $30, người dùng đã có thể
sở hữu một board Arduino có 20 ngõ I/O có thể tương tác và điều khiển chừng đấy thiết bị
- Thế mạnh của arduino so với các nền tảng vi điều khiển khác:
+ Chạy trên đa nền tảng : Việc lập trình có thể thực hiện trên các hệ điều hành khácnhau như Window, Mac Os, Linux trên destop, android trên di động
+ Ngôn ngữ lập trình đơn giản, dễ hiểu
+ Nền tảng mở : arduino được phát triển dựa trên nguồn mở nên phần mêm chạy trênArduino được chia sẻ dễ dàng tính hợp vào các nền tảng khác nhau
Trang 6+ Mở rộng phần cứng: Arduino được thiết kế và sử dụng theo dạng module nên việc
mở rộng phần cứng khá dễ dàng
+ Đơn giản và nhanh: Rễ dàng lắp ráp, lập trình và sử dụng thiết bị
+ Dễ dàng chia sẻ : Mọi người dễ dàng chia sẻ mã nguồn với nhau mà không lo lắng
về ngôn ngữ hay hệ điều hành mình đang sử dụng
- Những ứng dụng nổi bật của Arduino là: máy in 3d, robot, thiết bị bay không người láiUAV, game tương tác, điều khiển ánh sáng, kích hoạt chụp ảnh tốc độ cao
- Một hệ thống Arduino có thể cung cấp cho bạn rất nhiều sự tương tác với môi trườngxung quanh với:
- Hệ thống cảm biến đa dạng về chủng loại (đo đạc nhiệt độ, độ ẩm, gia tốc, vận tốc,cường độ ánh sáng, màu sắc vật thể, lưu lượng nước, phát hiện chuyển động, phát hiệnkim loại, khí độc,…),…
+
Các thiết bị hiển thị (màn hình LCD, đèn LED,…)+
Các module chức năng (shield) hỗ trợ kêt nối có dây với các thiết bị khác hoặccác kết nối không dây thông dụng (3G, GPRS, Wifi, Bluetooth, 315/433Mhz,2.4Ghz,…) Định vị GPS, nhắn tin SMS, và nhiều thứ thú vị khác2.2 Cấu trúc phần cứng
Một mạch Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổ sung giúp dễdàng lập trình và có thể mở rộng với các mạch khác Một khía cạnh quan trọng của Arduino làcác kết nối tiêu chuẩn của nó, cho phép người dùng kết nối với CPU của board với các
module thêm vào có thể dễ dàng chuyển đổi, được gọi là shield Vài shield truyền thông với
board Arduino trực tiếp thông qua các chân khác nhau, nhưng nhiều shield được định địa chỉthông qua serial bus I²C-nhiều shield có thể được xếp chồng và sử dụng dưới dạng song song.Arduino chính thức thường sử dụng các dòng chip megaAVR, đặc biệt là ATmega8,ATmega168, ATmega328, ATmega1280, và ATmega2560 Một vài các bộ vi xử lý khác cũngđược sử dụng bởi các mạch Arduino tương thích Hầu hết các mạch gồm một bộ điều chỉnhtuyến tính 5V và một thạch anh giao động 16 MHz (hoặc bộ cộng hưởng ceramic trong mộtvài biến thể), mặc dù một vài thiết kế như LilyPad chạy tại 8 MHz và bỏ qua bộ điều chỉnhđiện áp onboard do hạn chế về kích cỡ thiết bị Một vi điều khiển Arduino cũng có thể đượclập trình sẵn với một boot loader cho phép đơn giản là upload chương trình vào bộ nhớ flashon-chip, so với các thiết bị khác thường phải cần một bộ nạp bên ngoài Điều này giúp choviệc sử dụng Arduino được trực tiếp hơn bằng cách cho phép sử dụng 1 máy tính gốc như làmột bộ nạp chương trình
Theo nguyên tắc, khi sử dụng ngăn xếp phần mềm Arduino, tất cả các board được lậptrình thông qua một kết nối RS-232, nhưng cách thức thực hiện lại tùy thuộc vào đời phầncứng Các board Serial Arduino có chứa một mạch chuyển đổi giữa RS232 sang TTL Cácboard Arduino hiện tại được lập trình thông qua cổng USB, thực hiện thông qua chip chuyểnđổi USB-to-serial như là FTDI FT232 Vài biến thể, như Arduino Mini và Boarduino khôngchính thức, sử dụng một board adapter hoặc cáp nối USB-to-serial có thể tháo rờiđược, Bluetooth hoặc các phương thức khác (Khi sử dụng một công cụ lập trình vi điều khiểntruyền thống thay vì ArduinoIDE, công cụ lập trình AVR ISP tiêu chuẩn sẽ được sử dụng.)Board Arduino sẽ đưa ra hầu hết các chân I/O của vi điều khiển để sử dụng cho nhữngmạch ngoài Diecimila, Duemilanove, và bây giờ là Uno đưa ra 14 chân I/O kỹ thuật số, 6trong số đó có thể tạo xung PWM (điều chế độ rộng xung) và 6 chân input analog, có thểđược sử dụng như là 6 chân I/O số Những chân này được thiết kế nằm phía trên mặt board,
Trang 7thông qua các header cái 0.10-inch (2.5 mm) Nhiều shield ứng dụng plug-in cũng đượcthương mại hóa Các board Arduino Nano, và Arduino-compatible Bare Bones Board vàBoarduino có thể cung cấp các chân header đực ở mặt trên của board dùng để cắm vào cácbreadboard.
Có nhiều biến thể như Arduino-compatible và Arduino-derived Một vài trong số đó cóchức năng tương đương với Arduino và có thể sử dụng để thay thế qua lại Nhiều mở rộngcho Arduino được thực thiện bằng cách thêm vào các driver đầu ra, thường sử dụng trong cáctrường học để đơn giản hóa các cấu trúc của các 'con rệp' và các robot nhỏ Những board khácthường tương đương về điện nhưng có thay đổi về hình dạng-đôi khi còn duy trì độ tươngthích với các shield, đôi khi không Vài biến thể sử dụng bộ vi xử lý hoàn toàn khác biệt, vớicác mức độ tương thích khác nhau
2.3 Cấu trúc phần mềm và lập trình
2.3.1 Cài đặt Arduino IDE
- Để lập trình cho bo Arduino , trước hết ta cần download và cài đặt môi trường viếtchương trình cho Arduino
- Dowload tại trang chủ arduino.cc
- Hướng dẫn cài đặt cho người dùng Window (người sử dụng hệ điều hành Mac thì không cần cài đặt drive )
- Kết nối bo Arduino với máy tính, và để máy tính tự động cài đặt drive USB Tuy nhiên việc tự động cài drive sẽ có thể không thành công
- Nếu không thành công thì : Mở Device Mannage của window trên Control Panel
- Ở mục Port ( COM & LPT) sẽ thấy mục Arduino Uno (Comxx)
- Nhấp phải vào mục Arduino UNO(COMxx) và chọn Update Driver Software
- Trên cửa sổ hiện ra, chọn Browre my computer for driver software
2.3.2 Môi trường lâp trình ARDUINO
Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mang lại nhiều lợi thế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino nằm ở phần mềm Môi trường lập trình đơn giản dễ sử dụng, ngôn ngữ lập trình dễ hiểu và dựa trên nền tảng C/C++ rất quen thuộc với người làm kĩ thuật Và quan trọng là số lượng thư viện code được viết sẵn và chia
sẻ bởi cộng đồng mở là cực kỳ lớn
Hình 1.1: Arduino IDE
a) Arduino Toolbar: có một số button và chức năng của chúng như sau :
Trang 8Hình1.2: Arduino Toolbar.
Verify : kiểm tra code có lỗi hay không
Upload: nạp code đang soạn thảo vào Arduino
New, Open, Save : Tạo mới, mở và Save sketch
Serial Monitor : Đây là màn hình hiển thị dữ liệu từ Arduino gửi lên máy tính b) Arduino IDE Menu:
Trang 9Trong Sketch menu :
Verify/ Compile : chức năng kiểm tra lỗi code
Show Sketch Folder : hiển thị nơi code được lưu
Add File : thêm vào một Tap code mới
Import Library : thêm thư viện cho IDE
Tool memu:
Trong Tool menu ta quan tâm các mục Board và Serial Port
Mục Board : các bạn cần phải lựa chọn bo mạch cho phù hợp với loại bo mà bạn sử
dụng nếu là Arduino Uno thì phải chọn như hình:
Nếu sử dụng loại bo khác thì phải chọn đúng loại bo mà mình đang có nếu sai thìcode Upload vào chip sẽ bị lỗi
Serial Port: đây là nơi lựa chọn cổng Com của Arduino Khi chúng ta cài đặt driverthì máy tính sẽ hiện thông báo tên cổng Com của Arduino là bao nhiêu, ta chỉ việc vào Serial Port chọn đúng cổng Com để nạp code, nếu chọn sai thì không thể nạp code cho Arduino được
2.3.3 Cấu trúc chương trình
Cấu trúc cơ bản của một chương trình Arduino gồm hai hàm chính setup() và loop().
Hai hàm này là bắt buộc đối với một chương trình Arduino
setup()
Hàm setup() được gọi khi chương trình bắt đầu Thường dùng để khởi tạo giá trị ban
Trang 10đầu cho biến, cài đặt chế độ hoạt động của các chân, khởi động việc sử dụng thư viện Hàm setup() sẽ chỉ được gọi duy nhất một lần, ngay sau khi bật nguồn hoặcreset bo Arduino.
Cách viết chương trình trên IDE
Một chương trình Arduino với hai hàm setup() và loop() sẽ được viết như sau:
int led = 13; // số thứ tự của chân Arduino kết nối với LED
// hàm setup sẽ được gọi chạy một lần khi reset
void setup() {
pinMode(led, OUTPUT); // cài đặt chân digital là output (ngõ ra)
}
// hàm loop sẽ được gọi chạy lặp đi lặp
lại void loop() {
digitalWrite(led, HIGH); // bật LED (xuất ngõ ra ở mức cao -
HIGH) delay(1000); // chờ 1000ms = 1 giây
digitalWrite(led, LOW); // tắt LED (xuất ngõ ra ở mức thấp -
LOW) delay(1000); // chờ 1000ms = 1 giây
}
Chương trình giao tiếp với máy tính
Arduino có một điểm vô cùng lợi hại là đã kết hợp cổng nạp và giao tiếp trong một, nghĩa là sau khi nạp xong ta có thể ngay lập tức giao tiếp với bo để lấy thông tin Đểgiao tiếp với máy tính thì đơn giản bạn sử dụng class Serial có sẵn của Arduino:
Trang 11 Khởi tạo trong setup:
// Hàm setup chỉ chạy một lần khi bắt đầu khởi động
lại void setup() {
Serial.begin(9600); //Initialize Serial port with baud is 9600 }
Sau đó có thể đọc và truyền dữ liệu từ cổng Serial một cách tuần tự:
void loop() {
if(Serial.available()){ //Check if have data in Serial Buffer char inMess = Serial.read(); //Read data from Serial port
Serial.println(inMess); // Print to Serial port when you want send data to computer
} delay(100); // wait for a little
2.3.4 Nạp bootloader cho arduino
Bootloader là một chương trình nhỏ được nạp sẵn vào chip vi điều (VĐK) khiển trên Arduino Bạn lập trình cho Arduino một cách dễ dàng được là nhờ thứ này Nếu không có bootloader, bạn sẽ không thể upload chương trình lên vi điều khiển trên Arduino theo cách
thông thường được, mà phải cần một số phần cứng khác hỗ trợ (gọi là Programmer) Nối dây: Bạn hãy nối dây trước theo sơ đồ sau (minh họa giữa 2 mạch Arduino sử
dụng vi điều khiển ATmega328)
Hình 1.7: Kết nối dây UNO để nạp bootloader
Chú ý mạch Arduino sử dụng vi điều khiển nào để nối dây cho đúng
Bảng 1: Các chân kết nối để nạp bootloader
Arduino có
bootloader
Arduino chưa cóbootloader
(ATmega1280/2560)
Trang 12D10 (SS) RESET RESET RESET
Trang 13D11 (MOSI) D11 (MOSI) D16 (MOSI) D51 (MOSI)
Thao tác
Mở Arduino IDE
Mở ví dụ Arduino ISP
Vào menu Tools -> Boards để chọn mạch Arduino đang có bootloader
Vào menu Tools -> Serial Port để chọn cổng Serial đang sử dụng
Vào menu Tools -> Programmer chọn AVR ISP
Bấm Ctrl + U để upload chương trình
Vào menu Tool -> Boards để chọn mạch Arduino cần được nạp bootloader
Vào menu Tool -> Programmer chọn Arduino as ISP
Vào menu Tools chọn Burn Bootloader
Đợi cho tới lúc thành công
Sau khi nạp bootloader xong, đèn LED trên cả 2 mạch Arduino nhấp nháy báo hiệu
bootloader đã được nạp thành công
2.4 Arduino Uno R3:
Arduino Uno R3 là dòng mạch phổ biến nhất trong các dòng mạch Arduino, phiên bảnUno này là Revision 3 (R3) là phiên bản mới nhất hiện giờ, có độ chính xác và độ bền caohơn rất nhiều so với arduino uno phiên bản cũ
Arduino UNO R3có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8, ATmega168,ATmega328.Bộ vi điều khiển thông minh này có thể điều khiển led đơn, điều khiển động cơ,
xử lý tín hiệu, thu thập dữ liệu từ các cảm biến để hiển thị lên màn hinh Led LCD,… và nhiềuứng dụng khác
Downloaded by nhung nhung (nhungnguyen949595@gmail.com)
Trang 14Hình: Aduino Uno
Thông số kĩ thuật
Vi điều khiển ATmega328 (họ 8bit)
Điện áp hoạt động 5V – DC (chỉ được cấp qua cổng USB)
Điện áp vào khuyên dùng 7-12V – DC
Điện áp vào giới hạn 6-20V – DC
Số chân Digital I/O 14 (6 chân PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 30 mA
GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO R3 Khi bạn dùng các
thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối vớinhau
5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA.
3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA.
Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương của
nguồn với chân này và cực âm của nguồn với chân GND
Downloaded by nhung nhung (nhungnguyen949595@gmail.com)
Trang 15 IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở
chân này Và dĩ nhiên nó luôn là 5V Mặc dù vậy bạn không được lấy nguồn 5V từchân này để sử dụng bởi chức năng của nó không phải là cấp nguồn
RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc
chân RESET được nối với GND qua 1 điện trở 10KΩ
Arduino UNO R3 không có bảo vệ cắm ngược nguồn vào Do đó bạn phải hết sức cẩnthận, kiểm tra các cực âm – dương của nguồn trước khi cấp cho Arduino UNO Việclàm chập mạch nguồn vào của Arduino UNO sẽ biến nó thành một miếng nhựa chặngiấy Tôi khuyên bạn nên dùng nguồn từ cổng USB nếu có thể
Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra cho các thiết bịkhác, không phải là các chân cấp nguồn vào Việc cấp nguồn sai vị trí có thể làm hỏngboard Điều này không được nhà sản xuất khuyến khích
Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp dưới 6V có thểlàm hỏng board
Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều khiểnATmega328
Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của Arduino UNOnếu vượt quá 200mA sẽ làm hỏng vi điều khiển
Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino UNO sẽ làmhỏng vi điều khiển
Cường độ dòng điện qua một chân Digital hoặc Analog bất kì của Arduino UNO vượtquá 40mA sẽ làm hỏng vi điều khiển Do đó nếu không dùng để truyền nhận dữ liệu,bạn phải mắc một điện trở hạn dòng
2.4.2 Bộ nhớ
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:
32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ
Flash của vi điều khiển Thường thì sẽ có khoảng vài KB trong số này sẽ được dùngcho bootloader nhưng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ này đâu
2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn khai báo khi
lập trình sẽ lưu ở đây Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM.Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà bạn phảibận tâm Khi mất điện, dữ liệu trên SRAM sẽ bị mất
1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): đây
giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu của mình vàođây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM
Một số chân digital có các chức năng đặc biệt như sau:
Downloaded by nhung nhung (nhungnguyen949595@gmail.com)
Trang 16 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX)
dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chânnày Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây Nếukhông cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết
Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phângiải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite() Nóimột cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác
Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài các chức
năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPIvới các thiết bị khác
LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Khi bấm nútReset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối với chân số 13 Khichân này được người dùng sử dụng, LED sẽ sáng
Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0
→ 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V Với chân AREF trên board, bạn
có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog Tức là nếu bạn cấpđiện áp 2.5V vào chân này thì bạn có thể dùng các chân analog để đo điện áp trong khoảng
từ 0V → 2.5V với độ phân giải vẫn là 10bit
Đặc biệt, Arduino UNO R3 có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếpI2C/TWI với các thiết bị khác
Downloaded by nhung nhung (nhungnguyen949595@gmail.com)
Trang 17PHẦN 3: TÌM HIỂU VỀ MÁY CNC
3.1 Giới thiệu chung về máy CNC
Máy CNC (Computer Numerical Controlled) là máy công cụ, điều khiển theo một
chương trình định sẵn Các dữ liệu được cung cấp dưới dạng tập lệnh
3.1.1 Lịch sử phát triển của hệ thống máy CNC
- Năm 1949: Mẫu đầu tiên của máy NC (Numerical Controlled) do MIT (Viện côngnghệ Massachusetts) thiết kế và chế tạo theo đặt hàng của Không lực Hoa kỳ, đểsản xuất các chi tiết phức tạp và chính xác của máy bay
- Năm 1952: Chiếc máy phay đứng 3 trục điều khiển số của hãng Cincinnati
- Hydrotel được trưng bày tại MIT
- Những năm 1960:
+ Máy NC được sản xuất và sử dụng trong công nghiệp
+ Các bộ điều khiển số đầu tiên dùng đèn điện tử nên tốc độ xử lý chậm, cồngkềnh và tiêu tốn nhiều năng lượng
+ Chương trình được chứa trong các băng và bìa đục lỗ, khó hiểu và không sửachữa được
+ Giao tiếp người - máy rất khó khăn vì không có màn hình, bàn phím
- Năm 1970:
+ Các linh kiện bán dẫn được sử dụng phổ biến trong công nghiệp
+ Máy NC gọn hơn, tốc độ xử lý cao hơn, tiêu tốn ít năng lượng hơn,
+ Các băng đục lỗ sau này được thay bằng băng hoặc đĩa từ,
+ Tính năng sử dụng của các máy NC vẫn chưa được cải thiện đáng kể, cho đến khi máy tính được ứng dụng
- Đầu những năm 1970, máy CNC (Computer Numerical Control) ra đời: Các bộ điềukhiển số trên máy công cụ được tích hợp máy tính và thuật ngữ CNC ra đời MáyCNC ưu việt hơn máy NC thông thường về nhiều mặt
- Tốc độ xử lý cao, kết cấu gọn,
- Ưu điểm quan trọng nhất của chúng là ở tính năng sử dụng, giao diện với ngườidùng và các thiết bị ngoại vi khác
Ưu điểm của các máy CNC ngày nay:
+ Có màn hình, bàn phím và nhiều thiết bị khác để trao đổi thông tin vớingười dùng
+ Nhờ màn hình, người dùng được thông báo thường xuyên về tình trạng củamáy, cảnh báo báo lỗi và nguy hiểm có thể xảy ra, có thể mô phỏng để kiểmtra trước quá trình gia công,
+ Có thể làm việc đồng bộ với các thiết bị sản xuất khác như robot, băng tải,thiết bị đo, trong hệ thống sản xuất
+ Có thể trao đổi thông tin trong mạng máy tính các loại, từ mạng cục bộ(LAN) đến mạng diện rộng (WAN) và Internet
Hiện nay máy công cụ CNC đang được phát triển và ứng dụng rộng rãi vào nhiềulĩnh vực cuộc sống nhiều nước trên thế giới Cùng với sự phát triển vượt bậc của côngnghệ vi xử lý, trung tâm điều khiển của máy CNC hiện đại được điều khiển bởi bộ vi
xử lý Nhờ tốc độ xử lý của các phần tử này mà nhịp độ làm việc của các máy CNCđược ghép với chúng không bị thay đổi Có thể coi sự ra đời của máy CNC là một cuộccách mạng lớn trong lĩnh vực cơ khí chế tạo máy, đó là một phần tử vô cùng quan trọng
Downloaded by nhung nhung (nhungnguyen949595@gmail.com)