Tải bản đầy đủ (.docx) (20 trang)

ĐIỀU KHIỂN ROBOT NHẬN BIẾT BẰNG HỒNG NGOẠI

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1005.04 KB, 20 trang )

Đề tài: “ ĐIỀU KHIỂN ROBOT NHẬN BIẾT BẰNG HỒNG NGOẠI”


I.Cơ sở đề tài :
1.Lý do chọn đề tài :
Robot có vai trò rất quan trọng trong đời sống hiện nay đặc biệt là những ứng
dụng của nó trong sản xuất kinh tế, quốc phòng…Tuy nhiên công nghệ chế tạo robot
là 1 nghành còn khá mới mẻ với Việt Nam nên việc phát triển nghành công nghiệp này
để bắt kịp với các nước phát triển khác là 1 điều vô cùng quan trọng.
Theo nhóm nghĩ,cách tiếp cận robot đơn giản nhất là thực hiện thiết kế robot sử
dụng cảm biến,có thể là tránh vật cản,đi trong mê cung,hoặc là dò đường…Và nhóm
chọn đề tài xe tự động dò đường.Với đề tài này,nhóm có thể kết hợp lý thuyết vi điều
khiển đã học với thực hành,đồng thời tìm hiểu thêm về điện-điện tử.
2.Giới thiệu đề tài :
Sản phẩm là 1 chiếc robot tự động có chức năng tự di chuyển theo vạch kẻ cho
trước(trắng hoặc đen-nhóm cho xe đi theo vạch đen).Đầu tiên ta thiết kế đường đi là 1
vạch đen (nhóm dùng băng keo đen). Xe có một bộ phận cảm biến ở đầu xe,bộ phận
này dò vạch đen,nếu xe bắt được vạch đen thì truyền tín hiệu đến vi điều khiển.Từ
đó,vi điều khiển xuất tín hiệu điều khiển động cơ chuyển động sao cho phù hợp với
hoàn cảnh xe bắt được vạch đen đang ở trạng thái nào (đi thẳng,trái,phải…).
Ta có thể hiểu rõ hơn cơ chế hoạt động của xe thông qua sơ đồ khối bên dưới.
3.Sơ đồ khối toàn hệ thống :


II. Xác định mục tiêu và giới hạn :
1.Mục tiêu :
+Hệ thống điều khiển phải có khối nguồn cung cấp ổn định.
+Hệ thống có thể nhận được các tín hiệu báo nhận đường đi.
+Hệ thống có khả năng điều khiển động cơ tốt,linh hoạt.
+Khối xử lý trung tâm(khối điều khiển) hoạt động tốt,phối hợp các khối khác
hoạt động đồng thời và ổn định trong toàn bộ quá trình hoạt động.


+Có hướng phát triển sau này như cải tiến thành 1 robot thông minh hơn nữa.
+Chất lượng sản phẩm : kết cấu cơ khí đẹp,chạy ổn định.
+ Hoàn thành đúng thời hạn.
2.Giới hạn :
+Tốc độ chưa cao.
+Thỉnh thoảng bị trượt khỏi đường khi chạy nhanh,khi bẻ cua.


III. Thực hiện đề tài :
1.Khối nguồn :
Trong khối nguồn,nhóm sử dụng pin khô 9V.Tuy nhiên,vi điều khiên chỉ hoạt
động được ở điện áp 4.5V-5.5V.Do đó,nhóm tạo ra nguồn 5V để cung cấp cho hệ
thống điều khiển,và các khối mạch khác.
Trước hết,ta xét thử một mạch ổn áp dùng Diode Zener:

Hình 1: mạch ổn áp dùng Diode Zener.
Mạch ổn áp tạo áp 33V cố định cung cấp cho mạch dò kênh trong Ti vi mầu :
Từ nguồn 110V không cố định thông qua điện trở hạn dòng R1 và gim trên Dz 33V để
lấy ra một điện áp cố định cung cấp cho mạch dò kênh
Khi thiết kế một mạch ổn áp như trên ta cần tính toán điện trở hạn dòng sao cho dòng
điện ngược cực đại qua Dz phải nhỏ hơn dòng mà Dz chịu được, dòng cực đại qua Dz
là khi dòng qua R2 = 0
Như sơ đồ trên thì dòng cực đại qua Dz bằng sụt áp trên R1 chia cho giá trị R1 , gọi
dòng điện này là I1 ta có
I1 = (110 - 33 ) / 7500 = 77 / 7500 ~ 10mA
Thông thường ta nên để dòng ngược qua Dz ≤ 25 mA.Mạch ổn áp dùng Diode Zener
như trên có ưu điểm là đơn giản nhưng nhược điểm là cho dòng điện nhỏ ( ≤ 20mA ) .
Để có thể tạo ra một điện áp cố định nhưng cho dòng điện mạnh hơn nhiều lần người
ta mắc thêm Transistor để khuyếch đại về dòng như sơ đồ dưới đây.



Hình 2 : Mạch ổn áp dùng Transistor.
Ở mạch trên điện áp tại điểm A có thể thay đổi và còn gợn nhưng điệnáp tại
điểm B không thay đổi và tương đối phẳng.
Hình trên là cách phân cực bằng nguồn điện chung cho Transistor.
Ta có : VCC= VBB + VBE + VEE
Do đó, ta có nguyên lý ổn áp như sau : Thông qua điện trở R1 và Dz gim cố
định điện áp chân B của Transistor Q1, giả sử khi điện áp chân Eđèn Q1 giảm => khi
đó điện áp VBEtăng => dòng qua đèn Q1 tăng => làm điện áp chân E của đèn tăng , và
ngược lại ...

Hình 3 : IC ổn áp LM7805 tạo nguồn 5V.


Sơ đồ vật lý:

Hình 4: sơ đồ vật lý khối nguồn chuyển đổi 5V.
Bao gồm chân cắm nguồn 9V,4 diode tạo một mạch chỉnh lưu cả chu kỳ,IC
LM7805 chuyển sang nguồn 5V,các loại tụ lọc,1 đèn Led báo hiệu và điện trở hạn
dòng cho đèn Led.
Lắp mạch chỉnh lưu : mạch chỉnh lưu có tác dụng chuyển nguồn xoay chiều sang 1
chiều.Do đó,ta ko cần quan tâm tới việc cực âm và cực dương của nguồn khi lắp vào
chân cắm.Thông qua mạch chỉnh lưu ta thu được nguồn 1 chiều nhấp nhô thì tụ
1000μF có tác dụng làm phẳng nguồn 1 chiều,tụ này có điện dung càng lớn thì điện áp
ở đầu ra càng bằng phẳng,thông thường có trị số khoảng vài trăm đến vài ngàn μF.Hai
tụ còn lại ở 2 đầu của IC LM7805 có tác dụng lọc nhiễu cho IC này.Theo datasheet,ta
có : CIN=0.33μF,COUT= 0.1μF và IOUTtối đa chịu được là 500mA.Do thị trường
không có tụ 0.33μF nên nhóm gắn luôn tụ0,1μF,điều này cũng không ảnh hưởng bao
nhiêu.Với đèn báo hiệu,nhóm sử dụng Led siêu sáng trắng 2-3V..Nhóm đo được Led
có áp 2.8V.

Ta có dòng qua Led thường từ 5-20mA.Ở đây,nhóm muốn đèn sáng với I=5mA,khi đó
ta có công thức tính cho điện trở như sau:R=(5-2.8)/0.005=440Ω.
Do thị trường không bán loại này nên nhóm dùng loại 330Ω,ta được dòng gần 6,6mA
đủ sáng cho Led.


2.Khối động cơ :
Sơ đồ vật lý :

Hình 5 : Sơ đồ vật lý khối động cơ .
*Giải thích sơ đồ vật lý :
 IC L298N bên trong tích hợp hai mạch cầu H,mỗi mạch cầu H gồm 4 cổng
AND và 2 Tranzito. Sơ đồ khối bên trong của nó như sau(Hình 10) :


 Mỗi mạch cầu H được điều khiển bởi 2 tín hiệu Input và 1 tín hiệu Enable .Ví
dụ với mạch cầu H điều khiển Out1 và Out2 cho động cơ 1(bánh trái ) được
điều khiển bởi 3 tín hiệu In1,In2,EnA (In1,In2,EnA được xuất từ vi điều
khiển,EnA=5V).
Ta có mối quan hệ giữa các tín hiệu này như sau :

Khi có độ chênh áp giữa Out1 và Out2 thì động cơ quay.Nếu In1In2=01 thì tiến
tới,và In1In2=10 thì lùi.
Tương tự cho mạch cầu H thứ 2 chịu điều khiển bởi In3,In4 xuất tín hiệu
Out3,Ou4 điều khiển động cơ 2(bánh phải).
 Cung cấp nguồn Vcc=5V cho IC hoạt động,và cấp nguồn Vs=12V cho động cơ
hoạt động.
 Mỗi mạch cầu H bao gồm 1 đường nguồn Vs(thật ra là đường chung cho 2
mạch cầu),một chân current sensing(cảm biến dòng) ở phần cuối của mạch
cầu(ta có 2 chân SENA và SENB cho 2 mạch cầu),chân này không được nối đất

mà bỏ trống để người dùng nối 1 điện trở gọi là sensing resistor,mục đích để ổn
định dòng,nó là điện trở công suất có giá trị cỡ nhỏ,thường từ 0,52ohm,2W(theo datasheet),khi bộ chuyển mạch trong L298N dẫn,nó ở trạng thái
bão hòa mạnh,dòng qua gần như là maximum,do đó khả năng hút dòng rất lớn
-> dễ sụt nguồn nếu không có điện trở này.
 Tụ C1 là tụ lọc nhiễu cho L298N,thương là tụ 0.1uF,tụ C2 và C4 là tụ lọc
nguồn ,giúp nguồn cấp 12V được phẳng,ổn định hơn.
 Khi đảo chiều động cơ hay ngừng động cơ,lúc này động cơ giống như1 cái máy
phát điện nhỏ.Nó phát sinh dòng điện ngược có thể có giá trị rất lớn,về lý
thuyết L298N chịu được 4A,nhưng nếu là 2A thì IC đã rất nóng,nếu dòng phát
sinh đạt ngưỡng này chảy ngược về IC thì rất dễ gây hỏng IC.Chính vì vậy một
mạch diode cầu đi theo để bảo vệ chip.mấy con diode này dùng để ngăn dòng


ngược khi động cơ đảo chiều hay ngừng không cho dòng này quay ngược trở
lại làm cháy IC .Nhóm dùng diode 1N5399,2A.
3.Khối cảm biến :
Đường đi của xe được vẽ bằng vạch đen nằm trên nền trắng.Để nhận ra được
đường đi,nhóm sử dụng các cặp led thu phát hồng ngoại đặt gần nhau.Led phát hồng
ngoại không phát ra ánh sáng mà phát ra cường độ,led thu có điện trở phụ thuộc vào
có nhận được cường độ hồng ngoại phản xạ lại từ đường đi hay không.

Hình 6 : sự phản xạ ánh sáng của led phát trên nền trắng và đen.
Sơ đồ của 1 cặp thu phát hồng ngoại (Hình 7):

 L1 là đèn phát hồng ngoại có dải điện áp ->R1
 Led thu được mắc ngược.Việc tính toán R2 ở đây sao cho độ chênh lệch của
Vs khi có và không có ánh sáng là lớn nhất.(Vs là điện áp rơi trên R2).


- Giả sử điện trở của Led thu khi có ánh sáng là Rmin,và khi không có ánh sáng

là Rmax.
- Tương ứng có điện áp khi có ánh sáng là Vs=I*R2=Vcc*R2/(R2+Rmin)
Và khi không có ánh sáng là Vs=Vcc*R2/(R2+Rmax)
=> Độ chênh lệch điện áp :Delta= |Vcc*R2/(R2+Rmax) - Vcc*R2/(R2+Rmin)|
->Khảo sát hàm
y(R2)= |Vcc*R2/(R2+Rmax) - Vcc*R2/(R2+Rmin)|.Tìm R2
sao cho hàm y(R2) đạt cực đại.
Tính toán đơn thuần ta có công thức R2=sqrt(Rmin*Rmax).Với Led thu,theo
tính toán thực nghiệm của các nhóm nghiên cứu trước đã làm thì khi không có ánh
sáng,điện trở của led thu cỡ 100k; khi có ánh sáng thì giảm xuống còn 1k
 R2=sqrt(1*100)=10k
Với sơ đồ trên,theo lý thuyết :
+Khi không có ánh sáng(gặp vạch đen) : Vs=5*10/(10+100)=0.45V
+Khi có ánh sáng(vạch trắng) : Vs=5*10/(10+1)=4.54V
Tuy nhiên,trong quá trình chạy thực nghiệm,tùy khoảng cách giữa led thu và led
phát,và khoảng cách giữa cảm biến và mặt đường mà cho giá trí Vs khác nhau khi có
ánh sáng.Với kết quả thực nghiệm của nhóm,khi có ánh sáng nhóm đo được Vs xấp xỉ
1,6V,và khi không có ánh sáng là xấp xỉ 0V.Điện áp 1,6V là rất thấp,không thể đưa
vào vi điều khiển để hoạt động được,do đó cần phải được khếch đại.Điện áp Vs được
so sánh với điện áp
Vref được tinh chỉnh theo cách mắc sau(Hình 8) :

Vref được tinh chỉnh ở điện áp 1V
Cơ chế hoạt động của mạch so sánh :


- Khi có ánh sáng : Vs=1,6V>Vref => Output =5V
- Khi không có ánh sáng : Vs=0V<Vref => Output=0V
Nhóm sử dụng 3 cặp led thu-phát.Do đó cần tới 3 bộ so sánh.Nhóm sử dụng 2
IC LM324.Mỗi IC LM324 chứa 4 bộ so sánh.Với sơ đồ chân như sau

(Hình 9) :

IC LM324 với nguồn nuôi 5V thì chỉ cho Output cao nhất 3.7V,do điện áp rơi
trên các van chuyển mạch,các điện trở bên trong nó.Nhóm đo được xấp xỉ 3,6V.Tuy
nhiên,điện áp này đủ để vi điều khiển hiểu được làmức logic 1.Qua đó có thể kiểm tra
các trạng thái của cảm biến để điều khiển động cơ đi đúng hướng.
Ngoài ra,nhóm còn sử dụng 6 đèn led báo hiệu cho 6 cặp led thu-phát để dễ
dàng nhận biết được trạng thái cảm biến gặp vạch đen hay vạch trắng.Nhóm sử dụng
đèn trắng 1,4V-1,8V.Nhóm đo được 1,8V,và muốn dòng 15mA
.Do đó ta có :
R=(5-1,8)/0.015=213 ,xấp xỉ 220
Khi gặp vạch đen,Output(của bộ so sánh)=0 -> có sự chênh áp ->đèn Led sáng.
Khi gặp vạch trắng,Output=3,6V -> sự chênh áp rất thấp ->đèn Led tắt .


Sơ đồ nguyên lý : gồm 2 mạch

Hình 10 : mạch dò đường gồm các cặp led thu – phát.


Hình 11 : mạch so sánh ,khếch đại.
Trên mạch này,3 đèn bên trái dùng đèn trắng báo hiệu,3 đèn bên phải dùng đèn
vàng báo hiệu (đèn vàng có V=2V –>T=(5-2)/220=13,6mA).Xét từ trái qua,đèn báo
hiệu được đánh số từ 1-6.Các trường hợp cảm biến dò đường (bắt vạch đen):
 Phạm vi đèn 3-4 : đi thẳng.
 Phạm vi đèn 1-4 : lệch trái -> quẹo trái.
 Phạm vi đèn 3-6: lệch phải -> quẹo phải.


*Lưu đồ giải thuật(Hình 12) :



IV. Khối vi điều khiển
1.Giới thiệu về kit thử nghiệm CPLD COOLRUNNER – II 256 TQ144
The CooRunner – II 256 TQ144 là một trong những bộ kit CPLD của xilinx. Bộ
kit bao gồm nguồn cung cấp với hiệu quả cao,bộ tạo dao động có thể cấu hình , các
cổng giao tiếp I/0,đồng hồ đo thời gian thực và cổng USB cấp nguồn và lập trình cho
CPLD .Bộ KIT có 5 cổng mở rộng với 64 tín hiệu giao tiếp từ CPLD ra mạch ngoài
giúp mở rộng khả năng kết nối.
Các đặc điểm nổi bật của KIT:
256 khối Coolrunner – II CPLD trong gói TQ 144
Có cổng USB cấp nguồn ,lập trình và chuyển dữ liệu người dung
Bộ dao động có thể thay đổi được (1000/100/10khz) ,them vào đó là có khe nắp bộ
dao động thạch anh thứ 2
64 tín hiệu I/0 trên các cổng giao tiếp(32 trên các cổng nối tiếp ,32 trên các cổng song
song)
Các miếng đệm cho SPI PROM gắn trong


Hình 13: CoolRunner – II 256 TQ144

Hình 14: Sơ đồ khối của KIT CPLD CoolRunner – II 256 TQ144
2.Lập trình trên KIT thử nghiệm
Modul điều khiển được viết trên VHDL – một ngôn ngữ mô tả phần cứng của
Xilinx sử dụng phần mềm Xilinx Integrated Software Environment (ISE) v.10.0 .Việc
đầu tiên là soạn thảo văn bản có sẵn trong ISE để viết modul và hệ thống quản lí
project ,file cấu hình cho CoolRunner – II 256 TQ144 được tạo ra trong ISE .Nó bao
gồm những việc sau (tất cả đều được phần mềm làm tự động ) :
Biên dịch VHDL thành sơ đồ các cổng logic ,thành phần của mạch (thông qua công cụ
tổng hợp XST)

Vẽ sơ dựa trên những tài nguyên có sẵn trên FPGA
Sắp xếp các thành phần để đạt sự tối ưu nhất
File cấu hình được nạp vào CPLD qua giao tiếp JTAG .Kết quả của quá trình tối ưu
hóa có thể dẫn đến sự thay đổi các file gốc và các chu trình sau đó.


3.Sơ đồ khối mạch điều khiển

Hình 15: Sơ đồ khối mạch điều khiển
Mạch điều khiển sẽ được lập trình tạo ra 3 khối
Khối phát hiện đường dẫn: Có nhiệm vụ xử lí tín hiệu từ sensor dò đường đưa vào
FPGA.
Khối điều khiển chuyển động : Nhận tín hiệu điều khiển từ khối phát hiện đường dẫn
và đưa ra mức điều khiển hợp lí.
Khối tạo xung : Phát xung cho hai động cơ giúp động cơ có thể hoạt động linh hoạt để
bám theo đường dẫn.


4 .Cách bố trí cảm biển trên robot

Hình 16: Cách bố trí cảm trên robot
Trong mạch này chúng tôi sử dụng 3 cặp thu phát hồng ngoại để dò đường.Khi cặp
thu phát ở giữa chạm vạch trắng mức tín hiệu đưa vào FPGA tương ứng là R=101.Khi
cặp thu phát bên trái chạm vạch trắng mức tín hiệu đưa vào FPGA là R=011.Tương tự
khi cặp thu phát bên phải chạm vạch trắng thì tín hiệu đưa vào FPGA sẽ là R=110.
5. Trạng thái hoạt động FSM
Sơ đồ biểu diễn các trạng thái hoạt động của robot:

Hình 17 : Trạng thái hoạt động



6. Code của modul điều khiển robot
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity robot is
Port ( cb : in STD_LOGIC_VECTOR (2 downto 0);
clk : in STD_LOGIC;
dctrai : out STD_LOGIC;
dcphai : out STD_LOGIC;
);
end robot;

architecture Behavioral of robot is
--bo dem
signal dem : std_logic_vector (6 downto 0) :="0000000";
signal clk50hz : std_logic :='0';

begin
process(clk,dem)
begin
if(dem = "1100100") then
dem <= "0000000" ;
else

if(clk'event and clk = '1') then


dem <= dem + 1;
end if;
end if;
end process;
process(dem)
begin
if(dem = "1100100") then
clk50hz <= not clk50hz;
end if;
end process;
process(cb)
begin
case cb is
--robot re trai
when "011" => dctrai <= clk50hz;
dcphai <= '0';
--robot re phai
when "110" => dctrai <= '0';
dcphai <= clk50hz;
--robot quay vong tron
when "000" => dctrai <= '1';
dcphai <= '0';
--robot di thang
when “111” =>dctrai <= '1';
dcphai <= '1';
end case;
end process;

end Behavioral;



×