![]() |
|
Tài trợ cho PIC Vietnam |
Cảm biến Camera, siêu âm, hồng ngoại, gyro, la bàn... |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#46 |
Đệ tử 2 túi
Tham gia ngày: Oct 2007
Bài gửi: 42
: |
anh F trước đây làm về mobile robot hả? không biết anh có rành về automobile robot và bài toán tìm đường đi ngắn nhất cho nó không? nếu mục tiêu là cố định thì có vẻ dễ hơn, còn mục tiêu di động thì không biết sao? mong nhận được sự giúp đỡ của anh.
|
![]() |
![]() |
![]() |
#47 |
Nhập môn đệ tử
Tham gia ngày: Dec 2008
Bài gửi: 7
: |
Tôi muốn dùng cảm biến siêu âm để giữ một khoảng cách nhất định đén một vật thể. Cụ thể là cho đầu dò tiến đến gần vật thể( khoảng cách trong vòng < 50mm, có thể dùng dẫn động bằng khí nén), có nút chỉnh để coi đó là vị trí Zero, sau đó nếu vật thể di chuyển ra khỏi vị trí đó một khoảng nào đó( khoảng này cũng do ta qui định, có thể chỉ khoảng 0.1mm) thì bộ cảm biến thông qua bỏad mạch sẽ xuất tín hiệu điều khiển cho hệ khí nén, chiều chuyển động của khi nén sẽ tuỳ thuộc vào chiều của di chuyển của vật thể( khi vật thể ra xa thì khí nén đi vào, khi vật thể lại gần thì khí nén đi ra, chủ ý là để giữ khoảng cách "Zero" không đổi). Nhờ Mr. F hoặc anh em nào có cao kiến gì thì giúp đỡ giùm với, còn nếu nhận thực hiện luôn thì rất hoan nghênh. Liên lạc lại với tôi: Ngô Phương Nam, 098 388 1845 hoặc namnp2007@gmail.com. Cám ơn.
|
![]() |
![]() |
![]() |
#48 | |
PIC Bang chủ
|
Trích:
Bạn có thể thử nghiệm cảm biến hồng ngoại GP2D12 của Sharp (R&P có bán) hoặc cảm biến siêu âm SRF05 (R&P có). Nhưng giải pháp bằng hồng ngoại với bài toán của bạn có vẻ tốt hơn (đỡ tốn năng lượng hơn, kích thước nhỏ gọn hơn, độ chính xác cao hơn vì nó hoạt động trong tầm 10cm - 80cm, so với khoảng cách hoạt động của siêu âm là 1cm - 4m). Chúc vui
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
|
![]() |
![]() |
![]() |
#49 |
Nhập môn đệ tử
Tham gia ngày: Dec 2008
Bài gửi: 7
: |
@Mr. F.
Thanks, tôi sẽ liên lạc với đại lý RP tại TP HCM( ở Nguyễn Minh Hoàng phải không?). |
![]() |
![]() |
![]() |
#50 | |
PIC Bang chủ
|
Trích:
Cảm biến hồng ngoại hay cảm biến siêu âm thì khả năng đều thua trong vụ này. Tham khảo thông tin về cảm biến hồng ngoại GP2D12 mà em giới thiệu tại đây: http://document.sharpsma.com/files/G...DATA-SHEET.PDF Khoảng cách đo từ 10cm - 80cm ứng với mức 2.6V - 0.4V. Coi như là một nửa dải đo. Nếu dùng ADC 10-bit, đo trên dải 0 - 5V. Xem như ta còn 9-bit trên nửa dải này. 9-bit tương ứng với 512 mức. Láy (80cm - 10cm)/512 mức = 700mm/512mức. Như vậy mỗi mức chỉ đo được hơn 1mm - 2mm. Như vậy không thể nào đạt được mức anh yêu cầu. Nếu sử dụng ADC 12-bit thì có thể đo được với 11-bit, có khả năng lấy được khoảng 0.5mm (đây là tính toán giả định bằng sơ bộ trung bình, lưu ý là độ dốc của đồ thị trong datasheet là không tuyến tính). Nếu anh đo ở khoảng 45-55mm thì gần như GP2D12 chịu thua. Do vậy, em khuyên anh không nên đi sâu vào giải pháp này, vì nó không phù hợp với yêu cầu thực tế của anh. Chúc vui
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
|
![]() |
![]() |
![]() |
#51 |
PIC Bang chủ
|
http://sensor.baumerelectric.com/pro...0AG%3C/span%3E
Sai số loại này lên tới 0.5mm (sai số tuyệt đối). Nếu cần thì em có thể tư vấn cho anh các loại sai số ở mức 0.01mm. Nhưng giải pháp này cực kỳ đắt tiền. Chúc vui.
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
![]() |
![]() |
![]() |
#52 |
Nhập môn đệ tử
Tham gia ngày: Dec 2008
Bài gửi: 7
: |
Rất cám ơn bang chủ đã có công giải thích, có thể mình sẽ chọn loại UNDK 10 này. Mr. F. có thể cho biết sơ về giá của nó không ?
Do thực tế mình chỉ muốn giữ khoảng cách từ đầu cắt của máy cắt plasma ( CNC) đến tấm sản phẩm đang được cắt, khoảng cách tốt nhất là khoảng 2-3mm, nếu lớn hơn thì mạch cắt xấu, nếu quá nhỏ (< 1mm) sẽ không cắt được, nên nếu sai số thực tế là 0,5mm thì vẫn còn trong dung sai cho phép, giờ chỉ còn điều kiện kinh tế có cho phép nữa hay không mà thôi , hì hì. |
![]() |
![]() |
![]() |
#53 |
PIC Bang chủ
|
Vậy tạm ngưng thảo luận về vấn đề này tại đây, có thể em kiểm tra một số thông tin thì sẽ mở luồng mới về cảm biến laser để thảo luận.
Anh có thể lên google để tìm với từ khóa: laser range finder thì sẽ tìm được rất nhiều loại cảm biến tương tự như thế này. Em còn có trong tay danh sách khá nhiều loại cảm biến laser vì trước em là dân Cơ Điện Tử, và chuyên ngành Robotics, cho nên em đi lùng mấy thứ kiểu kiểu thế này. Tuy nhiên, hiện tại em không làm về nó nữa, nên nếu anh cần giải pháp thì giải pháp này ở mức khoảng vài trăm USD - 1000 USD hoặc thậm chí cao hơn nếu cần độ chính xác cao hơn. Trên thực tế, về mặt điều khiển, thì lúc đó anh cần có một bộ điều khiển, có thể cần phải áp luật điều khiển, có thể là PI hoặc PID vào đó, vì với dịch chuyển quá nhỏ, độ nhạy quá cao của cảm biến, thì bộ điều khiển sẽ phải làm việc khá vất vả. Em tạm trao đổi tới đây thôi, nếu cần thêm gì chắc anh ghé công ty em trao đổi thêm, vì giải pháp kiểu như thế này, quan trọng là anh ước lượng mức chi phí, còn một cảm biến laser thì đạt mức sai số 0.5mm tương đối nhiều. Loại 0.01mm thì mới khó. Tất nhiên sẽ còn nhiều vấn đề nữa mới giải quyết được bài toán của anh. Các loại cảm biến đều có thể cho giá trị ra 4mA - 25mA hoặc ra dải điện áp 0 - 2.5V hoặc 0-5V, hoặc cho ra RS232 hoặc RS485. Như vậy, để sử dụng thì mua luôn loại ra RS232 cắm vào phát là chạy luôn, cắm con MCU nào cũng được, bộ điều khiển PID cũng đơn giản. Chúc vui
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
![]() |
![]() |
![]() |
#54 |
Nhập môn đệ tử
Tham gia ngày: Dec 2008
Bài gửi: 7
: |
Ok, thanks. mình sẽ ghé công ty.
|
![]() |
![]() |
![]() |
#55 |
Đệ tử 1 túi
Tham gia ngày: Sep 2009
Bài gửi: 13
: |
anh F cho em hỏi tại sao tầm của cảm biến siêu âm SRF05 ko thể nhỏ hơn 10cm được zay, và trong Robot tránh vật cản có cần thêm cảm biến hồng ngoại để phát hiện vật cản ở gần hơn 10 cm ko
thanks !!! |
![]() |
![]() |
![]() |
#56 | |
Nhập môn đệ tử
Tham gia ngày: Mar 2010
Bài gửi: 1
: |
srf05
Trích:
#include <16F877.h> #include <defs_16f877a.h> #fuses HS,NOWDT,NOPROTECT,NOLVP #device *=16 #use delay(clock=20000000) #include <lcd_lib_4bit.c> #define led1 pin_E1 #define button pin_B1 #define TRIGGER pin_B4// chan phat song sieu am //chan ECHO nhan tin hieu ve noi vao RC2 #BYTE TRISC=0X87 #BYTE PORTC=0X07 #BIT RC2=0X7.2 float dist,getvar ; int1 has_echo=0,echo=0; //////////////////////////////////////////////// #int_CCP1 void ccp1_isr() { setup_ccp1(CCP_CAPTURE_RE);//thiet lap Capture CCP1 do xung canh len enable_interrupts(INT_CCP1);//cho phep ngat khi ccp1 co tin hieu enable_interrupts(GLOBAL); if(pin_c2) set_timer1(1000); //reset timer1 ve 0 setup_ccp1(CCP_CAPTURE_FE); //chuyen sang do xung canh xuong if(!pin_c2);//khi co xung canh xuong getvar=get_timer1(); //doc gia tri timer1 ngay khi co xung echo canh xuong dist=(getvar-485)/28.3; //so lieu dua theo ket qua do thuc te dist=getvar; } //----10us cho trigger---- void trig() { output_high(TRIGGER); delay_us(10); output_low(TRIGGER); } void main() { SET_TRIS_A(0x00); // Port A output SET_TRIS_B(0X00); SET_TRIS_E(0x00); SET_TRIS_C(0xff); SET_TRIS_D(0b00000011); lcd_init(); while(1) { trig(); ccp1_isr(); lcd_putcmd(0x01); printf(lcd_putchar,"dist=%6.1f",dist); lcd_putchar("cm"); delay_ms(1000); } } lcd chỉ hiển thị số 0. em chưa biêt sai chỗ nào cả |
|
![]() |
![]() |
![]() |
#57 |
Nhập môn đệ tử
Tham gia ngày: Mar 2010
Bài gửi: 4
: |
ban nao co biet cam bien sieu am TR40-16 ko?va co ai biet cho nao ban ko?xin chgi minh giup huu_nghia17@yahoo.com
__________________
Nguyen Huu Nghia |
![]() |
![]() |
![]() |
#58 | |
Đệ tử 2 túi
Tham gia ngày: Aug 2008
Bài gửi: 38
: |
Trích:
+ Điều trước hết là bạn phải cho xem cái mạch của bạn, để biết rằng bạn đang sử dụng Mode nào, và có mắc đúng hay chưa ? + Điều thứ 2: là con SRF05 này cần xung Trigger >=10uS, vậy thì bạn cho nó 50us hay 100us cho chắc chắn, không vấn đề gì hết. + Thứ 3 là bạn có chắc cái chương trình ngắt của bạn có đúng không ? Con SRF05 còn hoạt động không ? + Bạn tính khoảng cách theo công thức gì vậy, bởi vì trong datasheet của nó có nói, thời gian xung đo được là uS, lấy kết quả đó chia cho 58 thì ra khoảng cách là cm, vậy tại sao công thức bạn kỳ vậy ? |
|
![]() |
![]() |
![]() |
#59 |
Nhập môn đệ tử
Tham gia ngày: Apr 2010
Bài gửi: 2
: |
co ai biet cho nao ban cam bien sieu am srf05 hay khong chi jup minh voi!thank!
|
![]() |
![]() |
![]() |
#60 |
Nhập môn đệ tử
Tham gia ngày: Nov 2010
Bài gửi: 4
: |
Srf05
Chào các bạn.
Về câu hỏi của bạn Vanondnc, hàm ccp1_isr của bạn viết sai logic. Mình giải thích như thế này: sau khi phát xung đến chân trigger, cảm biến phát siêu âm ra, và sau 1 thời gian thì sóng này mới quay lại, đến lúc đó thì chân ECHO mới "high". Trong thời gian đó con PIC của bạn đã chạy xong hàm ccp1_isr, và if(pin_c2) luôn trả về sai (do chân ECHO trong thời gian đó vẫn low). Theo mình biết mỗi lần phát siêu âm thì con SRF05 sẽ chờ xung về trong 30ms, nếu sau 30ms mà chưa có xung về thì xem như "over time". Dựa vào đó bạn nên viết hàm ccp1_isr lại theo hướng này: + phát trigger 10us (10 là đủ, không cần phát lâu hơn) + set chạy timer + chạy hàm while(ECHO low VÀ timer < 30ms) //đây là thời gian chờ xung về, trong hàm while này để trống không làm gì cả. + sau khi thoát khỏi vòng while trên, bạn ktra (bằng if) xem timer đã đạt 30ms chưa, nếu đạt rồi thì nghĩa là over time, không có vật cản trong phạm vi dò, nếu chưa thì nghĩa là có vật cản làm cho ECHO high. + set lại timer về 0 + chạy tiếp 1 hàm while(ECHO high) + sau khi thoát ra khỏi hàm while này (nghĩa là ECHO về low), tắt và đọc giá trị timer, tính ra khoảng cách. Mình cũng mới mua 2 con SRF05 về, đang nối dây để xài thử. Tí nữa nối dây xong mình sẽ code và nếu chạy được thì sẽ gửi code mẫu cho bạn. |
![]() |
![]() |