DIY ม่านไฟฟ้าจากม่าน IKEA

สวัสดีครับ ในบล๊อคนี้เดี๋ยวเราก็จะมาทำม่านม้วนไฟฟ้ากัน เนื่องจากว่าแดดยามเช้ามันช่างรุนแรง อยากให้แดดมันส่องตาเฉพาะตอนเวลาที่จะตื่นเท่านั้น(เรื่องมากอีก 555)

vlcsnap-2018-07-31-09h29m08s000.png
แดดแรงขนาดไหนคิดดู นี่ยังไม่ 7 โมงเลย

Hardware

ราคาต่อหนึ่งชุด ประมาณหนึ่งพัน

  • Wemos D1 mini – จะใช้ ESP8266 ตัวไหนก็ได้เช่น NodeMCU ก็ได้ แต่ Wemos D1 mini มันอันเล็กดี เหมาะกับการใส่ในกล่องควบคุมเล็กๆ
  • 28BYJ-48 stepper motor และบอร์ดไดรว์เวอร์ ULN2003
  • ตัวยึดมอเตอร์จากการ 3D Print ด้วยวัสดุ PLA โหลดโมเดลได้จากที่นี่
  • สวิทช์ปล่อยดับ x 2
  • กล่อง FutureBox FB01
  • คอนเน็กเตอร์, สายไฟ, ฯลฯ
  • ม่านม้วน TUPPLUR จาก IKEA

แนะนำให้ต่อลง Breadboard ก่อนบัดกรีถาวรครับ

Schematics_bb.png

Software (HomeBridge)

ต่อจากตอนที่แล้วครับที่ผมเคย Setup ตัว relay กับ HomeBridge. คราวนี้ผมก็ยังใช้ตัว HomeBridge เป็น Core เหมือนเดิม โดยจะใช้โปรโตรคอล MQTT สำหรับการสื่อสาระหว่าง ESP8266 ไป Raspberry Pi. ผมจะใช้ plugin homebridge-mqtt ในการติดต่อกัน

  1. ติดตั้ง MOSQUITTO ลง Raspberry Pi- mosquitto คือเซิฟเวอร์สำหรับการสื่อสารโดยใช้โปรตอคอล mqtt สามารถติดตั้งได่โดยใช้คำสั่งด้านล่าง
    sudo apt-get install mosquitto
  2. ติดตั้ง plugin mqtt สำหรับ HomeBridge
    sudo npm install -g homebridge-mqtt
  3. แก้ไขไฟล์ config.js ของ HomeBridge (ไฟล์ config.js จะอยู่ที่ home/.homebridge/config.js)
    sudo nano config.js

    ให้แก้ไขไฟล์ Config โดยเพิ่มส่วนที่เป็น Platform ของ homebridge-mqtt เข้าไป ตัวอย่างไฟล์ Config ที่ได้จะมีหน้าตาประมาณนี้

    {
         "bridge": {
         "name": "Homebridge",
         "username": "CC:22:3D:E3:CE:30",
         "port": 51826,
         "pin": "031-45-154"
    },
    "description": "This is an example configuration file with one fake accessory and one fake platform. You can use this as a template for creating your own configuration file containing devices you actually own.",
    "accessories": [{
         "accessory": "relay",
         "name": "My relay light 1",
         "pin": 7
         }],
    "platforms": [{
         "platform": "mqtt",
         "name": "mqtt",
         "url": "mqtt://127.0.0.1",
         "port": "1883",
         "topic_type": "multiple",
         "topic_prefix": "homebridge",
         "qos": 1
         }]
    }
    

    รัน HomeBridge แล้วใช้โปรแกรม MQTT LENS(โหลดได้จาก Chrome Webstore) แล้วเพิ่ม Connection เป็น Raspberry Pi ของเรา แล้ว Publish ไปที่

    homebridge/to/add

    โดยมี Payload เป็น

    {
         "name": "Blind 1",
         "service_name": "blind_1",
         "service": "WindowCovering"
    }
    

    หลังจากนั้นเปิดแอป Home ในไอโฟนขึ้นมา จะเจออุปกรณ์ที่ชื่อว่า blind_1 ถ้าได้ตามนี้ก็เดี๋ยวไปลุยต่อกับตัว ESP8266 ที่ผ้าม่านครับ

Hardware (ผ้าม่าน)

ตัวควบคุมม่านประกอบด้วยปุ่มสองปุ่ม(ปุ่มขึ้นและปุ่มลง) ตัวควบคุมมอเตอร์ และไมโครคอนโทรเลอร์

ตัวม่านม้วนผมก็จะต่อวงจรตาม Diagram ด้านบนเลยครับ ตัวยึดมอเตอร์เข้ากับผ้าม่าน ผม โหลดโมเดล 3D มาปริ้นด้วยวัสดุ PLA ครับ

หลังจากนั้นก็แฟลชเฟริมแวร์ใส่ตัว ESP8266 ของเรา โดยสามารถดูได้จากในวิดีโอเลยครับ โค้ดทั้งหมดผมจะอัพโหลดไว้ที่ Github หน้านี้นะครับ

ปล. โค้ดของผมใช้ไลบรารี่ CheapStepper เวอร์ชั่นที่ผมดัดแปลงนิดนึงนะครับ และกรุณาแก้ไขค่า ip ของ server ในโค้ด ให้เป็น ip ของ raspberry pi และ name กับ service_name ให้ตรงกับตอนที่เราสร้าง accessories ผ่าน mqttlens ไปครับ

เมื่อแฟลชเฟิร์มแวร์เสร็จ ตัว ESP8266 จะปล่อย wifi ชื่อ ESP8266 Blinds ขึ้นมาเพื่อให้เราตั้งค่าสำหรับต่อไวไฟบ้านเราได้ เมื่อต่อไปที่ไวไฟชื่อ ESP8266 Blinds ให้เข้าไปที่ 192.168.4.1 กด Configure Wifi > จิ้มทีไวไฟของเราแล้วใส่รหัสด้านล่างกรอกรหัสแล้วกด save  หลังจากนั้นรอตัว ESP8266 ต่อไวไฟบ้านเราได้

เมื่อต่อได้แล้ว ให้ทดลองปรับค่าผ่านทางแอป Home ว่าตัว ESP8266 กับมอเตอร์นั้นตอบสนองหรือไม่

การ Calibrate ม่าน

Calibrate(ตั้งศูนย์) ม่าน เพื่อกำหนดจุดสูงสุดและจุดต่ำสุดของม่าน เนื่องจากว่าระบบนี้ไม่มีเซนเซอร์ตรวจจับความสูงของม่าน จึงต้องอาศัยการนับ Step ของมอเตอร์เอา

ขั้นตอนการ Calibrate

  1. กดปุ่มลงค้างไว้แล้วเสียบตัวควบคุมเข้ากับแหล่งจ่ายไฟ – หากถูกต้อง ผ้าม่านจะหมุนลงเรื่อยๆ ในตอนนี้สามารถปล่อยมือจากปุ่มลงได้
  2. รอให้ผ้าม่านเลื่อนลงมาถึงจุดต่ำสุด(ปิดเต็มที่) กดปุ่มลงหนึ่งที – หากถูกต้อง ผ้าม่านจะเปลี่ยนทิศทางแล้วหมุนขึ่นเรื่อยๆ
  3. เมื่อผ้าม่านหมุ่นมาถึงจุดสูงสุด(เปิดเต็มที่) กดปุ่มลงหนึ่งที – หากถูกต้อง ผ้าม่านจะหยุด ถึอว่าการ Calibrate สมบูรณ์

หากไม่ได้ตามนี้ให้ลองใหม่ครับ การ Calibrate นี่บางครั้งผมก็ไม่ติด(ไม่รู้เป็นไร 555) แต่ถ้าทำได้ก็ใช้ได้ยาวๆ ครับ ข้อมูลจะถูกบันทึกไว้ใน ROM

ติดตั้ง

ด้านขวาของผ้าม่าน IKEA TUPPLUR จะเป็นกลไกลสปริง ให้ดึงออกแล้วติดตั้งมอเตอร์เข้าไปแทน หลังจากนั้นเจาะรูที่ผนังตาม template ที่ให้มาในกล่อง(แต่ด้านที่เป็นมอเตอร์ ระยะห่างระหว่างรูบนและรูล่าง ต้องกว้างกว่าตาม template เล็กน้อยนะครับ) ยึดผ้าม่านและมอเตอร์ด้วยปุ๊กและสกรู และอย่าลืมเดินไฟ 5 โวลต์ให้กล่องควบคุม เป็นอันเสร็จสิ้นครับ 😀

vlcsnap-2018-07-31-09h27m57s763.png

ปัญหาที่เจอ

ผมเจอปัญหาที่ว่าตัวมอเตอร์ออกแรงดึงผ้าม่านขึ่นมาไม่ไหว ตอนแรกผมพยายามแก้โดยปรับมอเตอร์ให้มันตรงกับผ้าม่านมากที่สุด(ตอนแรกผมติดเบี้ยวนิดนึง) แต่ก็ยังดึงไม่ขึ้น ทั้งๆ ที่อันก่อนหน้าที่ผมติดตั้งก็ไม่มีปัญหาอะไร แล้วผมก็เจอว่าสายไฟ 5v ของผมมีความต้านทานค่อนข้างสูง ทำให้ไฟเลี้ยงมอเตอร์มีแอมป์ไม่พอ (แนะนำให้มีไฟเลี้ยงอย่างน้อง 1 แอมป์ครับ)  หลังจากที่เปลี่ยนสายไฟเลี้ยง 5v ใหม่ จึงทำให้มอเตอร์กลับมามีแรงดึงผ้าม่านขึ้นครับ แต่สำหรับผ้าม่านอันใหญ่สุดของผม วิธีนี้ยังไม่สามารถทำให้ผ้าม่านเลื่อนขึ้นได้ครับ ผมจึงต้องปล่อยไฟแยกประมาณ 7 โวลต์(จากเดิม 5 โวลต์) ไปที่บอร์ดควบคุมมอเตอร์ ย้ำนะครับว่าให้ต่อไฟ 7 โวลต์ไปที่ตัวบอร์ดควบคุมมอเตอร์เท่านั้น ถ้าตัว Microcontroller ได้รับไฟ 7 โวลต์ ตัว Microcontroller อาจจะเสียหายได้ครับ

และอีกปัญหาก็คือการ Calibrate มอเตอร์  ที่ทำค่อนข้างยาก ขั้นตอนแรกซึ่งผ้าม่านมันควรต้องเลื่อนลง แต่ว่ามันกลับเลื่อนขึ้นแทน (คิดว่าเกิดจากการ Debounce ของ Push button – ยังไม่มีเวลาแก้ครับ)  วิธีแก้ตอนนี้ก็คือรีเซตแล้วทำการ Calibrate ใหม่เรื่อยๆ จนกว่าจะได้ (เท่าที่ผมเจอ ไม่เกิน 5 ครั้งก็สำเร็จแล้วครับ)

สิ่งสุดท้าย จะเรียกว่าปัญหาก็ไม่เชิง ตัวม่านใช้เวลาประมาณ 40-60 วินาทีในการเปิด อาจจะช้าไปสำหรับบางคนแต่ไม่ใช่ปัญหาสำหรับผมครับ แต่ผมก็ได้ปรับโค้ดให้ตอนลงเร็วกว่าตอนขึ้นประมาณ 40% แล้ว เพราะตอนลงมอเตอร์ไม่ต้องออกแรงเนื่องจากมีแรงโน้มถ่วงช่วยดึงลง

สรุป

ผมค่อนข้างพึงพอใจนะ สุดท้ายแล้วทุกอย่างมันสามารถทำงานได้ตามที่ต้องการ แต่ผมยังกังวลในเรื่องของระยะยาวว่าวัสดุ PLA ใช้ไปนานๆ มันจะเสื่อมสภาพมั้ย และปัญหาในด้านของ Software ว่ามันจะเสถียรแค่ไหน แต่โดยรวมที่ใช้มาประมาณ 1 เดือน ก็ยังไม่มีปัญหาอะไร ถ้าใครอยากช่วยผมปรับปรุงโค้ดก็ Fork ไปไดเลยครับ 😀

IMG_7543.png

Advertisements

One thought on “DIY ม่านไฟฟ้าจากม่าน IKEA

Add yours

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out /  เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out /  เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out /  เปลี่ยนแปลง )

Connecting to %s

Create a website or blog at WordPress.com

Up ↑

%d bloggers like this: