Thông báo

Collapse
No announcement yet.

Giup do ve ADC

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

  • Giup do ve ADC

    Chưa bao giờ em thấy ADC của VDK nào lại khó sử dụng như của Psoc!Mấy ngày nay khốn khổ vì nó! Đầu vào P0.1 cho qua PGA (GAIN=1,AGND) sau đó cho qua ADCINC12,(tấn số lấy mẫu 1.5MHz) do 1 counter8 cung cấp.Chương trình chính chỉ quét phím và đọc ADC.Sử dụng 1 ngắt của Timer8 (1/10 s một lần ngắt).Giá trị ADC đọc được hiển thị lên LCD.Không hiểu sao cứ nối P0.1 vào mức điện áp 0<Vin<5V thì giá trị đọc rất chính xác (không bị nhảy nữa )còn khi không nối gì (để P0.1 lửng lơ) thì giá trị cứ nhảy loạn lên(từ 0 đến 5V).Ai có làm về ADC rồi xin chỉ giáo cho vài điều!Có phải là do thiết lập AGND trong Psoc là không chính xác không?
    Technical Institutes
    Mobile: 0983278725
    Email:

  • #2
    Cai van de nay thi rat binh thuong thoi ma, chuyen khong noi voi dau` do nao` thi` tat nhien no se nhay loan len roi`.

    Comment


    • #3
      Nguyên văn bởi process Xem bài viết
      Chưa bao giờ em thấy ADC của VDK nào lại khó sử dụng như của Psoc!Mấy ngày nay khốn khổ vì nó! Đầu vào P0.1 cho qua PGA (GAIN=1,AGND) sau đó cho qua ADCINC12,(tấn số lấy mẫu 1.5MHz) do 1 counter8 cung cấp.Chương trình chính chỉ quét phím và đọc ADC.Sử dụng 1 ngắt của Timer8 (1/10 s một lần ngắt).Giá trị ADC đọc được hiển thị lên LCD.Không hiểu sao cứ nối P0.1 vào mức điện áp 0<Vin<5V thì giá trị đọc rất chính xác (không bị nhảy nữa )còn khi không nối gì (để P0.1 lửng lơ) thì giá trị cứ nhảy loạn lên(từ 0 đến 5V).Ai có làm về ADC rồi xin chỉ giáo cho vài điều!Có phải là do thiết lập AGND trong Psoc là không chính xác không?
      Hơ hơ... nếu ta giữ nó thì nó sẽ nằm ở vị trí điện áp ta giữ, còn nếu thả lỏng thì nó là trạng thái cao trở, cái giao động bạn đo được là ảnh hưởng của sóng điện từ đấy. Bạn có bao giờ tự hỏi là vì sao người ta lại thu được sóng FM bằng một cái que ăng ten lửng lơ chưa?
      AFH

      Comment


      • #4
        Cam on AFH đã chỉ,thật đúng là biển hoc mênh mông,được cái này thì lại càng thấy kém cái khác,không hiểu về ADC bác nào hôm trước nói bù trừ offset gì đó mà bù được điểm 0,AHF có thể giải thích được không.Hiện tại mình đang làm đo ADC nhung đo ở điểm 0V lúc nào cũng là 0.31 V.
        Technical Institutes
        Mobile: 0983278725
        Email:

        Comment


        • #5
          Nguyên văn bởi process Xem bài viết
          Cam on AFH đã chỉ,thật đúng là biển hoc mênh mông,được cái này thì lại càng thấy kém cái khác,không hiểu về ADC bác nào hôm trước nói bù trừ offset gì đó mà bù được điểm 0,AHF có thể giải thích được không.Hiện tại mình đang làm đo ADC nhung đo ở điểm 0V lúc nào cũng là 0.31 V.
          Úi, bạn đo 0.31V là đo bằng cái gì thế? Đồng hồ vạn năng ư? hay là bạn dùng ADC đo giá trị của đầu vào 0V --> quy đổi ra là 0.31V ?????
          Thông thường thì nếu sử dụng ADC của PSOC, các giá trị biên của nó thường không đạt tới. Ví dụ như nối 0V vào nó không về giá trị 0. Khi nối 5V vào nó không lên giá trị max. Điều này xảy ra rõ nhất ở ADC có độ rộng bit lớn. (14 bit chẳng hạn)
          AFH

          Comment


          • #6
            Đúng mình dùng ADC đo điểm GND rồi dùng hàm tuyến tính qui đổi nhưng luôn được 0.31-0.34V,mình nghĩ nó không phải 0V thì cũng gần 0V chứ,mình dùng ADCINCVR.Thật xin lỗi AFH chứ nói chung ADC của Psoc không ổn lắm !Nhưng không hiểu sao rất nhiều người dùng,xem project của họ rất đơn giản,mà hỏi họ họ luôn bảo chạy chính xác lắm!
            Technical Institutes
            Mobile: 0983278725
            Email:

            Comment


            • #7
              Nguyên văn bởi process Xem bài viết
              Đúng mình dùng ADC đo điểm GND rồi dùng hàm tuyến tính qui đổi nhưng luôn được 0.31-0.34V,mình nghĩ nó không phải 0V thì cũng gần 0V chứ,mình dùng ADCINCVR.Thật xin lỗi AFH chứ nói chung ADC của Psoc không ổn lắm !Nhưng không hiểu sao rất nhiều người dùng,xem project của họ rất đơn giản,mà hỏi họ họ luôn bảo chạy chính xác lắm!
              ADC của PSoC nói chung là chính xác. Tuy chỉ có cái cận biên là không đạt tới. Theo tớ biết thì là do điện áp tham chiếu. Nếu bạn loại bỏ cái cận biên đó đi, rồi chia tỷ lệ ra sẽ thấy nó rất chính xác. Tớ đã từng thử đo điện áp bằng PSoC sử dụng ADCINCVR (12bit) rồi so sánh với giá trị đo bằng đồng hồ hiện số của Nhật bản thấy rất giống nhau. Vì vậy cái cận biên đối với tớ không quan trọng. Duy chỉ có một nhược điểm là tốc độ ADC so với các loại khác là chậm. Còn vì sao lại nhiều người dùng PSoC cho các dự án mới là vì nó rất dễ dùng nếu đã quen. Rút ngắn thời gian lập trình rất nhiều.
              AFH

              Comment


              • #8
                Mình cũng đã nghĩ đến điều này,và hôm qua cũng khắc phục được sự cố rồi,hiện giờ đo tại 0 đạt 0.03V là cũng chấp nhận được.Mình cũng thấy rằng nếu dùng ADC thì phải rất chú ý đến tốc độ lấy mẫu và các ngắt khác,đặc biệt là các ngắt Timer,Counter sẽ ảnh hưởng rất lớn đến điểm ngắt của ADC.Thanhk AFH và mọi người!
                Technical Institutes
                Mobile: 0983278725
                Email:

                Comment


                • #9
                  Hic!mình đã khống chế được ADCINCVR rồi nhưng mới chỉ là 1 kênh đo.Khi làm với nhiều kênh(chẳng hạn 4 kênhAnalog) mình dùng AMUX4 thì xuất hiện vấn đề như thế này mong mọi người có kinh nghiệm chỉ dùm:Trong bộ chọn kênh AMUX4 thì mỗi lần chuyển Pin(P0.1,P0.3,P0.5,P0.7) phải để trễ một lượng thời gian tương đối để ổn định, tính ra khoảng mấy chục ms.Chính vì thế trong chương trình nếu dùng các bộ thời gian sẽ không còn chính xác nữa(ví dụ cần quản lý một sự kiện trong thời gian đặt trước) nếu trong chương trình chính luôn luôn phải đọc ADC.Mọi người xem có cách nào giúp mình với.Bài toán của mình là:Vừa phải đo annalog 8 kênh,vừa phải quét 4 phím,vừa phải định thời.Ah mình Post Project ADCINCVR mình đã đo 1 kênh rất chuẩn xác cho những ai mới tìm hiểu tham khảo!
                  Last edited by process; 04-07-2007, 08:46.
                  Technical Institutes
                  Mobile: 0983278725
                  Email:

                  Comment


                  • #10
                    Giup do ve ADC

                    Mình up prọect vừa làm về ADCINCVR cho những ai mới làm quen tham khảo!
                    Attached Files
                    Technical Institutes
                    Mobile: 0983278725
                    Email:

                    Comment


                    • #11
                      Nguyên văn bởi process Xem bài viết
                      Hic!mình đã khống chế được ADCINCVR rồi nhưng mới chỉ là 1 kênh đo.Khi làm với nhiều kênh(chẳng hạn 4 kênhAnalog) mình dùng AMUX4 thì xuất hiện vấn đề như thế này mong mọi người có kinh nghiệm chỉ dùm:Trong bộ chọn kênh AMUX4 thì mỗi lần chuyển Pin(P0.1,P0.3,P0.5,P0.7) phải để trễ một lượng thời gian tương đối để ổn định, tính ra khoảng mấy chục ms.Chính vì thế trong chương trình nếu dùng các bộ thời gian sẽ không còn chính xác nữa(ví dụ cần quản lý một sự kiện trong thời gian đặt trước) nếu trong chương trình chính luôn luôn phải đọc ADC.Mọi người xem có cách nào giúp mình với.Bài toán của mình là:Vừa phải đo annalog 8 kênh,vừa phải quét 4 phím,vừa phải định thời.Ah mình Post Project ADCINCVR mình đã đo 1 kênh rất chuẩn xác cho những ai mới tìm hiểu tham khảo!
                      Bạn hãy thử Stop ADC và Start lại nó sau khi đã chuyển sang chân khác.
                      Hy vọng sẽ thành công.
                      AFH

                      Comment


                      • #12
                        Cám ơn AFH mình sẽ thử xem,ah mình mua của AFH hơi nhiều Psoc rồi đấy nhé!
                        Technical Institutes
                        Mobile: 0983278725
                        Email:

                        Comment


                        • #13
                          Mình đã thử stopADC và startADC lại nhưng vẫn không được,dường như nó chỉ nhận 1,2 kênh và kết quả cũng không chính xác,chắc phương án này không ổn!
                          Technical Institutes
                          Mobile: 0983278725
                          Email:

                          Comment


                          • #14
                            Giup do ve ADC

                            Mình đã thử stopADC và startADC lại nhưng vẫn không được,dường như nó chỉ nhận 1,2 kênh và kết quả cũng không chính xác,chắc phương án này không ổn![/QUOTE].Chương trình trong main như sau,mong mọi người góp ý dùm(khi bỏ start ADC và stop ADC và chèn dòng lệnh Delay(2) thì chương trình làm việc rất tốt đo được tất cả các kênh):
                            ////////////////////////////////////////////////////////////
                            void main()
                            {

                            LCD_Start();;
                            Timer8_EnableInt();
                            Timer8_Start();
                            AMUX4_1_Start();

                            PGA_Start(PGA_HIGHPOWER);
                            ADCINCVR_1_Start(ADCINCVR_1_HIGHPOWER);
                            ADCINCVR_1_GetSamples(0);
                            //Enable global interrupts
                            M8C_EnableGInt;

                            for(
                            {


                            Process_ma_LED();//xu ly LED
                            // Wait for data to be ready
                            ADCINCVR_1_Stop();
                            AMUX4_1_InputSelect(AMUX4_1_PORT0_1);
                            ADCINCVR_1_Start(3);
                            //Delay(2);//khong co Delay se khong chinh xac!
                            while(ADCINCVR_1_fIsDataAvailable()==0); // Doi cho du lieu san sang
                            idata1=ADCINCVR_1_iGetDataClearFlag();// Gia tri tra ve tu ADC
                            fdata1 = (float)(idata1+4096)*5/8191; //chuyen doi du lieu sang

                            ADCINCVR_1_Stop();
                            AMUX4_1_InputSelect(AMUX4_1_PORT0_3);

                            ADCINCVR_1_Start(3);

                            //Delay(2);//khong co Delay se khong chinh xac!
                            while(ADCINCVR_1_fIsDataAvailable()==0);// Doi cho du lieu san
                            idata2=ADCINCVR_1_iGetDataClearFlag(); // Gia tri tra ve tu ADC
                            fdata2 =(float)(idata2+4096)*5/8191; //chuyen doi du lieu sang float
                            ADCINCVR_1_Stop();
                            AMUX4_1_InputSelect(AMUX4_1_PORT0_5);
                            ADCINCVR_1_Start(3);

                            //Delay(2);//khong co Delay se khong chinh xac!

                            while(ADCINCVR_1_fIsDataAvailable()==0);// Doi cho du lieu san sang
                            idata3=ADCINCVR_1_iGetDataClearFlag(); // Gia tri tra ve tu ADC
                            fdata3 = (float)(idata3+4096)*5/8191; //chuyen doi du lieu
                            ADCINCVR_1_Stop();

                            AMUX4_1_InputSelect(AMUX4_1_PORT0_7);
                            //Delay(2);//khong co Delay se khong chinh xac!
                            ADCINCVR_1_Start(3);
                            while(ADCINCVR_1_fIsDataAvailable()==0); // Doi cho du lieu san sang
                            idata4=ADCINCVR_1_iGetDataClearFlag(); // Gia tri tra ve tu ADC
                            fdata4 =(float)(idata4+4096)*5/8191; //chuyen doi du lieu

                            //////////////////////////////////////
                            Process_Getkey();//xu ly phim
                            Display();//hien thi
                            /////////////////////////////////////////////////////////////////////////////////////////////////

                            /////////////////////////////////////////////

                            //////////////////////////////////////////////


                            }
                            }
                            Technical Institutes
                            Mobile: 0983278725
                            Email:

                            Comment


                            • #15
                              Sao không thấy anh em nào góp ý dùm nhỉ?
                              Technical Institutes
                              Mobile: 0983278725
                              Email:

                              Comment

                              Về tác giả

                              Collapse

                              process Tìm hiểu thêm về process

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

                              Collapse

                              • mansion123
                                Bật mí những điều ít ai biết về thi công gỗ óc chó
                                bởi mansion123
                                Thi công gỗ óc chó giúp không gian trở nên sang trọng, ấm cúng, gần gũi hơn. Sự kết hợp giữa thẩm mỹ và chất lượng cao của gỗ óc chó chắc chắn sẽ mang lại giá trị lâu dài và làm hài lòng ngay cả những khách hàng khó tính nhất. Vậy đằng
                                ...
                                hôm nay, 16:08
                              • tuyennhan
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi tuyennhan
                                Cái thư sai ngay câu chào Dear sir mới đúng Hi chỉ dùng cho người quen , các vấn đề về kỹ thuật nó không trả lời hoặc nói loanh quanh tránh ảnh hưởng đến công ty .
                                Giup1 người cần không giúp người không cần với lại văn mình vợ người nha đừng quên .
                                hôm nay, 07:44
                              • vi van pham
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi vi van pham
                                Cám ơn những lời chúc tốt đẹp của em.

                                Việc em làm giống như chê sếp dốt, chẳng những không có miếng xôi nào để ăn mà còn chịu nhiều trù dập lên bờ , xuống ruộng.

                                Hãy tránh vết xe đổ của tui đi. Dành thời gian lo cho gia đình....
                                hôm nay, 02:00
                              • nhathung1101
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi nhathung1101
                                Ngoại ngữ là không thể thiếu, nhất là làm việc với công nghệ.

                                Nhưng học để tán gái hay để đọc datasheet, manual là chuyện cần quan tâm.

                                Và đọc ở nguồn nào đáng tin cậy, chứ cứ lên tictok hay facebook học lỏm thì...
                                Hôm qua, 22:18
                              • dinhthuong80
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi dinhthuong80
                                Bác nói rất khách quan và chính xác. Ngoại ngữ là chìa khóa thăng tiến dù làm gì. Chả thế mà nay nước mình dạy tiếng Anh từ tiểu học.

                                Nhớ hồi năm 2006 em ra Hải Phòng, Hải Dương tìm việc, thời đó ở Bình Dương lương công...
                                Hôm qua, 14:51
                              • dinhthuong80
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi dinhthuong80
                                Cảm ơn bạn, ĐT cũng có ý nghĩ như vậy.

                                Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...
                                Hôm qua, 14:39
                              • dinhthuong80
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi dinhthuong80
                                Dạ, bác bảy mấy tuổi đời rồi cũng không kém bố cháu bao nhiêu. Tuổi nghề thì bác cũng đáng tuổi cha chú.

                                Nhưng 2 điều trên thì chưa hẳn đã đáng quí và đáng tôn trọng bằng việc bác rất nhiệt tình chia sẻ kinh nghiệm chuyên...
                                Hôm qua, 14:28
                              • bqviet
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi bqviet
                                Đúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
                                21-02-2025, 20:26
                              • mèomướp
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi mèomướp
                                Dạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
                                21-02-2025, 12:32
                              • vi van pham
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi vi van pham
                                Những lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).

                                Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...
                                20-02-2025, 21:31
                              Đang tải...
                              X