สารบัญ:

NE555 กับ Arduino Uno R3: 6 ขั้นตอน
NE555 กับ Arduino Uno R3: 6 ขั้นตอน

วีดีโอ: NE555 กับ Arduino Uno R3: 6 ขั้นตอน

วีดีโอ: NE555 กับ Arduino Uno R3: 6 ขั้นตอน
วีดีโอ: ARDUINO #6 การใช้งานเบื้องต้น เเบบละเอียด บอร์ดวงจร ARDUINO UNO R3 HOW TO USE. IOREF AREF. POWER 2024, กรกฎาคม
Anonim
NE555 พร้อม Arduino Uno R3
NE555 พร้อม Arduino Uno R3

NE555 Timer ซึ่งเป็นวงจรผสมที่ประกอบด้วยวงจรแอนะล็อกและดิจิตอล ผสานรวมฟังก์ชันแอนะล็อกและลอจิคัลเข้าไว้ในไอซีอิสระ จึงเป็นการขยายการใช้งานของวงจรรวมแอนะล็อกอย่างมาก มีการใช้กันอย่างแพร่หลายในตัวจับเวลา เครื่องกำเนิดสัญญาณพัลส์ และออสซิลเลเตอร์ต่างๆ ในการทดลองนี้ บอร์ด Arduino Uno ใช้เพื่อทดสอบความถี่ของคลื่นสี่เหลี่ยมที่สร้างโดยวงจรการสั่น 555 และแสดงบน Serial Monitor

ขั้นตอนที่ 1: ส่วนประกอบ

- บอร์ด Arduino Uno * 1

- สาย USB * 1

- NE555 *1

- 104 ตัวเก็บประจุเซรามิก * 2

- ตัวต้านทาน (10kΩ) * 1

- โพเทนชิออมิเตอร์ (50KΩ) * 1

- เขียงหั่นขนม * 1

- สายจัมเปอร์

ขั้นตอนที่ 2:

เดิมที 555 IC ถูกใช้เป็นตัวจับเวลา ดังนั้นชื่อวงจรฐานเวลา 555 ปัจจุบันมีการใช้กันอย่างแพร่หลายในผลิตภัณฑ์อิเล็กทรอนิกส์ต่างๆ เนื่องจากมีความน่าเชื่อถือ ความสะดวก และราคาต่ำ 555 เป็นวงจรไฮบริดที่ซับซ้อนซึ่งมีส่วนประกอบมากมาย เช่น ตัวแบ่ง ตัวเปรียบเทียบ ทริกเกอร์ RS พื้นฐาน ท่อระบาย และบัฟเฟอร์ หมุดและหน้าที่ของมัน พิน 1 (GND): พื้นดิน

Pin 2 (TRIGGER): เมื่อแรงดันไฟฟ้าที่พินลดลงเหลือ 1/3 ของ VCC (หรือเกณฑ์ที่กำหนดโดยแผงควบคุม) เทอร์มินัลเอาต์พุตจะส่งระดับสูง

Pin 3 (OUTPUT): เอาต์พุตสูงหรือต่ำ สองสถานะ 0 และ 1 กำหนดโดยระดับไฟฟ้าอินพุต กระแสไฟขาออกสูงสุดประมาณ 200mA ที่ High

พิน 4 (รีเซ็ต): เมื่อได้รับระดับต่ำที่พิน ตัวจับเวลาจะถูกรีเซ็ตและเอาต์พุตจะกลับสู่ระดับต่ำ มักจะเชื่อมต่อกับขั้วบวกหรือถูกละเลย

พิน 5 (แรงดันควบคุม): เพื่อควบคุมแรงดันธรณีประตูของชิป (หากข้ามการเชื่อมต่อ โดยค่าเริ่มต้น แรงดันไฟฟ้าตามเกณฑ์คือ 1/3 VCC และ 2/3 VCC)

พิน 6 (THRESHOLD): เมื่อแรงดันไฟฟ้าที่พินเพิ่มขึ้นเป็น 2/3 VCC (หรือเกณฑ์ที่กำหนดโดยบอร์ดควบคุม) เทอร์มินัลเอาต์พุตจะส่งระดับสูง

พิน 7 (DISCHARGE): เอาต์พุตซิงโครไนซ์กับพิน 3 ด้วยระดับตรรกะเดียวกัน แต่พินนี้ไม่ส่งกระแสไฟออก ดังนั้นพิน 3 จึงเป็น High (หรือ Low) จริงเมื่อพิน 7 เป็น High (หรือ Low) เสมือน เชื่อมต่อกับ open collector (OC) ด้านในเพื่อคายประจุตัวเก็บประจุ

ขา 8 (VCC): ขั้วบวกสำหรับ IC ตัวจับเวลา NE555 ตั้งแต่ +4.5V ถึง +16V

ตัวจับเวลา NE555 ทำงานภายใต้โหมด monostable, astable และ bistable ในการทดลองนี้ ใช้ภายใต้โหมด astable ซึ่งหมายความว่าทำงานเป็นออสซิลเลเตอร์

ขั้นตอนที่ 3: แผนผังไดอะแกรม

แผนผังไดอะแกรม
แผนผังไดอะแกรม

ขั้นตอนที่ 4: ขั้นตอน

ขั้นตอน
ขั้นตอน

เชื่อมต่อตัวต้านทาน R1 ระหว่าง VCC และพินการคายประจุ DS ตัวต้านทานอีกตัวระหว่างพิน DS และพินทริกเกอร์ TR ซึ่งเชื่อมต่อกับพินธรณีประตู TH แล้วต่อกับตัวเก็บประจุ C1 เชื่อมต่อ RET (พิน 4) กับ GND, CV (พิน 5) กับตัวเก็บประจุ C2 อีกตัวแล้วต่อกับพื้น

กระบวนการทำงาน:

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

Tc=0.693(R1+R2)

เมื่อแรงดันไฟฟ้าที่ C1 ถึงเกณฑ์ 2/3Vcc ตัวจับเวลาจะถูกรีเซ็ตและพิน 3 จะอยู่ในระดับต่ำ จากนั้น C1 จะคายประจุผ่าน R2 จนถึง 2/3Vcc ในช่วงเวลาหนึ่ง:

Td=0.693(R2)

จากนั้นตัวเก็บประจุจะถูกชาร์จใหม่และแรงดันไฟขาออกจะพลิกอีกครั้ง:

รอบการทำงาน D=Tc/(Tc+Td)

เนื่องจากโพเทนชิออมิเตอร์ใช้สำหรับตัวต้านทาน เราจึงสามารถส่งสัญญาณคลื่นสี่เหลี่ยมที่มีรอบการทำงานที่แตกต่างกันโดยการปรับความต้านทาน แต่ R1 เป็นตัวต้านทาน 10K และ R2 คือ 0k-50k ดังนั้นช่วงของรอบการทำงานในอุดมคติคือ 0.545% -100% หากคุณต้องการอย่างอื่น คุณต้องเปลี่ยนความต้านทานของ R1 และ R2

Dmin=(0.693(10K+0K))/(0.693(10K+0K)+0.693x0k) x100%=100%

Dmax=(0.693(10K+50K))/(0.693(10K+50K)+0.693x50k) x100%=54.54%

ขั้นตอนที่ 1:

สร้างวงจร.

ขั้นตอนที่ 2:

ดาวน์โหลดโค้ดจาก

ขั้นตอนที่ 3:

อัปโหลดภาพร่างไปยังบอร์ด Arduino Uno

คลิกไอคอนอัปโหลดเพื่ออัปโหลดรหัสไปยังแผงควบคุม

หาก "เสร็จสิ้นการอัปโหลด" ปรากฏที่ด้านล่างของหน้าต่าง แสดงว่าอัปโหลดภาพร่างสำเร็จแล้ว

ตอนนี้คุณควรเห็นการแสดงผล 7 ส่วนจาก 0 ถึง 9 และ A ถึง F

ขั้นตอนที่ 5: รหัส

//NE555 ตัวจับเวลา

//หลังจากเผา

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

//อีเมล:

//เว็บไซต์:www.primerobotics.in

int ne555 = 7; //ติดกับพินที่สามของ NE555

ไม่ได้ลงนามยาว

ระยะเวลา1; //ตัวแปรเก็บความยาวสูงของพัลส์

ไม่ได้ลงนามยาว

ระยะเวลา2; //ตัวแปรเก็บความยาว LOW ของพัลส์

โฟลตดีซี; //ตัวแปรเก็บรอบการทำงาน

การตั้งค่าเป็นโมฆะ ()

{

โหมดพิน (ne555, INPUT); //ตั้งค่า ne555 เป็นอินพุต

Serial.begin(9600); // เริ่มพอร์ตอนุกรมที่ 9600 bps:

}

วงเป็นโมฆะ ()

{

ระยะเวลา 1 = pulseIn(ne555, สูง); // อ่านชีพจรบน ne555

Serial.print("รอบการทำงาน: ");

Serial.print(dc); // พิมพ์ความยาวของพัลส์บนอนุกรม

เฝ้าสังเกต

Serial.print(" %");

Serial.println(); //พิมพ์ช่องว่างบนจอภาพอนุกรม

ล่าช้า (500);

//รอ 500 ไมโครวินาที

}

แนะนำ: