Professional Documents
Culture Documents
Do An Tu Dong Hoa
Do An Tu Dong Hoa
BÁO CÁO ĐỒ ÁN
ROBOT CHUYỂN HÀNG TRONG NHÀ XƯỞNG
BÁO CÁO ĐỒ ÁN
4. Các vấn đề cần làm rõ hay bổ sung, chỉnh sửa( nếu có ): ........................................
........................................................................................................................................
Ngày nay kĩ thuật lập trình phần cứng có sự phát triển mạnh mẽ và được ứng
dụng nhiều trong sản xuất công nghiệp, tự động hóa. Vi điều khiển và điều khiển PLC
càng thông dụng và hoàn thiện hơn, nhưng sự ra đời của Arduno đã mở ra hướng đi
mới cho vi điều khiển. Sự xuất hiện của Arduno đã hỗ trợ con người rất nhiều trong
lập trình và thiết kế nhất là đối với những người bắt đầu tìm tòi về vi điều khiển mà
không có quá nhiều kiến thức, hiểu biết sâu sắc về vật lý và điện tử. Sử dụng ngôn
ngữ lập trình C trên nền Java. Phần cứng của thiết bị được tích hợp nhiều chức năng
cơ bản và là mã nguồn mở. Vì vậy Arduno dần phổ biến và đang phát triển mạnh mẽ.
Dựa trên cơ sở những kiến thức đã học, chúng em quyết định thực hiện đề tài : Robot
chuyển hàng trong nhà xưởng sử dụng Arduino với mục đích được hiểu biết thêm về
chức năng và cấu tạo của Arduno. Đồng thời rèn luyện khả năng tư duy, liên kết ý
tưởng, kỹ năng làm việc nhóm của mỗi thành viên. Trong quá trình làm đồ án, chúng
em chắc chắn không tránh khỏi những thiếu sót và hạn chế vì thế chúng em rất mong
có được sự góp ý và nhắc nhở của thầy giáo về đề tài của mình.
Em xin chân thành cảm ơn thầy giáo Thạc sĩ Phạm Hữu Chiến đã tận tình giúp
đỡ và hướng dẫn chúng em trong quá trình tìm hiểu, thiết kế đề tài này.
MỤC LỤC
- Cung cấp sắp xếp linh kiện tại khu vực kho và sản xuất.
- Vận chuyển hàng giữa các trạm sản xuất, trong khu vực sản xuất.
- Phân phối, cung ứng sản phẩm, đặc biệt trong bán buôn.
- Cung cấp, sắp xếp trong các lĩnh vực đặc biệt như bệnh viên, siêu thị, văn
phòng.
- Qua tất cả các ứng dụng trên, đã thể hiện rất rõ hiệu quả của như: Giúp giảm
thiệt hại trong kiểm kê, sắp xếp sản xuất linh hoạt hơn, giảm thiểu nguồn nhân lực
v.v…
Ngoài ra, xe tự hành còn giúp giảm chi phí chế tạo, tăng hiệu quả sản xuất.
Chúng có thể chế tạo để chuyển hàng, kéo hàng, nâng hàng cấp phát cho một số vị trí
làm việc nhất định.
Hệ thống xe dẫn hướng tự động (AGVS) đã tồn tại từ năm 1953 bởi Barrett
Electronics of Northbrook, bang Illinois – USA, nay là Savant Automation of Walker,
bang Michigan – USA. Một nhà phát minh với một giấc mơ sáng chế ra một phương
pháp tự động hoá con người trên chiếc xe tải kéo mà đã được sử dụng trong các nhà
máy trong nhiều năm.
Lúc đầu chỉ là một chiếc xe kéo nhỏ chạy theo một đường dẫn. Hệ thống
hướng dẫn đầu tiên được tạo ra khi xuất hiện các cảm biến dò theo một từ trường.
AGV tồn tại ở mức này giữa năm bảy mươi. Công nghệ lúc này đã điều khiển các hệ
thống để mở rộng khả năng và tính linh hoạt. Xe không chỉ còn được dùng để kéo rơ
moóc trong kho, mà còn được sử dụng trong quá trình sản xuất, làm việc, và các hệ
thống lắp ráp ô tô.
Qua nhiều năm, khi công nghệ trở nên tinh vi hơn, thì ngày nay các xe chủ yếu
được định vị bởi hệ thống Lazer LGV (Lazer Guided Vehicle). Trong quá trình tự
hành, LGV được lập trình để giao tiếp với các robot khác nhằm đảm bảo sản phẩm
được chuyển qua các trạm, kho nơi mà sau đó chúng được giữ lại hoặc chuyển đến
một vị trí khác. Ngày nay, LGV đóng vai trò quan trọng trong thiết kế các nhà máy và
nhà kho, đưa hàng hóa đến đúng địa điểm một cách an toàn.
Xe kéo xuất hiện đầu tiên và bay giờ vẫn còn thịnh hành. Loại này có thể kéo
được nhiều loại toa hàng khác nhau và chở được từ 8000 đến 60000 pounds.
- Có thể dự đoán và lên kế hoạch về tính hiệu quả của việc chuyên chở cũng
như đảm bảo an toàn.
Xe chở được trang bị các tầng khay chứa có thể là các nâng, hạ chuyền động
bằng băng tải ,đai hoăc xích. Loại này có ưu điểm:
Xe đẩy được cho là có tính linh hoạt cao và rẻ tiền. Chúng được sử dụng để
chuyên chở vật liệu và các hệ thống lắp ráp.
Có khả năng nâng các tải trọng đặt trên sàn hoặc trên các bục cao hay các khối
hàng đặt trên giá.
Có thể di chuyển đến các vị trí bất kỳ trong không gian hoạt động. Đây là loại
xe AGV có tính linh hoạt cao được định vị vị trí nhờ các cảm biến con quay hồi
chuyển (Gyroscop sensor) để xác định hướng di chuyển, cảm biến laser để xác định vị
trí các vật thể xung quanh trong quá trình di chuyển, hệ thống định vị cục bộ (Local
navigation Location) để xác định tọa độ tức thời,… Việc thiết kế loại xe này đòi hỏi
công nghệ cao và phức tạp hơn so với các loại xe khác.
Xe AGV thuộc loại này được thiết kế chạy theo các đường dẫn định sẵn gồm
các loại đường dẫn như sau:
- Đường dẫn từ: Là loại đường dẫn có cấu tạo là dây từ (Magnetic wire) chôn
ngầm dưới nền sàn. Khi di chuyển, nhờ có các cảm biến cảm ứng từ mà xe có thể di
chuyển theo đường dây dẫn. Loại đường dẫn này không nằm bên trên mặt sàn nên có
mỹ quan tốt, không ảnh hưởng đến các công việc vận hành khác. Tuy nhiên khi sử
dụng phải tiêu tốn năng lượng cho việc tạo từ tính trong dây, đồng thời đường dẫn là
cố định và không thể thay đổi được.
- Đường ray dẫn: Xe tự hành được chạy trên các ray định trước trên mặt sàn.
Loại này chỉ sử dụng đối với những hệ thống chuyên dụng. Nó cho phép thiết kế xe
đơn giản hơn và có thể di chuyển với tốc độ cao nhưng tính linh hoạt thấp.
- Đường băng kẻ trên sàn: Xe AGV di chuyển theo các đường băng kẻ sẵn trên
sàn nhờ các loại cảm biến nhận dạng vạch kẻ. Loại này có tính linh hoạt cao vì trong
quá trình sử dụng người ta có thể thay đổi đường đi một cách dễ dàng nhờ kẻ lại các
vạch dẫn. Tuy nhiên khi sử dụng, các vạch dẫn có thể bị bẩn hay hư hại gây khó khăn
cho việc điều khiển chính xác xe.
- Điều hướng bằng Laser: LGV (Laser Guided Vehicle), đây là một trong
những hệ thống điều hướng phổ biến nhất, nó được dùng cho các phương tiện dẫn
đường bằng laser. Công nghệ điều hướng laser guided được sử dụng rộng rãi trong xe
nâng tự động, được sử dụng trong các ứng dụng nhà kho. Công nghệ điều hướng laser
guided điều khiển một hệ thống robot đến vị trí mục tiêu bằng laser. Nó được thực
hiện bằng cách chiếu ánh sáng laser, xử lý hình ảnh giao tiếp để cải thiện độ chính xác
của sự điều hướng. Điều hướng laser bao gồm các lĩnh vực robot, thị giác máy tính,
giao diện người dùng, trò chơi video, giao tiếp và công nghệ nhà thông minh.
+Ưu điểm: dễ dàng cài đặt, định vị chính xác, không tốn chi phí bảo trì cài đặt.
+Nhược điểm: LGV có giá tương đối cao, dễ sửa đổi chương trình theo dõi
AGV nhưng chỉ có các kỹ sư của nhà cung cấp mới có thể thực hiện.
- Điều hướng GPS, RTLS: các vệ tinh, beacon được dùng để xác định vị trí
AGV (thích nghi với môi trường ngoài trời, độ chính xác thấp và không thể sử dụng
bên trong).
- Các bộ phận dẫn động và điều khiển: Động cơ, mạch điều khiển, cảm biến…
- Khay chứa tải: Được thiết kế tùy theo loại xe và yêu cầu sử dụng.
- Các hệ thống định vị và truyền thông: Cảm biến quét thẻ từ, cảm biến siêu
âm…
1.4.1 Nhiệm vụ
Xe tự hành trong đề tài nghiên cứu là xe chở, vận chuyển hàng hóa trong công
nghiệp . Đặc biệt hướng tới các hàng hóa trong ngành công nghiệp thương mại, có
kích thước vài tải trọng đòi hỏi thay đổi liên tục. Trong khuôn khổ của một đồ án với
kinh phí và khả năng hạn hẹp, nên để đề tài có tính khả thi cao, nhóm chúng em đã đề
ra các nhiệm vụ trong việc thiết kế và chế tạo xe tự hành như sau:
Chế tạo kết cấu kết cấu cơ khí cho xe là loại xe chở hàng hóa có kích thước
khác nhau và đa dạng về hình dáng với tải trọng tối đa là 3kg (bao gồm tải trọng của
xe). Đảm bảo được được độ vững chắc của xe và hàng hóa trong quá trình di chuyển,
tạo sự ổn định và thuận lợi cho phần điều khiển.
Thiết kế được mạch điện tử cho xe hoạt động ổn định, có nhiều cổng vào ra,
thực hiện các chức năng như: điều khiển các động cơ của xe, kết nối với cảm biến, …
Lập trình điều khiển cho xe di chuyển đến đúng vị trí và thực hiện đúng thao
tác yêu với tốc độ ổn định 30m/phút. Sai lệch dừng lớn nhất là 10mm và sai lệch góc
nhỏ hơn 3 độ. Thiết kế cho hệ thống AGV có khả năng phát hiện được vật cản trong
quá trình di chuyển đồng thời đưa ra cảnh báo và định hướng di chuyển.
Tìm hiểu và thiết kế cơ khí cho xe. Sử dụng năng lượng là nguồn điện một
chiều.
Tìm kiếm tài liệu về xe tự hành thông qua nhiều nguồn khác nhau như: tài liệu
trên mạng internet, các bài giảng của các thầy cô giáo trong trường cũng như giáo
trình của một số trường đại học khác, các đồ án hoặc công trình nghiên cứu về
AGV…
Khảo sát các mô hình thực tế đang có trên thị trường như trong các siêu thị,
trong các nhà máy sản xuất ở trong và ngoài nước…
Chế tạo mô hình xe tự hành AGV hoạt động dựa theo sản phẩm thực tế.
Tiếp theo là lập trình điều khiển cho xe dựa vào những phần mềm có sẵn, nhằm
đáp ứng được với các mục tiêu được đề ra. Trong quá trình vận hành nếu xảy ra sai sót
thì tiến hành sửa chữa, điều chỉnh sao cho hệ thống xe hoạt động chính xác, ổn định.
Cuối cùng đưa ra đánh giá nhận xét và đề xuất hướng phát triển của đề tài.
Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tác
với nhau hoặc với môi trường được thuận lợi hơn. Phần cứng bao gồm một board
mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8 bit, hoặc ARM
Atmel 32 bit. Những Model hiện đại được trang bị gồm 1 cổng giao tiếp USB, 6 chân
đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều Board mở rộng khác
nhau.
Được giới thiệu vào năm 2005, những nhà thiết kế của Arduino cố gắng mang đến
một phương thức dễ dàng, không tốn kém cho những người yêu thích, sinh viên và giới
chuyên nghiệp để tạo ra những thiết bị có khả năng tương tác với môi trường thông qua các
cảm biến và các cơ cấu chấp hành. Những ví dụ phổ biến cho những người yêu thích mới bắt
đầu bao gồm các robot đơn giản, điều khiển nhiệt độ và phát hiện chuyển động. Đi cùng với
nó là một môi trường phát triển tích hợp (IDE) chạy trên các máy tính cá nhân thông thường
và cho phép người dung viết các chương trình cho Arduino bằng ngôn ngữ C hoặc C++.
Arduino cơ bản là một nền tảng tạo mẫu mở về điện tử (open-source electronics
prototyping platform) được tạo thành từ phần cứng lẫn phần mềm. Về mặt kỹ thuật có thể coi
Arduino là một bộ điều khiển logic có thể lập trình được. Đơn giản hơn, Arduino là một thiết
bị có thể tương tác với ngoại cảnh thông qua các cảm biến và hành vi được lập trình sẵn. Với
thiết bị này, việc lắp ráp và điều khiển các thiết bị điện tử sẽ dễ dàng hơn bao giờ hết. Một
điều không hề dễ dàng cho những ai đam mê công nghệ và điều khiển học là những người
ngoại đạo và không có nhiều thời gian để tìm hiểu sâu hơn về kỹ thuật và cơ điện tử.
Hiện tại có rất nhiều loại vi điều khiển và đa số được lập trình bằng ngôn ngữ C/C++
hoặc Assembly nên rất khó khăn cho những người có ít kiến thức chuyên sâu về điện tử và
lập trình. Nó là trở ngại cho mọi người muốn tạo riêng cho mình một món đồ mang tính
công nghệ. Do đó đó là lý do Arduino được phát triển nhằm đơn giản hóa việc thiết kế, lắp
ráp linh kiện điện tử cũng như lập trình trên vi xử lý và mọi người có thể tiếp cận dễ dàng
hơn với thiết bị điện tử mà không cần nhiều về kiến thức điện tử và thời gian. Sau đây là
những 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 Arduino có thể thực hiện trên các hệ
điều hành khác nhau như Window, Mac Os, Linux trên Desktop, 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ên Arduino được chia sẻ dễ dàng và tích hợp vào các nền tảng khác
nhau.
- 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 cũng dễ làm hơn.
- Đơn giản và nhanh: Rất dễ 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à mình đang dùng.
Arduino có rất nhiều module, mỗi module được phát triển cho một ứng dụng.
Về mặt chức năng, các bo mạch Arduino được chia thành hai loại: loại bo mạch chính
có chip Atmega và loại mở rộng thêm chức năng cho bo mạch chính. Các bo mạch
chính về cơ bản là giống nhau về chức năng, tuy nhiên về mặt cấu hình như số lượng
I/O, dung lượng bộ nhớ, hay kích thước có sự khác nhau. Một số bo có trang bị thêm
các tính năng như Ethenet và Bluetooth. Các bo mở rộng chủ yếu mở rộng thêm một
số tính năng cho bo mạch chính. Ví dụ như tính năng kết nối Internet, Wireless, điều
khiển động cơ.
Arduino được chọn làm bộ não xử lý của rất nhiều thiết bị từ đơn giản đến
phức tạp. Trong đó có một vài ứng dụng thực sự chứng tỏ khả năng vượt trội của
Arduino do chúng có khả năng thực hiện nhiều nhiệm vụ rất phức tạp. Sau đây là danh
sách một số ứng dụng nổi bật của arduino như trong công nghệ in 3D, robot dò đường
theo hướng có nguồn nhiệt, tạo một thiết bị nhấp nháy theo âm thanh và đèn laser hay
thiết bị cảnh báo có người vào nhà… Arduino đã và đang được sử dụng rộng rãi trên
thế giới, và ngàng càng chứng minh được sức mạnh của chúng thông qua vô số ứng
dụng độc đáo của người dùng trong cộng đồng nguồn mở (open-source). Tuy nhiên tại
Việt Nam Arduino vẫn còn chưa được biết đến nhiều.
Arduino là một board mạch vi điều khiển dựa trên chip Atmega 328. Nó có 14
chân ra vào bằng tín hiệu số, trong đó có 6 chân có thể sử dụng để điều chỉnh độ rộng
xung. Có 6 chân đầu vào tín hiệu tương tự cho phép chúng ta kết nối với các bộ cảm
biến bên ngoài để thu thập dữ liệu, sử dụng một giao động thạch anh tần số giao động
16Mhz, có một cổng kết nối bằng chuẩn USB để chúng ta nạp chương trình vào bo
mạch và một chân cấp nguồn cho mạch, một ICSP header, một nút reset. Nó chứa tất
cả mọi thứ cần thiết để dược hỗ trợ các vi điều khiển, nguồn cung cấp cho Arduino có
thể là từ máy tính thông qua cổng USB hoặc là từ bộ nguồn chuyên dụng được biến
đổi từ xoay chiều sang một chiều hoặc là nguồn lấy từ pin.
Arduino có thể được mỗ trợ thông qua kết nối USB hoặc với một nguồn cung
cấp điện bên ngoài. Các nguồn năng lượng được lựa chọn tự động. Hệ thống vi điều
khiển có thể hoạt động bằng một nguồn cung cấp bên ngoài từ 6V đến 20V. Tuy nhiên
nếu cung cấp với ít hơn 7V, chân 5V có thể cung cấp ít hơn 5V và hệ thống vi điều
khiển có thể không ổn định. Nếu cấp nhiều hơn 12V, bộ điều chỉnh điện áp có thể quá
nóng và gây nguy hiểm cho bo mạch. Phạm vi khuyến nghị là 7-12V.
- GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. 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ới nhau.
- 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.
- 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Ω.
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ùng cho 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ải bậ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.
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có
2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi chân
đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc
định thì các điện trở này không được kết nối).
Một số chân digital có các chức năng đặc biệt như sau:
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 có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp
I2C/TWI với các thiết bị khác.
Arduino Mega 2560 là một bo mạch vi điều khiển được xây dựng dựa trên chip
Atmega 2560. Nó có 54 chân vào/ra số (trong đó có 15 chân có thể sử dụng để điều
chế độ rộng xung), có 16 chân đầu vào tín hiệu tương tự, sử dụng một dao động thạch
anh tần số dao động 16MHz, có một cổng kết nối USB, chân nguồn, một ICSP header,
một nút reset. Nó chứa tất cả mọi thứ cần thiết để hỗ trợ các vi điều khiển, nguồn cung
cấp cho Arduino có thể là từ máy tính thông qua cổng USB hoặc là từ bộ nguồn
chuyên dụng được biến đổi từ xoay chiều sang một chiều hoặc là nguồn lấy từ pin.
Arduino Mega tương thích với hầu hết các shield thiết kế cho Arduino Duemilanove
hay Diecimila.
Arduino Mega 2560 khác so với các bo mạch trước đó ở chỗ nó không sử
dụng chip điều khiển FTDI USB-to-serial. Thay vào đó, các tính năng của
Atmega16U2 (ATmega8U2 trong phiên bản 1 và phiên bản 2 bảng) được lập trình
như một bộ chuyển đổi USB-to-serial).
Số chân I/O số 54
SRAM 8 KB
USART 4
Arduino Mega 2560 cũng được tích hợp các tính năng bổ sung như bộ so sánh,
ngắt, chế độ tiết kiệm điện, cảm biến nhiệt độ, RTC và nhiều tính năng khác.
Chân nguồn:
N ồn V Đối với nguồn cung cấp thiết bị phần cứng bên ngoài
RESET: Arduino Mega Mega 2560 có sẵn mạch reset với nút ấn để thiết lập lại
hệ thống và chân này có thể được sử dụng khi kết nối các thiết bị khác để thiết lập lại
bộ điều khiển.
XTAL1, XTAL2: Thạch anh(16Mh ) được kết nối với xung clock cung cấp cho bộ
điều khiển.
ARE : Chân này được dùng khi sử dụng ADC để chuyển đổi tín hiệu với điện áp
tham chiếu bên ngoài mà không muốn sử dụng điện áp tham chiếu nội bộ 1.1V hoặc 5V.
Các chân Di it ( ):
Chân số: Từ 0-53 (số) và 0-15 (tương tự) có thể được sử dụng làm đầu vào
hoặc đầu ra cho thiết bị được thiết lập bằng các hàm Mode (), digtalWrite (),
digitalRead ().
- Ứng dụng:
Thiết bị đầu ra: Relay, LED, buzzer, LCD và các thiết bị khác.
Thiết bị đầu vào: Nút ấn, cảm biến siêu âm, cần điều khiển và các thiết bị khác
Thí dụ:
digitalRead (0);
Chân t ơn tự (16):
Từ 0-15 (analog) có thể được sử dụng như chân đầu vào tương tự cho bộ ADC,
nếu không sử dụng nó hoạt động như chân digital bình thường. Nó được thiết lập bởi
các hàm pinMode () khai báo chân, analogRead () để đọc trạng thái chân và nhận giá
trị kỹ thuật số cho tín hiệu analog. Lưu ý phải cẩn thận để lựa chọn điện áp tham chiếu
bên trong hoặc bên ngoài và chân Aref.
- Ứng dụng :
Thiết bị đầu vào: Cảm biến nhiệt độ, cảm biến (như ldr, irled và độ ẩm) và các
thiết bị khác
Thí dụ :
analogRead (0);
Các chân này được sử dụng cho giao tiếp nối tiếp với giao thức SPI để liên lạc
giữa 2 thiết bị trở lên. SPI cho phép bit phải được thiết lập để bắt đầu giao tiếp với các
thiết bị khác.
Ứng dụng: Lập trình điều khiển AVR, giao tiếp với những người khác ngoại vi
như LCD và thẻ SD.
Chân I2C:
Chân 20 cho SDA và 21 cho SCK (Tốc độ 400kh ) để cho phép liên lạc hai
dây với các thiết bị khác. Hàm được sử dụng là wire.begin () để bắt đầu chuyển đổi
I2C, với wire.Read () để đọc dữ liệu i2c và wire.Write () để ghi dữ liệu i2c.
- Ứng dụng:
Thiết bị đầu ra: LCD và liên lạc giữa nhiều thiết bị với hai dây.
Thí dụ:
Wire.begin ();
Wire.Read ();
PWM chân :
Chân 2-13 có thể được sử dụng như đầu ra PWM với hàm analogWrite () để
ghi giá trị pwm từ 0-255.
- Ứng dụng:
Thiết bị đầu ra: Điều khiển tốc độ của động cơ, ánh sáng mờ, pid cho hệ thống
điều khiển hiệu quả.
Thí dụ:
analogWrite (0,255);
Chân UART:
Chân này được sử dụng cho giao tiếp nối tiếp giữa bo mạch với máy tính hoặc
hệ thống khác để chia sẻ và ghi dữ liệu. Nó được sử dụng với hàm serialBegin () để
cài đặt tốc độ truyền và bắt đầu truyền thông với serial.Println () để in mảng ký tự
(mảng char) ra thiết bị khác.
- Ứng dụng:
Ví dụ :
Serial.begin (9600);
Serial.Println (“hello”);
Chân ngắt :
Chân này được sử dụng để ngắt. Để kích hoạt chân ngắt phải cài đặt bật ngắt
toàn cục.
- Ứng dụng :
Bộ mã hóa vòng quay, nút bấm dựa trên ngắt và các nút khác.
Thí dụ :
Chân 18 - 21,2,3 ngắt phần cứng được sử dụng cho các ứng dụng ngắt. Ngắt
phần cứng phải được bật với tính năng ngắt toàn cục để ngắt quãng từ các thiết bị
khác.
- Ứng dụng:
Nhấn nút cho chương trình ISR, đánh thức bộ điều khiển bằng thiết bị bên
ngoài như cảm biến siêu âm và các thiết bị khác.
Thí dụ:
Cấp nguồn cho Arduino Mega từ 7-12V qua cổng này. Arduino Mega R3 có bộ
điều chỉnh điện áp nguồn cấp 5V và 3.3V cho bộ điều khiển Arduino và bộ cảm biến.
- AVR 2560:
Đây là vi điều khiển chính được sử dụng để lập trình và chạy tác vụ cho hệ
thống. Đây là bộ não của hệ thống để điều khiển tất cả các thiết bị khác trên mạch.
- ATmega8:
Vi điều khiển này được sử dụng để liên lạc giữa bộ điều khiển chính và các
thiết bị khác. Bộ điều khiển này được lập trình cho giao tiếp USB và các tính năng lập
trình nối tiếp.
Nó có các tính năng của lập trình sử dụng bus nối tiếp với lập trình AVR sử
dụng giao tiếp SPI. AVR 2560 được lập trình để chạy hệ thống và ATmega 8 được lập
trình để liên lạc và lập trình nối tiếp.
/ *Bật đèn LED trong hai giây, sau đó tắt trong hai giây trên chân 13, nhiều lần.
*// chức năng cài đặt chạy một lần khi bạn nhấn đặt lại hoặc bật bảng
void setup () {
void loop () {
digitalWrite (13, CAO); // bật đèn LED (HIGH là mức điện áp)
void setup ()
Void loop ()
delay (10)
Void setup ()
Serial.begin (9600); // chức năng bắt đầu giao tiếp usart với baudrate được đặt
thành 9600
Void loop ()
Serial.println (sensorValue); // usart để đầu ra giá trị cảm biến trên màn hình
nối tiếp
Mạch cầu H là một mạch đơn giản dùng để điều khiển động cơ DC quay thuận
hoặc quay nghịch. Trong thực tế, có nhiều kiểu mạch cầu H khác nhau tùy vào cách
chúng ta lựa chọn linh kiện có dòng điện, áp điều khiển lớn hay nhỏ, tần số xung
PWM… Và chúng sẽ quyết định đến khả năng điều khiển của cầu H.
Động cơ DC đảo chiều quay khi thay đổi chiều dòng điện chạy vào động cơ.
Do đó ta hoàn toàn có thể đổi chiều cấp điện cho động cơ để làm thay đổi chiều quay.
(Hình 2.9) là sơ đồ mạch cầu H đơn thuần sử dụng 4 công tắc nguồn. Các công tắc
nguồn hoàn toàn có thể sửa chữa thay thế bằng relay hoặc những khóa bán dẫn công
suất.
- Khi đóng đồng thời công tắc nguồn S1 và S4 thì dòng điện sẽ chạy từ nguồn
VCC qua S1, động cơ, S4 và về MASS. Động cơ sẽ quay theo chiều thuận.
- Khi đóng hai công tắc nguồn S3, S2 thì dòng điện đi theo chiều ngược lại từ S3
qua động cơ qua S2 và về MASS. Động cơ lúc này sẽ quay theo chiều ngược
lại.
* Cần chú ý quan tâm trình tự đóng mở những công tắc nguồn để tránh bị ngắn
mạch.
S1 S2 S3 S4 Động cơ
0 0 0 0 Không quay
1 0 0 1 Quay thuận
0 1 1 0 Quay nghịch
1 1 X X Ngắn mạch
X X 1 1 Ngắn mạch
4 "công tắc" này thường là Transistor BJT, MOSFET hay relay. Tùy vào yêu
cầu điều khiển khác nhau mà người ta lựa chọn các loại "công tắc" khác nhau.
Thông số kỹ thuật
Thông số kỹ thuật:
2.4 Bộ nguồn
Với đề tài này, nhóm đồ án sử dụng 4 viên pin 18650 mắc nối tiếp với nhau để
cấp nguồn cho mô hình hoạt động.
Thông số kỹ thuật
- Sử dụng sạc: 16.8V (4.2V * 4 cell)
- Điện thế xả cạn của mạch: 14.4V
- Điện thế sạc đầy của mạch: 16.8V
- Dòng xả liên tục (hoạt động): 40A
- Dòng xả quá tải (tức thời): 90A
- Sạc và xả chung 1 cổng
- Có chế độ cân bằng cell pin
Pin 18650
Thông số kỹ thuật
- Điện áp 3.6V, sạc đầy 4.2V
- Dòng xả liên tục: 10A
- Nội trở: 14-18Ω
- Dung lượng pin: 2500-2600mAh
Hình 2. 15 Nguyên lý hoạt động của mắt thu phát hồng ngoại
Chúng ta có thể thấy rằng mắt phát hồng ngoại truyền trong một phạm vi giới
hạn và nó đi đến một khoảng cách nhất định vì không có đối tượng phản xạ lại nên
mắt thu hồng ngoại không thể phát hiện vật cản, ngược lại khi gặp vật cản cản ánh
sáng hồng ngoại được phản chiếu lại khi đó mắt thu sẽ phát hiện được vật cản và xuất
tín hiệu ra
Hình 2. 16 Ảnh hưởng của đối tượng tới việc phát hiện của cảm biến
Ngoài ra độ nhạy của cảm biến còn phụ thuộc vào về mặt vật cản gặp phải, ví
dụ như các vật có xu hướng màu trắng có khả năng phản xạ ánh sáng hồng ngoại
mạnh hơn các vật cản có màu tối, các vật cản màu tối hấp thụ ánh sáng hồng ngoại
nhiều hơn và phản xạ lại ít hơn số lượng không đủ để mắt thu có thể phát hiện.
Sử dụng nguyên lý này người ta có thể chế tạo xe chạy theo vạch trắng hoặc
vạch đen gọi là xe dò line
Led phát hồng ngoại ( IR LED ) luôn luôn phát ra sóng ánh sáng có bước sóng
hồng ngoại mắt người không thể nhìn thấy ánh sáng này, vì vậy người ta sử dụng led
thu hồng ngoại, led thu hồng ngoại bình thường nó có nội trở rất lớn ( vài trăm KΩ ),
khi led thu được tia hồng ngoại chiếu vào đủ lớn thì nội trở của nó giảm xuống (cỡ vài
chục Ω).
Khi gặp vật cản, những chùm tia hồng ngoại gặp vật cản và phản xạ lại led thu
làm led thu thay đổi giá trị điện trở. Ở đây chúng ta thấy cầu chia áp ở điện trở R2 và
mắt thu hồng ngoại, sự thay đổi điện trở của mắt thu hồng ngoại dẫn đến điện áp đầu
vào chân 3 Op-Amp cũng thay đổi.
Khi đó, điện áp đầu vào chân 3 Op-Amp được so sánh với giá trị điện áp không
đổi gim trên biến trở R3, nếu điện áp chân 3 Op-Amp lớn hơn điện áp chân 2 Op-Amp
thì Op-Amp xuất mức 1 ( bằng VCC) . Ngược lại nếu điện áp chân 3 Op-Amp nhỏ
hơn điện áp chân 2 Op-Amp thì Op-Amp xuất mức 0 ( bằng GND)
Điện trở như R1 (150 Ω), R2 (10K Ω ), R4 (1 KΩ ) giúp các led hoạt động mà
không bị cháy
Thông số kỹ thuật.
- Điện áp cung cấp cho mạch: 3.3V-5V.
- Bộ so sánh dùng Op Amp LM358 hoặc LM393.
- Khoảng cách đo: 2~5cm.
- Đầu ra kỹ thuật số mức ( 1 và 0 ).
Thông số kỹ thuật
- Sử dụng chip: 74HC14D
- Điện áp: 3.3V-5V
- Kiểu đầu ra: Digital Signal
- Khoảng cách đo: 1CM-1.5CM
- Cảm biến: TCRT5000L
- Tín hiệu nhận biết: Gặp màu trắng: đầu ra mức cao, Gặp màu đen hoặc
ngoải dải nhận biết tín hiệu mức thấp
Thẻ R ID thường được gắn vật lên vật thể, nó chứa một anten để thu phát sóng
radio và một chip chứa thông tin cần được nhận dạng. Đầu đọc RFID sử dụng sóng
radio để truyền đi và nhận lại thông tin từ thẻ RFID. Khi thẻ R ID được đặt trong
phạm vi hoạt động của đầu đọc RFID, thông tin từ thẻ sẽ được truyền đến đầu đọc
R ID để xử lý và xác định thông tin nhận dạng.
Module RFID RC522 là một module sử dụng công nghệ R ID để đọc và ghi
thông tin từ các thẻ R ID. Nó được sử dụng phổ biến trong các dự án Arduino và các
ứng dụng liên quan đến nhận dạng và theo dõi.
Module RFID Arduino bao gồm một chip đọc RFID MFRC522 và các thành
phần khác như anten và các linh kiện điện tử. Chip MFRC522 có khả năng đọc và ghi
dữ liệu từ các thẻ RFID tiêu chuẩn, bao gồm các loại thẻ MIFARE và các loại thẻ
tương thích.
Module RFID RC522 kết nối với Arduino thông qua giao tiếp SPI (Serial
Peripheral Interface) hoặc I2C và UART.
Để sử dụng module RFID RC522, cần có thư viện hỗ trợ cho Arduino như thư
viện MFRC522, giúp dễ dàng giao tiếp và điều khiển module. Thông qua thư viện
này, bạn có thể đọc thông tin từ thẻ RFID, xác minh chúng và thực hiện các hoạt động
như đọc mã số, ghi dữ liệu, kiểm tra trạng thái và điều khiển anten.
Thông số kỹ thuật
- Nguồn sử dụng: 3.3VDC
- Dòng điện:13~26mA
- Tần số hoạt động: 13.56Mhz
- Khoảng cách hoạt động: 0~60mm (mifare1 card)
- Chuẩn giao tiếp: SPI
- Tốc độ truyền dữ liệu: tối đa 10Mbit/s
- Các loại card RFID hỗ trợ: mifare1 S50, mifare1 S70, mifare UltraLight,
mifare Pro, mifare Desfire
- Kích thước: 40mm × 60mm
SDA (Serial Data): Dùng để truyền và nhận dữ liệu giữa module RFID RC522
Arduino.
SCK (Serial Clock): Dùng để đồng bộ hóa truyền thông SPI giữa module
RFID RC522 và Arduino.
MOSI (Master Output Slave Input): Dùng để truyền dữ liệu từ Arduino tới
module RFID RC522.
MISO (Master Input Slave Output): Chân đầu vào của Arduino nối với chân
MISO trên module R ID RC522. Dùng để nhận dữ liệu từ module RFID
RC522 về Arduino qua giao thức SPI.
IRQ (Interrupt Request): Chân ngắt không được sử dụng trong một số ứng
dụng của module RFID RC522. Nếu sử dụng, chân này được sử dụng để xác
định xem module RFID RC522 có sự kiện cần xử lý hay không.
GND (Ground): Chân đất kết nối với chân GND trên Arduino.
RST (Reset): Chân đặt lại (reset) module R ID RC522. Khi chân này được
kích hoạt, module sẽ được đặt lại về trạng thái ban đầu.
2.7 ESP8266
ESP8266 là một module Wi-Fi với khả năng kết nối Internet và được tích hợp
sẵn trên một số board nhúng như NodeMCU, Wemos, và ESP-01. ESP8266 có thể
hoạt động như một điểm truy cập (access point), một client kết nối đến một điểm truy
cập khác, hoặc cả hai đều được. Nó được sử dụng rộng rãi trong các ứng dụng IoT
(Internet of Things) như cảm biến thông minh, hệ thống kiểm soát thiết bị, hoặc các
ứng dụng điều khiển từ xa. Module này có giá thành rẻ và rất dễ sử dụng, cùng với đó
là khả năng tương thích với nhiều loại vi điều khiển khác nhau.
ESP8266 NodeMCU là một nền tảng IoT mã nguồn mở, được phát triển bởi
một nhóm kỹ sư tại Trung Quốc. Nền tảng này được xây dựng trên ESP8266, một vi
điều khiển Wi- i SoC (System on a Chip) được sản xuất bởi Espressif Systems.
NodeMCU cung cấp một bộ SDK để lập trình cho ESP8266 bằng ngôn ngữ Lua hoặc
C++. Với các tính năng như Wi-Fi, GPIO, ADC, I2C, SPI, PWM và một số tính năng
khác, NodeMCU ESP 8266 được sử dụng rộng rãi trong các ứng dụng IoT như kiểm
soát thiết bị, thu thập dữ liệu và giao tiếp với các thiết bị khác.
Microcontroller: ESP8266EX
RAM: 80KB
Đây là một phần mềm Arduino chính thức, giúp cho việc biên dịch mã trở nên
dễ dàng mà ngay cả một người bình thường không có kiến thức kỹ thuật cũng có thể
làm được.
Nó có các phiên bản cho các hệ điều hành như MAC, Windows, Linux và chạy
trên nền tảng Java đi kèm với các chức năng và lệnh có sẵn đóng vai trò quan trọng để
gỡ lỗi, chỉnh sửa và biên dịch mã trong môi trường.
Có rất nhiều các module Arduino như Arduino Uno, Arduino Mega, Arduino
Leonardo, Arduino Micro và nhiều module khác.
Mỗi module chứa một bộ vi điều khiển trên bo mạch được lập trình và chấp
nhận thông tin dưới dạng mã.
Mã chính, còn được gọi là sketch, được tạo trên nền tảng IDE sẽ tạo ra một file
Hex, sau đó được chuyển và tải lên trong bộ điều khiển trên bo.
Môi trường IDE chủ yếu chứa hai phần cơ bản: Trình chỉnh sửa và Trình biên
dịch, phần đầu sử dụng để viết mã được yêu cầu và phần sau được sử dụng để biên
dịch và tải mã lên module Arduino.
Nếu bạn muốn tải xuống phiên bản ứng dụng Windows, bạn phải có Windows
8.1 hoặc Windows 10, vì phiên bản ứng dụng không tương thích với Windows 7 hoặc
phiên bản cũ hơn của hệ điều hành này.
1. Window bar
2. Menu bar
3. Phím tắt
4. Text Editor
5. Output Panel
Window bar
Thanh cửa sổ bao gồm tên của File và phiên bản phần mềm Arduino IDE
Menu bar
File
Edit
Sketch
Tools
Help
File
Edit
Undo / Redo: quay lại một hoặc nhiều bước bạn đã làm trong khi chỉnh sửa.
Cut: cắt văn bản đã chọn khỏi trình chỉnh sửa.
Copy: sao chép văn bản đã chọn từ trình chỉnh sửa
Copy for orum: sao chép và thay đổi kiểu mã phù hợp với diễn đàn.
Copy as HTML: sao chép và thay đổi kiểu mã phù hợp với HTML.
Paste: dán văn bản từ văn bản đã sao chép.
Select All: chọn tất cả nội dung từ trình chỉnh sửa.
Comment / Uncomment: sử dụng để ghi chú và bỏ ghi chú các dòng mã đã chọn.
Increase / Decrease Indent: thêm hoặc xóa một khoảng trắng ở đầu mỗi dòng đã chọn
ind: tìm văn bản đã nhập trong trình chỉnh sửa
ind next: tìm vị trí tiếp theo của từ đang tìm kiếm.
Find previous: tìm vị trí trước đó của từ đang tìm kiếm.
Sketch
Verify / Compile: kiểm tra hoặc xác minh chương trình của bạn nếu có bất kỳ lỗi nào
và hiển thị trong bảng đầu ra.
Upload: biên dịch và tải mã lên bo Arduino.
Upload using programmer: tải mã lên bằng Programmer có sẵn trong tab Tools.
Export Compiled Binary: lưu file .hex trong hệ thống
Show Sketch older: mở thư mục sketch hiện tại.
Include Library: thêm thư viện vào sketch của bạn bằng cách chèn các câu lệnh
#include vào đầu mã
Add ile… : thêm một file vào sketch và file mới xuất hiện trong tab mới trong cửa
sổ.
Tools
Auto ormat: định dạng mã của bạn thành một định dạng đẹp để mọi người có thể
hiểu.
Archive Sketch: sao chép mã sang định dạng winrar (. ip)
ix Encoding & Reload: khắc phục sự khác biệt có thể có giữa mã hóa bản đồ char
của trình soạn thảo và các bản đồ char của hệ điều hành khác.
Serial Monitor: màn hình nối tiếp hiển thị giao tiếp trực quan bằng cách gửi và nhận
dữ liệu
Board: để chọn loại bo Arduino
Port: để chọn cổng mà bạn đã kết nối Arduino
Programmer: để chọn một programmer phần cứng khi lập trình bo mạch hoặc chip và
không sử dụng kiểu giao tiếp USB.
Burn Bootloader: được sử dụng để ghi bộ nạp khởi động vào bo Arduino
Output panel
Nếu mã được biên dịch thành công hoặc bất kỳ lỗi nào xảy ra.
Nếu mã đã được tải lên bo thành công.
Thư viện
Các thư viện rất hữu ích để thêm chức năng bổ sung vào module Arduino. Có một
danh sách các thư viện bạn có thể thêm bằng cách nhấp vào nút Sketch trong thanh
menu và đi tới Include Library.
Khi bạn nhấp vào Include Library và Thêm thư viện tương ứng, nó sẽ xuất hiện trên
đầu sketch với ký hiệu #include. Giả sử, bạn thêm thư viện EEPROM, nó sẽ xuất hiện
trên trình soạn thảo văn bản dưới dạng
#include .
Hầu hết các thư viện đều được cài đặt sẵn và đi kèm với phần mềm Arduino. Tuy
nhiên, bạn cũng có thể tải xuống từ các nguồn bên ngoài.
Cách chọn bo
Để tải sketch lên, bạn cần chọn bo mạch phù hợp mà bạn đang sử dụng và các cổng
cho hệ điều hành đó. Bạn nhấp vào Tool trên Menu, đi tới phần Board và chọn bo bạn
muốn làm việc. Tương tự, COM1, COM2, COM4, COM5, COM7 hoặc cao hơn được
dành riêng cho bo Serial và bo USB. Bạn có thể tìm thiết bị serial USB trong phần
cổng của Windows Device Manager.
Sau khi lựa chọn chính xác cả Bo mạch và Cổng Serial, hãy nhấp vào nút Verify và
sau đó là nút Upload xuất hiện ở góc trên bên trái của phần sáu nút hoặc bạn có thể
chuyển đến phần Sketch và nhấn verify / compile rồi tải lên.
Sketch được viết trong trình soạn thảo văn bản và sau đó được lưu với phần mở rộng
tệp .ino.
Điều quan trọng cần lưu ý là các module Arduino gần đây sẽ tự động đặt lại khi bạn
biên dịch và nhấn nút tải lên phần mềm IDE. Tuy nhiên các phiên bản cũ có thể yêu
cầu thiết lập lại vật lý trên bo mạch.
Sau khi bạn tải mã lên, đèn LED TX và RX sẽ nhấp nháy trên bo, cho biết chương
trình mong muốn đang chạy thành công.
Lưu ý: Các tiêu chí lựa chọn cổng được đề cập ở trên chỉ dành riêng cho hệ điều hành
Windows.
Điều đáng ngạc nhiên về phần mềm này là không quá phức tạp khi cài đặt phần mềm,
và bạn có thể viết chương trình đầu tiên của mình trong vòng 2 phút sau khi cài đặt
môi trường IDE.
Bootloader
Khi bạn đi đến phần Tool, bạn sẽ tìm thấy Bootloader ở cuối. Việc ghi mã trực tiếp
vào bộ điều khiển sẽ rất hữu ích, bạn không cần phải mua ổ ghi bên ngoài để ghi mã.
Khi bạn mua module Arduino mới, bootloader đã được cài đặt bên trong bộ điều
khiển. Tuy nhiên, nếu bạn định mua một bộ điều khiển và đặt vào module Arduino,
bạn cần ghi lại bootloader bên trong bộ điều khiển bằng cách chuyển đến phần Tools
và chọn Burn Bootloader.
Mô hình robot gồm bộ điều khiển trung tâm là vi điều khiển Arduino. Động cơ
được điều khiển qua module cầu H L298N bằng xung PWM cấp từ vi điều khiển.
Cảm biến hồng ngoại đo giá trị độ lệch của xe và hồi tiếp về vi điều khiển. Tín hiệu
trả về của cảm biến hồng ngoại là tín hiệu analog. Vi điều khiển nhận chỉ dẫn của điện
thoại thông qua Module Wifi ESP8266.
Một bộ điều khiển vi tích phân tỉ lệ (bộ điều khiển PID- Proportional Integral
Derivative) là một cơ chế phản hồi vòng điều khiển (bộ điều khiển) tổng quát được sử
dụng rộng rãi trong các hệ thống điều khiển công nghiệp – bộ điều khiển PID được sử
dụng phổ biến nhất trong số các bộ điều khiển phản hồi. Một bộ điều khiển PID tính
toán một giá trị "sai số" là hiệu số giữa giá trị đo thông số biến đổi và giá trị đặt mong
muốn. Bộ điều khiển sẽ thực hiện giảm tối đa sai số bằng cách điều chỉnh giá trị điều
khiển đầu vào. Trong trường hợp không có kiến thức cơ bản về quá trình, bộ điều
khiển PID là bộ điều khiển tốt nhất. Tuy nhiên, để đạt được kết quả tốt nhất, các thông
số PID sử dụng trong tính toán phải điều chỉnh theo tính chất của hệ thống-trong khi
kiểu điều khiển là giống nhau, các thông số phải phụ thuộc vào đặc thù của hệ thống.
Khâu tích phân được rời rạc hóa với thời gian lấy mẫu là như sau:
Khâu vi phân được rời rạc bằng sai phân hữu hạn lùi:
( ) ( ) ( )
(3.13)
Từ đây ta xây dựng được đoạn chương trình của bộ điều khiển PID như sau:
Trong đó:
Áp dụng phương pháp chỉnh định bằng tay ta tìm ra được các hệ sô Kp, Ki, Kd.
Mô phỏng hệ thống bằng các khối Simulink
Thử nghiệm bằng PID tuner. Kết quả sau nhiều lần thử nghiệm các hệ số
Kp=0.4; Ki=0.001; Kd=0.01
Robot được đặt vào vị trí xuất phát. Sau khi nhận được tín hiệu lấy hàng robot
sẽ di chuyển đến vị trí nhận hàng. Sau đó nhận tín hiệu trả hàng robot sẽ đến vị trí trả
hàng và về vị trí xuất phát để chờ tín hiệu nhận hàng tiếp theo.
- Sưu tầm tài liệu tham khảo về phục vụ cho việc nghiên cứu
- Nghiên cứu, học hỏi phương pháp lập trình Arduino và các vi xử lý khác
- Giải thuật điều khiển của robot chỉ đáp ứng cho một số kiểu mô hình kho
hàng nhất định.
- Đây chỉ là mô hình nên không thể hoạt động trong kho xưởng thực được.
- Còn một số tác nhân bên ngoài ảnh hưởng đến quá trình hoạt động của robot
mà chưa thể xử lý ngay được
- Định hướng đường đi của mô hình là dùng cảm biến hồng ngoại để dò line,
tuy nhiên trong công nghiệp ít khi sử dụng loại, thay vào đó sử dụng cảm biến radar
và sơ đồ nhà máy để tìm đường ngắn nhất đến vị trí đích hay có thể dùng cảm biến từ
và các line bằng từ dẫn đường cho robot
- Ngoài ra cần nâng cấp hệ thống cảnh báo va chạm vật như còi, cảm biến siêu
âm
- Thay đổi thuật toán điều khiển robot để phù hợp với các kiểu nhà xưởng khác
nhau.
[1] Trịnh Chất – Lê Văn Uyển, “Tính toán thiết kế hệ dẫn động cơ khí”, nhà
xuất bản giáo dục, 2006.
[2] Ninh Đức Tốn, Nguyễn Thị Xuân Bảy, “Giáo trình Dung sai lắp ghép và
Kỹ thuật đo lường”, nhà xuất bản giáo dục, 2006.
[5] Anh Son Tran, Ha Quang Thinh Ngo. “Research and manufacture of
automated guided vehicle for the service of storehouse”, tạp chí phát triển khoa học và
công nghệ - chuyên san kỹ thuật & công nghệ, tập 1, số 1, 2018.
[6] https://github.com/