เครื่องวัดความถี่ Arduino ใช้จอแสดงผล 16 × 2

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





ในบทความนี้เราจะสร้างเครื่องวัดความถี่ดิจิตอลโดยใช้ Arduino ซึ่งการอ่านจะแสดงบนจอ LCD 16x2 และจะมีช่วงการวัดตั้งแต่ 35 Hz ถึง 1MHz

บทนำ

ในฐานะที่เป็นผู้ที่ชื่นชอบเครื่องใช้ไฟฟ้าเราทุกคนคงเจอจุดที่ต้องวัดความถี่ในโครงการของเรา



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

เพื่อเอาชนะปัญหาในการวัดความถี่ผู้ทำงานอดิเรกไม่จำเป็นต้องมีออสซิลโลสโคปราคาแพงเราเพียงแค่ต้องการเครื่องวัดความถี่ที่สามารถวัดความถี่ได้อย่างแม่นยำ



ในบทความนี้เราจะสร้างเครื่องวัดความถี่ซึ่งง่ายต่อการสร้างและเป็นมิตรกับผู้เริ่มต้นแม้แต่ noob ใน Arduino ก็สามารถทำได้อย่างง่ายดาย

ก่อนที่จะลงรายละเอียดเกี่ยวกับโครงสร้างเรามาดูกันว่าความถี่คืออะไรและจะวัดได้อย่างไร

ความถี่คืออะไร? (สำหรับ noobs)

เราคุ้นเคยกับคำว่าความถี่ แต่จริงๆแล้วมันหมายถึงอะไร?

ความถี่ถูกกำหนดเป็นจำนวนการสั่นหรือรอบต่อวินาที คำจำกัดความนี้หมายถึงอะไร?

หมายถึงจำนวนครั้งที่แอมพลิจูดของ 'บางสิ่ง' ขึ้นและลงในหนึ่งวินาที ตัวอย่างเช่นความถี่ของไฟฟ้ากระแสสลับที่บ้านของเรา: แอมพลิจูดของ 'แรงดันไฟฟ้า' ('บางสิ่ง' ถูกแทนที่ด้วย 'แรงดันไฟฟ้า') ขึ้น (+) และลง (-) ในหนึ่งวินาทีซึ่งเท่ากับ 50 เท่าในประเทศส่วนใหญ่

หนึ่งรอบหรือหนึ่งการสั่นประกอบด้วยขึ้นและลง ดังนั้นหนึ่งรอบ / การสั่นคือแอมพลิจูดเปลี่ยนจากศูนย์ถึงยอดบวกและกลับมาที่ศูนย์และไปที่จุดสูงสุดเชิงลบและกลับไปที่ศูนย์

“ ช่วงเวลา” ยังเป็นคำที่ใช้ในการจัดการกับความถี่ ช่วงเวลาคือเวลาที่ใช้ในการดำเนินการ“ หนึ่งรอบ” ให้เสร็จสมบูรณ์ นอกจากนี้ยังเป็นค่าผกผันของความถี่ ตัวอย่างเช่น 50 Hz มีช่วงเวลา 20 ms

1/50 = 0.02 วินาทีหรือ 20 มิลลิวินาที

ตอนนี้คุณคงมีความคิดเกี่ยวกับความถี่และคำศัพท์ที่เกี่ยวข้อง

วัดความถี่ได้อย่างไร?

เรารู้ว่าหนึ่งรอบเป็นการรวมกันของสัญญาณสูงและต่ำ ในการวัดระยะเวลาของสัญญาณสูงและต่ำเราใช้ 'pulseIn' ใน arduino pulseIn (พิน, สูง) วัดระยะเวลาของสัญญาณสูงและ pulseIn (พิน, LOW) วัดระยะเวลาของสัญญาณต่ำ เพิ่มระยะเวลาพัลส์ของทั้งสองซึ่งให้ช่วงเวลาหนึ่งรอบ

จากนั้นระยะเวลาที่กำหนดจะถูกคำนวณเป็นเวลาหนึ่งวินาที ทำได้โดยใช้สูตรต่อไปนี้:

Freq = 1000000 / ช่วงเวลาเป็นไมโครวินาที

ระยะเวลาจาก arduino จะได้รับเป็นไมโครวินาที Arduino ไม่ได้สุ่มตัวอย่างความถี่อินพุตตลอดทั้งวินาที แต่จะทำนายความถี่ได้อย่างแม่นยำโดยวิเคราะห์ช่วงเวลาของรอบเดียว

ตอนนี้คุณรู้แล้วว่า arduino วัดและคำนวณความถี่อย่างไร

วงจร:

วงจรประกอบด้วย arduino ซึ่งเป็นสมองของโปรเจ็กต์จอ LCD 16x2 อินเวอร์เตอร์ IC 7404 และโพเทนชิออมิเตอร์หนึ่งตัวสำหรับปรับความคมชัดของ จอ LCD .

การตั้งค่าที่เสนอสามารถวัดได้ตั้งแต่ 35Hz ถึง 1 MHz

การเชื่อมต่อจอแสดงผล Arduino:

แผนภาพด้านบนอธิบายได้ด้วยตนเองการเชื่อมต่อสายไฟระหว่าง arduino และจอแสดงผลเป็นมาตรฐานและเราสามารถค้นหาการเชื่อมต่อที่คล้ายกันในโครงการอื่น ๆ ที่ใช้ arduino และ LCD

เครื่องวัดความถี่ Arduino ใช้จอแสดงผล 16x2

แผนภาพด้านบนประกอบด้วยอินเวอร์เตอร์ IC 7404 บทบาทของ IC 7404 คือกำจัดสัญญาณรบกวนจากอินพุตเพื่อไม่ให้สัญญาณรบกวนแพร่กระจายไปยัง arduino ซึ่งอาจให้การอ่านที่ผิดพลาดและ IC 7404 สามารถทนต่อแรงดันไฟฟ้าที่สั้นซึ่งจะไม่ส่งผ่านไปยัง หมุด arduino IC 7404 จะส่งออกเฉพาะคลื่นสี่เหลี่ยมที่ arduino สามารถวัดได้ง่ายเมื่อเทียบกับคลื่นอะนาล็อก

หมายเหตุ: อินพุตสูงสุดถึงจุดสูงสุดไม่ควรเกิน 5V

โปรแกรม:

//-----Program Developed by R.Girish-----//
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2)
int X
int Y
float Time
float frequency
const int input = A0
const int test = 9
void setup()
{
pinMode(input,INPUT)
pinMode(test, OUTPUT)
lcd.begin(16, 2)
analogWrite(test,127)
}
void loop()
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Frequency Meter')
X=pulseIn(input,HIGH)
Y=pulseIn(input,LOW)
Time = X+Y
frequency=1000000/Time
if(frequency<=0)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Frequency Meter')
lcd.setCursor(0,1)
lcd.print('0.00 Hz')
}
else
{
lcd.setCursor(0,1)
lcd.print(frequency)
lcd.print(' Hz')
}
delay(1000)
}
//-----Program Developed by R.Girish-----//

การทดสอบเครื่องวัดความถี่:

เมื่อคุณสร้างโครงการสำเร็จแล้วจำเป็นต้องตรวจสอบว่าทุกอย่างทำงานได้ดีหรือไม่ เราต้องใช้ความถี่ที่ทราบเพื่อยืนยันการอ่าน เพื่อให้บรรลุเป้าหมายนี้เราใช้ฟังก์ชัน PWM ในตัวของ arduino ซึ่งมีความถี่ 490Hz

ในโปรแกรมพิน # 9 เปิดใช้งานเพื่อให้ 490Hz ที่รอบการทำงาน 50% ผู้ใช้สามารถจับสายอินพุตของเครื่องวัดความถี่และใส่ขา # 9 ของ arduino ดังแสดงในรูปที่เราเห็น 490 Hz บนจอ LCD (ด้วยความอดทน) หากขั้นตอนดังกล่าวสำเร็จเครื่องวัดความถี่ของคุณก็พร้อมที่จะให้บริการการทดลองแก่คุณ

ต้นแบบของผู้แต่ง:

ภาพต้นแบบเครื่องวัดความถี่ Arduino

ผู้ใช้สามารถทดสอบต้นแบบวงจรเครื่องวัดความถี่ Arduino นี้ได้โดยใช้เครื่องกำเนิดความถี่ภายนอกซึ่งแสดงในภาพด้านบน




คู่ของ: วงจรอินเวอร์เตอร์ Arduino Pure Sine Wave พร้อมรหัสโปรแกรมเต็ม ถัดไป: การสร้างออสซิลโลสโคปแบบ Single Channel โดยใช้ Arduino