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 Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc 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 06-03-2010, 12:33 AM   #76
thuhuong
Nhập môn đệ tử
 
Tham gia ngày: Nov 2009
Bài gửi: 10
:
Nhờ Anh Nam hướng dẫn giúp: Em muốn làm một bộ inverter từ DC-AC sử dụng nguyên lý điều biến sin độ rộng xung, trong đó tín hiệu điện áp ra được ổn định.
Nguyên tắc ổn định là dùng mạch hồi tiếp, bám điện áp ra: Khi có điện áp ra thay đổi lệch khỏi điện áp định mức thì mạch sẽ đo và đưa tín hiệu sai lệch để điều chỉnh sai lệch đó.
A cho E hỏi: điều chế sin độ rộng xung trong DS pic muốn điều chỉnh điện áp như thế thì đưa tín hiệu sai lêch (tín hiệu điều khiển) vào chân nào và điều chỉnh như thế nào trong con dspic đó.
E đã hỏi và A đã trả lời là lập một bảng sin khác trong Ram, nhưng như thể chỉ có thể thay đổi được điện áp ra, còn để điều chỉnh (Bám-trơn) thì E khồn biết làm thế nào.
thuhuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-03-2010, 06:56 PM   #77
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 thuhuong View Post
Nhờ Anh Nam hướng dẫn giúp: Em muốn làm một bộ inverter từ DC-AC sử dụng nguyên lý điều biến sin độ rộng xung, trong đó tín hiệu điện áp ra được ổn định.
Nguyên tắc ổn định là dùng mạch hồi tiếp, bám điện áp ra: Khi có điện áp ra thay đổi lệch khỏi điện áp định mức thì mạch sẽ đo và đưa tín hiệu sai lệch để điều chỉnh sai lệch đó.
A cho E hỏi: điều chế sin độ rộng xung trong DS pic muốn điều chỉnh điện áp như thế thì đưa tín hiệu sai lêch (tín hiệu điều khiển) vào chân nào và điều chỉnh như thế nào trong con dspic đó.
E đã hỏi và A đã trả lời là lập một bảng sin khác trong Ram, nhưng như thể chỉ có thể thay đổi được điện áp ra, còn để điều chỉnh (Bám-trơn) thì E khồn biết làm thế nào.
Bạn xem lại nguyên tắc của SPWM. Bạn chỉ có 1 giá trị trung bình trong mỗi chu kỳ chuyển mạch, và bạn có thể điều chỉnh để giá trị trung bình đó bám theo tín hiệu tham chiếu.

Bảng sin trong RAM cho phép bạn tùy nghi thay đổi giá trị trung bình của chu kỳ chuyển mạch bất kỳ, như vậy thực sự cho phép bạn thực hiện điều trên.

Bạn có thể đưa tín hiệu sai lệch vào một ngõ vào analog và đọc nó vào dsPIC, rồi từ đó tính toán để cập nhật bảng sin trong RAM.

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 03-08-2010, 12:46 PM   #78
chanxi9
Nhập môn đệ tử
 
Tham gia ngày: Nov 2008
Bài gửi: 2
:
chào a Nam
E đang đọc đến phần module PWM, có phần độ phân giải PWM (= Tcy/2) e ko hiểu rõ ý nghĩa của nó lắm . Đọc tài liệu có phần trích dẫn là : "Though the clock to the time base timer is Tcy, the duty cycle resolution is Tcy/2; this feature can be utlized to obtain finer PWM resolution at lower device operating speeds, e.g., 11 bits of resolution at 19.5 Khz using a 20 MHz clock."
Mong a cùng các bạn có thể giải thích rõ hơn cho e hiểu được ko ạ.
chanxi9 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-12-2010, 05:26 PM   #79
truongaka
Nhập môn đệ tử
 
Tham gia ngày: Mar 2010
Bài gửi: 3
:
Chào mọi người!
Em đang dùng con Dspic 30f2020 để điều khiển đóng mở FET bằng cách điều chỉnh PWM.
Em thay đổi PDC1 để thay đổi Duty nhưng khi thay đổi PDC1 thì Duty đo trên osiloscope luôn không đổi. thầy Nam và mọi người xem giúp em với ạ?



#include <p30F2020.h>
#include <adc10.h>
// cau hinh cho chip
_FOSC(CSW_FSCM_OFF) // tat che do du phong
_FOSCSEL(FRC_PLL) //chon nguon xung trong
_FWDT(FWDTEN_OFF) //tat bo dinh thoi giam sat
_FPOR(PWRT_OFF)
// dinh nghia cac dinh nghia cac nhan cua chuong trinh
#define PWM_PORT PORTE // thanh ghi port E
#define PWM_TRIS TRISE // thanh ghi tris E
#define PWM_LAT LATE // thanh ghi lat E
#define Fcy 925000000 // TAN SO THUC THI LENH
#define Fpwm 50000 //tan so PWM = 50 kHz
// cac prototype
void Init_ADC0(void); // khoi tao adc
void Init_PORT(void); // khoi tao port
void Init_MCPWM(void);
//khoi tao cac module PWM
//int duty = 50;
// CHUONG TRINH CHINH
int main(void)
{ Init_PORT();
Init_ADC0();
Init_MCPWM();
// asm("nop");
// asm("nop");
// asm("nop");
while (1) ; // cho ngat
return 0;
}

// chuong trinh khoitao cong
void Init_PORT(void)
{
PWM_LAT = 0x0000; //Xoa thanh ghi chot tin hieu ra PWM
PWM_TRIS = 0x0000; // port E la output
TRISB = 0xFFFF; // port B la in put
ADPCFG = 0x0000; // port B la dau vao tuong tu
}

//Chuong trinh con khoi tao PWM chung cho cac module
void Init_MCPWM(void)
{
//PTCON = 0x0000;
PTPER = Fcy/Fpwm - 1; //Dat thanh ghi chu ky voi tan so PWM = 40 kHz
SEVTCMP = PTPER; //su kien dac biet duy nhat là khi bo dem bang PTPER
PWMCON1 = 0x0080; // thanh ghi dieu khien pwm1, dung rieng PDCx,lo dead_time
//PWMCON2 = 0x0080; // thanh ghi dieu khien pwm2, dung rieng PDCx,lo dead_time
PHASE1 = 0x0000;
PWMCON1 = 0x0001;
FCLCON1 = 0x0003;
//PHASE2 = Fcy/Fpwm - 1; // khoi tao period cho pwm2
PDC1 = 0.8*(PTPER + 1) ; // dat khoi tao duty cycle cho pwm1
//PDC2 = 0x00A0; // dat khoi tao duty cycle cho pwm2
IOCON1 = 0xC000;
IOCON2 = 0xC000;
PTCON = 0x8000; //Kich hoat module PWM
}

// chuong trinh khoi tao module ADC
void Init_ADC0(void)
{
ADCON = 0x2003; // CHO PHEP ADC HOAT DONG O 4 CHAN B0, B1, B2, B3
ADCPC0 = 0xC3C3; // lien ket voi PWM//
_ADIF = 0; //Xoa co ngat ADC
_ADCP0IF = 0; //--------------
ADSTATbits.P0RDY = 0; //XOA co bao data is ready
_ADCP1IF = 0; //--------------
ADSTATbits.P1RDY = 0; //XOA co bao data is ready
_ADIE = 1; //Cho phep ngat ADC
_ADON = 1; // cho phep ADC hoat dong
}

void _ISR _ADCInterrupt(void) //ham ngat cua adc
{
PDC1 = ADCBUF0*10; // gan ket qua adc ra pw1 (chan E0 va E1)
PDC2 = ADCBUF2*10; // gan ket qua adc ra pw2 (chan E3 va E4)
_ADIF = 0; // xoa co ngat
_ADCP0IF = 0; //xoa co ngat
ADSTATbits.P0RDY=0; //xoa bit bao du lieu
_ADCP1IF = 0; //xoa co ngat
ADSTATbits.P1RDY=0; //xoa bit bao du lieu
truongaka vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-10-2012, 07:18 PM   #80
provaidan
Nhập môn đệ tử
 
Tham gia ngày: Sep 2012
Bài gửi: 4
:
mình đang làm việc với dspic33fj32mc202,ai cho minh hỏi: mình ko thấy chân sử dụng Input Capture là pin nào?ai giúp mình với
thank nhiều!
provaidan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-10-2012, 10:28 AM   #81
dinhvanloc
Nhập môn đệ tử
 
Tham gia ngày: Oct 2012
Bài gửi: 1
:
Trích:
Nguyên văn bởi namqn View Post
Đây là tutorial 5 cho dsPIC, giới thiệu các module ADC và MCPWM. Mã nguồn được viết trong ASM30 (tập tin "Vidu5.zip") và C30 (tập tin "Vidu5C30.zip"). Các tập tin .hex đã được đính kèm.

Một ví dụ đọc ngõ vào ADC và điều chỉnh độ rộng xung một cách tương ứng, ví dụ còn lại đọc ngõ vào analog và gửi các ký tự biểu diễn giá trị đọc được(hexadecimal) ra cổng RS-232.

Chúc các bạn thành công!

Thân,
em chào anh. anh cho em hỏi cách nào để dừng động cơ đang chạy trong thời gian nhỏ nhất. em dùng IC l298 để điều khiển.
em cảm ơn anh!
dinhvanloc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-12-2012, 05:58 PM   #82
nguyenvietcuong
Nhập môn đệ tử
 
Tham gia ngày: Nov 2012
Bài gửi: 2
:
Trích:
Nguyên văn bởi dinhvanloc View Post
em chào anh. anh cho em hỏi cách nào để dừng động cơ đang chạy trong thời gian nhỏ nhất. em dùng IC l298 để điều khiển.
em cảm ơn anh!
Mình nghĩ dừng động cơ đang chạy trong thời gian nhỏ nhất thì chỉ cần cho xung điều khiển động cơ đó về 0, hoặc dùng chương trình đảo chiều quay của động cơ rồi cấp xung hãm cho nó, hoặc dùng thuật toán điều khiển vận tốc động cơ kết hợp encoder. Nhưng câu hỏi của bạn chung chung quá, không biết ý của bạn chỉ là tắt động cơ đang chạy hay còn có ý nào khác không nhỉ?
nguyenvietcuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-12-2012, 06:17 PM   #83
nguyenvietcuong
Nhập môn đệ tử
 
Tham gia ngày: Nov 2012
Bài gửi: 2
:
Mọi người có kinh nhiệm lập trình ADC cho dsPic33F cho em hỏi một chút xíu... Em đang lập trình ADC cho con dsPic33FJ32GS608. Nhưng em đọc trên datasheet của con này thì các thanh ghi ADC của nó khác hoàn toàn so với những con dsPic mà mọi người đang đang lấy ví dụ ở đây. Cụ thể là nó chỉ có thanh ghi ADCON mà không có các thanh ghi ADCON1, ADCON2, ADCON3. Em nghĩ là có thể datasheet không ghi hết nhưng khi em sử dụng các thanh ghi này trong MpLab IDE thì nó báo lỗi không hiểu các thanh ghi trên là gì. Em lên trên trang microchip để tìm code mẫu thì chỉ được các code dùng cho các con dsPic có các thanh ghi ADCON1, ADCON2, ADCON3 mà thôi. Trên datasheet của con chip này cũng có code mẫu nhưng em đã thử, nó biên dịch được nhưng chương trình không hoạt động. Em muốn hỏi mọi người có phải con dsPic33FJ32GS608 này có phải là dòng đặc biệt của microchip hay không mà thanh ghi ADC của nó lại khác học dsPic33F như vậy ạ? Mọi người đã từng làm với con này rồi có thể cho em một vài cao kiến hoặc chương trình khai báo sử sụng ADC của nó được không ạ? Em muốn sử dụng 8 chân ADC của nó để đọc tín hiệu sensor nhận vạch trắng.
nguyenvietcuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-09-2013, 10:33 PM   #84
manhquy1992
Nhập môn đệ tử
 
Tham gia ngày: Sep 2013
Bài gửi: 1
:
Ai có thư viện DSP30F trong protues không cho mình với!
manhquy1992 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

Ðiều Chỉnh
Xếp Bà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

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à 01: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