PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > dsPIC - Bộ điều khiển tín hiệu số 16-bit

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

dsPIC - Bộ điều khiển tín hiệu số 16-bit Theo dự kiến của Microchip, vào khoảng năm 2011 dsPIC sẽ có doanh số lớn hơn PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 21-10-2008, 02:12 AM   #1
gunnroses
Đệ tử 1 túi
 
Tham gia ngày: May 2007
Bài gửi: 20
:
dsPIC30F4013 không chạy

em đã làm 1 mạch test đơn giản.
và em dùng đoạn code này

PHP Code:
#include "p30f4013.h"

_FOSC(CSW_FSCM_OFF FRC HS);
_FWDT(WDT_OFF);
_FBORPOR(PBOR_OFF MCLR_EN);
_FGS(CODE_PROT_OFF);

void main ()
{
   
   
TRISB 0;         
   while(
1)            
   {
     
LATB 0xFFFF
      
   }


nạp vào rồi nhưng mà mạch chỉ chạy khi sờ tay vào chân reset thôi. Nếu bỏ tay ra thì k có biểu hiện gì nữa
Em không hiểu tại sai nữa. Giúp e nhé các bác
Hình Kèm Theo
File Type: jpg untitled.JPG (100.9 KB, 16 lần tải)
gunnroses vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-10-2008, 02:36 AM   #2
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Bạn muốn dùng FRC hay HS? Bạn đã tắt clock switching trong code.

Theo mạch phần cứng của bạn, tôi cho là bạn đang muốn dùng thạch anh ngoài. Nếu đúng như vậy thì bạn không nên mô tả FRC trong _FOSC().

Kiểm tra lại xem điện trở R2 của bạn có bị hở mạch hay không.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-10-2008, 10:11 AM   #3
gunnroses
Đệ tử 1 túi
 
Tham gia ngày: May 2007
Bài gửi: 20
:
Em đã sửa lại code rồi, không dùng FRC nữa. Đo lại mạch rồi, trở R2 vẫn ổn. Mạch vẫn chạy như cũ. Mà cũng lã lắm, như kiểu có cảm ứng, đưa tay lại gần chân reset (chưa chạm vào) đèn đã sáng rồi. Đưa tay ra xa là tắt. Không hiểu như thế nào nữa
gunnroses vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-10-2008, 05:30 PM   #4
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Bạn kiểm tra lại tất cả các chân VSS/AVSS phải nối với nhau thật tốt, điện áp trên các chân VDD phải được đảm bảo. Thêm các tụ 100 nF (ceramic) giữa các cặp chân nguồn, đặt càng gần chip càng tốt.

Nếu bạn dùng bread board thì kiểm tra lại bread board (bread board sẽ nhanh chóng xuống cấp ở điều kiện khí hậu của VN).

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-10-2008, 09:50 PM   #5
gunnroses
Đệ tử 1 túi
 
Tham gia ngày: May 2007
Bài gửi: 20
:
Cám ơn anh. Em sửa đươc rồi. Do mạch reset. Cho thêm tụ 10uF song song với nút reset. Đơn giản quá mà k nghĩ ra
gunnroses vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-10-2008, 10:53 PM   #6
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi gunnroses View Post
Cám ơn anh. Em sửa đươc rồi. Do mạch reset. Cho thêm tụ 10uF song song với nút reset. Đơn giản quá mà k nghĩ ra
Mắc tụ lớn (cỡ uF) vào giữa chân MCLR và GND là không nên đối với mạch thử nghiệm có đầu nối ICSP (là trường hợp mạch của bạn). Vì tụ điện này sẽ làm giảm tốc độ tăng Vpp khi PIC được chuyển sang chế độ nạp chương trình, và có thể dẫn đến trường hợp không kích hoạt được chế độ nạp chương trình.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-10-2008, 11:11 PM   #7
gunnroses
Đệ tử 1 túi
 
Tham gia ngày: May 2007
Bài gửi: 20
:
hic. Đúng rồi. Khi cho tụ vào thì không reset được, không detect được dspic luôn. Thế như trường hợp ở trên thì làm cách nào ạ
gunnroses vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-10-2008, 11:17 PM   #8
gunnroses
Đệ tử 1 túi
 
Tham gia ngày: May 2007
Bài gửi: 20
:
Cho e hỏi luôn.
Khi đưa mức cao ra chân RB1 thì dùng: _LATB1=1 --> chạy chính xác
Nhưng khi sang chân RB2: _LATB2=1 --> không thấy chạy j cả
Tại sao vậy ạ?
gunnroses vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-10-2008, 11:17 PM   #9
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Bạn thử loại bỏ cả tụ và nút nhấn reset trong mạch xem sao (chỉ để điện trở giữa chân MCLR và VDD). Nếu mạch chạy ổn thì có lẽ nút nhấn reset của bạn có vấn đề (đã có người gặp trường hợp này rồi).

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-10-2008, 11:28 PM   #10
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi gunnroses View Post
Cho e hỏi luôn.
Khi đưa mức cao ra chân RB1 thì dùng: _LATB1=1 --> chạy chính xác
Nhưng khi sang chân RB2: _LATB2=1 --> không thấy chạy j cả
Tại sao vậy ạ?
Sơ đồ nguyên lý của bạn thể hiện diode của RB2 không nối vào các diode kia. Code của bạn chưa thiết lập giá trị cho thanh ghi ADPCFG, như vậy toàn bộ các chân RB0 .. RB12 (tương ứng AN0 ... AN12) sẽ là các chân analog (sau khi reset). Cần đặt thêm ADPCFG = 0xFFFF; vào code của bạn để có thể dùng các chân RBx như chân digital.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 22-10-2008, 10:07 PM   #11
gunnroses
Đệ tử 1 túi
 
Tham gia ngày: May 2007
Bài gửi: 20
:
Em đã tìm được nguyên nhân rồi. Đó là do để trở R2 lớn quá. Em đã để 10k. Xem lại trong datasheet thì chỉ có 5k thôi. Thay trở 5k vào chạy ngon lành. Cám ơn anh nhé
gunnroses vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 22-10-2008, 11:06 PM   #12
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi gunnroses View Post
Em đã tìm được nguyên nhân rồi. Đó là do để trở R2 lớn quá. Em đã để 10k. Xem lại trong datasheet thì chỉ có 5k thôi. Thay trở 5k vào chạy ngon lành. Cám ơn anh nhé
Lạ nhỉ. Mạch thử nghiệm dsPIC của tôi toàn dùng 27k đến 33k (ví dụ, tham khảo các sơ đồ mạch trong các tutorial của tôi) mà có gặp vấn đề này bao giờ đâu.

Datasheet nào nêu giá trị 5k vậy bạn?

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-10-2008, 12:05 AM   #13
gunnroses
Đệ tử 1 túi
 
Tham gia ngày: May 2007
Bài gửi: 20
:
Trong tài liệu Explorer 16 Uses Guide 51589a của Microchip. Trang 42
gunnroses vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-10-2008, 12:48 AM   #14
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi gunnroses View Post
Trong tài liệu Explorer 16 Uses Guide 51589a của Microchip. Trang 42
Bạn dùng nguồn 5 V, sơ đồ của Explorer 16 dùng nguồn 3.3 V.

Bạn không dùng điện trở 1k giữa điểm nối tụ/nút nhấn và điện trở 4.7k, như sơ đồ của Explorer 16 đã dùng.

Sơ đồ của Explorer 16 dùng tụ 0.1 uF, nên điện trở mạch reset phải giảm xuống đến 4.7k nhằm có thể nâng áp MCLR lên đủ nhanh khi cấp nguồn cho board.

Do đó, tôi tin rằng chỉ đặt điện trở 10k từ VDD = 5 V đến chân MCLR là đủ cho mạch reset (mạch thử nghiệm dsPIC33F của tôi dùng 27k giữa VDD = 3.3 V và chân MCLR). Nếu có thêm tụ điện hay nút nhấn, theo khuyến cáo của Microchip là có thêm một điện trở từ điểm nối giữa tụ điện/nút nhấn reset và điện trở treo, đến chân MCLR, nhằm tránh hiện tượng latchup khi có xung áp âm xuất hiện ở chân MCLR (xảy ra do nút nhấn bị dội, áp trên tụ dao động trong quá trình quá độ).

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


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


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam