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 16-12-2008, 04:26 PM   #1
han_nang_008
Đệ tử 1 túi
 
Tham gia ngày: Nov 2008
Bài gửi: 19
:
bác namqn có thể nói rõ hơn khi mình dùng nhiều hơn 1 chân ADC, bác có thể viết 1 đoặn ví dụ cụ thể dc ko ah.
Ví dụ dùng AN0 và AN6, chân AN0 lấy tín hiệu từ triết áp để điều khiển tốc độ động cơ, còn chân AN6 lấy tín hiệu dòng phản hồi của động cơ, rồi hiện thì lên LCD chẳng han,thì cấu hình như nào, tốc độ lấy mẫu như nào thì phù hợp ah, với AN0 thì dùng PWM chấm dứt lấy mẫu, còn với AN6 mình dùng TIMER3 chấm dứt lấy mẫu có hợp lý ko anh, ADCHS mình khai báo như nào ah kết quả chuyển đổi từ 2 chân trên mình lấy ở đâu ra ah, có phải từ ADCBUF0 và ADCBUF6 ko bác
EM hỏi thêm bác đoặn này
bit 5-2 SMPI<3:0>: Sample/Convert Sequences Per Interrupt Selection bits
1111 = Interrupts at the completion of conversion for each 16th sample/convert sequence
1110 = Interrupts at the completion of conversion for each 15th sample/convert sequence
.....
0001 = Interrupts at the completion of conversion for each 2nd sample/convert sequence
0000 = Interrupts at the completion of conversion for each sample/convert sequence
cái này có phải lựa chon ngắt xảy ra sau 1 đến 16 lần chuyển đổi xong, hay ngắt khi lấy mẫu 1 đến 16 lần rồi chuyển đôi.
Em thấy cái thứ nhất có vẻ đúng hơn, có phải ko hả bác
Mong bác giúp đỡ em

thay đổi nội dung bởi: han_nang_008, 16-12-2008 lúc 06:50 PM.
han_nang_008 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-12-2008, 09:23 PM   #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
Trích:
Nguyên văn bởi han_nang_008 View Post
bác namqn có thể nói rõ hơn khi mình dùng nhiều hơn 1 chân ADC, bác có thể viết 1 đoặn ví dụ cụ thể dc ko ah.
Ví dụ dùng AN0 và AN6, chân AN0 lấy tín hiệu từ triết áp để điều khiển tốc độ động cơ, còn chân AN6 lấy tín hiệu dòng phản hồi của động cơ, rồi hiện thì lên LCD chẳng han,thì cấu hình như nào, tốc độ lấy mẫu như nào thì phù hợp ah, với AN0 thì dùng PWM chấm dứt lấy mẫu, còn với AN6 mình dùng TIMER3 chấm dứt lấy mẫu có hợp lý ko anh, ADCHS mình khai báo như nào ah kết quả chuyển đổi từ 2 chân trên mình lấy ở đâu ra ah, có phải từ ADCBUF0 và ADCBUF6 ko bác
EM hỏi thêm bác đoặn này
bit 5-2 SMPI<3:0>: Sample/Convert Sequences Per Interrupt Selection bits
1111 = Interrupts at the completion of conversion for each 16th sample/convert sequence
1110 = Interrupts at the completion of conversion for each 15th sample/convert sequence
.....
0001 = Interrupts at the completion of conversion for each 2nd sample/convert sequence
0000 = Interrupts at the completion of conversion for each sample/convert sequence
cái này có phải lựa chon ngắt xảy ra sau 1 đến 16 lần chuyển đổi xong, hay ngắt khi lấy mẫu 1 đến 16 lần rồi chuyển đôi.
Em thấy cái thứ nhất có vẻ đúng hơn, có phải ko hả bác
Mong bác giúp đỡ em
Bạn cần tham khảo hình 20-1 trong datasheet (hay hình 17-1 trong tài liệu "dsPIC30F Family Reference Manual") về cách thức kết nối các ngõ vào đến các bộ sample-and-hold (S/H), và xem thêm các khả năng sử dụng các bộ multiplexer A và B.

Tôi không có thói quen dùng hàm thư viện của MPLAB C Compiler for dsPIC, do đó tôi chỉ nêu những thay đổi đối với các thanh ghi liên quan đến module ADC, cho trường hợp ví dụ của bạn, sử dụng AN0 và AN6.

Dựa vào hình vẽ 20-1 trong datasheet, có thể thấy để lấy mẫu các ngõ vào AN0 và AN6, cần thiết lập để kênh S/H số 0 (CH0) sử dụng AN6, và kênh S/H số 1 (CH1) sử dụng AN0. Để làm việc này, thanh ghi ADCHS sẽ được thiết lập là 0x0006 (bạn xem "dsPIC30F Family Reference Manual" về ý nghĩa của các trường trong thanh ghi này). Đồng thời, các bit CHPS<1:0> trong thanh ghi ADCON2 cần được thiết lập là '01' để việc chuyển đổi được thực hiện cho CH0 và CH1. Tất nhiên, thanh ghi ADPCFG cũng cần cập nhật để các bit 6 và 0 là '0' (do đó các chân AN6 và AN0 sẽ là các chân analog).

Bạn có thể dùng chế độ tự động lấy mẫu, thay vì chọn một trong các nguồn tín hiệu chấm dứt lấy mẫu.

ADCBUF chỉ là một bộ đệm được lần lượt điền các kết quả vào, không có chuyện ánh xạ kết quả của AN0 vào ADCBUF0, và của AN6 vào ADCBUF6. Tôi chân thành đề nghị bạn đọc mục 17 của tài liệu "dsPIC30F Family Reference Manual", có rất nhiều ví dụ với hình minh họa về cách sử dụng bộ đệm ADCBUF. Câu hỏi của bạn về field SMPI<3:0> cũng được trả lời rõ trong phần này, theo như ý đầu tiên của bạn: ngắt sau 1 đến 16 chu kỳ lấy mẫu/chuyển đổ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 19-11-2009, 09:18 AM   #3
nvcong
Nhập môn đệ tử
 
Tham gia ngày: Sep 2009
Bài gửi: 2
:
dieu khien dc dung pic16

cho em hoi neu mach cau H co phan hoi dong dien qua Rshun thi tin hieu ve noi vao chan nao cua pic vay?
nvcong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-11-2009, 10:53 PM   #4
npbaoduy
Đệ tử 2 túi
 
Tham gia ngày: Sep 2008
Nơi Cư Ngụ: Tp. HCM
Bài gửi: 38
:
Trích:
Nguyên văn bởi nvcong View Post
cho em hoi neu mach cau H co phan hoi dong dien qua Rshun thi tin hieu ve noi vao chan nao cua pic vay?
Đọc áp trên Rshun bằng bộ ADC của PIC, có áp -> dòng -> điều khiển.
npbaoduy vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-11-2009, 10:37 PM   #5
npbaoduy
Đệ tử 2 túi
 
Tham gia ngày: Sep 2008
Nơi Cư Ngụ: Tp. HCM
Bài gửi: 38
:
Áp vào chân ADC của dspic30F6014A

Em thiết kế mạch khuyếch đại từ micro, sao cho áp ra dao động với biên độ +- 2.5V, sau đó qua mạch lọc, xong qua mạch cộng thêm 2.5v để được áp dao động từ 0-5v. Xong phần này tín hiệu do bằng dao động ký rất tốt (em sử dụng mạch khuyếch đại và lọc dụng Opamp OP07).
Sau đó đưa áp này vào chân ADC của dspic30F6014A, quan sát áp trên dao động ký thì thấy nó bị xén mất một phần ,chỉ còn lại phần từ 0- khoảng 1v (em nhấn mạnh là xén mất chứ ko phải sụt áp). Em ko hiểu tại sao lại như vậy, em đã thử thêm một tần đệm trước khi đưa vào ADC, nhưng kết quả vẫn như vậy.
Em xin đính kèm sơ đồ mạch, ai có kinh nghiệm xem xét giúp em với, em cám ơn rất nhiều.
Sơ đồ mạch em đã post thêm file pdf, phần mạch khuyếch đại và lọc em vẽ ở phía dưới cùng, tín hiệu sau xử lý đưa vào chân AN15 (nối bằng jumper giữa J11 và J3).
File Kèm Theo
File Type: zip adc.zip (71.8 KB, 80 lần tải)
File Type: pdf SCHEMATIC1 _ PAGE1.pdf (24.5 KB, 83 lần tải)

thay đổi nội dung bởi: npbaoduy, 28-11-2009 lúc 12:41 AM.
npbaoduy vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-11-2009, 11:05 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 npbaoduy View Post
Em thiết kế mạch khuyếch đại từ micro, sao cho áp ra dao động với biên độ +- 2.5V, sau đó qua mạch lọc, xong qua mạch cộng thêm 2.5v để được áp dao động từ 0-5v. Xong phần này tín hiệu do bằng dao động ký rất tốt (em sử dụng mạch khuyếch đại và lọc dụng Opamp OP07).
Sau đó đưa áp này vào chân ADC của dspic30F6014A, quan sát áp trên dao động ký thì thấy nó bị xén mất một phần ,chỉ còn lại phần từ 0- khoảng 1v (em nhấn mạnh là xén mất chứ ko phải sụt áp). Em ko hiểu tại sao lại như vậy, em đã thử thêm một tần đệm trước khi đưa vào ADC, nhưng kết quả vẫn như vậy.
Em xin đính kèm sơ đồ mạch, ai có kinh nghiệm xem xét giúp em với, em cám ơn rất nhiều.
Nên gửi sơ đồ mạch dạng ảnh (đọc luồng có link nằm trong chữ ký của tôi). Không phải ai cũng dùng phần mềm OrCAD, hay một phần mềm nào khác mà bạn đang dùng.

Nếu đưa dạng sóng đã kiểm tra tốt vào PIC/dsPIC mà dạng sóng bị xén mất thì phải xem lại mức đỉnh của tín hiệu có tương thích với áp nguồn của PIC/dsPIC hay không. Các chân vào/ra của PIC/dsPIC thường có 2 diode bảo vệ.

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 28-11-2009, 09:48 PM   #7
npbaoduy
Đệ tử 2 túi
 
Tham gia ngày: Sep 2008
Nơi Cư Ngụ: Tp. HCM
Bài gửi: 38
:
Em vẫn ko hiểu được anh à, nếu như ngõ vào ADC nối vô con biến trở rồi vặn biến trở thì áp bình thường ko bị sụt (0-5V), chỉ có tín hiệu từ sau bộ khuyếch đại đưa vào mới bị xén. Giả thiết bị sụt áp do dòng bé cũng ko thuyết phục lắm, vì nếu dòng nhỏ thì bị sụt áp chứ ko phải xén, hơn nữa em đã thêm mạch khuyếch đại đệm vào kết quả vẫn vậy, tín hiệu bị xén hết chỉ còn phần nằm trong khoảng 0-1V thôi . Em xem phần nguồn của con dsPIC cũng ko phát hiện gì cả.
npbaoduy vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời

Tags
dspic30f adc, dspic30f pwm


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

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
dsPIC Tutorial 3-Đọc ngõ vào và giao tiếp LCD namqn dsPIC - Bộ điều khiển tín hiệu số 16-bit 92 19-02-2017 11:15 PM
dsPIC Tutorial 2-Các kỹ thuật cơ bản namqn dsPIC - Bộ điều khiển tín hiệu số 16-bit 33 17-10-2013 11:09 PM
dsPIC Tutorial 1-Tạo và biên dịch một project (ASM30) namqn dsPIC - Bộ điều khiển tín hiệu số 16-bit 16 22-08-2012 12:35 AM
dsPIC Tutorial 4-Module UART và I2C namqn dsPIC - Bộ điều khiển tín hiệu số 16-bit 76 09-05-2012 10:55 AM
RF module khanh_pic Tìm mua sản phẩm 22 20-08-2007 11:25 AM


Múi giờ GMT. Hiện tại là 05:29 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