สารบัญ:
- ขั้นตอนที่ 1: อะไหล่ที่จำเป็น
- ขั้นตอนที่ 2: หลักการแผนผัง
- ขั้นตอนที่ 3: รหัส Arduino
- ขั้นตอนที่ 4: การทดสอบในโลกแห่งความเป็นจริง
วีดีโอ: เซ็นเซอร์สภาพอากาศขนาดกะทัดรัดพร้อมลิงค์ข้อมูล GPRS (ซิมการ์ด): 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
สรุปโครงการ
นี่คือเซ็นเซอร์สภาพอากาศที่ใช้แบตเตอรี่ซึ่งอิงจากเซ็นเซอร์อุณหภูมิ/ความดัน/ความชื้น BME280 และ ATMega328P MCU ใช้แบตเตอรี่ลิเธียมไทโอนิล AA 3.6 V จำนวน 2 ก้อน มีการบริโภคการนอนหลับต่ำเป็นพิเศษถึง 6 µA โดยจะส่งข้อมูลครึ่งชั่วโมงผ่าน GPRS (โดยใช้โมดูล SIM800L GSM) ไปยัง ThingSpeak ซึ่งควบคุมโดยนาฬิกาเรียลไทม์ DS3231 บริการโดยประมาณสำหรับแบตเตอรี่หนึ่งชุดคือ >6 เดือน
ฉันใช้ซิมการ์ดแบบจ่ายตามการใช้งานของ ASDA ซึ่งมีเงื่อนไขที่ดีมากสำหรับวัตถุประสงค์ของโครงการนี้ เนื่องจากมีเครดิตหมดอายุที่นานมาก (180 วัน) และเรียกเก็บเพียงปริมาณข้อมูล 5p/MB เท่านั้น
แรงจูงใจ: การพัฒนาเซ็นเซอร์สิ่งแวดล้อมที่ใช้พลังงานจากแบตเตอรี่ที่ไม่ต้องบำรุงรักษา ไม่ต้องบำรุงรักษา ซึ่งสามารถนำไปวางไว้ในป่าเพื่อรับสภาพอากาศหรือข้อมูลอื่น ๆ และส่งผ่านเครือข่าย GSM/GPRS ไปยังเซิร์ฟเวอร์ IoT
ขนาดตัวเครื่อง: 109 x 55 x 39 มม. (รวมขอบตัวเรือน) น้ำหนัก 133 กรัม ระดับ IP 54 (โดยประมาณ)
ต้นทุนวัสดุ: ประมาณ. หน่วยละ 20 ปอนด์
เวลาประกอบ: 2 ชั่วโมงต่อหน่วย (บัดกรีด้วยมือ)
แหล่งพลังงาน: แบตเตอรี่ลิเธียม thionyl AA สองก้อน, ไม่สามารถชาร์จใหม่ได้ (3.6V, 2.6Ah)
โปรโตคอลเครือข่าย: GSM GPRS (2G)
ศักยภาพการใช้งาน: สถานที่ห่างไกลใดๆ ที่มีสัญญาณ GSM ครอบคลุม ป่าไม้ ประภาคาร ทุ่น เรือยอทช์ส่วนตัว คาราวาน สถานที่ตั้งแคมป์ กระท่อมบนภูเขา อาคารที่ไม่มีคนอาศัยอยู่
การทดสอบความน่าเชื่อถือ: หนึ่งเครื่องได้รับการทดสอบระยะยาวโดยไม่มีใครดูแลตั้งแต่ 30.8.20 นอกเหนือจากความผิดพลาดของซอฟต์แวร์หนึ่งรายการแล้ว ยังส่งข้อมูลได้อย่างน่าเชื่อถือทุก ๆ 30 นาที
ขั้นตอนที่ 1: อะไหล่ที่จำเป็น
- PCB แบบกำหนดเอง ไฟล์ซิป Gerber ที่นี่ (ดูเหมือนว่า instructables.com จะบล็อกการอัปโหลดไฟล์ ZIP) ฉันขอแนะนำ jlcpcb.com สำหรับการผลิต PCB สำหรับผู้ที่อาศัยอยู่ในสหราชอาณาจักร ฉันยินดีที่จะส่ง PCB สำรองให้กับคุณโดยมีค่าใช้จ่ายเพียงเล็กน้อยในด้านวัสดุและค่าไปรษณีย์ - ส่งข้อความถึงฉัน
- ATMega328P-AU
- แก้ไข DS3231 Realtime Clock (ดูย่อหน้าด้านล่าง)
- BME280 กระดานฝ่าวงล้อมเช่นนี้
- โมดูล SIM800L GSM GPRS
- ชิ้นส่วน SMD ต่างๆ ตามรายการโดยละเอียด
- Hammond 1591, Black ABS Enclosure, IP54, Flanged, 85 x 56 x 35mm, จาก RS Components UK
การดัดแปลง DS3231
เครือข่ายตัวต้านทานสี่เท่าในวงกลมสีแดงจะต้องขายไม่ออก วิธีการทำลายล้างอื่นๆ ก็ใช้ได้เช่นกัน แต่หลีกเลี่ยงการเชื่อมแผ่นอิเล็กโทรดที่แถวด้านในของแผ่นอิเล็กโทรด 4 แผ่น (ไปทางด้านข้างของ MCU) อีก 4 แผ่นเชื่อมต่อกันด้วยการติดตาม PCB การปรับเปลี่ยนนี้มีความจำเป็นเพื่อให้พิน SQW ทำงานเป็นสัญญาณเตือน หากไม่ถอดตัวต้านทานออก จะไม่ทำงานจนกว่าคุณจะเชื่อมต่อแหล่งจ่าย VCC กับโมดูล ซึ่งขัดต่อจุดประสงค์ของการมี RTC ที่ใช้พลังงานต่ำมาก
ขั้นตอนที่ 2: หลักการแผนผัง
ลำดับความสำคัญสูงสุดสำหรับการออกแบบคือ:
- การทำงานของแบตเตอรี่โดยใช้กระแสไฟสลีปต่ำ
- ดีไซน์กะทัดรัด
แหล่งจ่ายไฟ
แบตเตอรี่ลิเธียม thionyl AA 3.6V Saft จำนวน 2 ก้อน MOSFET P-channel สำหรับการป้องกันขั้วย้อนกลับ
มีตัวควบคุมแรงดันไฟฟ้าสองตัวในวงจร:
- Texas Instruments TPS562208 ตัวควบคุมสเต็ปดาวน์ 2 แอมป์เพื่อจ่ายไฟให้กับ SIM800L ที่ประมาณ 4.1V สามารถสลับได้จาก ATMega และเข้าสู่โหมดปิดเครื่องโดยส่วนใหญ่ผ่าน Enable pin 5
- ตัวควบคุม MCP1700 3.3V สำหรับ ATMega และ BME280 นี่คือตัวควบคุมการตกต่ำที่มีประสิทธิภาพสูง โดยมีกระแสไฟนิ่งเพียงประมาณ 1 µA เนื่องจากสามารถทนต่ออินพุตได้ถึง 6V เท่านั้น ฉันจึงเพิ่มไดโอดเรียงกระแสสองตัว (D1, D2) ในชุดเพื่อลดการจ่ายไฟ 7.2V ให้อยู่ในระดับที่ยอมรับได้ประมาณ 6V ฉันลืมเพิ่มตัวเก็บประจุดีคัปปลิ้ง 10 µF ปกติบน PCB สำหรับแหล่งจ่ายไฟบน ATMega ดังนั้นฉันจึงอัพเกรดตัวเก็บประจุเอาต์พุตปกติบน MCP1700 จาก 1 เป็น 10 µF และใช้งานได้ดี
- การตรวจสอบแรงดันแบตเตอรี่ผ่าน ADC0 บน ATMega (ผ่านตัวแบ่งแรงดันไฟ)
นาฬิกาเรียลไทม์
DS3231 ที่ได้รับการดัดแปลง ซึ่งจะปลุก ATMega ในช่วงเวลาที่กำหนดเพื่อเริ่มรอบการวัดและการส่งข้อมูล DS3231 ใช้พลังงานจากเซลล์ลิเธียม CR2032
BME280
ฉันได้ลองใช้โมดูล Bosch BME280 ดั้งเดิมด้วยตัวเองแล้ว ซึ่งแทบจะเป็นไปไม่ได้เลยที่จะบัดกรีด้วยขนาดที่เล็ก ดังนั้นฉันจึงใช้กระดานฝ่าวงล้อมที่มีอยู่ทั่วไป เนื่องจากมีตัวควบคุมแรงดันไฟฟ้าที่ไม่จำเป็น ซึ่งกินไฟ ฉันจึงเปิดสวิตช์ด้วย N-channel MOSFET ก่อนทำการตรวจวัด
SIM800L
โมดูลนี้มีความน่าเชื่อถือ แต่ดูเหมือนว่าจะค่อนข้างเจ้าอารมณ์หากแหล่งจ่ายไฟไม่แข็งกระด้าง ฉันพบว่าแรงดันไฟฟ้า 4.1V ทำงานได้ดีที่สุด ฉันได้ทำการติดตาม PCB สำหรับ VCC และ GND ไปยัง SIM800L ที่หนาเป็นพิเศษ (20 ล้าน)
ความคิดเห็นแผนผัง / PCB
- ป้ายกำกับเครือข่าย "1" - ระบุว่า "SINGLEPIN" ในรายการชิ้นส่วนหมายถึงหมุดส่วนหัวของตัวผู้
- หมุดสองตัวที่อยู่ติดกับสวิตช์แบบสไลด์จำเป็นต้องต่อกับจัมเปอร์เพื่อการทำงานปกติ มิฉะนั้น สาย VCC จะเปิดขึ้นที่นี่ มีไว้สำหรับการวัดปัจจุบันหากจำเป็น
- ไม่จำเป็นต้องใช้ตัวเก็บประจุ 100 µF (C12) สำหรับโมดูล SIM800L มันถูกเพิ่มเป็นมาตรการป้องกัน (สิ้นหวัง) ในกรณีของปัญหาเสถียรภาพที่คาดไว้
ขั้นตอนการประกอบที่แนะนำ
- ประกอบส่วนประกอบแหล่งจ่ายไฟทั้งหมดในส่วนล่างซ้ายของ PCB เปิดใช้งานพิน (พิน 5) ของ TPS562208 จะต้องอยู่ในระดับสูงสำหรับการทดสอบ มิฉะนั้น โมดูลจะอยู่ในโหมดปิดเครื่อง และคุณจะมีเอาต์พุต 0V ในการดึง Enable pin ให้สูงสำหรับการทดสอบ สามารถเชื่อมต่อสายชั่วคราวจาก pad 9 ของ ATMega (ซึ่งบน PCB ถูกต่อเข้ากับ PIN 5 ของตัวควบคุมแรงดันไฟฟ้า) สามารถเชื่อมต่อกับจุด VCC จุดที่ใกล้ที่สุดคือขาล่างของ R3 ซึ่งอยู่บนเส้น VCC
- ทดสอบเอาต์พุตจาก TPS562208 ระหว่างพินด้านล่างของ C2, C3 หรือ C4 และ GND คุณควรมีประมาณ 4.1V
- ทดสอบเอาต์พุตจาก MCP1700 ระหว่างพินบนขวาของ U6 และ GND คุณควรมี 3.3V
- ประสาน ATMega328P; สังเกตเครื่องหมายพิน 1 ที่มุมซ้ายบน ต้องฝึกฝนบ้างแต่ไม่ยากเกินไป
- เบิร์น bootloader ลงบน ATMega328 - บทช่วยสอนสำหรับสิ่งนี้ที่อื่น คุณไม่จำเป็นต้องใช้ส่วนหัวของพินเพื่อเชื่อมต่อกับ MOSI, MISO, SCK และ RST ในไม่กี่วินาทีที่ใช้ในการเบิร์น bootloader คุณสามารถใช้สาย Dupont และใช้มุมเล็กน้อยเพื่อให้ได้การสัมผัสที่ดี
- แนบส่วนหัวพินตัวเมีย 5x สำหรับ DS3231
- ประสาน SIM800L ผ่านส่วนหัวของพินตัวผู้
- บัดกรี BME280
- อัปโหลดโค้ดใน Arduino IDE โดยใช้อะแดปเตอร์ USB2TTL (เลือก Arduino Uno/Genuino เป็นเป้าหมาย)
ขั้นตอนที่ 3: รหัส Arduino
ดูซอร์สโค้ด Arduino ในไฟล์แนบ
ขั้นตอนที่ 4: การทดสอบในโลกแห่งความเป็นจริง
ฉันเจาะรูเล็กๆ สองรูทางด้านขวาของเคสไปด้านหน้า ฉันปิดมันจากด้านในด้วยแผ่นแปะ Goretex เพื่อให้สามารถแลกเปลี่ยนอากาศได้ แต่ไม่รวมน้ำ ฉันเพิ่มอุปกรณ์กันฝนเพิ่มเติมด้วยหลังคาพลาสติกเล็กๆ จากนั้นฉันก็เสียบชุดประกอบทั้งหมดลงในเคสโดยให้ส่วนประกอบหันไปข้างหน้าและแบตเตอรี่หันเข้าหาฝา ฉันเพิ่มจาระบีซิลิกอนเล็กน้อยลงในเคสเพื่อเพิ่มการป้องกันน้ำเข้า
ขณะนี้หน่วยกำลัง "ติดตั้ง" ติดกับแม่น้ำสายเล็ก นี่คือฟีดข้อมูลสด
แนะนำ:
A9G GPS & GPRS โมดูลการสอน - ไอ-นักคิด - คำสั่ง AT: 7 ขั้นตอน
A9G GPS & GPRS โมดูลการสอน | ไอ-นักคิด | คำสั่ง AT: เฮ้ ว่าไงพวก! Akarsh จาก CETech วันนี้ เราจะมาพูดถึงโมดูล A9G GPS, GSM และ GPRS จาก AI Thinker มีโมดูลอื่นๆ อีกหลายโมดูลเช่นกัน เช่น A9 และ A6 จาก AI Thinker ซึ่งมีความสามารถด้าน GSM และ GPRS ที่คล้ายกัน แต่
กล้องอีเมล 3G/GPRS ของ Arduino Security พร้อมการตรวจจับการเคลื่อนไหว: 4 ขั้นตอน
Arduino Security 3G/GPRS Email Camera พร้อม Motion Detection: ในคู่มือนี้ ผมอยากจะเล่าเกี่ยวกับรุ่นหนึ่งในการสร้างระบบเฝ้าระวังความปลอดภัยด้วยเครื่องตรวจจับความเคลื่อนไหว และส่งภาพถ่ายไปยังกล่องจดหมายผ่าน 3G/GPRS shield บทความนี้อ้างอิงจาก คำแนะนำอื่นๆ: คำแนะนำ 1 และคำแนะนำ
Arduino และ SIM900 GSM GPRS 3G การบันทึกอุณหภูมิและความชื้น, สถิติมือถือ: 4 ขั้นตอน
Arduino และ SIM900 GSM GPRS 3G การบันทึกอุณหภูมิและความชื้น สถิติมือถือ: ด้วย Arduino UNO R3, SIM900 Shield และ DHT22 คุณสามารถบันทึกข้อมูลอุณหภูมิและความชื้นภายนอก ในห้อง เรือนกระจก ห้องปฏิบัติการ ห้องเย็น หรือสถานที่อื่น ๆ ได้อย่างสมบูรณ์ฟรี ตัวอย่างนี้เราจะใช้บันทึกอุณหภูมิและความชื้นในห้อง อุปกรณ์จะ
การเชื่อมต่อ TCP/IP ผ่าน GPRS: วิธีส่งข้อมูลไปยังเซิร์ฟเวอร์โดยใช้โมดูล SIM900A: 4 ขั้นตอน
การเชื่อมต่อ TCP/IP ผ่าน GPRS: วิธีส่งข้อมูลไปยังเซิร์ฟเวอร์โดยใช้โมดูล SIM900A: ในบทช่วยสอนนี้ ฉันจะบอกคุณเกี่ยวกับวิธีการส่งข้อมูลไปยังเซิร์ฟเวอร์ TCP โดยใช้โมดูล SIM900 นอกจากนี้เรายังจะดูว่าเราสามารถรับข้อมูลจากเซิร์ฟเวอร์ไปยังไคลเอนต์ได้อย่างไร (โมดูล GSM)
ระบบกันขโมย GPS+GPRS สำหรับรถยนต์ที่ใช้ Arduino สมบูรณ์: 5 ขั้นตอน (พร้อมรูปภาพ)
ระบบป้องกันการโจรกรรม GPS + GPRS สำหรับยานพาหนะบน Arduino แบบสมบูรณ์: สวัสดีทุกคน! ฉันต้องการสร้างโซลูชันที่สมบูรณ์สำหรับอุปกรณ์ป้องกันการโจรกรรม GPS ในยานพาหนะ ซึ่งจะ: ถูกที่สุดเท่าที่จะเป็นไปได้และใช้งานได้จริง - ไม่มีอะไรต้องทำอย่างอื่นให้มากที่สุด ดังนั้นฉันจึงลงเอยด้วยการสร้างโซลูชันที่ใช้ Arduino