สารบัญ:

สถานีตรวจอากาศพลังงานแสงอาทิตย์: 5 ขั้นตอน
สถานีตรวจอากาศพลังงานแสงอาทิตย์: 5 ขั้นตอน

วีดีโอ: สถานีตรวจอากาศพลังงานแสงอาทิตย์: 5 ขั้นตอน

วีดีโอ: สถานีตรวจอากาศพลังงานแสงอาทิตย์: 5 ขั้นตอน
วีดีโอ: DIY Solar weather station - สถานีตรวจวัดคุณภาพอากาศ พลังงานแสงอาทิตย์ 2024, พฤศจิกายน
Anonim
สถานีตรวจอากาศพลังงานแสงอาทิตย์
สถานีตรวจอากาศพลังงานแสงอาทิตย์

คุณเคยต้องการข้อมูลสภาพอากาศแบบเรียลไทม์จากสนามหลังบ้านของคุณหรือไม่? ตอนนี้คุณสามารถซื้อสถานีตรวจอากาศในร้านค้าได้ แต่โดยทั่วไปต้องใช้แบตเตอรี่หรือต้องเชื่อมต่อกับเต้ารับ สถานีตรวจอากาศนี้ไม่จำเป็นต้องเชื่อมต่อกับกริดเพราะมีแผงโซลาร์เซลล์ที่หมุนเข้าหาดวงอาทิตย์เพื่อประสิทธิภาพที่มากขึ้น ด้วยโมดูล RF จึงสามารถถ่ายโอนข้อมูลจากสถานีภายนอกไปยัง Raspberry Pi ภายในบ้านของคุณได้ Raspberry Pi เป็นโฮสต์เว็บไซต์ที่คุณสามารถดูข้อมูลได้

ขั้นตอนที่ 1: รวบรวมวัสดุ

วัสดุ

  • Raspberry Pi 3 รุ่น B+ + อะแดปเตอร์ + การ์ด Micro SD 16GB
  • Arduino Uno
  • Arduino Pro Mini + FTDI ฝ่าวงล้อมพื้นฐาน
  • 4 6V 1W แผงโซลาร์เซลล์
  • แบตเตอรี่ 18650 4 ก้อน
  • บูสเตอร์ 5v
  • เครื่องชาร์จแบตเตอรี่ TP 4056 จำนวน 4 เครื่อง
  • Adafruit DHT22 เซ็นเซอร์อุณหภูมิและความชื้น
  • BMP180 เซ็นเซอร์ความดันบรรยากาศ
  • 4 LDR
  • เครื่องรับและส่งสัญญาณ RF 433
  • 2 Nema 17 สเต็ปเปอร์มอเตอร์
  • 2 DRV8825 ไดรเวอร์สเต็ปเปอร์มอเตอร์
  • จอแอลซีดี 128*64
  • สายไฟมากมาย

เครื่องมือและวัสดุ

  • กาว
  • แผ่นไม้
  • เลื่อย
  • สกรู+ตัวขับสกรู
  • เทปกาว
  • 2 แถบอลูมิเนียม

ขั้นตอนที่ 2: การออกแบบเครื่องกล

การออกแบบเครื่องกล
การออกแบบเครื่องกล
การออกแบบเครื่องกล
การออกแบบเครื่องกล
การออกแบบเครื่องกล
การออกแบบเครื่องกล
การออกแบบเครื่องกล
การออกแบบเครื่องกล

ตัวสถานีตรวจอากาศทำจากไม้อัด คุณไม่จำเป็นต้องใช้ไม้ คุณสามารถทำจากไม้อะไรก็ได้ที่คุณต้องการ สำหรับแท่นยึดมอเตอร์ ฉันเจาะไม้ทั้งก้อนแล้วขันสกรูแบนเข้ากับเพลาของมอเตอร์ ซึ่งทำงานได้ดีกว่าที่ฉันคาดไว้ ด้วยวิธีนี้คุณไม่จำเป็นต้องพิมพ์ 3 มิติแท่นยึดมอเตอร์และง่ายต่อการสร้าง จากนั้นฉันก็งอแถบอลูมิเนียม 2 อันเพื่อยึดมอเตอร์ให้แน่น จากนั้นฉันก็ตัดไม้กระดานและเจาะรูสำหรับแผงโซลาร์เซลล์ จากนั้นติดแผงโซลาร์เซลล์และบัดกรีสายไฟบนแผงโซลาร์เซลล์ จากนั้นคุณจะต้องทำการขีดฆ่าด้วยวัสดุสีดำ ถ้าไม่มีสีดำ คุณสามารถใช้เทปสีดำได้ กากบาทนี้จะถือ LDR ในแต่ละมุมเพื่อให้ Arduino สามารถเปรียบเทียบการวัดจาก LDR และคำนวณทิศทางที่ต้องการหมุน ดังนั้นให้เจาะรูเล็กๆ ในแต่ละมุม เพื่อให้คุณใส่ LDR เข้าไปได้ สิ่งที่ต้องทำตอนนี้คือทำแผ่นฐานและบางอย่างเพื่อใส่อุปกรณ์อิเล็กทรอนิกส์ สำหรับแผ่นฐาน คุณจะต้องเจาะทั้งแผ่นเพื่อกำหนดเส้นทางรางสายไฟทั้งหมด สำหรับการวัด ฉันจะไม่ให้อะไรกับคุณเลย เพราะมันขึ้นอยู่กับคุณจริงๆ ว่าคุณต้องการออกแบบสิ่งนี้อย่างไร หากคุณมีมอเตอร์ตัวอื่นหรือแผงโซลาร์เซลล์อื่นๆ คุณจะต้องคำนวณขนาดด้วยตัวเอง

ขั้นตอนที่ 3: การออกแบบไฟฟ้า

พลัง

ระบบทั้งหมดใช้แบตเตอรี่ (ยกเว้น Raspberry Pi) ฉันวางแบตเตอรี่ 3 ก้อนในซีรีย์ แบตเตอรี่ 1 ก้อนมีค่าเฉลี่ย 3.7V ดังนั้น 3 ในซีรีย์ให้คุณประมาณ 11V ชุดแบตเตอรี่ 3s นี้ใช้สำหรับมอเตอร์และเครื่องส่ง RF แบตเตอรี่ที่เหลือใช้สำหรับจ่ายไฟให้กับ Arduino Pro Mini และเซ็นเซอร์ ในการชาร์จแบตเตอรี่ ฉันใช้โมดูล TP4056 4 โมดูล แบตเตอรี่แต่ละก้อนมี 1 โมดูล TP4056 แต่ละโมดูลเชื่อมต่อกับแผงโซลาร์เซลล์ เนื่องจากโมดูลมี B(ใน) และ B(ออก) ฉันสามารถชาร์จแยกกันและปล่อยออกเป็นอนุกรมได้ ตรวจสอบให้แน่ใจว่าคุณซื้อโมดูล TP4056 ที่ถูกต้อง เนื่องจากไม่ใช่ทุกโมดูลที่มี B(in) และ B(out)

คอนโทรล

Arduino Pro Mini ควบคุมเซ็นเซอร์และมอเตอร์ หมุดดิบและกราวด์ของ Arduino เชื่อมต่อกับบูสเตอร์ 5V บูสเตอร์ 5V เชื่อมต่อกับแบตเตอรี่ก้อนเดียว Arduino Pro Mini ใช้พลังงานต่ำมาก

ส่วนประกอบ

DHT22: ฉันเชื่อมต่อเซ็นเซอร์นี้กับ VCC และกราวด์ จากนั้นฉันเชื่อมต่อพินข้อมูลกับพินดิจิทัล 10

BMP180: ฉันเชื่อมต่อเซ็นเซอร์นี้กับ VCC และกราวด์ ฉันเชื่อมต่อ SCL กับ SCL บน Arduino และ SDA กับ SDA บน Arduino โปรดใช้ความระมัดระวังเนื่องจากพิน SCL และ SDA บน Arduino Pro Mini อยู่ตรงกลางของบอร์ด ดังนั้นหากคุณได้บัดกรีพินเข้ากับบอร์ดและวางไว้ในเขียงหั่นขนม มันจะไม่ทำงานเพราะคุณจะเกิดการรบกวนจากพินอื่นๆ ฉันบัดกรีหมุด 2 อันที่ด้านบนของบอร์ดแล้วต่อสายเข้ากับมันโดยตรง

เครื่องส่งสัญญาณ RF: ฉันเชื่อมต่อสิ่งนี้กับก้อนแบตเตอรี่ 3 วินาทีเพื่อสัญญาณที่ดีขึ้นและช่วงที่ยาวขึ้น ฉันพยายามเชื่อมต่อกับ 5V จาก Arduino แต่แล้วสัญญาณ RF ก็อ่อนมาก จากนั้นฉันเชื่อมต่อดาต้าพินกับพินดิจิตอล 12

LDR: ฉันเชื่อมต่อ 4 LDR กับพินอะนาล็อก A0, A1, A2, A3 ฉันได้รวม LDR เข้ากับตัวต้านทาน 1K แล้ว

มอเตอร์: มอเตอร์ขับเคลื่อนด้วยโมดูลควบคุม DRV8825 2 ชุด สิ่งเหล่านี้มีประโยชน์มากเพราะใช้เพียง 2 สายอินพุต (ทิศทางและขั้นตอน) และสามารถผลิตได้ถึง 2A ต่อเฟสให้กับมอเตอร์ ฉันมีมันเชื่อมต่อกับพินดิจิตอล 2, 3 และ 8, 9

LCD: ฉันเชื่อมต่อจอแอลซีดีกับ Raspberry Pi เพื่อแสดงที่อยู่ IP ฉันใช้ที่กันจอนเพื่อควบคุมแสงด้านหลัง

ตัวรับ RF: ฉันเชื่อมต่อเครื่องรับกับ Arduino Uno บน 5V และกราวด์ ตัวรับสัญญาณไม่ควรเกิน 5V จากนั้นฉันก็เชื่อมต่อดาต้าพินกับพินดิจิตอล 11 หากคุณสามารถหาไลบรารี่สำหรับโมดูล RF เหล่านี้ที่ทำงานบน Raspberry Pi ได้ คุณก็ไม่จำเป็นต้องใช้ Arduino Uno

Raspberry Pi: Raspberry Pi เชื่อมต่อกับ Arduino Uno ผ่านสาย USB Arduino ส่งสัญญาณ RF ไปยัง Raspberry Pi ผ่านการเชื่อมต่อแบบอนุกรม

ขั้นตอนที่ 4: มาเริ่มการเข้ารหัสกันเถอะ

ในการโค้ด Arduino Pro Mini คุณจะต้องมีโปรแกรมเมอร์ FTDI เนื่องจาก Pro Mini ไม่มีพอร์ต USB (เพื่อประหยัดพลังงาน) คุณจะต้องใช้บอร์ดฝ่าวงล้อมนั้น ฉันตั้งโปรแกรมโค้ดใน Arduino IDE ฉันคิดว่านี่เป็นวิธีที่ง่ายที่สุด อัปโหลดรหัสจากไฟล์และควรไปได้ดี

ในการโค้ด Arduino Uno ฉันเชื่อมต่อกับคอมพิวเตอร์ผ่านสาย USB หลังจากที่ฉันอัปโหลดโค้ด ฉันก็เชื่อมต่อกับ Raspberry Pi ฉันยังสามารถเปลี่ยนรหัสบน Raspberry Pi ได้เพราะฉันติดตั้ง Arduino IDE และฉันสามารถตั้งโปรแกรมจากที่นั่นได้ รหัสนั้นง่ายมาก ใช้อินพุตจากเครื่องรับและส่งผ่านพอร์ตอนุกรมไปยัง Raspberry Pi

ในการโค้ด Raspberry Pi ฉันติดตั้ง Raspbian จากนั้นฉันก็ใช้ Putty เพื่อเชื่อมต่อผ่านการเชื่อมต่อ SSH จากนั้นฉันกำหนดค่า Raspberry เพื่อให้สามารถเชื่อมต่อผ่าน VNC และมี GUI ฉันติดตั้งเว็บเซิร์ฟเวอร์ Apache และเริ่มเขียนโค้ดแบ็กเอนด์และฟรอนท์เอนด์สำหรับโปรเจ็กต์นี้ คุณสามารถค้นหารหัสบน github:

ขั้นตอนที่ 5: ฐานข้อมูล

ในการเก็บข้อมูลฉันใช้ฐานข้อมูล SQL ฉันสร้างฐานข้อมูลใน MySQL Workbench ฐานข้อมูลเก็บการอ่านเซ็นเซอร์และข้อมูลเซ็นเซอร์ ฉันมี 3 ตาราง ตารางหนึ่งสำหรับจัดเก็บค่าเซ็นเซอร์ด้วยการประทับเวลา อีกตารางหนึ่งสำหรับจัดเก็บข้อมูลเกี่ยวกับเซ็นเซอร์ และตารางสุดท้ายสำหรับจัดเก็บข้อมูลเกี่ยวกับผู้ใช้ ฉันไม่ได้ใช้ตารางผู้ใช้เพราะฉันไม่ได้เขียนโค้ดส่วนนั้นของโปรเจ็กต์เนื่องจากไม่ได้อยู่ใน MVP ของฉัน ดาวน์โหลดไฟล์ SQL และดำเนินการและฐานข้อมูลควรจะดีไป

แนะนำ: