Posted on

ตัวอย่างการคำนวณ เซนเซอร์วัดอุณหภูมิและความชื้น Calculation example Temperature Humidity Sensor Voltage Output 0-10V

1. การคำนวณอุณหภูมิ 

สมการหา อุณหภูมิ (℃) = (TV – V0) / Vr * Tr + T0

เมื่อ

  • TV : คือแรงดันไฟขาออก, หน่วย V
  • V0: คือค่าแรงดันไฟฟ้าขั้นต่ำ หน่วย V ตัวอย่างเช่น 0 – 10V ใช้ค่า V0 = 0
  • Vr: คือช่วงแรงดันไฟฟ้า หน่วย V เช่น 0 -10V ใช้ค่า Vr = 10
  • Tr: คือช่วงอุณหภูมิ หน่วย °C เช่น -20 ~ 80°C ใช้ค่า Tr = 80
  • T0: คือค่าอุณหภูมิต่ำสุด หน่วย ℃ เช่น -20~80℃, ใช้ค่า T0 = -20

ตัวอย่างการคำนวณ

  • แรงดันไฟฟ้าที่ TV คือ 5V
  • ช่วงคือ -20 ~ 80
  • จากนั้นอุณหภูมิ ℃ = (TV – V0) / Vr*Tr + T0
  • จากนั้นอุณหภูมิ ℃ = (5-0) / 10*80 + -20 = 20℃

2. การคำนวณ Humidity 

สมการหา Humidity (%RH) = (HV – V0) / Vr*Hr + H0

  • HV: แรงดันเอาต์พุต, หน่วย V
  • V0: ค่าแรงดันไฟฟ้าขั้นต่ำ หน่วย V ตัวอย่างเช่น 0-10V, V0 = 0
  • Vr: ช่วงแรงดันไฟฟ้า หน่วย V เช่น 0 – 10V, Vr = 10
  • Hr : ช่วงความชื้น หน่วย %RH เช่น 0~100%RH จากนั้น Hr =100 H0: ค่าความชื้นขั้นต่ำ หน่วย %RH เช่น 0~100°C, H0=0

ตัวอย่างการคำนวณ

  • แรงดันไฟฟ้าที่ HV คือ 5V
  • ช่วงคือ 0 ~ 100%RH
  • จากนั้นความชื้น = 5/10*100 = 50%RH

แรงดันไฟฟ้าขาออกสูงสุดคือไม่เกินแรงดันไฟฟ้าของแหล่งจ่ายไฟ -2V  เพื่อให้ได้เอาต์พุต 10V ที่อุณหภูมิสูงหรือความชื้นสูงแนะนำให้จ่ายไฟอย่างน้อย 12V

Posted on

แรงบิดหมายถึงอะไร What does Torque mean?

หน่วยแรงบิดที่ใช้กันทั่วไป:

1 nm = 10 kg.cm = 0.1 kg.m

แรงบิดมาตรฐานของมอเตอร์คือ 10 kg.cm สมมติว่าใช้รอกในการหมุน รัศมีของรอกคือ 1 cm.
ความตึงของสายพานคือ 10 kg ถ้ารัศมีของรอกคือ 2 cm. ความตึงของสายพานจะเท่ากับ 5 kg.

แนวคิดเกี่ยวกับแรงบิด:

  • แรงบิด = แรงตึงตั้งฉากกับแกนยื่น arm (น้ำหนักที่ยก) x แกนยื่น arm

ตัวอย่างเช่น: การยกถัง

ภาพด้านซ้าย

  • รัศมีการหมุน = แกนยื่น arm = 10 cm.
  • น้ำหนักการยก = 5 kg.
  • แรงบิดที่ต้องการ = 5 kg x 10cm = 50 kg.cm

ภาพด้านขวา

  • มีรัศมีการหมุน = แกนยื่น arm = 5 cm.
  • น้ำหนักที่ยก = 5 kg.
  • แรงบิดที่ต้องการ = 5 kg x 5 cm =25 kg.cm

จากตัวอย่างนี้ จะเห็นได้ว่า แกนยื่น มีความสำคัญมาก และแรงบิดในการยกที่น้ำหนักเท่ากันนั้นแตกต่างกัน

Posted on

การหาความยาวรอบวงสายพานไทม์มิ่ง XL หน่วยเป็น mm.

สายพานไทมิ่ง (Timing Belt) เป็นสายพานที่ใช้งานในระบบเครื่องยนต์ สายพานไทมิ่งเบอร์ XL มีขนาดระยะพิทช์ (pitch) เท่ากับ 5.08mm.

การแปลงสายพานไทม์มิ่งเบอร์ XL เป็นความยาวรอบวงของสายพาน

L = (XL/2)xP

โดยที่

  • L = ความยาวรอบวง หน่วย mm.
  • XL = เบอร์ สายพานไทม์มิ่ง
  • T = จำนวนฟันของสายพาน = (เบอร์ สายพานไทม์มิ่ง) / 2 = XL/2
  • P = ระยะพิทช์ (pitch) เท่ากับ 5.08mm.

ตัวอย่างเช่น หากต้องการแปลงสายพานไทม์มิ่งเบอร์  100XL หรือ XL100 เป็นความยาวรอบวง หน่วย mm.

L = (100/2)x5.08

ความยาวรอบวงพานไทม์มิ่งเบอร์ 100XL หรือ XL100 = 254 mm.

Posted on

การแปลงนิวตัน-เมตร (N-m) เป็นกิโลกรัม-เซนติเมตร (kg-cm)

ในการแปลงนิวตัน-เมตร (N-m) เป็นกิโลกรัม-เซนติเมตร (กก.-ซม.)  สามารถใช้ การแปลงต่อไปนี้:

1 N-m = 100 kg-cm

ดังนั้น หากต้องการแปลงค่าจาก N-m เป็น kg-cm ให้คูณค่าด้วย 100

ตัวอย่างเช่น ถ้ามีค่าแรงบิด 20 N-m เราสามารถแปลงเป็น kg-cm ได้ดังนี้:

20 N-m * 100 kg-cm/N-m = 2000 kg-cm

ดังนั้น 20 N-m เท่ากับ 2,000 kg-cm

Posted on

การควบคุมรถบังคับดีซีมอเตอร์ผ่านสมาร์ทโฟนโดยใช้อาดูโน่ Arduino Car Robot Bluetooth Module

หลักการควบคุมไดรเวอร์มอเตอร์ L298 ด้วย Arduino และสมาร์ทโฟน จะต้องตั้งค่าการสื่อสาร Bluetooth ระหว่าง Arduino และสมาร์ทโฟน ติดตั้งโมดูล Bluetooth เช่น Bluetooth HC-05 (ZS-040) บน Arduino และต่อสายตามแผ่นข้อมูลของโมดูล ส่งคำสั่งจากสมาร์ทโฟนไปยัง Arduino เพื่อควบคุม L298 และมอเตอร์ที่เชื่อมต่ออยู่ ตัวอย่างเช่น ส่ง “F” เพื่อให้มอเตอร์เคลื่อนที่ไปข้างหน้า ส่ง “B” เพื่อให้มอเตอร์เคลื่อนที่ถอยหลัง และ ส่ง “S” เพื่อหยุดมอเตอร์ สามารถส่งคำสั่งเพื่อควบคุมความเร็วของมอเตอร์ เช่น “1” สำหรับความเร็วต่ำและ “9” สำหรับความเร็วสูง

รวบรวมวัสดุที่จำเป็น:

  1. BDMC04 บอร์ดอาดุยโน่ Arduino Uno R3 Compatible DIP IC CH340 USB Cable
  2. BDSP02 บอร์ดขับมอเตอร์ DC Motor Driver L298N
  3. BDBT01 โมดูลบลูทูธ Bluetooth Module HC-06 BT06 (ZS-040)
  4. DC Gear Motor พร้อมล้อ + โครงสร้างรถหรือตัวถังรถเพื่อประกอบฐานล้อ โครงรถอลูมิเนียม Aluminum Frame Robot Car Wheel TT DC Gear Motor
  5. เครื่องมือช่างที่จำเป็นได้แก่หัวแร้งและตะกั่วบัดกรี

แผนผังการต่อสายไฟ

ติดตั้งแอพเทอร์มินัล Bluetooth บนสมาร์ทโฟน

แอพ Android และ iOS ที่ให้เราส่งและรับข้อมูลผ่านบลูทูธ โดยใช้ Bluetooth terminal app, Serial Bluetooth Terminal, Bluetooth Terminal

ตั้งค่าฮาร์ดแวร์:

เชื่อมต่อโมดูลบลูทูธ เข้ากับ Arduino

  1. โมดูลบลูทูธ VCC  >> 3.3V Arduino
  2. โมดูลบลูทูธ GND >> GND Arduino
  3. โมดูลบลูทูธ RXD >> 11 Arduino
  4. โมดูลบลูทูธ TXD >> 10 Arduino

เขียน Code: arduino

เขียน Sketch สำหรับ Arduino เพื่อควบคุม L298 ตามคำสั่งที่ได้รับผ่านการเชื่อมต่อ Bluetooth Sketch นี้ใช้ไลบรารี software serial เพื่อตั้งค่าพอร์ตอนุกรมที่สองสำหรับ Bluetooth Module และรับฟังคำสั่งผ่านพอร์ตนี้ในฟังก์ชันลูป เมื่อได้รับคำสั่ง มันจะควบคุม L298 ตามอักขระที่ได้รับ L298 ถูกควบคุมโดยใช้ฟังก์ชันเอาต์พุตดิจิตอลเพื่อกำหนดทิศทางของมอเตอร์ และฟังก์ชันเอาต์พุตแบบอะนาล็อกเพื่อตั้งค่าความเร็วของมอเตอร์โดยใช้การมอดูเลตความกว้างพัลส์ (PWM)

 

Posted on

วิธีใช้อาดูโน่ควบคุมรถบังคับดีซีมอเตอร์ Arduino L298N DC Motor Car Robot

ในการควบคุมรถ RC โดยใช้ Arduino และไดรเวอร์มอเตอร์ L298N จะต้องทำตามขั้นตอนเหล่านี้

รวบรวมวัสดุที่จำเป็น:

  1. BDMC04 บอร์ดอาดุยโน่ Arduino Uno R3 Compatible DIP IC CH340 USB Cable
  2. BDSP02 บอร์ดขับมอเตอร์ DC Motor Driver L298N
  3. DC Gear Motor พร้อมล้อ + โครงสร้างรถหรือตัวถังรถเพื่อประกอบฐานล้อ RC4401 โครงรถอลูมิเนียม Aluminum Frame Robot Car 65mm Wheel TT DC Gear Motor
  4. เครื่องมือช่างที่จำเป็นได้แก่หัวแร้งและตะกั่วบัดกรี

ตั้งค่าฮาร์ดแวร์:

  1. เชื่อมต่อแหล่งจ่ายไฟเข้ากับโมดูลไดรเวอร์มอเตอร์ L298N
  2. โมดูล L298N จะต้องมีแหล่งจ่ายไฟแยกต่างหากจาก Arduino เนื่องจากจะต้องขับมอเตอร์ซึ่งต้องใช้กระแสไฟมาก
  3. เชื่อมต่อมอเตอร์เข้ากับโมดูลไดรเวอร์มอเตอร์ L298N โมดูล L298N มีเอาต์พุตมอเตอร์สองตัวสำหรับมอเตอร์ด้านซ้ายขวาของรถ RC
    1. เชื่อมต่อมอเตอร์ด้านซ้าย เข้า กับขั้วต่อ M1
    2. เชื่อมต่อมอเตอร์ด้านขวา เข้า กับขั้วต่อ M2
    3. เชื่อมต่อโมดูลไดรเวอร์มอเตอร์ L298N เข้ากับ Arduino เชื่อมต่อพิน ENA และ ENB ของโมดูล L298N
    4. เชื่อมต่อโมดูลไดรเวอร์มอเตอร์ L298Nเข้ากับพินดิจิทัล PWM ของ Arduino
    5. เชื่อมต่อพิน IN1, IN2, IN3 และ IN4 เข้ากับพินดิจิทัลเอาต์พุตของ Arduino

แผนผังการต่อสายไฟ

https://oshwlab.com/s2insupply/arduino-l298n-rc-robot-car

เขียน Code: arduino

  • เขียน Arduino Sketch เพื่อควบคุมมอเตอร์ ใช้ฟังก์ชัน digitalWrite() เพื่อตั้งค่าสถานะของพิน IN1, IN2, IN3 และ IN4 และใช้ฟังก์ชัน analogWrite() เพื่อตั้งค่าความเร็วของมอเตอร์โดยใช้พิน ENA และ ENB
  • อัปโหลด Sketch ไปยัง Arduino และทดสอบรถ RC ใช้ฟังก์ชัน digitalWrite() และ analogWrite() ใน Sketch เพื่อควบคุมทิศทางและความเร็วของมอเตอร์ และใช้รีโมทคอนโทรลหรืออุปกรณ์อินพุตอื่นๆ เพื่อส่งคำสั่งไปยัง Arduino

 

 

Posted on

วิธีทำถังขยะอัตโนมัติใช้อาดูโน่เซอร์โวมอเตอร์และอัลตร้าโซนิคเซนเซอร์ Arduino automatic waste bin

ภาพรวมของระบบถังขยะควบคุมอัตโนมัติประกอบด้วยส่วนประกอบหลัก 3 ส่วนได้แก่ตัวควบคุมเซ็นเซอร์และมอเตอร์ควบคุมในที่นี้ส่วน input ให้มาจากเซ็นเซอร์เซ็นเซอร์อัลตร้าโซนิคและ output ที่สามารถควบคุมการเคลื่อนไหวนั่นคือมอเตอร์ขนาดเล็กนั่นเอง

วิธีทำถังขยะอัตโนมัติโดยใช้อาดูโน่และเซอร์โวมอเตอร์และอัลตร้าโซนิคเซนเซอร์ การทำถังขยะอัตโนมัติโดยใช้ Arduino เซอร์โวมอเตอร์ และเซ็นเซอร์อัลตราโซนิกเป็นโครงการง่ายๆ ที่สามารถทำได้ในไม่กี่ขั้นตอน นี่คือโครงร่างทั่วไปของวิธีเริ่มต้นใช้งาน: หลักการทำงานของ เซ็นเซอร์อัลตราโซนิก HC-SR04 เป็นอุปกรณ์ยอดนิยมและราคาไม่แพงที่สามารถใช้วัดระยะทางไปยังวัตถุได้ ทำงานโดยปล่อยคลื่นเสียงความถี่สูงและวัดเวลาที่คลื่นเสียงสะท้อนกลับหลังจากกระทบวัตถุ หากต้องการใช้เซ็นเซอร์อัลตราโซนิก HC-SR04 กับบอร์ด Arduino จะต้องเชื่อมต่อเข้ากับบอร์ดโดยใช้สายจัมเปอร์ HC-SR04 มี 4 พิน คือ Vcc, Trig, Echo และ GND

รวบรวมวัสดุที่จำเป็น:

  1. BDMC04 บอร์ดอาดุยโน่ Arduino Uno R3 Compatible DIP IC CH340 USB Cable
  2. MT0501 เซอร์โวมอเตอร์ RC Servo Motor Micro RC SG90 Black
  3. SSUS01 เซ็นเซอร์อัลตราโซนิก เซ็นเซอร์จับระยะ Ultrasonic Sensor HC-SR04
  4. แหล่งพลังงาน (เช่น แบตเตอรี่หรือแหล่งจ่ายไฟ DC 4.5 – 12V)
  5. รังถ่านใส่แบตเตอรี่ Battery Holder
  6. สายไฟจัมเปอร์ Jumper Wire
  7. ถังขยะขนาดเล็กตามแต่จะหาได้

ตั้งค่าฮาร์ดแวร์:

  1. เชื่อมต่อเซอร์โวมอเตอร์เข้ากับ บอร์ด Arduino UNO R3 โดยใช้สายจัมเปอร์
  2. เชื่อมต่อเซ็นเซอร์อัลตราโซนิกเข้ากับ บอร์ด Arduino UNO R3 โดยใช้สายจัมเปอร์
  3. เชื่อมต่อแหล่งจ่ายไฟ DC 4.5 – 12V เข้ากับ บอร์ด Arduino Uno R3 ผ่านทางขั้ว DC Jack 5.5×2.1mm
  4. Code นี้ เซอร์โวมอเตอร์เชื่อมต่ออยู่กับขา 8 ของ บอร์ด Arduino Uno R3
  5. ขา Trig Pin ของเซ็นเซอร์อัลตราโซนิกเชื่อมต่อกับขา 9 ของ บอร์ด Arduino Uno R3
  6. ขา echo Pin ของเซ็นเซอร์อัลตราโซนิกเชื่อมต่อกับขา 10 ของ บอร์ด Arduino Uno R3

How HC-SR04 Ultrasonic Module Distance Sensor works

เซ็นเซอร์จะส่ง Ping ที่เวลา t1 และรับการ Ping ที่เด้งที่เวลา t2 เมื่อทราบความเร็วของเสียง ความแตกต่างของเวลา Δt = t2 – t1 สามารถทำให้เราทราบระยะทางของวัตถุได้

  • D, distance = (t2 – t1/2)
  • D, distance = (Δt /2)
  • D, distance = (duration/2)

ตัวอย่างเช่น ถ้า Δt = 500us เรารู้ว่าต้องใช้เวลา 250us ในการส่ง Ping ไปกระทบวัตถุ และอีก 250us ในการกลับมา
ความเร็วเสียง c โดยประมาณในอากาศแห้งกำหนดโดย  สมการ:

  • c = 331.5 + 0.6 * [อุณหภูมิอากาศเป็นองศาเซลเซียส]
    ที่ 20°C,
  • c = 331.5 + 0.6 * 20
  • c = 343.5 m/s
    ถ้าเราแปลงความเร็วเป็นเซนติเมตรต่อไมโครวินาที เราจะได้:
  • c = 343.5 * (100/1000000)
  • c = 0.03435 cm./s

ระยะทางคือ

  • D, distance = (Δt/2)*c

หรือ

  • distance = 250*0.03435 = 8.6cm.

แทนที่จะใช้ความเร็วของเสียง เราสามารถใช้ “อัตราเร็วของเสียง” ได้เช่นกัน
อัตราเร็วของเสียง = 1 / c

อัตราเร็วของเสียง = 1 / 0.03435

อัตราเร็วของเสียง = 29.1ss/cm

ในกรณีนี้ สมการที่ใช้คำนวณระยะทางจะกลายเป็น:

  • distance = (Δt/2) / อัตราเร็วของเสียง

และสำหรับตัวอย่างด้านบน:

  • distance = 250 / 29.1
  • distance = 8.6 cm

https://www.instructables.com/Using-a-SR04/

 

แผนผังการต่อสายไฟ

https://oshwlab.com/s2insupply/arduino-automatic-waste-bin

เขียน Code: arduino Code เชื่อมต่ออัลตราโซนิคเซนเซอร์เพื่อควบคุมเซอร์โวมอเตอร์

  1. ใช้ Arduino Integrated Development Environment (IDE) เพื่อเขียนโปรแกรมที่จะควบคุมเซอร์โวมอเตอร์และเซ็นเซอร์อัลตราโซนิก
  2. กำหนดตัวแปร
    1. const int trigPin = 9; // define trigPin for ultrasonic sensor
    2. const int echoPin = 10; // define echoPin for ultrasonic sensor
    3. myservo.attach(8);  // attach the servo to pin 8
  3. ตั้งค่าเซอร์โวมอเตอร์และเซ็นเซอร์อัลตราโซนิก
  4. ในฟังก์ชันลูป ใช้เซ็นเซอร์อัลตราโซนิกเพื่อวัดระยะทางไปยังวัตถุ
  5. หากระยะทางต่ำกว่าเกณฑ์ที่กำหนด ให้เปิดใช้งานเซอร์โวมอเตอร์เพื่อเปิดถังขยะ
    1. เซ็นเซอร์อัลตราโซนิกจะใช้เพื่อวัดระยะทางไปยังวัตถุ หากระยะห่างน้อยกว่า 20 ซม. เซอร์โวมอเตอร์จะตั้งค่าเป็น 0 องศาเป็นเวลา 1 วินาที จากนั้นตั้งค่าเป็น 90 องศา
    2. หากระยะทางมากกว่า 20 ซม. เซอร์โวมอเตอร์จะตั้งค่าเป็น 90 องศา
  6. อัพโหลดโค้ดไปยังบอร์ด Arduino
  7. ทดสอบและดีบัก
  8. ทดสอบโปรแกรมโดยวางวัตถุไว้ด้านหน้าเซ็นเซอร์อัลตราโซนิก และตรวจสอบว่าเซอร์โวมอเตอร์เคลื่อนที่เพื่อเปิดถังขยะ
  9. ดีบักปัญหา ที่เกิดขึ้นโดยใช้เครื่องมือดีบักในตัว Arduino IDE และตรวจหาข้อผิดพลาดทางไวยากรณ์หรือข้อผิดพลาดเชิงตรรกะในโค้ดของเรา

ตัวอย่าง Arduino Code เชื่อมต่ออัลตราโซนิคเซนเซอร์เพื่อวัดระยะทางไปยังวัตถุ

 

ตัวอย่าง Arduino Code เชื่อมต่ออัลตราโซนิคเซนเซอร์เพื่อวัดระยะทางไปยังวัตถุและควบคุมเซอร์โวมอเตอร์

 

Posted on

การต่อเซ็นเซอร์ที่มีเอาต์พุตเป็น NPN ร่วมกับอาดูโน่

เซ็นเซอร์ที่มี เอาต์พุต เป็นชนิด NPN
หมายความว่าในสถานะปกติที่ยังไม่พบชิ้นงานใดๆ
เอาต์พุต จะมีสถานะเป็น Logic High
เมื่อเซ็นเซอร์ตรวจพบชิ้นงานสถานะของ เอาต์พุต จะเปลี่ยน เป็น Logic Low

 

เราสามารถประโยช์การเปลี่ยนแปลงสัญยาณเอาต์พุตของเซ็นเซอร์ เอาไปใช้ในการควบคุมอุปกรณ์ เอาต์พุต อย่างเช่น  Rejector ได้

เซ็นเซอร์ที่มี เอาต์พุต เป็นชนิด PNP
หมายความว่าในสถานะปกติที่ยังไม่พบชิ้นงานใดๆ
เอาต์พุตจะมีสถานะเป็น Logic Low
เมื่อเซ็นเซอร์ตรวจพบชิ้นงานสถานะของ เอาต์พุต จะเปลี่ยน เป็น Logic High

*การใช้งานเซ็นเซอร์ที่มี เอาต์พุต เป็นชนิด PNP
ต้องระวังเรื่องแรงดัน เราควรจะเลือกรุ่นที่มีแรงดันเป็น 5 โวลท์

* หากใช้เซ็นเซอร์ที่รับไฟเลี้ยง 12 โวลท์ หรือ 24 โวลท์สถานะ เอาต์พุต
จะเท่ากับแหล่งจ่ายนั่นคือ 12 โวลท์หรือ 24 โวลท์
จะทำให้อาดูโน่เกิดความเสียหาย

* หากมีความจำเป็นต้องใช้เซนเซอร์ที่ใช้แรงดัน 12 หรือ 24 โวลท์

แนะนำให้ต่อตัวต้านทาน 2K อนุกรม