PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT PIC,...)

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

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 22-02-2008, 01:07 AM   #16
LeDuc
Đệ tử 6 túi
 
LeDuc's Avatar
 
Tham gia ngày: Mar 2007
Bài gửi: 150
:
Trích:
Nguyên văn bởi namqn View Post
Tất nhiên là được, vì xét về bản chất, tại bất kỳ thời điểm nào, bạn cũng chỉ cần 1 tín hiệu PWM.

Đây là một trong những cách khả thi. Tất nhiên về phía đầu vào thì bạn phát hiện cạnh để chọn động cơ được cấp PWM, nhưng phía đầu ra của PIC bạn cũng nên dùng thêm ngõ ra để hiện thực việc lái tín hiệu PWM đến động cơ cần được truyền động.

Thân,
Cho em hỏi cái này hơi chuối một chút , em ko hiểu "cách dùng chân CCP1 tạo xung + ngắt cạnh lên H_TO_L cho động cơ" là sao cả?.
Vậy ngắt này được tạo ra do đâu ? Có phài là ngắt của khối CCP kô ? nếu vậy thì chân ccp1 phải nhận được tín hiệu ngắt , sau khi có ngắt xảy ra nó sẽ tạo ra tín hiệu pwm phải ko ?
Nếu đúng như vậy thì khi có xung ngắt vào chân ccp , thì con lái (driver) mạch điều khiển động cơ cũng nhận được tín hiệu đó , như thế sẽ có ảnh hưởng đến việc điều khiển hả anh ?
CCP_PWM_H_H
CCP_PWM_H_L
CCP_PWM_L_H
CCP_PWM_L_L
Trong ccs nó co chỉ như vậy nhưng em kô hiểu , rất mong các anh chỉ giúp ..
Thanks for all !!
__________________
_________________________________________________
Le Trung Duc
Industry Research & Application Center
NTT Institute of Hi_technolog
ltduc@ntt.edu.vn
leduc_cktd@yahoo.com.vn
http://www.nttc.edu.vn
CNC DIY : http://quangcaosanpham.com/shop/driverservo
0909300332
LeDuc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-03-2008, 10:42 PM   #17
nhattan
Nhập môn đệ tử
 
Tham gia ngày: Jan 2008
Bài gửi: 1
:
Chào moi người .Cho tớ hỏi cái hàm điều xung bằng giá trị phần trăm (tức là mình sẽ truyền tham số cho hàm là giá trị phần trăm chứ không phải là value ) nằm ở đâu nhỉ ?tớ nghe nói là có ở trên diễn đàn mà, nên hỏi về để tham khảo .Có mục Tìm Kiếm ở trên rồi mà mình không tìm được.Cảm ơn mọi người
nhattan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-03-2008, 07:51 AM   #18
gaquay102
Nhập môn đệ tử
 
Tham gia ngày: Mar 2008
Bài gửi: 2
:
#Có ai cho em hỏi :
-setup_timer_2(T2_DIV_BY_1,255,1); thì 255 là duty max ah?
-sao duty 100% mức 1 thì động cơ cũng hok chạy nhanh bằng cấp thẳng mức 1?
gaquay102 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-03-2008, 12:55 PM   #19
nhh
Đệ tử 9 túi
 
nhh's Avatar
 
Tham gia ngày: Feb 2006
Bài gửi: 174
:
Send a message via Yahoo to nhh
Bạn nên đọc kỹ help CCS:
Lệnh set_pwm1_duty(value); dùng xác định duty cho xung PWM trên chân CCP1.

Tùy theo kiểu của value mà cách tính khác nhau.

- Nếu value là giá trị kiểu int 8bit thì CCS C sẽ dịch trái 2 bit để đủ 10bit

Công thức tính: %duty = value/(PR2 +1)*100%

- Nếu value là giá trị long int 16bit thì CCS C sẽ bỏ đi 4 bit cao

Công thức tính: %duty = (value & 1023)/(4*(PR2 +1))*100%


Hai đoạn code sau đều cho giá trị duty 50% trên chân CCP1:
Code:
int value = 128;
setup_ccp1(CCP_PWM);
setup_timer_2(T2_DIV_BY_16, 255, 1);
set_pwm1_duty(value);
Code:
int16 value = 512;
setup_ccp1(CCP_PWM);
setup_timer_2(T2_DIV_BY_16, 255, 1);
set_pwm1_duty(value);
__________________
Ngày mai bắt đầu từ ngày hôm nay

Bạn có thắc mắc, bạn cần sự hỗ trợ của các thành viên. Hãy đọc luồng này:
http://www.picvietnam.com/forum//showthread.php?t=1263
nhh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-03-2008, 02:16 AM   #20
phamtrieu138
Nhập môn đệ tử
 
phamtrieu138's Avatar
 
Tham gia ngày: Feb 2008
Bài gửi: 5
:
Code:
#include "C:\Documents and Settings\User\My Documents\thu pwm\hhff.h"
#byte portc=0x07
#use fast_io(c)
void bam()
{
set_pwm1_duty(800);
set_pwm2_duty(677);
}

void main()
{

setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(FALSE);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
setup_timer_2(T2_DIV_BY_1,255,1);
setup_ccp1(CCP_PWM);
setup_ccp2(CCP_PWM);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
set_tris_c(0);
bam();
while (1)
{
}
}
sao c1,c2 ra toàn bằng 0 vậy. có khai báo gì đặc biệt hay phai treo trở ở chân c1,c2 vậyy??????

thay đổi nội dung bởi: namqn, 19-03-2008 lúc 02:59 AM.
phamtrieu138 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-03-2008, 03:05 AM   #21
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 phamtrieu138 View Post
Code:
#include "C:\Documents and Settings\User\My Documents\thu pwm\hhff.h"
#byte portc=0x07
#use fast_io(c)
void bam()
{
set_pwm1_duty(800);
set_pwm2_duty(677);
}

void main()
{

setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(FALSE);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
setup_timer_2(T2_DIV_BY_1,255,1);
setup_ccp1(CCP_PWM);
setup_ccp2(CCP_PWM);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
set_tris_c(0);
bam();
while (1)
{
}
}
sao c1,c2 ra toàn bằng 0 vậy. có khai báo gì đặc biệt hay phai treo trở ở chân c1,c2 vậyy??????
Bạn vẫn chưa cho biết bạn dùng PIC nào. Bạn chưa cho biết bạn chạy mô phỏng hay trên mạch thực. Nếu bạn thử trên mạch thực thì sơ đồ mạch của bạn ra sao? Nếu bạn mô phỏng thì sơ đồ mạch dùng để mô phỏng ra sao?

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-03-2008, 05:20 AM   #22
phamtrieu138
Nhập môn đệ tử
 
phamtrieu138's Avatar
 
Tham gia ngày: Feb 2008
Bài gửi: 5
:
mình dùng pic6f877a. sơ đồ mạch thì đơn giản. chỉ lấy dầu ra là c1,c2 băm xung cho 2 động cơ đồng tốc.thank
phamtrieu138 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-03-2008, 07:43 AM   #23
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 phamtrieu138 View Post
mình dùng pic6f877a. sơ đồ mạch thì đơn giản. chỉ lấy dầu ra là c1,c2 băm xung cho 2 động cơ đồng tốc.thank
Ý của tôi là code của bạn khá đơn giản, không có vẻ sai chỗ nào, do đó tôi mới đặt vấn đề kiểm tra xem mạch của bạn có ổn hay không. Nếu là mạch thực thì bạn đã từng chạy thử chương trình nào trên đó chưa?

Trong nhiều trường hợp, chương trình không có vấn đề về thuật toán, nhưng PIC được cấu hình sai, dẫn đến không chạy khi cấp nguồn. Code của bạn không hề cho thấy PIC được cấu hình ra sao.

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-03-2008, 03:30 PM   #24
phamtrieu138
Nhập môn đệ tử
 
phamtrieu138's Avatar
 
Tham gia ngày: Feb 2008
Bài gửi: 5
:
Cấu hình khai báo của mình là

#include <16f877A.h>
#device adc=8

#FUSES NOWDT
#FUSES XT
#FUSES NOPUT
#FUSES NOPROTECT
#FUSES NODEBUG
#FUSES NOBROWNOUT
#FUSES NOLVP
#FUSES NOCPD
#FUSES NOWRT

#use delay(clock=4000000)

mình định dùng chuơng trình để băm xung cho 2 động cơ cho đồng tốc mà làm hơn tuần nay ko được đành phải băm bằng tay nên chạy ko được mịn lắm mà mất công
mong mọi người chỉ giúp

Cần gấp lắm
Thanksss anh em nhiều
phamtrieu138 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-10-2008, 06:58 PM   #25
vleminh
Đệ tử 1 túi
 
Tham gia ngày: Mar 2008
Bài gửi: 17
:
chào cả nhà! em muốn làm một dề tài là dùng pic 16f877a để lập trình và dùng lcd để hiển thị tốc độ của dong cơ. nhưng em mới vào nghề PIC nên còn gà lắm.bác nào co thể giúp em giải thuật lập trình đưoc ko?nếu có mạch nguyên lí nữa thí rất cảm ơn các bác. mong các pro giúp đỡ.
vleminh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-10-2008, 07:26 PM   #26
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Trích:
Nguyên văn bởi vleminh View Post
chào cả nhà! em muốn làm một dề tài là dùng pic 16f877a để lập trình và dùng lcd để hiển thị tốc độ của dong cơ. nhưng em mới vào nghề PIC nên còn gà lắm.bác nào co thể giúp em giải thuật lập trình đưoc ko?nếu có mạch nguyên lí nữa thí rất cảm ơn các bác. mong các pro giúp đỡ.
Hiên thị LCD em có thể đọc bài tại:
http://www.minhhaco.com/index.php?ac...st&cid=9&id=10

Điều khiển động cơ em đọc bài tại:
http://www.picvietnam.com/forum/showthread.php?t=485

Chúc vui
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-10-2008, 11:24 PM   #27
vleminh
Đệ tử 1 túi
 
Tham gia ngày: Mar 2008
Bài gửi: 17
:
cảm ơn anh F rất nhiều. các pro có thể giúp em một đoạn code tham khảo code được không? cho em hỏi giá của 1 lcd la bao nhiêu k vay nhi?
vleminh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-10-2008, 12:58 AM   #28
anhconnho
Nhập môn đệ tử
 
Tham gia ngày: Jul 2008
Bài gửi: 1
:
Hướng dẫn cụ thể về PWM trong PIC 16F877a

Có ai giúp mình tìm hiểu cách hoạt động của quá trình điều chế xung với.
Rất mong được các bác hướng dẫn cụ thể.
Cảm ơn các bác nhiều.
anhconnho vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-10-2008, 08:07 PM   #29
vleminh
Đệ tử 1 túi
 
Tham gia ngày: Mar 2008
Bài gửi: 17
:
ủa! không ai giúp mình với sao ? các bac pro đâu rồi giúp đệ với!!!!!!!
vleminh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-10-2008, 10:39 PM   #30
Macintosh
Đệ tử 3 túi
 
Tham gia ngày: Nov 2007
Bài gửi: 48
:
lcd 16*2 khoảng 60k bạn ah
code thi` bạn coi trong thư mục example ccs có mà
Macintosh 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à 08:14 PM.


Đượ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