วงจรเทอร์โมมิเตอร์สำหรับตัวควบคุม pic

โกลอฟนา

ซากาลเน

คุณต้องการสร้างเทอร์โมมิเตอร์แบบสองช่องสัญญาณ ไม่ใช่แค่แบบมาตรฐาน แต่ต้องมีเซ็นเซอร์แบบไม่มีดาร์ทสำหรับใช้งานบนท้องถนน

แนวคิดนี้ไม่ใช่เรื่องใหม่อย่างแน่นอน เนื่องจากเทอร์โมมิเตอร์สำหรับการผลิตทางอุตสาหกรรมที่คล้ายกันนั้นมีอยู่ในตลาดแล้ว

เนื่องจากฉันไม่รู้ว่าจะเชื่อมต่อโมดูลวิทยุเข้ากับไมโครคอนโทรลเลอร์ได้อย่างไร ฉันจึงเริ่มพัฒนาเทอร์โมมิเตอร์แบบไม่ใช้โดรนในเวอร์ชันของตัวเอง

เมื่อจ่ายไฟจากแบตเตอรี่ 6F22 9V ("Krona") โมดูลส่งสัญญาณวิทยุ A1 จะอยู่ติดกับแบตเตอรี่โดยตรง

เพื่อทำให้ไมโครคอนโทรลเลอร์มีชีวิตชีวาขึ้น จึงตั้งค่าตัวควบคุมแรงดันไฟฟ้าระดับไมโคร DA1 (MCP1702) ไว้ที่ 5V การไหลของแรงดันไฟฟ้าของตัวควบคุมจะตั้งค่าไว้ที่ 1-2 µA และกระแสแรงดันไฟฟ้าสูงสุดจะถูกตั้งค่าไว้ที่ 250 mA

สามารถเปลี่ยนโคลง MCP1702 ด้วย LP2950 ได้ ซึ่งมีค่าเท่ากับ 75 µA


เครื่องปรับแรงดันไฟฟ้าหลักประเภท L78xx ดึงกระแสสูงหลายมิลลิแอมป์ จึงไม่เหมาะสำหรับอุปกรณ์ที่ใช้พลังงานแบตเตอรี่

ไมโครคอนโทรลเลอร์ DD1 อ่านค่าอุณหภูมิจากเซ็นเซอร์ผิวหนัง BK1 ทุกๆ 2 วินาที ในเวลาเดียวกันจะรับสัญญาณจากเครื่องรับ และเมื่อแพ็คเก็ตไบต์ถูกลบออกจากการส่งสัญญาณ ไฟ LED HL1 จะสว่างขึ้น

ที่ด้านบนของจอแสดงผลข้อความ "Home" จะปรากฏขึ้น ด้านล่างซึ่งแสดงค่าอุณหภูมิจากเซ็นเซอร์ภายใน (บ้าน) ด้านล่างข้อความ "Vulitsya" ปรากฏขึ้น ซึ่งเป็นอุณหภูมิที่นำมาจากเซ็นเซอร์แบบไร้โดรน





หลังจากได้รับข้อมูลผ่านช่องสัญญาณวิทยุแล้ว ไมโครคอนโทรลเลอร์จะเริ่มจับเวลาซึ่งกินเวลาหนึ่งชั่วโมงเพื่อควบคุมการลบข้อมูล

สำหรับการติดตั้งในรถยนต์ การออกแบบเทอร์โมมิเตอร์จำเป็นต้องเปลี่ยนแปลงเล็กน้อยทั้งวงจรและซอฟต์แวร์<6B คำจารึก "Budinok" ถูกแทนที่ด้วย "Salon" และขณะนี้แรงดันไฟฟ้าออนบอร์ดของยานพาหนะก็แสดงอยู่ที่แถวล่างสุดของจอแสดงผลเมื่อใช้ฟังก์ชันลดแรงดันไฟฟ้าออนบอร์ด ปัญหาเกิดขึ้นเนื่องจากการมีไมโครคอนโทรลเลอร์ตัวแปลงดิจิทัลเป็นแอนะล็อก (ADC) ที่ถูกบล็อก

จากนั้นไมโครคอนโทรลเลอร์จะเป็นโมดูลเปรียบเทียบซึ่งทำหน้าที่เป็นผู้ชนะในการปรับแรงดันไฟฟ้าออนบอร์ด

ด้วยโมดูลตัวเปรียบเทียบเพิ่มเติม พบว่าสามารถสั่นแรงดันไฟฟ้าในช่วงแรงดันไฟฟ้าอินพุตตั้งแต่ 5.6 ถึง 16V โดยมีค่าความคลาดเคลื่อนของการสั่นที่ 0.7V นี่เป็นตัวเลือกที่ดีที่สุดสำหรับการทำงานให้เสร็จสิ้นโดยไม่ต้องเปลี่ยนไมโครคอนโทรลเลอร์เมื่อทราบแรงดันไฟฟ้าของวงจรออนบอร์ดแล้ว คุณสามารถประเมินสถานะของแบตเตอรี่ได้

ทันทีที่อุปกรณ์เปิดอยู่ (หลังล็อคเพิ่มเติมหรือด้วยวิธีอื่น) แรงดันไฟฟ้าออนบอร์ดจะลดลง หากค่าของแรงดันไฟฟ้าออนบอร์ดน้อยกว่า 10.5 V ให้ส่งเสียงเทอร์โมมิเตอร์ - โวลต์มิเตอร์ในรถยนต์พร้อมสัญญาณเสียง (เป็นเวลา 1.5 วินาที) และแสดงข้อความ "แบตเตอรี่ - ต่ำ" ทันทีที่แถวล่างของจอแสดงผลเป็นเวลาประมาณ 3...4 วินอกจากนี้ในแถวล่างสุดจะแสดงค่าที่แน่นอนของแรงดันไฟฟ้าออนบอร์ด

หากค่าแรงดันไฟฟ้าน้อยกว่า 5.6V ตัวบ่งชี้จะแสดงข้อความ "แรงดันไฟฟ้า"

แรงดันไฟฟ้าตัวบ่งชี้ขับเคลื่อนด้วยตัวปรับแรงดันไฟฟ้าแบบพาราเมตริก ซึ่งช่วยให้มั่นใจว่าค่าแรงดันไฟฟ้าจะอยู่ที่ประมาณ +3.3V

ตัวปรับแรงดันไฟฟ้าบนซีเนอร์ไดโอด V5, ตัวต้านทาน R10 และตัวเก็บประจุตัวกรอง C8 โคลงมาพร้อมกับแรงดันไฟฟ้าที่เสถียรที่ +5Vการเปลี่ยนแปลงอุณหภูมิทำได้โดยเซ็นเซอร์อุณหภูมิดิจิตอล U1 และ U2 จาก Maxim DS18B20

เซ็นเซอร์เหล่านี้ได้รับการปรับเทียบจากโรงงาน และช่วยให้คุณสามารถปรับอุณหภูมิของตัวกลางได้ตั้งแต่ -55 ถึง +125°C และในช่วง -10...+85°C ผู้ปฏิบัติงานรับประกันว่าอุณหภูมิจะลดลงอย่างแน่นอนไม่แย่ไปกว่า ±0.5 °С

ภายในช่วงอุณหภูมิที่แตกต่างกัน ความแม่นยำจะลดลงเหลือ ±2°C การอ่านค่าเทอร์โมมิเตอร์สำหรับช่วงอุณหภูมิทั้งหมดที่วัดจะแตกต่างกันไปตามความแยกส่วน ±0.1°C

การแลกเปลี่ยนข้อมูลและคำสั่งระหว่างไมโครคอนโทรลเลอร์ D1 และเซ็นเซอร์อุณหภูมิ U1 และ U2 เกิดขึ้นผ่านช่องอินเทอร์เฟซอนุกรมแบบ 1 สายเพิ่มเติม เพื่อการให้อภัยความปลอดภัยของซอฟต์แวร์

เซ็นเซอร์เชื่อมต่อใกล้กับอินพุตไมโครคอนโทรลเลอร์

โปรโตคอลการแลกเปลี่ยนบนบัส 1-Wire นั้นเรียบง่าย: ไม่จำเป็นต้องระบุตำแหน่งเซ็นเซอร์หรือการกำหนดค่าเริ่มต้นล่วงหน้า

ไดโอด V1 เอาชนะการผ่านของพัลส์ชั่วคราวของแรงดันลบเข้าสู่อายุการใช้งานของเทอร์โมมิเตอร์ ปกป้องอุปกรณ์ในกรณีที่การจ่ายอายุการใช้งานให้กับอุปกรณ์ไม่ถูกต้อง (การกลับรายการชีวิต) และเมื่อใช้ร่วมกับตัวเก็บประจุ C1 จะป้องกันการรีสตาร์ท ไมโครคอนโทรลเลอร์ของอุปกรณ์ในกรณีที่แรงดันไฟฟ้าตกในวงจรออนบอร์ดเมื่อสตาร์ทรถยนต์หรือรถยนต์ไฟฟ้าที่ใช้พลังงานสูงอื่น ๆ เปิดอยู่บนรถยนต์

- ตัวต้านทาน R3 พร้อมด้วยไดโอดระดับกลาง (ตัวป้องกัน) V2 ช่วยปกป้องเชือกเส้นเล็กภายในของเทอร์โมมิเตอร์จากแรงดันไฟฟ้าเกินซึ่งเกิดจากการไหลเข้าของพัลส์ชั่วคราว

การก่อตัวของสัญญาณอะนาล็อกที่จำเป็นสำหรับการสั่นของแรงดันไฟฟ้าออนบอร์ด, การรวบรวมบนตัวจ่ายแรงดันไฟฟ้าต้านทาน R1, R2, ตัวเก็บประจุ C2 ของตัวกรองสัญญาณรบกวน (R1, C2) และไดโอด V3, V4 ซึ่งได้รับการป้องกันด้วยตัวต้านทาน อินพุตแบบอะนาล็อก R1 ของไมโครคอนโทรลเลอร์เป็นแรงดันไฟฟ้าเกิน

จำเป็นต้องเพิ่มความแม่นยำในการวัดแรงดันไฟฟ้าของตัวต้านทาน R1 และ R2 ด้วยความแม่นยำ 1% แต่เนื่องจากความแตกต่างของการวัดแรงดันไฟฟ้ามีขนาดใหญ่มาก (0.7V) จึงไม่จำเป็นเสมอไป

ความตึงของตัวต้านทาน R3 จะต้องไม่น้อยกว่า 0.5 W และความตึงของตัวต้านทานแบบเหล็กสามารถเป็น 0.125 W สำหรับตัวต้านทานเอาต์พุตและ 0.1 W สำหรับตัวต้านทาน SMD

หลักฐานของเทอร์โมมิเตอร์ในรถยนต์ถูกรวบรวมไว้ในการ์ดด้านเดียว:

ด้วยความเคารพ บอร์ดและการติดตั้งอิมเมจสุดท้ายของ Vikonani ด้านหลังวงจรได้รับการออกแบบ - Shema_avto_termo_3310_pic16f628.spl ซึ่งมีไฟล์อยู่ด้านล่าง

ในตอนท้ายของวัน แผนภาพวงจรที่นำเสนอมีเพียงการกำหนดตำแหน่งขององค์ประกอบเท่านั้น

หมายเลขเซ็นเซอร์จะไม่สว่างขึ้นในสองสถานการณ์: เมื่ออุณหภูมิเป็นลบ (สว่างขึ้นลบ) และเมื่ออุณหภูมิสูงกว่า 100 องศา (สว่างขึ้น 1xх.х)

เซ็นเซอร์ไม่สามารถมองเห็นได้ในภาพถ่าย แต่จะบัดกรีด้วยตัวนำชั่วคราว

เซ็นเซอร์เชื่อมต่อกันด้วยพอร์ต RA4 และ RA6 ด้านหลังอินเทอร์เฟซแบบ 1-Wire แบบอนุกรม (Q1 และ Q2)< 60мА.

ซื้อเซ็นเซอร์ก่อนที่จะชำระค่าดาร์ทแบบไม่มีข้อเหวี่ยงสามแกนเพิ่มเติมที่มีเส้นผ่านศูนย์กลาง 0.35 มม.


โดยทั่วไปตัวต้านทาน R1 และ R15 จะอยู่ที่ 4.7 kOhm

R4 ในช่วง 4.7-10k; R7-R14 – 270-360 โอห์ม; R2, R3, R5, R6 - 1-3k. ทรานซิสเตอร์ก็เหมือนกับ n-p-n Zhivlennya 4.5 - 5 โวลต์, ดีด

มีเฟิร์มแวร์สำหรับไมโครคอนโทรลเลอร์ PIC16F628A และสายไฟของบอร์ดอื่นในรูปแบบ LAY และ PDF

  • แผนภาพนี้มักถูกดูที่:
    เทอร์โมมิเตอร์บนไมโครคอนโทรลเลอร์ PIC16F628A และ DS18B20 (DS18S20) - บทความพร้อมรายงานที่อธิบายวงจรของหน่วยความจำของเทอร์โมมิเตอร์และนอกจากนี้ยังเป็นความต่อเนื่องเชิงตรรกะของบทความที่ฉันเผยแพร่ก่อนหน้านี้บนเว็บไซต์ pichobbi.narod.ru
    เทอร์โมมิเตอร์นี้พิสูจน์ตัวเองได้ไม่ดีและได้ตัดสินใจที่จะปรับปรุงให้ทันสมัยขึ้นเล็กน้อย
    สถิตินี้ช่วยให้เราทราบว่ามีการเปลี่ยนแปลงอะไรบ้างกับโครงการ
  • ฉันกำลังเขียนโปรแกรมอยู่
  • ฉันจะอธิบายฟังก์ชั่นใหม่บทความนี้จะมีประโยชน์สำหรับผู้เริ่มต้น
  • ได้ทำใหม่ในภายหลัง

ฉันจะอัปเดตเวอร์ชัน

เทอร์โมมิเตอร์ค.

เทอร์โมมิเตอร์บนไมโครคอนโทรลเลอร์ PIC16F628A และ DS18B20 (DS18S20) ประกอบด้วย:

หรี่และแสดงอุณหภูมิในช่วง:

-55...-10 และ +100...+125 ด้วยความแม่นยำ 1 องศา (ds18b20 และ ds18s20) -ในช่วง -9.9 ... +99.9 ด้วยความแม่นยำ 0.1 องศา (ds18b20)- ในช่วง -9.5 ... +99.5 ด้วยความแม่นยำ 0.5 องศา (ds18s20)

เลือกเซ็นเซอร์ DS18B20 และ DS18S20 โดยอัตโนมัติ ตรวจสอบเซ็นเซอร์โดยอัตโนมัติในกรณีฉุกเฉินจดจำอุณหภูมิสูงสุดและต่ำสุด

ในการปรับอุณหภูมิจะใช้เซ็นเซอร์ดิจิตอล DS18B20หรืออย่างอื่น DS18S20โดยแม็กซิม. เซ็นเซอร์เหล่านี้ไม่แพงและแม้จะมีขนาดใหญ่ แต่ข้อมูลเกี่ยวกับอุณหภูมิที่วัดได้ก็จะถูกส่งไปมุมมองดิจิตอล - วิธีนี้ช่วยให้คุณไม่ต้องกังวลเรื่องการตัดสายไฟ เรื่องสินสอด ฯลฯDS18S20เซนเซอร์

DS18B20,

ต้องใช้ผลิตภัณฑ์ในช่วงอุณหภูมิ -55 ... +125 °C

อุณหภูมิจะแสดงบนไฟ LED แสดงสถานะ 7 ส่วน 3 หลักพร้อมแคโทดคาร์บอน (OK) หรือพร้อมแคโทด (OA)

หากต้องการแสดงตัวบ่งชี้อุณหภูมิสูงสุดและต่ำสุด จำเป็นต้องมีปุ่ม SB1 หากต้องการรีเซ็ตหน่วยความจำ คุณต้องใช้ปุ่ม SB1 ด้วยการใช้ปุ่ม SA1 คุณสามารถรีเซ็ตเซ็นเซอร์ได้อย่างรวดเร็ว (vulitsa, สัญญาณเตือน)

ต้องใช้จัมเปอร์เพื่อเชื่อมต่อสายตะกั่วสำหรับไฟ LED อีกครั้ง

สำคัญ!
หากตัวบ่งชี้เป็นปกติ - เราวางจัมเปอร์ไว้ที่ด้านล่างด้านหลังวงจรตำแหน่งและทรานซิสเตอร์ VT1-VT3 จะถูกบัดกรีด้วยการนำไฟฟ้า p-n-p หากไฟ LED เป็น OA แสดงว่าจัมเปอร์จะเปลี่ยนที่ด้านบนของวงจรตำแหน่งและทรานซิสเตอร์ VT1-VT3 จะถูกบัดกรีในสภาพนำไฟฟ้า n-p-n ในตารางที่ 1 คุณสามารถทำความคุ้นเคยกับความแตกต่างทั้งหมดของชิ้นส่วนและการทดแทนที่เป็นไปได้ด้วยชิ้นส่วนแบบอะนาล็อก
ตารางที่ 1 – การไหลล้นของชิ้นส่วนสำหรับการประกอบเทอร์โมมิเตอร์ ไม่ได้รับมอบหมายตำแหน่ง -
ชื่อ อนาล็อก/ทดแทน
ซี1, ซี2 ตัวเก็บประจุเซรามิก - 0.1 μFx50V ค3
ตัวเก็บประจุด้วยไฟฟ้า - 220μFx10V ดีดี1
ไมโครคอนโทรลเลอร์ PIC16F628A PIC16F648A
DD2,DD3 เซ็นเซอร์อุณหภูมิ DS18B20 หรือ DS18S20 GB1
ถ่าน AA 1.5V จำนวน 3 ก้อน HG1 ไฟ LED แสดงสถานะ 7 ส่วน KEM-5631-ASR (ตกลง)
แรงดันต่ำอื่นๆ สำหรับตัวบ่งชี้แบบไดนามิกและเหมาะสำหรับการเชื่อมต่อ R1, R3, R14, R15 ไฟ LED แสดงสถานะ 7 ส่วน KEM-5631-ASR (ตกลง)
ตัวต้านทาน 0.125W 5.1 โอห์ม เอสเอ็มดี ขนาด 0805 ไฟ LED แสดงสถานะ 7 ส่วน KEM-5631-ASR (ตกลง)
R2, R16 ตัวต้านทาน 0.125W 5.1 กิโล ไฟ LED แสดงสถานะ 7 ส่วน KEM-5631-ASR (ตกลง)
R4, R13 ตัวต้านทาน 0.125W 4.7 kOhm ไฟ LED แสดงสถานะ 7 ส่วน KEM-5631-ASR (ตกลง)
R17-R19 ตัวต้านทาน 0.125W 4.3 kOhm
R5-R12 ตัวต้านทาน 0.125W 330 โอห์ม
SA1 เป็นจัมเปอร์ที่โดดเด่น เอสบี1
ปุ่มชั้นเชิง VT1-VT3

ทรานซิสเตอร์ BC556B สำหรับตัวบ่งชี้ที่มี OK / ทรานซิสเตอร์ BC546B สำหรับตัวบ่งชี้ที่มี OA

KT3107/KT3102

เอ็กซ์ที1

เทอร์มินอลบล็อคสำหรับ 3 หน้าสัมผัส สำหรับการพัฒนาหุ่นยนต์เทอร์โมมิเตอร์แบบดิจิทัลในช่วงแรกนั้น มีการสร้างและสร้างแบบจำลองเสมือนจริงในโพรทูสสำหรับ Mayunka 2 คุณสามารถใช้โมเดลที่เรียบง่ายจาก Proteus

Malyunok 2 – แบบจำลองเทอร์โมมิเตอร์บนไมโครคอนโทรลเลอร์ PIC16F628A จาก Proteus

เด็กอายุ 3-4 ขวบแสดงเทอร์โมมิเตอร์แบบดิจิตอลบนกระดาน Drukovan

ผลลัพธ์ของหุ่นยนต์เบบี้คือ 5-7

มัลยูนก 5 - ลักษณะภายนอกเครื่องวัดอุณหภูมิ

Malyunok 6 - ลักษณะภายนอกของเทอร์โมมิเตอร์

Malyunok 7 - ลักษณะภายนอกของเทอร์โมมิเตอร์

หากต้องการรีเซ็ตหน่วยความจำ คุณต้องใช้ปุ่ม SB1 ด้วยเฟิร์มแวร์เทอร์โมมิเตอร์ ไม่ได้เย็บเข้าการโฆษณา คุณสามารถแสดงความพึงพอใจของคุณ

การแก้ไขที่ทำก่อนโปรแกรมการทำงาน:

1 การมอบหมายอัตโนมัติเซ็นเซอร์ DS18B20 หรือ DS18S20;

2. ลดเวลาในการเขียนซ้ำลงใน EEPROM (เนื่องจากฉันตัดสินใจเขียนใหม่) จาก 5 hvilins เป็น 1 hvilini

3. เพิ่มความถี่ของจุดสูงสุด

มากกว่า คำอธิบายรายงานสามารถดูการทำงานของเทอร์โมมิเตอร์ได้ในเอกสารที่สามารถดูได้ท้ายบทความนี้ เนื่องจากไม่จำเป็นต้องดึงดูดสัมภาระจึงไปที่ไซต์ www.pichobbi.narod.ru

หุ่นยนต์ก็ทาสีอย่างดีเช่นกัน

บอร์ดที่เสร็จแล้วเข้ากันได้ดีกับนาฬิกาปลุกจีน (รูปที่ 8, 9)

รูปที่ 8 – นาฬิกาปลุกจีนเต็มไปหมด

รูปที่ 9 - การเติมนาฬิกาปลุกจีนทั้งหมด

วิดีโอ - หุ่นยนต์เทอร์โมมิเตอร์บน PIC16F628A

ทางด้านเอ็มเค.

หัวใจของมันคือไมโครคอนโทรลเลอร์ PIC16F628A

วงจรเทอร์โมมิเตอร์มีไฟ LED 4 หลักหรือ 2+2 พร้อมขั้วบวกคาร์บอน

เซ็นเซอร์วัดอุณหภูมิเป็นประเภท DS18B20 และในเวอร์ชันของฉัน ค่าที่อ่านได้จากเซ็นเซอร์จะแสดงด้วยความแม่นยำ 0.5*C