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?
Thông báo
Collapse
No announcement yet.
Giup do ve ADC
Collapse
X
-
Nguyên văn bởi process Xem bài viếtChư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?
AFH
Comment
-
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
-
Nguyên văn bởi process Xem bài viếtCam 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.
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
-
Đú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
-
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!
AFH
Comment
-
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
-
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
-
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 FilesTechnical Institutes
Mobile: 0983278725
Email:
Comment
-
Nguyên văn bởi process Xem bài viếtHic!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!
Hy vọng sẽ thành công.
AFH
Comment
-
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
Bài viết mới nhất
Collapse
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamNhịp 2/4 1 trường canh có 2 nốt đen. Nhịp 3/4 1 trường canh có 3 nốt đen. Nhịp 4/4 1 trường canh có 4 nốt đen.
Các điệu nhạc sẽ có âm bass ở phách mạnh. Dồn 2 trường canh 2/4 thành 4/4 chơi điệu chachacha, nghe "kỳ cục" lắm....-
Channel: Tâm tình dân kỹ thuật
hôm nay, 07:05 -
-
Trả lời cho Dùng MC34063 để làm driver lái led 1W, 3Wbởi bqvietDatasheet PT4115 có sẵn sơ đồ chuẩn, lắp theo đúng nó là xong. Mạch cực đơn giản luôn.
-
Channel: Điện tử dành cho người mới bắt đầu
hôm nay, 00:31 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Cháu có biết gì về nhịp 2/4 hay 4/4 đâu, hôm bữa hỏi chú nhạc sĩ kia nói là để 2/4 ạ....
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 21:47 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamNhịp 4/4 người ta mới chọn điệu Chachacha. Cháu viết nhịp 2/4 thì 2 trường canh mới hoàn thành điệu chachacha. Khi đó sẽ có lúc không khớp với tiếng trống điệu chachacha. Thời gian hành âm nhanh 120 cháu nên chọn điệu disco sẽ hay hơn....
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 20:21 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Theo gợi ý của bác, cháu dịch xuống vài nốt đây:...
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 16:42 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamHay quá dinhthuong ơi!
Tôi có sự góp ý nhỏ thế này:
1- Chachacha thường viết cho nhịp 4/4, ít thấy nhịp 2/4 lại là điệu Chachacha.
2- Đoạn Bao nhiêu yêu thương ......và điệp khúc bao nhiêu hân hoan..... cao quá làm sao ca sĩ hát nổi?...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 15:31 -
-
bởi chinhnguyen9Thú thật tôi lúng túng không biết nên gọi thế nào cho đúng nhất về dòng sản phẩm này.
Tham khảo trên AliExpress về dòng sản phẩm này, dù là hàng có thương hiệu họ cũng chưa có tên gọi khác. Ở VN có lẽ các shop muốn nhấn mạnh trong cách gọi để bộc...-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 10:46 -
-
Trả lời cho Dùng MC34063 để làm driver lái led 1W, 3Wbởi Nexus 6Pbác cho e xin sơ đồ mạch dc k ạ...
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 10:00 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Tập tành Musescore vài ngày cũng có sheet nhạc rồi đây bác. Mời bác chơi gita thử nha!...
-
Channel: Tâm tình dân kỹ thuật
06-05-2024, 07:26 -
-
bởi chinhnguyen9Rất sorry cùng các bạn Trong bài vửa post có một lổ hổng về nguyên lý vì nếu các mosfet chay giống như tiếp điểm contactor thì 16 van đóng cắt trên hoạt động OK. Nhưng khổ nỗi nó chì dẫn một chiều như vậy để đáp ứng cả hai tình huống...
-
Channel: Điện tử dành cho người mới bắt đầu
05-05-2024, 09:27 -
Comment