![]() |
|
![]() |
#1 |
Đệ tử 6 túi
Tham gia ngày: Oct 2006
Bài gửi: 147
: |
ko dùng while() trong hàm ccp-->vâng.
anh có thể nói rõ hơn cái sai về hàm ccp2() của em được ko ạ? và em có thể dùng pwm2 được ko?(xloi anh vì em đợc datasheet nhưng chưa hỉu) |
![]() |
![]() |
![]() |
#2 |
Đệ tử 6 túi
Tham gia ngày: Mar 2007
Bài gửi: 150
: |
![]() cai ham ccp2() của bạn sai ở chỗ bạn set nhầm duty của kênh ccp1 đó. đáng lẽ phải là " set_pwm2_duty(b);" chỉ vậy thôi.
__________________
_________________________________________________ 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 |
![]() |
![]() |
![]() |
#3 |
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? |
![]() |
![]() |
![]() |
#4 |
Đệ tử 9 túi
|
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 |
![]() |
![]() |
![]() |
#5 |
Nhập môn đệ tử
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) { } } thay đổi nội dung bởi: namqn, 19-03-2008 lúc 02:59 AM. |
![]() |
![]() |
![]() |
#6 | |
Trưởng lão PIC bang
|
Trích:
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 |
|
![]() |
![]() |
![]() |
#7 |
Nhập môn đệ tử
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
|
![]() |
![]() |
![]() |
#8 | |
Trưởng lão PIC bang
|
Trích:
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 |
|
![]() |
![]() |
![]() |
#9 |
Nhập môn đệ tử
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 |
![]() |
![]() |
![]() |
#10 |
Đệ 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 đỡ.
|
![]() |
![]() |
![]() |
#11 | |
PIC Bang chủ
|
Trích:
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
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
|
![]() |
![]() |
![]() |
#12 |
Đệ 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?
|
![]() |
![]() |
![]() |
#13 |
Đệ 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!!!!!!!
|
![]() |
![]() |
![]() |
#14 |
Đệ 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à |
![]() |
![]() |
![]() |
#15 |
Đệ tử 1 túi
Tham gia ngày: Mar 2008
Bài gửi: 17
: |
cám ơn bạn.đề tài của mình là thiết kế mạch điều khiển động cơ và hiển thị tốc độ của nó ra lcd. mình muốn nhờ các pro viết code để tham khảo .nếu ai có mạch thì sent cho mình với.thanks nhiều.
|
![]() |
![]() |
![]() |
|
|