PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   [Hỏi] Những nguyên nhân khiến máy tính không nhận ra thiết bị USB PIC18F4550? (http://www.picvietnam.com/forum/showthread.php?t=9333)

UenX 14-05-2011 11:58 AM

[Hỏi] Những nguyên nhân khiến máy tính không nhận ra thiết bị USB PIC18F4550?
 
2 Attachment(s)
Chào mọi người.
Em đang test module USB của con PIC18f4550 này.
Mặc dù đã thử rất nhiều mạch/code mẫu trên mạng nhưng khi kết nối máy tính vẫn chỉ báo "USB Device Not Recognized".
Nay em lập topic này mong được mọi người chia sẻ những nguyên nhân cho trường hợp ở trên và những điểm cần lưu ý để một mạch giao tiếp USB bằng PIC18f4550 có thể hoạt động bình thường ( Ít nhất là máy tính phải nhận dạng được thiết bị )

# Đây là mạch em đang sử dụng :

http://www.picvietnam.com/forum/atta...1&d=1305343405

• Mạch đang cắm trên Testboard:
http://www.picvietnam.com/forum/atta...1&d=1305343405
, có gắn thêm 2 tụ 100nf ở 2 cặp chân nguồn của PIC.

• Em đang dùng code CCS theo Tutorial tại đây: http://www.dientuvietnam.net/forums/...%BB%9Bi-PIC18F --> USB Device Not Recognized.
• Em cũng đã thử demo chuột chạy vòng - ex_usb_mouse.c trong thư mục Examples của CCS Compiler --> USB Device Not Recognized.

# Những điều em đang băn khoăn

• Các dây nối từ chân D+ và D- từ USB tới PIC như vậy là đã đủ gần để k bị nhiễu chưa.

• Tụ 470nf 50V em đang sử dụng có màu nâu đỏ và to/dày hơn các tụ 470nf em thấy ở các Demo trên mạng ( có màu vàng nhạt - http://cdn1.iofferphoto.com/img/item...1/368/QLfm.jpg ) - Như vậy có vấn đề j hay không? Điện áp chân VUSB em đo được là 3.35V.

• Em còn bỏ sót nguyên nhân nào nữa hay k.

Mong nhận được lời giải đáp và chia sẻ kinh nghiệm từ mọi người. Cảm ơn rất nhiều !

kqha1025 14-05-2011 03:40 PM

Mình cũng đã từng làm thử cái mạch giao tiếp này rùi. Có mấy điều khi làm với mạch thử này như sau:
- Bạn phải chắc chắn rằng VDK của bạn đã hoạt động, bạn thử chương trình nháy led xem nhé cho đơn giản. Và chắc chắn rằng đã kết nối đúng chân USB tới VDK tương ứng.
- Bạn thử thay con tụ ở chân Vusb bằng con tụ hóa 47uF xem.
- Giao diện cho dễ nhìn và dễ điều khiển thì mình dùng Labview, nhanh và không phức tạp
- Làm với mạch thử cũ, trở kháng, thông nhau các đường khó tin được lắm.
Chúc bạn thành công

UenX 14-05-2011 04:19 PM

Cám ơn bạn.
+ Con PIC này đang nằm trên một mạch test gồm nhiều module : led 7, ds1307, LCD, LM35..
Mình thấy rối quá nên tháo ra gắn riêng mạch USB để test cho chắc, nói chung là nó đang hoạt động tốt rồi.

+ Chân USB thì đã thử đổi vị trí 2 chân D-, D+. K thành công.
+ Tụ 47uf : mình chưa hiểu lắm về tụ ở chân VUSB này nhưng cũng sẽ mua về thử xem.
+ LABview: đã từng nghe nhiều nhưng chưa thử bao giờ. Ý bạn là tạo giao diện truyền dữ liệu giữa máy tính và PIC à? dù sao thì bước làm cho máy tính nhận thiết bị cũng k liên quan đến LABview này đúng k.

+ Mạch thử: cái này thì đúng là nhiều lúc cũng lo lắng. Mạch mới toanh cũng còn lo nữa. Các đường thông nhau thì tháo ra là biết thôi, chỉ sợ tiếp xúc k tốt. Toàn phải lấy đồng hồ ra đo xem dây nối 2 điểm thông nhau chưa.

UenX 14-05-2011 08:40 PM

• Mình vừa thử đổi lại vị trí dây D+ và D- ( chân gần GND của USB là D+, chân gần Vcc là D- )
Đồng thời cắm thêm 1 led, cực dương nối với chân D+ trên PIC, âm nối vào GND.

Nạp Demo ex_usb_mouse.c trong thư mục Examples của CCS Compiler .

• Khi cho mạch chạy thì thấy LED chớp liên tục.

• Lấy tay (chân k chạm đất) sờ vào chân của LED thì thấy LED k còn chớp nữa ( hay do nó chớp quá nhanh? ), máy báo nhận thiết bị CCS Mouse và con trỏ chuột chạy xoay vòng. Khi thả tay khỏi chân LED thì máy báo thiết bị vừa bị rút ra, chạm tay vào thì lại nhận thiết bị và chuột tiếp tục xoay.

• Lại làm một thử nghiệm khác:
Lấy một sợi dây, một đầu cắm vào GND trên board. Đầu còn lại :
+ Lấy tay cầm : máy nhận thiết bị, chuột xoay. Điện áp chân VUSB của PIC = 3.34 Volt
+ Thả tay ra : hết nhận thiết bị, chuột hết xoay. Điện áp chân VUSB của PIC = 3.08Volt
+ Chân k được chạm đất.

Mình mới bắt đầu mày mò điện tử nên thứ j cũng mù mờ.

Mọi người giúp giải thích hiện tượng này và cho cách khắc phục nhé.

UenX 15-05-2011 08:15 PM

Hi mọi người.
Khi mình kê testboard lên một hộp nhựa dày ( cách ly với mặt bàn ) thì k còn hiện tượng chạm tay mới chạy như trên nữa. Hôm sau làm mạch hi vọng k bị nhiễu, mà có nhiễu chắc cũng áp dụng lại chiêu này. Code USB thì đành lấy code mouse và keyboard của CCS để demo tạm.
Sắp phải nộp bài rồi, thời gian k cho phép, thôi đành hạ sách vậy.

Sẽ dành cả mùa hè để học điện tử căn bản và tìm hiểu về cái chuẩn USB này.

Cảm ơn mọi người đã quan tâm !

minh_cly 19-07-2011 09:43 AM

Em lắp mạch giống Uenx , kiểm tra kỹ chân D+, D-, nguồn em còn thêm cái diode nên còn 4,3V, chỉ có điều cho 2 con tụ ở VUSB và nguồn là 100u mà máy tính em ko nhận ra (ko có tiếng bíp hay chữ gì lun). Firmware em dùng cái muose của ccs, vẫn ko thấy chuột xoay vòng. Mấy anh giải đáp giùm em.

UenX 19-07-2011 11:56 AM

Trích:

Nguyên văn bởi minh_cly (Post 47147)
Em lắp mạch giống Uenx , kiểm tra kỹ chân D+, D-, nguồn em còn thêm cái diode nên còn 4,3V, chỉ có điều cho 2 con tụ ở VUSB và nguồn là 100u mà máy tính em ko nhận ra (ko có tiếng bíp hay chữ gì lun). Firmware em dùng cái muose của ccs, vẫn ko thấy chuột xoay vòng. Mấy anh giải đáp giùm em.

+ Nếu bạn đang code trong MPLAB và dịch code thông qua plugin của CCS thì thử chuyển sang dịch code trực tiếp trên trình PCWHD Complier đi kèm lúc cài CCS, chọn device là PIC18F4550.

+ Bạn thử chỉ dùng nguồn USB thôi, k dùng nguồn ngoài xem.

Chúc bạn may mắn.

minh_cly 19-07-2011 02:59 PM

Em tìm ra ròy. Chân GND của USB chưa nối GND của mạch (em dùng nguồn ngoài mà, hoạt động ko dựa vào USB).


Múi giờ GMT. Hiện tại là 10:14 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam