Thông báo

Collapse
No announcement yet.

Độ chính xác của các RTC

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #31
    Mod VNarmy đừng bịt miệng anh em thế; kẻo lại có người lên diễn đàn thắc mắc "Một tiền lệ xấu cho diễn đàn".

    Đang nói chuyện về linh kiện vui, cách thiết kế tiết kiệm hơn, nhưng có mấy người cứ thích bẻ quặt để cãi cho cái gọi là "uy tín" của mình thì phải nói cho ra nhẽ mới thôi.
    Phần mềm tự do hoặc không dùng máy tính nữa !.

    Comment


    • #32
      Chuyện linh kiện tốt xấu thiết nghĩ không nên bàn ở box này. Các bác có thể vào tám gẫu ở box tám.
      AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
      Xem thêm tại Online Store ---> Click here
      Mob: 0982.083.106

      Comment


      • #33
        Topic này có lẽ nên đổi thành "chất lượng linh kiện abc mua ở các tiệm". Chứ nếu nói về độ chính xác thì trong datasheet của mấy con RTC đều có ghi, hãng người ta làm ra người ta test hết rồi, nếu đúng hàng hiệu thì cứ theo datasheet mà căn cứ vào!

        Comment


        • #34
          Hoan hô tình thần chia sẽ thông tin mua hàng của bác mgdaubo để mọi người rút kinh nghiệm về sau. Còn chuyện chất lượng của TMe thì ko thể vơ đũa cá nắm được, đây chỉ là vấn đề "bức xúc" về mấy con RTC thôi. Nếu đặt mình vào vị trí của bác mgdaubo, mua chip gì mà có tới 20% lỗi + ko được đổi hay trả lại -> ai ko bức xúc thì dúng là có vấn đề. Mong nhận được nhiều thông tin về blacklist của anh em để cùng rút kinh nghiệm đi mua hàng.

          Regards

          Email:
          Phone: 0905.034.086

          Comment


          • #35
            Nguyên văn bởi mrcuongcon Xem bài viết
            Hôm nay emngồi làm với con thạch anh 32768hz mà sao giờ giấc chả đúng gì cả. Một giờ chắc chạy sai cả chục giây là tại làm sao nhỉ ?
            Code:
            /*****************************************************
            
            
            Project : 
            Version : 
            Date    : 6/27/2010
            Author  : thangcan_new
            Company : Phuong Dong University
            Comments: 
            
            
            Chip type               : ATmega8
            Program type            : Application
            AVR Core Clock frequency: 1.000000 MHz
            Memory model            : Small
            External RAM size       : 0
            Data Stack size         : 256
            *****************************************************/
            
            #include <mega8.h>
            #include <delay.h>
            #define latch PORTB.2 
            #define data PORTB.3
            #define clock PORTB.5 
            unsigned char num[10]=  {0b00000011,0b10011111,0b00100101,0b00001101,0b10011001,
                                     0b01001001,0b01000001,0b00011111,0b00000001,0b00001001};
            unsigned char LED[8] ={0b00000011,0b10011111,0b00100101,0b00001101,0b10011001,0b01001001,0b01000001,0b00011111};
            char not_leap(void);
            typedef struct{ 
            unsigned char second;   //enter the current time, date, month, and year
            unsigned char minute;
            unsigned char hour;                                     
            unsigned char date;       
            unsigned char month;
            unsigned int year;      
                        }time;
            
             time t;    
            //***********************************************************************************
            // Timer 2 overflow interrupt service routine
            interrupt [TIM2_OVF] void timer2_ovf_isr(void)
            {
                if (++t.second==60)        //keep track of time, date, month, and year
                {
                    t.second=0;
                    if (++t.minute==60) 
                    {
                        t.minute=0;
                        if (++t.hour==24)
                        {
                            t.hour=0;
                            if (++t.date==32)
                            {
                                t.month++;
                                t.date=1;
                            }
                            else if (t.date==31) 
                            {                    
                                if ((t.month==4) || (t.month==6) || (t.month==9) || (t.month==11)) 
                                {
                                    t.month++;
                                    t.date=1;
                                }
                            }
                            else if (t.date==30)
                            {
                                if(t.month==2)
                                {
                                   t.month++;
                                   t.date=1;
                                }
                            }              
                            else if (t.date==29) 
                            {
                                if((t.month==2) && (not_leap()))
                                {
                                    t.month++;
                                    t.date=1;
                                }                
                            }                          
                            if (t.month==13)
                            {
                                t.month=1;
                                t.year++;
                            }
                        }
                    }
                }  
            }
            //***********************************************************************************
              char not_leap(void)      //check for leap year
            {
                if (!(t.year%100))
                    return (char)(t.year%400);
                else
                    return (char)(t.year%4);
                    }   
            //***********************************************************************************        
            void latch_on(){
                latch=1;
                latch=0;                       
            }
            //***********************************************************************************
            void display(){
                unsigned char i,k,data1;
                for (i=0;i<8;i++)
                {
                data1=LED[i];
                 for (k=0;k<8;k++)
                  {
                   data=data1 & 0x01; 
                   data1=data1>>1; 
                   clock=1;clock=0;   
                  }
                }
                 latch_on();
                for (i=0;i<8;i++)
                {
                data1=0xff;
                 for (k=0;k<8;k++)
                  {
                   data=data1 & 0x01; 
                   data1=data1>>1; 
                   clock=1;clock=0;   
                  }
                }
                 latch_on();
             }
            //***********************************************************************************
            void make_code(){
                LED[4]=num[t.second/10];
                LED[5]=num[t.second%10]; 
                LED[6]=num[t.minute /10];
                LED[7]=num[t.minute%10];
            }
            //***********************************************************************************
            // Declare your global variables here
            
            void main(void)
            {
            // Declare your local variables here
            
            // Input/Output Ports initialization
            // Port B initialization
            // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
            // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
            PORTB=0x00;
            DDRB=0x00;
            
            // Port C initialization
            // Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
            // State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
            PORTC=0x00;
            DDRC=0x00;
            
            // Port D initialization
            // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
            // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
            PORTD=0x00;
            DDRD=0x00;
            
            // Timer/Counter 0 initialization
            // Clock source: System Clock
            // Clock value: Timer 0 Stopped
            TCCR0=0x00;
            TCNT0=0x00;
            
            // Timer/Counter 1 initialization
            // Clock source: System Clock
            // Clock value: Timer 1 Stopped
            // Mode: Normal top=FFFFh
            // OC1A output: Discon.
            // OC1B output: Discon.
            // Noise Canceler: Off
            // Input Capture on Falling Edge
            // Timer 1 Overflow Interrupt: Off
            // Input Capture Interrupt: Off
            // Compare A Match Interrupt: Off
            // Compare B Match Interrupt: Off
            TCCR1A=0x00;
            TCCR1B=0x00;
            TCNT1H=0x00;
            TCNT1L=0x00;
            ICR1H=0x00;
            ICR1L=0x00;
            OCR1AH=0x00;
            OCR1AL=0x00;
            OCR1BH=0x00;
            OCR1BL=0x00;
            
            // Timer/Counter 2 initialization
            // Clock source: TOSC1 pin
            // Clock value: PCK2/1024
            // Mode: Normal top=FFh
            // OC2 output: Disconnected
            ASSR=0x08;
            TCCR2=0x05;
            TCNT2=0x00;
            OCR2=0x00;
            
            // External Interrupt(s) initialization
            // INT0: Off
            // INT1: Off
            MCUCR=0x00;
            
            // Timer(s)/Counter(s) Interrupt(s) initialization
            TIMSK=0x40;
            
            // Analog Comparator initialization
            // Analog Comparator: Off
            // Analog Comparator Input Capture by Timer/Counter 1: Off
            ACSR=0x80;
            SFIOR=0x00;
            
            // Global enable interrupts
            #asm("sei")
              DDRB.3=DDRB.5=DDRB.2=1;
            
            while (1)
                  {  
                  make_code();
                  display();
                  delay_ms(10);
                  // Place your code here
            
                  };
            }
            Không ai trả lời giúp em? Why?

            Comment


            • #36
              Làm trên nền AVR xin dành chờ Mod VNarmy.
              Phần mềm tự do hoặc không dùng máy tính nữa !.

              Comment


              • #37
                Nguyên văn bởi mrcuongcon Xem bài viết
                Không ai trả lời giúp em? Why?
                bạn mô phỏng hay mạch thật,mình chưa học về avr nhưng nếu bạn mô phỏng thì thời gian chậm hơn thực tế đấy
                sale of Gobal Automation Solution Company Limited

                Comment


                • #38
                  Vấn đề chất lượng linh kiện cũng đáng đem ra bàn luận để mọi người biết mà đề phòng. Tôi mua vài trăm con DS1307 ở Hàn Thuyên (HN) chỉ 7k/con mà chỉ chết < 10 con, sai số cũng như mọi người nói ở trên nhưng đối với sp của tôi thì chấp nhận được. Nhung cũng tại đó tôi đã mua vài trăm con LM35 về thử chết từ trứng nước khoàng 30/%, hàn tiếp vào mạch rồi thử chếp tiếp khoảng 10%, số còn lại đem sử dung thời gian ngắn chết tiếp khoảng 10%, tóm lại chỉ dùng được khoảng 50%, tôi đã thử tại cửa hàng và chủ cửa hàng cũng xác nhận tỷ lệ chết lúc còn nguyên gói như trên. Thời gian đầu còn cho đổi nhưng về sau thì không cho đổi mà phải chấp nhận thích thì mua ko thì thôi. Do yêu cầu sx nên phải chấp nhận coi như giá đắt gấp đôi (17 HT bán 11k/con). Tôi cũng mua vài chục con ở chợ trời (15-16k/com) về thừ tỷ lệ chết cũng 20-30%. Cũng biết hàng China chất lượng kém, tỷ lệ hỏng vài % đã là cao nhưng cong chấp nhận được, tỷ lệ hỏng đến vài chục % thì pahir chấp nhận trước mắt chứ lâu dài thì phải tính đến chuyện đặt hàng nước ngoài. Không biết có ai gặp phải vấn đề như tôi ko?

                  Comment


                  • #39
                    Nguyên văn bởi dangtuandat Xem bài viết
                    bạn mô phỏng hay mạch thật,mình chưa học về avr nhưng nếu bạn mô phỏng thì thời gian chậm hơn thực tế đấy
                    Chán wa không làm với con thạch anh ngoài nữa, câu vào con DS1307 rồi >.
                    Chương trình phía trên hiện đang cấu hình:
                    - Timer2 đếm xung từ chân TOSC bên ngoài, tần số thạch anh 32Khz.
                    -Thạch anh nối thẳng vào chân TOSC
                    - Bộ chia trong timer để ở 128, Timer 2-8bit, dùng ngắt, do đó ngắt timer đúng 1 giây 1 lần.
                    Do cách tính như vậy nên chương trình phải chạy thời gian...chậm hơn thực tế mới đúng vì còn mất một vài chu kì ngắt timer (Cái này ngày trước làm với 8051 nên biết vậy), ở đây lại chạy nhanh hơn ? Đổ lỗi cho con thạch anh thì vẫn con thạch anh đó hiện đang dùng cho con DS1307 thì chạy bình thường.

                    Comment


                    • #40
                      chào anh Huy ạ "mrcuongcon" lâu lắm không gặp anh,anh khỏe không ạ, anh ơi em đang tim hiểu về thời gian thực, em chưa hiểu lắm, có gi anh giúp em nhé, anh cho em nick yahoo nhé anh, nick yahoo của em là matrix010988 , cảm ơn anh

                      Comment


                      • #41
                        Nguyên văn bởi bqviet Xem bài viết
                        Vấn đề không nằm ở chỗ vài nghìn đồng hay vài chục nghìn đồng. Buồn cười ở chỗ một con chip đảm nhiệm chức năng phụ (mặc dù cũng khá quan trọng) lại đắt gấp đôi bộ não.
                        Em thấy vụ này bình thường mà, ông anh em làm nhà máy bảo làm về PLC mới thấy cái này khiếp đảm. 1 con PLC đã đắt rồi, các modul lâu bâu xung quanh còn đắt lòi mắt hơn cả PLC => tùy ứng dụng kiếm con nào độ tích hợp cao cao một tí là OK
                        Nhân tiện cho em hoi em muốn dùng AVR để chạy thời gian thực nhưng không biết cách thiết lập chế độ sleep trong AVR rồi đánh thức nó ra sao ( để chạy đỡ tốn pin ý mà ). Em đang tìm hiểu AVR nên gà lắm.

                        Comment


                        • #42
                          TME phân loại RTC DS12887 sau khi mgdaubo mua hàng bị lỗi nhưng không được trả lại. Cả 2 loại mà TME đưa ra ở trên bề mặt đều ghi là made in philipine. Thì làm sao phân biệt được loại nào thật loại nào giả, sao không phân loại trước luôn đi để bây giờ xảy ra sự cố rồi mới làm. Hay thực ra là cùng một nguồn hàng, sau đó đem về test, con nào chạy tốt thì là của philipines, con nào chạy không tốt thì của china.

                          Comment


                          • #43
                            Nguyên văn bởi nmhai Xem bài viết
                            TME phân loại RTC DS12887 sau khi mgdaubo mua hàng bị lỗi nhưng không được trả lại. Cả 2 loại mà TME đưa ra ở trên bề mặt đều ghi là made in philipine. Thì làm sao phân biệt được loại nào thật loại nào giả, sao không phân loại trước luôn đi để bây giờ xảy ra sự cố rồi mới làm. Hay thực ra là cùng một nguồn hàng, sau đó đem về test, con nào chạy tốt thì là của philipines, con nào chạy không tốt thì của china.
                            Trắng đen lẫn lộn, thật là đau lòng "cò con"

                            Regards

                            Email:
                            Phone: 0905.034.086

                            Comment


                            • #44
                              Nhìn trên ảnh theo cái link TMe đưa thì chíp RTC nào cũng made in Philipines cả. Làm sao khách hàng phân biệt được cái nào đúng sản xuất ở Philipines, cái nào từ khựa ? Hay chỉ có người bán mới biết ?

                              Mà nếu cứ mua cái hàng đắt (nghe nói là made in Philipines) nhưng về vẫn hỏng, vẫn không đổi được thì biết làm thế nào ? Có ai biết thực sự đám hàng đắt đấy có đúng made in Philipines không ?
                              Phần mềm tự do hoặc không dùng máy tính nữa !.

                              Comment


                              • #45
                                Nguyên văn bởi nmhai Xem bài viết
                                TME phân loại RTC DS12887 sau khi mgdaubo mua hàng bị lỗi nhưng không được trả lại. Cả 2 loại mà TME đưa ra ở trên bề mặt đều ghi là made in philipine. Thì làm sao phân biệt được loại nào thật loại nào giả, sao không phân loại trước luôn đi để bây giờ xảy ra sự cố rồi mới làm. Hay thực ra là cùng một nguồn hàng, sau đó đem về test, con nào chạy tốt thì là của philipines, con nào chạy không tốt thì của china.
                                Nguyên văn bởi nmhai Xem bài viết
                                TME phân loại RTC DS12887 sau khi mgdaubo mua hàng bị lỗi nhưng không được trả lại. Cả 2 loại mà TME đưa ra ở trên bề mặt đều ghi là made in philipine. Thì làm sao phân biệt được loại nào thật loại nào giả, sao không phân loại trước luôn đi để bây giờ xảy ra sự cố rồi mới làm. Hay thực ra là cùng một nguồn hàng, sau đó đem về test, con nào chạy tốt thì là của philipines, con nào chạy không tốt thì của china.
                                Nguyên văn bởi bqviet Xem bài viết
                                Nhìn trên ảnh theo cái link TMe đưa thì chíp RTC nào cũng made in Philipines cả. Làm sao khách hàng phân biệt được cái nào đúng sản xuất ở Philipines, cái nào từ khựa ? Hay chỉ có người bán mới biết ?

                                Mà nếu cứ mua cái hàng đắt (nghe nói là made in Philipines) nhưng về vẫn hỏng, vẫn không đổi được thì biết làm thế nào ? Có ai biết thực sự đám hàng đắt đấy có đúng made in Philipines không ?
                                Mấy bác này cũng thích đùa nhỉ, riêng bqv thì đùa quá dai...

                                Các bác cũng thừa biết là các hình ảnh linh kiện trên các trang web chỉ mang tính tham khảo, vậy mà các bác cứ nhằm vào đó mà phán??? sao ngây thơ quá hay giả bộ ngây thơ?

                                Thôi thì dành chút thời gian khai thông cho mấy bác cũng là việc nên làm.

                                Trước tiên xem cái hình thực tế của nó rồi mình phân tích sau:

                                Nhìn vào hình các bác có thấy sự khác biệt không nhỉ,

                                Mời các bác nmhai, cskiller, bqviet tham gia trò chơi tìm sự khác nhau giữa các hình trên nhé, dễ như các em mẫu giáo thường chơi ấy mà, cố lên nhé, giải thưởng cho người tìm ra nhanh nhất là 1 con DS12C887 Philippines, giải nhì 1 em hàng China và giải 03 sẽ nhận được một lời khen "có tiến bộ" - Chắc chắn 3 bác đều có giải.

                                .

                                Comment

                                Về tác giả

                                Collapse

                                mgdaubo a bull Tìm hiểu thêm về mgdaubo

                                Bài viết mới nhất

                                Collapse

                                Đang tải...
                                X