PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Điều khiển (http://www.picvietnam.com/forum/forumdisplay.php?f=21)
-   -   Pic 18f4331 (http://www.picvietnam.com/forum/showthread.php?t=210)

xuanhiendk2 27-07-2009 11:16 PM

Trích:

Nguyên văn bởi greenfield (Post 28126)
Proteus mô phỏng không chính xác lắm đâu bạn.

Nhưng mình tính toán theo công thức cung cấp trong datasheet và mô phỏng trên Proteus thì thấy hợp lý. Đến khi kiểm tra lại thì thấy không đúng. Liệu phần cứng của mình có vấn đề không nhỉ. Tần số thạch anh 20 MHz mà lắp tụ 33p liệu có ổn không nhỉ?

greenfield 28-07-2009 08:34 AM

Thạch anh 20MHz bạn phải lắp tụ 15pF thôi. Theo kinh nghiệm của mình thì thạch anh tần số càng cao thì tụ ổn định dao đọng phải giảm xuống. Mà bạn có thể pót sơ đồ lên cho anh em xem thử.

xuanhiendk2 28-07-2009 07:11 PM

Trích:

Nguyên văn bởi greenfield (Post 28136)
Thạch anh 20MHz bạn phải lắp tụ 15pF thôi. Theo kinh nghiệm của mình thì thạch anh tần số càng cao thì tụ ổn định dao đọng phải giảm xuống. Mà bạn có thể pót sơ đồ lên cho anh em xem thử.

Mình đã test lại mạch. Vẫn dùng tụ 33pF. Xung đo ra đã đúng nhưng không hiểu sao chỉ chạy được một lúc là Pic lại tịt ngỏm. (Nếu không dùng hai tụ 104 ở hai chân VDD nối xuống mass) hoặc chạy nhưng tần số không chính xác(nếu dùng 2 tụ 104 ở hai chân VDD nối xuống mass)
Mình không post file lên được
Hx hx! Mong mọi người giúp đỡ
Code:

#include "E:\POWER CONTROL MOTOR\XUANHIEN.h"
#fuses  HS,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT
#use delay(clock=20000000)

int16 TB,TA,HALF_T0,TS,MODULATION_INDEX;
int8 DEGREE_CONSTANT,REQUIRED_MOTOR_SPEED;
INT16 PHASE_R_DUTY,PHASE_Y_DUTY,PHASE_B_DUTY;
unsigned INT8  i = 0;
CONST INT16 TABLE_TB[256] = {0,4,8,12,16,20,24,28,32,36,40,44,48,52,55,59,63,67,71,
75,79,83,87,91,95,99,103,107,111,115,119,123,126,130,134,138,142,146,150,154,158,
162,166,170,173,177,181,185,189,193,197,201,205,208,212,216,220,224,228,232,235,
239,243,247,251,255,258,262,266,270,274,278,281,285,289,293,296,300,304,308,311,
315,319,323,326,330,334,338,341,345,349,352,356,360,363,367,371,374,378,382,385,
389,393,396,400,403,407,411,414,418,421,425,429,432,436,439,443,446,450,453,457,
460,464,467,471,474,478,481,484,488,491,495,498,501,505,508,512,515,518,522,525,
528,532,535,538,541,545,548,551,555,558,561,564,567,571,574,577,580,583,586,590,
593,596,599,602,605,608,611,614,617,621,624,627,630,633,636,639,642,644,647,650,
653,656,659,662,665,668,671,673,676,679,682,685,687,690,693,696,699,701,704,707,
709,712,715,717,720,723,725,728,731,733,736,738,741,743,746,748,751,753,756,758,761,
763,766,768,770,773,775,777,780,782,784,787,789,791,794,796,798,800,803,805,807,809,
811,813,816,818,820,822,824,826,828,830,832,834,836};
Void GENERATE_PWM()
  {
 
  set_power_pwm0_duty(PHASE_R_DUTY);
  set_power_pwm2_duty(PHASE_Y_DUTY);
  set_power_pwm4_duty(PHASE_B_DUTY);

    }

void main()
{

  setup_adc_ports(NO_ANALOGS|VSS_VDD);
  setup_adc(ADC_OFF|ADC_TAD_MUL_0);
  setup_spi(FALSE);
  setup_wdt(WDT_OFF);
  setup_timer_0(RTCC_INTERNAL);
  setup_timer_1(T1_DISABLED);
  setup_timer_2(T2_DISABLED,0,1);
  setup_oscillator(False);

  setup_power_pwm_pins(PWM_COMPLEMENTARY,PWM_COMPLEMENTARY,PWM_COMPLEMENTARY,PWM_COMPLEMENTARY);
  setup_power_pwm(PWM_CLOCK_DIV_4|PWM_UP_DOWN|PWM_DEAD_CLOCK_DIV_4,1,0,250,0,1,8);

  MODULATION_INDEX = 1;
  TS    = 1000;                                        //PWM_DC_MAX
  i = 0;
while (1)
 {
 
          TB    = TABLE_TB[i]*MODULATION_INDEX;            //VALUE OF TB
             
          TA    = TABLE_TB[255-i]*MODULATION_INDEX;        //VALUE OF TB
           
          HALF_T0    = (TS-(TA+TB))/2;                      //T0/2

         
                PHASE_R_DUTY = HALF_T0;                  //PHASE R DC = T0/2
                PHASE_Y_DUTY = TA + HALF_T0;            //PHASE Y DC = T0/2 + TA
                PHASE_B_DUTY = TS - HALF_T0;            //PHASE B DC = TS - T0/2
                GENERATE_PWM();

                PHASE_Y_DUTY = HALF_T0;                  //PHASE Y DC = T0/2
                PHASE_R_DUTY = HALF_T0 + TB;            //PHASE R DC = T0/2 + TB
                PHASE_B_DUTY = TS - HALF_T0;            //PHASE B DC = TS - T0/2
                GENERATE_PWM();

                PHASE_R_DUTY = TS - HALF_T0;            //PHASE R DC = TS - T0/2
                PHASE_Y_DUTY = HALF_T0;                  //PHASE Y DC = T0/2
                PHASE_B_DUTY = HALF_T0 + TA;            //PHASE B DC = T0/2 + TA
                GENERATE_PWM();

                PHASE_R_DUTY = TS - HALF_T0;
                PHASE_Y_DUTY = HALF_T0 + TB;
                PHASE_B_DUTY = HALF_T0;
                GENERATE_PWM();

                PHASE_R_DUTY = HALF_T0 + TA;
                PHASE_Y_DUTY = TS - HALF_T0;
                PHASE_B_DUTY = HALF_T0;
                GENERATE_PWM();

                PHASE_R_DUTY = HALF_T0;
                PHASE_Y_DUTY = TS - HALF_T0;
                PHASE_B_DUTY = HALF_T0 + TB;
                GENERATE_PWM();

        i++;
 
      if (i >=255 )
        {i=0;
   
        }

 }

}


nguyenhungvt37 19-08-2009 05:18 PM

nhocdauvang@yahoo.com

nguyenhungvt37 19-08-2009 05:23 PM

Trích:

Nguyên văn bởi Macintosh (Post 18820)
Mình share mạch của mình ,ai cảm thấy có ích thì dùng .mạch này mình dùng mùa Robo vừa rồi,chạy ok.
mạch dùng pic8f4331/4431,dk PWM cả 6 dộng cơ có đảo chiều,mạch cảm biến,nhập tín hiệu,LCD.
board mình đưa trước, Firmware sẽ đưa sau.
bạn nào cần thì cho email mình gửi cho.

nhocdauvang@yahoo.com

Argentina 20-08-2009 03:34 PM

Trích:

Nguyên văn bởi Macintosh (Post 18820)
Mình share mạch của mình ,ai cảm thấy có ích thì dùng .mạch này mình dùng mùa Robo vừa rồi,chạy ok.
mạch dùng pic8f4331/4431,dk PWM cả 6 dộng cơ có đảo chiều,mạch cảm biến,nhập tín hiệu,LCD.
board mình đưa trước, Firmware sẽ đưa sau.
bạn nào cần thì cho email mình gửi cho.

bác cho em xin 1 bản vs ạ

lqa.tdh47@gmail.com

thanks bác nhiều ạ

vinasheva 26-08-2009 11:26 PM

Trích:

Nguyên văn bởi Macintosh (Post 18820)
Mình share mạch của mình ,ai cảm thấy có ích thì dùng .mạch này mình dùng mùa Robo vừa rồi,chạy ok.
mạch dùng pic8f4331/4431,dk PWM cả 6 dộng cơ có đảo chiều,mạch cảm biến,nhập tín hiệu,LCD.
board mình đưa trước, Firmware sẽ đưa sau.
bạn nào cần thì cho email mình gửi cho.

Bạn gửi cho mình với chlong.mechatronics@gmail.com Cám ơn bạn nhiều

greenfield 27-08-2009 10:28 AM

gui cho minh voi
 
mail cua minh: htlongbkdn@gmail.com

daoanhxuyen 01-03-2010 04:24 PM

có bạn nào biết ở hà nội chỗ nào bán con ir 2184 không? mình đang cần quá.

taibobk 02-03-2010 06:10 AM

Trích:

Nguyên văn bởi Macintosh (Post 18820)
Mình share mạch của mình ,ai cảm thấy có ích thì dùng .mạch này mình dùng mùa Robo vừa rồi,chạy ok.
mạch dùng pic8f4331/4431,dk PWM cả 6 dộng cơ có đảo chiều,mạch cảm biến,nhập tín hiệu,LCD.
board mình đưa trước, Firmware sẽ đưa sau.
bạn nào cần thì cho email mình gửi cho.

gửi cho em với
prettyboy_aloun01@yahoo.co.uk

vietlong04 15-03-2010 06:40 PM

Trích:

Nguyên văn bởi Macintosh (Post 18820)
Mình share mạch của mình ,ai cảm thấy có ích thì dùng .mạch này mình dùng mùa Robo vừa rồi,chạy ok.
mạch dùng pic8f4331/4431,dk PWM cả 6 dộng cơ có đảo chiều,mạch cảm biến,nhập tín hiệu,LCD.
board mình đưa trước, Firmware sẽ đưa sau.
bạn nào cần thì cho email mình gửi cho.

bạn có thể gửi cho mình với được không - ah bạn có biết dùng mode QEI của 18f4331 ko nếu có bạn có thể gửi cho mình coi code với. cám ơn nhiều.
mail: dragonking_fly04clc@yahoo.com

hangocminh1989 20-04-2010 08:25 PM

Trích:

Nguyên văn bởi tamrua (Post 16648)
ok, mạch mình dùng IR2184 và 4 con IRF 730 or IRF 540, sơ có trên mạng, mình cũng tải từ PICVIETNAM thôi, bạn cho DC mail mình gởi cho, than.

mail cho mình cái mạch đó nữa nha
hangocminh1989@yahoo.com.vn
thank bạn nhìu nha

bokinhvanbk 10-10-2013 10:55 PM

Chào bạn. Mình đang làm về đề tài này. Bạn có thể gửi cho mình xin với được không?
 
Trích:

Nguyên văn bởi Macintosh (Post 18820)
Mình share mạch của mình ,ai cảm thấy có ích thì dùng .mạch này mình dùng mùa Robo vừa rồi,chạy ok.
mạch dùng pic8f4331/4431,dk PWM cả 6 dộng cơ có đảo chiều,mạch cảm biến,nhập tín hiệu,LCD.
board mình đưa trước, Firmware sẽ đưa sau.
bạn nào cần thì cho email mình gửi cho.

Chào bạn! Mình đang làm về đề tài này. Bạn có thể cho mình xin với được không ? Mình cảm ơn bạn rất nhiều.
Mail của mình là minhvu.nb88@gmail.com


Múi giờ GMT. Hiện tại là 09:41 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam