Pages: [1]   Go Down
Print
Author Topic: รบกวน ถามผู้รู้เรื่อง SHT11 กับ 16F877  (Read 16149 times)
0 Members and 6 Guests are viewing this topic.
mutakung
มาใหม่
*
Offline Offline

Posts: 6


« on: February 16, 2009, 02:39:44 PM »

ผมมีโปรเจคทำเครื่องวัดอากาศหลายอย่างครับ ในส่วนของอุณหภูมิ และ ความชื้น เลือกใช้เจ้า SHT11
เพราะดูท่าทางไม่น่ายุ่งยาก แต่เอาเข้าจริงเล่นเอามึนงง ไปหมด จึงขอความรู้จากผู้รู้ช่วยกรุณาคับ
ผมมาเจอบทความตาม link ด้านล่าง นี้ทีหลัง หลังจากนั่งมั่วอยู่นาน คิดว่าเจอทางสวรรค์ 55 แต่ปรากฎว่า

ได้ผลออกทาง Hyper Terminal ดังรูปที่ 1
 - โดย Temp สูงมากค่าเพี้ยน และ เอาหัวแร้งเข้าไปใกล้ๆค่าไม่เปลี่ยนแปลงเลย
 - ค่า RH สวิงไปมาตั่งแต่หลัก 10 ไป ถึงหลัก 100


ข้อสังเกตุมีอยู่ 2 อย่างครับ (เป็นคำถามที่จะถาม)

1. ผมแก้ code ตามรูปที่ 2 เพราะผมใช้ 16F877 ไม่ใช่ 16F877A ทไห้ compile แล้วเกิด error ที่

void InitialChip(void)
{
    setup_comparator(NC_NC_NC_NC) (ส่วนที่ error ดังรูปที่ 2)

ไม่รู้ทำไงดีเลย comment บรรทัดที่ error คับ (ไม่รู้จะทำไงดี ตัว 16F877A ก็ ไม่มีให้ลอง)

2. วงจรในส่วนของ SHT11 ผมต่อดังรูปที่ 3 เพราะทำตาม datasheet และ ขา nc น่าจะช๊อตกับ GND
ตามวงกลมในรูปคับ ค่า r และ ค่า c ตามรูปเลยซึ่งไม่เหมือนกับที่เว็บบอก (เพราะมาเจอเว็บนี้ทีหลัง)

คำถาม

- บรรทัดที่ผม comment เกี่ยวข้องกับการที่แสดงผลเพี้ยนไปไหม และถ้าเกี่ยวผมควรทำอย่างไรกับตัว 16F877 ไม่ใช้ 16F877A
เพราะถ้า compile เป็นตัว 16F877A ผ่านไม่มีปัญหาอะไร
- วงจรและปัญหาที่ผมต่อ nc ช๊อต กับ GND และค่า r ไม่เหมือนกันมีผลไหมคับ

ขอคำแนะนำอื่นๆด้วยคับใช้ 16F877 นะครับ


ข้อมูลอ้างอิงจาก การใช้งาน SHT15 กับ PIC16F877
http://www.thaimicrotron.com/PIC/CCS/SHT15/SHT15.htm



* sht-outcom1.jpg (35.8 KB, 457x205 - viewed 2553 times.)

* err.jpg (120.51 KB, 600x743 - viewed 2603 times.)
Logged
mutakung
มาใหม่
*
Offline Offline

Posts: 6


« Reply #1 on: February 16, 2009, 03:00:51 PM »

รูปที่ 3


* sht11-p.jpg (89.26 KB, 600x600 - viewed 2726 times.)
Logged
smitdh
Administrator
Hero Member
*****
Offline Offline

Gender: Male
Posts: 381


อาจารย์ที่ปรึกษา


« Reply #2 on: February 16, 2009, 09:18:45 PM »

พึ่งทราบเหมือนกันว่าคำสั่ง setup_comparator(NC_NC_NC_NC); เมื่อใช้ 16F877 compile ไม่ผ่าน
สามารถ comment ได้ครับเพราะเป็นการใช้ digital I/O ของพอร์ต A (ซึ่งเราไม่ได้ใช้)
เขียนติดเอาไว้กันลืมนะครับ เพราะเราใช้พอร์ต B ในการติดต่อกับ sensor

ผมลองหา 16F877 มาแล้ว comment  //setup_comparator(NC_NC_NC_NC);
ลอง compile ดู แล้วทดสอบกับวงจรเดิม ก็ใช้ได้เป็นปกติครับ

Sensor SHT15 ผมซื้อมาทั้ง PCB เลยครับ
ส่วนค่า R pullup ก็ได้กว้างครับ 10K ก็ได้

ส่วนขา NC ผมลองต่อกับ Ground เพี้ยนเลยครับ
ค่าออกมาเป็นลบ เฉยเลย

T=-9.29 C
H=5.10%
Dew Point: -111.172392C

ลองปลดออกก็หายครับ

T=26.54 C
H=59.79%
Dew Point: -17.155348C

สรุป ให้ปลด NC ออกจาก ground ครับ
Logged
mutakung
มาใหม่
*
Offline Offline

Posts: 6


« Reply #3 on: February 17, 2009, 12:24:23 AM »

ขอบคุณครับผม จะลองดูแล้วจะมาแจ้งครับ
Logged
mutakung
มาใหม่
*
Offline Offline

Posts: 6


« Reply #4 on: February 17, 2009, 10:26:23 AM »

ถามเป็นความรู้คับ แล้วฟังก์นี้ทำหน้าที่อะไรคับ

void InitialChip(void)
{
    setup_comparator(NC_NC_NC_NC);   //Input Digital
    set_tris_b(0B00000000);
    set_tris_c(0B10000000);
}

ที่จะ comment มันนี่แหละ เห็นเรียกใช้ใน main เป็นอันแรกเลย
Logged
smitdh
Administrator
Hero Member
*****
Offline Offline

Gender: Male
Posts: 381


อาจารย์ที่ปรึกษา


« Reply #5 on: February 17, 2009, 02:07:54 PM »

เป็นคำถามเหมือนกับคุณ zeus ครับ ลองดูที่
http://www.thaimicrotron.com/webboard2/index.php?topic=124.0





Logged
mutakung
มาใหม่
*
Offline Offline

Posts: 6


« Reply #6 on: February 18, 2009, 01:11:40 AM »

ได้เรื่องคับ คือ ic SHT11 พังซะงั้น (คิดว่านะ) เพราะตอนนี้มันไม่แสดงผลอะไรเลย ลองถอดจาก print มาเอาสายต่อตรงๆก็ได้ไม่มีค่าเหมือน
เดิมครับคิดว่า คงเกิดจากตอนเอา ic ออกจาก print เพื่อขูดทองแดงที่ช๊อตกันออกคับ มันคงร้อนเพราะจี้หัวแร้งหลายรอบมันไม่ยอมออกซะที
เดี๋ยวต้องไปซื้อตัวใหม่ครับ ออกแบบ PCB ใหม่แล้วด้วยคับผม ขอบคุณมากแล้วจะรายงานต่อให้ทราบคับ


* pcbsht11.jpg (121.54 KB, 620x434 - viewed 2224 times.)
Logged
smitdh
Administrator
Hero Member
*****
Offline Offline

Gender: Male
Posts: 381


อาจารย์ที่ปรึกษา


« Reply #7 on: February 18, 2009, 07:17:24 AM »

ลืมบอกไปครับ เรื่องวิธีการถอด SHT15 หรือพวก SMD ทั้งหลาย
อย่าใช้วิธีดูดออกที่ละขา ให้ใช้วิธีให้ความร้อนพร้อมๆกัน โดยบัดกรีตะกั่วให้เต็ม 4 ขาทั้ง 2 ด้าน  ดูให้มีปริมาณนูนๆ เล็กน้อย
จับหัวแร้งเอียงเพื่อให้แนบกับขาทั้ง 4 แล้วรีบย้ายไปให้ควาร้อนอีกด้าน พร้อมทั้งใช้ปากคีบ พลักอุปกรณ์ ให้หลุดออก จากต่ำแหน่ง
เป็นวิธีถอดได้รวดเร็ว และทำให้อุปกรณ์ไม่เสียหายครับ
 
Logged
Pages: [1]   Go Up
Print
 
Jump to: