Xem mẫu
- Đề tài:
Phân loại sản phẩm theo mã vạch
I. Tổng quan các dây truyền phân loại sản phẩm
II. Mã vạch và ứng dụng
III. Giải pháp và mô hình dây truyền
1. Các Modul cho 1 hệ thống phân loại.
2. Mô hình dây truyền phân loại sản phẩm.
- IV. Thiết kế các Modul
1. Băng tải:
Có nhiệm vụ vận chuyển sản phẩm hay hàng hoá đến
các vị trí kiểm tra phân loại lưu kho ...
2. Robot:
Trong mô hình này chúng em sử dụng 1 robot 2 bậc tự
do để loại sản phẩm. Vật A sau khi đi qua băng truyền và được kiểm tra
phân loại, vật được dừng lại tại vị trí đặt cảm biến. Tay robot có nhiệm
vụ là gắp vật A ra khỏi băng truyền, đặt vào kho chứa.
Tay robot làm việc theo tọa độ trục Decats : A(θ,z).
2 bậc tự do : → θ : quay quanh truc z
→ z : lên xuống theo truc z
Nguyên lý làm việc :
Khi vật A đi đến vị trí đặt cảm biến và dừng lại tại đó, tay
robot từ vị trí Height (đặt công tắc hành trình) di chuy ển xu ống v ị trí Low
(đặt công tắc hành trình) cũng theo trục z tay gắp (đ ặt công t ắc hành
trình) gắp vật, nâng vật A lên vị trí height chạm vào công tắc và đồng thời
quay thân theo trục z cho đến khi chạm vào công tắc hành trình thì d ừng
lại → hạ tay robot xuống cho đến khi chạm vào công tắc hành trình t ại v ị
trí Low → nhả vật A rồi quay về vị trí ban đầu tiếp tục cho quá trình gắp
vật tiếp theo.
1. Thiết kế :
- • Quay thân : Dùng động cơ gắn thẳng trục bên dưới t ấm Bích
tròn
Số lượng 2 tấm Bích:
- Tấm dưới được bắt cố định
- Tấm trên được gắn với động cơ và phần thân
robot.
• Nâng thân :
Di chuyển lên xuống theo trục z.
Trục vít được gắn với 1 động cơ và ren trên trục vít
được gắn với 1 đai ốc cố định trên tay robot, khi động cơ quay sẽ làm trục
vít quay theo đồng thời tay robot được nâng lên or hạ xuống tùy theo chiều
quay của động cơ.
Tay robot đươc gắn cố định với 2 thanh trượt 2 bên
thân robot.
• Tay gắp :
Cơ cấu gắp nhả cũng dùng trục vít đươc gắn với 1
động cơ nằm trên tay robot..khi động cơ quay thuận thì tay k ẹp và ng ược
lại.
• Chän s¬ ®å nguyªn lý vµ kÕt cÊu Robot
S¬ ®å nguyªn lý cña Robot ph¶i phï hîp víi c¸c yªu cÇu sau:
* ThÓ hiÖn ®Çy ®ñ c¸c chøc n¨ng, bé phËn cña Robot vµ c¸c ®Æc
®iÓm cña tõng lo¹i.
* Th©n Robot cã kÕt cÊu phï hîp víi chøc n¨ng lµm viÖc cña Robot.
KÕt cÊu ®ñ v÷ng ch¾c ®Ó ®¶m b¶o c«ng suÊt lµm viÖc cña Robot
bao gåm, søc n©ng th©n Robot vµ lùc n©ng chi tiÕt khi thao t¸c. Lùc
vµ momen qu¸n tÝnh ë tay m¸y.
* Cã hÖ thèng ®iÒu khiÓn.
* HÖ truyÒn ®éng khÝ nÕn ®èi víi truyÒn ®éng kÑp nh¶ tay m¸y.
* HÖ truyÒn ®éng thuû lùc ®Ó truyÒn ®éng theo ph¬ng z vµ ®Èy
tay m¸y theo ph¬ng r trong hÖ to¹ ®é M (r, θ , z) ..
* S¬ ®å hÖ thèng c¬ khÝ ®èi víi truyÒn ®éng quay th©n Robot.
- Ph©n tÝch víi yªu cÇu cña ®Ò bµi:
* Robot lµm viÖc träng hÖ to¹ ®é trô M (r, θ , z) nªn lµm viÖc rÊt khoÎ
nhng nhîc ®iÓm lµ khã lµm viÖc víi nh÷ng vÞ trÝ s¸t ch©n vµ tÝnh
c¬ häc kh«ng cao.
* Víi c¬ cÊu truyÒn ®éng nh s¬ ®å ®· cho, ta thÊy r»ng Robot cã thÓ
tham gia cïng lóc 2 chuyÓn ®éng chÝnh lµ chuyÓn ®éng tÞnh tiÕn
®ång thêi quay quanh trôc z cña th©n Robot vµ chuyÓn ®éng tÞnh
tiÕn ®ång thêi quay theo ph¬ng r cña tay m¸y ®Ó thùc hiÖn viÖc
g¾p nh¶ vËt tõ vÞ trÝ A sang vÞ trÝ B.
* ThiÕt kÕ Robot nhÊc vËt nÆng ®ßi hái ®é cøng v÷ng nhÊt ®Þnh,
hÖ truyÒn ®éng ph¶i t¹o ra ¸p lùc ®ñ lín ®Ó n©ng vµ di rêi vËt. Do
®ã khi thiÕt kÕ cÇn hîp lý ho¸ 1 sè th«ng sè kü thuËt ®Ó ®¶m b¶o
yªu cÇu cña bµi to¸n
• TÝnh to¸n thiÕt kÕ
- Robot n©ng vËt cã khèi lượng mV¢T = 0,5kg. Lùc kÑp vËt ph¶i
th¾ng
®ưîc träng lùc cña vËt cÇn n©ng
=> 2TV¢T> m V . g Chän hÖ sè an toµn = 1,5
=> TV¢T= k.mV.g/2 = 1,5.0,5.10/2 = 3,75 (N)
Chän : TV¢T= 4(N)
MÆt kh¸c ta l¹i cã TV¢T= PV¢T.k.S
víi PV¢T: Lùc kÑp cña c¬ cÊu g¾p
k: HÖ sè ma s¸t cña tay m¸y vµ vËt (chän b»ng 0,25)
S: DiÖn tÝch mÆt tiÕp xóc (Chän b»ng 5cm2)
⇒ PV¢T = TV¢T/k.S = 3,75/0,25.5 = 3 (N)
- - §iÒu kiÖn ®Ó khi g¾p vËt mµ c¸nh tay robot ®îc gi÷ c©n
b»ng :
W1 WVAT
L1 L2=25
L0=20
®ßi hái ph¶i ®i t×m L1 khi ®· biÕt L2 25cm
Chän ®éng c¬ cã khèi lîng mDC = 0,8kg ®îc l¾p trong kho¶ng L1 (cha
biÕt) trªn tay m¸y.
• Khi g¾p vËt : W1.L1 = WVAT.L2 ⇒ L1 = WVAT.L2/ W1
Trong ®ã : W1 = mDC.g = 0,8.10 = 8 (N)
WVAT = mV .g = 0,5.10 = 5(N)
VËy : L1 = WVAT.L2/ W1 = 5 . 25/8 = 15,7cm
• khi kh«ng g¾p vËt : W1.L1 = L2 ⇒ L1 = L2/ W1 = 25/8 = 3,3 cm
⇒ chiÒu dµi trung b×nh trong 2 trêng hîp trªn :
L1 = (15,6 + 3,3) = 10 cm
3. Mạch động lực điều khiển ROBOT và băng tải
o Băng tải: Sử dụng động cơ DC 1 chiều 12V được đấu
nối trực tiếp vào chân Q1 của LOGO 1
- o Mạch role: Gồm 6 role chia thành 3 cặp nhiệm vụ điều
khiển 3 động cơ DC kết nối tới các chuyển động của Robot bao gồm gắp
nhả - nâng hạ - quay thân.
• Chuyển động quay thân được LOGO 1 điều
khiển
• Chuyển động Gắp nhả - nâng hạ được LOGO 2
điều khiển
- 4. Mạch ghép nối máy tính sử dụng chip ATMEGA16L
• Nguyên lý:
- • Lắp dựng:
- 5. Lập trình:
a. Trên thiết bị LOGO:
Sử dụng phần mềm LOGO!Soft Comfort V5.0?
Các chuyển động của Robot và băng truyền được lập trình thông qua 2 bộ Logo
• Logo1 : Điều khiển động cơ băng truyền và chuyển động quay thân
của Rôbốt
Bảng biến:
Start : I1
- Stop : I2
Tín hiệu từ máy tính : I3
CTHT gắp : I4
CTHT nhả : I5
CTHT nâng : I6
CTHT vị trí A : I7
CTHT vị trí B : I8
Băng truyền chạy : Q1
Băng truyền dừng : Q2
Thân Robot quay thuận (AB) : Q3
Thân Robot quay ngược (BA) : Q4
• Logo2: điều khiển chuyển động nâng hạ thân và gắp
nhả của tay Rôbốt
Bảng biến:
- I1: được nối với cổng Q1 và Q2 của hệ bộ Logo1
CTHT gắp : I2 Q1
CTHT nhả : I3 Q2
CTHT nâng : I4 Q3
CTHT hạ : I5 Q4
CTHT vị trí A : I6
CTHT vị trí B : I7
- b. Lập trình mạch ghép nối máy tinh:
Đã thử nghiệm thành công khi truyền nhân 32 byte từ máy tính xuống và
gửi dữ liệu 32 byte từ mạch điều khiển lên
Thiết lập cổng vào ra:
Khi xem xét đến các cổng I/O của AVR thì ta phải xét tới 3 thanh ghi
bit DDxn,PORTxn,PINxn.
-Các bit DDxn để truy cập cho địa chỉ xuất nhập DDRx. Bit DDxn
trong thanh ghi DDRx dùng để điều khiển hướng dữ liệu của các chân
của cổng này.Khi ghi giá trị logic ‘0’ vào bất kì bit nào của thanh ghi này
thì nó sẽ trở thành lối vào,còn ghi ‘1’ vào bit đó thì nó trở thành lối ra.
-Các bit PORTxn để truy cập tại địa chỉ xuất nhập PORTx. Khi
PORTx được ghi giá trị 1 khi các chân có cấu tạo như cổng ra thì điện trở
kéo là chủ động(được nối với cổng).Ngắt điện trở kéo ra, PORTx được
ghi giá trị 0 hoặc các chân có dạng như cổng ra.Các chân của cổng là 3
trạng thái khi 1 điều kiện reset là tích cực thậm chí xung đồng hồ không
hoạt động.
-Các bit PINxn để truy cập tại địa chỉ xuất nhập PINx. PINx là các
cổng chỉ để đọc,các cổng này có thể đọc trạng thái logic của
PORTx.PINx không phải là thanh
ghi,việc đọc PINx cho phép ta đọc giá trị
logic trên các chân của PORTx.chú ý
PINx không phải là thanh ghi,việc đọc
PINx cho phép ta đọc giá trị logic trên các
chân của PORTx.
Nếu PORTxn được ghi giá trị logic ‘1’
khi các chân của cổng có dạng như chân
ra ,các chân có giá trị ‘1’.Nếu PORTxn
ghi giá trị ‘0’ khi các chân của cổng có
dạng như chân ra thì các chân đó có giá trị
‘0’.
Các cổng của AVR đều có thể đọc,ghi.
Để thiết lập 1 cổng là cổng vào ,ra thì ta
tác động tới các bit DDxn,
PORTxn,PINxn.ta có thể thiết lập để
- từng bit làm cổng vào,ra cứ không chỉ với cổng,như vậy ta có thể sử lí tới
từng bit,đây chính là điểm mạnh của các dòng Vi điều khiển 8 bit.
Ta có thể sử dụng CodeWizardAVR để thiết lập cho các PORTx và
Pinx. Ví dụ như trên hình:các bit 0,1,2,4,7 của PORTA làm chân ra có trở
kéo,còn các bit còn lại làm chân vào. Khi đã thiết lập xong thì các bit
0,1,2,4,7 sẽ có thể xuất dữ liệu ra còn các bit còn lại có thể nhận dữ liệu
vào.
Việc thiết lập cổng vào ra là một việc quan trọng vì tùy theo mục đích sử
dụng các cổng nào làm cổng vào ra,thì ta phải thiết lập đúng thì mới có
thể sử dụng được, động tác này khác với họ vi điều khiển 8051- AT8951.
CodeVision:
Để tạo Project mới chọn trên menu: File New được như sau:
Chọn Project sau đó click chuột vào OK được cửa sổ hỏi xem có sử dụng
Code Winzard không:
- Chọn Yes được cửa sổ CodeWinzardAVR như sau :
Sử dụng chíp AVR nào và thạch anh tần số bao nhiêu ta nhập vào tab
Chip.
Để khởi tạo cho các cổng IO ta chuyển qua tab Ports.
Các chân IO của AVR mặc định trạng thái IN, muốn chuyển thành trạng
thái OUT để có thể đưa các mức logic ra ta click chuột vào các nút IN
(mầu trắng) để nó chuyển thành OUT trong các Tab Port.
- Sau đó chọn File Generate, Save and Exit
Được cửa sổ yêu cầu nhớ các file của Project. Đây là ví dụ IO nên ta save
tên là IO.
- Sau khi nhớ song 3 file : IO.c – IO.prj – IO.cwp được cửa sổ như sau:
Để dịch chương trình ấn F9 hoặc vào menu : Project Compile.Được
cửa sổ Information như sau:
- Chương trình không có lỗi. Nhấp OK. Để nạp chương trình các bạn cần
cấu hình cho mạch nạp.
Trong tab After Make các bạn đánh dấu vào Program the Chip và nhấp
OK. Nhấn tổ hợp phím Shift + F9 được như hình bên. Cắm Jump mạch
nạp vào .Click vào Program. Đợi nạp xong nhổ jump nạp ra ấn Reset để
thấy led chạy.
- Điều khiển I/O với LCD
Biết khởi tạo cho LCD với CodeWinzardAVR với bất kỳ cổng nào. Hiển
thị ra LCD các ký tự bất kỳ.
Ví dụ LCD được nối với PORTB.
Chức năng của LCD trong hầu hết các mạch, các bộ điều khiển đảm
nhân vai trò hiển thị các thông số, các thông tin mà chúng ta muốn nhập
vào hay các thông tin xử lý mà bộ điều khiển đang hoạt động đựoc hiển
thị ra màn hình, giúp chúng ta giao tiếp gần hơn với quá trình hoạt đông
của hệ thống. Loại LCD mà chúng ta sử dụng là loại SD-DM1602A 2
dòng mổi dòng 16 kí tự, loại này do Trung Quốc sản xuất . Nó có 16 chân
như hình vẽ. Trong đó chúng ta có thể thấy 2 chân 1,2 được cấp nguồn
cho LCD hoạt động, chân thứ 3 (chân VSS) được nối vào đầu ra của biến
trở dùng để điều chỉnh độ tương phản (phải điều chỉnh VSS hợp lý thì
LCD mới hiển thị được) 2 chân 15,16 đây là 2 chân cấp nguồn dung để
bật đèn của LCD từ chân 4-
>14 là các chân điều khiển được nối với vi điều khiển, các chân 4,5,6
được để điều khiển hoạt động của LCD, các chân còn lại là 8 bit Data
dùng để truyền nhận dữ liệu. Chúng ta có thể giao tiếp Data 8 bit hoặc 4
bit như trong mạch của chúng ta truyền Data dưới dạng 4 bit. Việc truyền
dưới dạng 4bit hoặc 8 bit phải được thiết lập cả phần cúng và phần
mềm.
Các bước khởi tạo trong CodeWinzard như sau:
- Trong cửa sổ CodeWinzard, chọn tab LCD, trong list mặc định là None,
các bạn chuyển thành PORTB cho phù hợp với phần cứng của KIT( thiết
kế LCD ở PORTB). Chọn File Generate, Save and Exit được như sau:
- Code cho LCD các bạn có thể tham khảo trong Help bằng cách chọn
trên menu Help Help Topic(hoặc ấn F1). Được cửa sổ Help như sau:
Trong vòng while(1) trong hàm main ta viết các câu lệnh như sau:
while (1)
{/
/ Place your code here
lcd_gotoxy(0,0);// Dua con tro ve goc, dong 0, cot 0
lcd_putsf("DKS-MTC-JACKY");// Hien thi dong chu
lcd_gotoxy(0,1);// Dua con tro ve dong 1, cot 0
lcd_putsf("Wellcome you"); // Hien thi dong chu
delay_ms(3000); // Tre 3 s
lcd_gotoxy(0,0); // Dua con tro ve dong 0 cot 0
lcd_putsf("embestdks.com"); // Hien thi dong chu
delay_ms(3000); // Tre 3 s
};
Code lập trình truyền nhận dữ liệu với máy tính
// ===============Ngat nhan USART=============
#define RX_BUFFER_SIZE 32
char rx_buffer[RX_BUFFER_SIZE]; // --- Bo dem nhan
rx_buffer[RX_BUFFER_SIZE]
#if RX_BUFFER_SIZE
nguon tai.lieu . vn