วันอาทิตย์ที่ 15 มิถุนายน พ.ศ. 2557

บทที่ 4 การจำลองการทำงานของวงจรไฟฟ้า

บทที่ 4 การจำลองการทำงานของวงจรไฟฟ้า

ความสามารถของโปรแกรม Proteus นอกจากจะออกแบบวงจรไฟฟ้าได้แล้ว ยังสามารถจำลองทำงาน ทั้งวงจรอนาล็อก ดิจิตอล และดิจิตอลไมโครคอนโทรลเลอร์ ได้อีกด้วย

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


4.1 แหล่งจ่ายไฟสำหรับจำลองการทำงาน

แหล่งจ่ายไฟเราสามารถเลือกใช้ได้จากสองที่ ซึ่งการทำงานก็จะเหมือนกัน จะแตกต่างกันเพียงรูปภายนอกเท่านั้น ที่แรกคือ ตรงปุ่มเครื่องมือ Generator และในไลบรารี Simulator Primitives

4.1.1 แหล่งจ่ายตรงปุ่มเครื่องมือ Generator


Generator


DC คือ แหล่งจ่ายไฟฟ้ากระแสตรง


SINE คือ แหล่งจ่ายไฟฟ้ากระแสสลับ


PULSE คือ แหล่งจ่ายไฟฟ้ารูปคลื่นสี่เหลี่ยม


SFFM คือ แหล่งจ่ายสัญญาณคลื่นวิทยุ


AUDIO คือ แหล่งจ่ายสัญญาณเสียง


DPULSE คือ แหล่งจ่ายไฟฟ้ารูปคลื่นสี่เหลี่ยม หนึ่งลูกคลื่น


DCLOCK คือ แหล่งจ่ายสัญญาณนาฬิกาที่มีค่าลอจิก 0 กับ 1 แบบต่อเนื่องกัน


DPATTERN คือ แหล่งจ่ายรูปคลื่นสี่เหลี่ยมแบบต่อเนื่อง




4.1.2 แหล่งจ่ายจากไลบรารี Simulator Primitives


ALTERNATOR คือ แหล่งจ่ายไฟฟ้ากระแสสลับ

BATTERY คือ แหล่งจ่ายไฟฟ้ากระแสตรง


CLOCK คือ แหล่งจ่ายสัญญาณนาฬิกาที่มีค่าลอจิก 0 กับ 1 แบบต่อเนื่องกัน


CSOURCE คือ แหล่งจ่ายกระแสไฟฟ้ากระแสตรง

IPULSE คือ แหล่งจ่ายกระแสไฟฟ้าพัลส์

VPULSE คือ แหล่งจ่ายไฟฟ้ารูปคลื่นพัลส์


VSFFM คือ แหล่งจ่ายคลื่นวิทยุในย่าน FM


VSOURCE คือ แหล่งจ่ายไฟฟ้ากระแสตรง



4.2 เครื่องมือวัดต่าง ๆ

เมื่อป้อนแรงดันหรือสัญญาณต่าง ๆ ให้กับวงจรแล้ว ถ้าต้องการดูรูปคลื่นหรือแรงดันตามจุดต่าง ๆ ก็สามารถให้เครื่องมือวัด ตรวจจับการทำงานของวงจรได้ โดยคลิกที่ปุ่ม Virtual Instrument


Virtual Instrument




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

OSCILLOSCOPE ใช้วัดสัญญาณรูปคลื่นต่าง ๆ ของวงจร


COUNTER TIMER เป็นตัวนับและกำหนดเวลา


DC VOLTMETER ใช้วัดแรงดันไฟฟ้ากระแสตรงในวงจรตามจุดต่าง ๆ


DC AMMETER ใช้วัดกระแสไฟฟ้ากระแสตรงในวงจรตามจุดต่าง ๆ


AC VOLTMETER ใช้วัดแรงดันไฟฟ้ากระแสสลับในวงจรตามจุดต่าง ๆ


AC AMMETER ใช้วัดกระแสไฟฟ้ากระแสสลับในวงจรตามจุดต่าง ๆ






SIGNAL GENERATOR เป็นแหล่งจ่ายสัญญาณรูปคลื่นต่าง ๆ





Voltage Probe ใช้วัดแรงดันไฟฟ้าในวงจรตามจุดต่าง ๆ






Current Probe ใช้วัดกระแสไฟฟ้าในวงจรตามจุดต่าง ๆ






4.3 การกำหนดค่าต่าง ๆ ให้แหล่งจ่ายไฟ

เมื่อเราทราบถึงอุปกรณ์ที่เป็นแหล่งจ่ายไฟฟ้าแล้ว ต่อไปเราต้องทำความรู้จักการตั้งค่าให้กับแหล่งจ่ายไฟกันดีกว่า ซึ่งในที่นี้จะขออธิบายในส่วนที่สำคัญเท่านั้น ส่วนที่ไม่ได้อธิบายสามารถศึกษาได้เองได้ไม่ยาก ส่วนการเข้าไปกำหนดนั้นทำได้ โดยดับเบิ้ลคลิกที่แหล่งจ่าย ก็จะสามารถเข้าไปกำหนดค่าต่าง ๆ ได้ดังนี้

4.3.1 แหล่งจ่ายจากปุ่มเครื่องมือ

DC แหล่งจ่ายไฟฟ้ากระแสตรง




SINE แหล่งจ่ายไฟฟ้ากระแสสลับ




PULSE แหล่งจ่ายไฟฟ้ารูปคลื่นสี่เหลี่ยม



A: Initial (Low) Voltage ตั้งค่าเริ่มต้นของสัญญาณ

B: Pulsed (High) Voltage ตั้งค่าสูงสุดของสัญญาณ

C: Start (Secs) ตั้งเวลาให้สัญญาณเริ่มทำงาน

D: Rise Time (Secs) กำหนดค่าเวลาให้สัญญาณขึ้น

E: Fall Time (Secs) กำหนดค่าเวลาให้สัญญาณลง

F: Pulse Width (Secs) กำหนดความกว้างให้สัญญาณแบบเวลา

G: Pulse Width (%) กำหนดความกว้างให้สัญญาณแบบเปอร์เซ็นต์

H: Frequency (Hz) กำหนดความถี่ให้สัญญาณ


SFFM แหล่งจ่ายสัญญาณคลื่นวิทยุ



1: Offset (Volts) กำหนดค่าอ้างอิงเทียบกราวนด์

2: Amplitude (Volts) กำหนดความกว้างของสัญญาณ

3: Carrier Freq (Hz) กำหนดความถี่ของสัญญาณพาหะ

4: Modulation Index กำหนดค่าของคลื่นเสียงสูง-ต่ำ

5: Signal Freq (Hz) กำหนดความถี่ของสัญญาณรูปคลื่น


AUDIO แหล่งจ่ายสัญญาณเสียง



ก: WAV Audio File นำไฟล์เสียง หรือเพลง ที่มีนามสกุล WAV เข้ามาโดยคลิกที่ปุ่ม Browse

ข: Amplitude กำหนดค่าความกว้างของสัญญาณ

ค: Offset (Volts) กำหนดค่าอ้างอิงเทียบกราวน์

ง: Channel เลือกระบบเสียง 1.ออกทั้งซ้าย-ขวา 2.ออกซ้ายข้างเดียว 3.ออกขวาข้างเดียว


DPULSE แหล่งจ่ายไฟฟ้ารูปคลื่นสี่เหลี่ยม หนึ่งลูกคลื่น




DCLOCK แหล่งจ่ายสัญญาณนาฬิกาที่มีค่าลอจิก 0 กับ 1 แบบต่อเนื่องกัน



DPATTERN แหล่งจ่ายรูปคลื่นสี่เหลี่ยมแบบต่อเนื่อง




4.3.2 แหล่งจ่ายจากไลบรารี Simulator Primitives

ALTERNATOR แหล่งจ่ายไฟฟ้ากระแสสลับ



A: Component Reference กำหนดชื่อให้กับแหล่งจ่าย

B: Component Value กำหนดค่าให้กับแหล่งจ่าย

C: Amplitude กำหนดความกว้างให้กับแหล่งจ่าย

D: Frequency กำหนดความถี่ให้กับแหล่งจ่าย


BATTERY แหล่งจ่ายไฟฟ้ากระแสตรง



1: Component Reference กำหนดชื่อให้กับแหล่งจ่าย

2: Voltage กำหนดค่าแรงดันให้กับแหล่งจ่าย

3: Internal Resistance กำหนดค่าความต้านทานภายในแหล่งจ่าย


CLOCK แหล่งจ่ายสัญญาณนาฬิกาที่มีค่าลอจิก 0 กับ 1 แบบต่อเนื่องกัน



ก: Component Reference กำหนดชื่อให้กับแหล่งจ่าย

ข: Component Value กำหนดค่าให้กับแหล่งจ่าย

ค: Clock Frequency กำหนดความถี่ให้กับแหล่งจ่าย


CSOURCE แหล่งจ่ายกระแสไฟฟ้ากระแสตรง



A: Component Reference กำหนดชื่อให้กับแหล่งจ่าย

B: Current กำหนดค่ากระแสให้กับแหล่งจ่าย


IPULSE แหล่งจ่ายกระแสไฟฟ้าพัลส์



1: Component Reference กำหนดชื่อให้กับแหล่งจ่าย

2: Component Value กำหนดค่าให้กับแหล่งจ่าย

3: Initial Value ตั้งค่าเริ่มต้นของสัญญาณ

4: Pulse Value ตั้งค่าสูงสุดของสัญญาณ

5: Rise Time กำหนดค่าเวลาให้สัญญาณขึ้น

6: Fall Time กำหนดค่าเวลาให้สัญญาณลง

7: Pulse Width กำหนดความกว้างให้สัญญาณ


VPULSE แหล่งจ่ายไฟฟ้ารูปคลื่นพัลส์



1: Component Reference กำหนดชื่อให้กับแหล่งจ่าย

2: Component Value กำหนดค่าให้กับแหล่งจ่าย

3: Initial Value ตั้งค่าเริ่มต้นของสัญญาณ

4: Pulse Value ตั้งค่าสูงสุดของสัญญาณ

5: Rise Time กำหนดค่าเวลาให้สัญญาณขึ้น

6: Fall Time กำหนดค่าเวลาให้สัญญาณลง

7: Pulse Width กำหนดความกว้างให้สัญญาณ


VSFFM แหล่งจ่ายคลื่นวิทยุในย่าน FM



1: Component Reference กำหนดชื่อให้กับแหล่งจ่าย

2: Component Value กำหนดค่าให้กับแหล่งจ่าย

3: DC Offset กำหนดค่าอ้างอิงเทียบกราวนด์

4: Amplitude กำหนดความกว้างให้สัญญาณ

5: Carrier Frequency กำหนดความถี่ของสัญญาณพาหะ

6: Signal Frequency กำหนดความถี่ของสัญญาณรูปคลื่น

7: Modulation Index กำหนดค่าของคลื่นเสียง สูง ต่ำ


VSOURCE แหล่งจ่ายไฟฟ้ากระแสตรง



1: Component Reference กำหนดชื่อให้กับแหล่งจ่าย

2: Voltage กำหนดค่าแรงดันให้แหล่งจ่าย


4.4 การใช้งานเครื่องมือวัด

ในหัวข้อนี้ เราจะมาดูการใช้งานของเครื่องมือวัดชนิดต่าง ๆ กันว่า แต่ละชนิดมีหน้าที่การทำงานอย่างไร และใช้ตรวจวงจรยังไง



4.4.1 การใช้เครื่องมือ OSCILLOSCOPE



ในตัวอย่างนี้ จะทำการวัดไฟกระแสสลับ โดยนำแหล่งจ่ายไฟฟ้ากระแสสลับ เข้าไปกำหนดค่าต่าง ๆ ตามต้องการ แล้วใช้สายสัญญาณต่อเข้ากับเครื่องมือวัดสโคป ในช่อง A แล้วคลิกที่ปุ่ม เพื่อให้แสดงผล




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

ปุ่มที่ใช้บ่อยมีหลัก ๆ คือ Volt/DIV, Time/DIV, Trigger Level, Position ขึ้นลงซ้ายขวา เนื่องจาก Oscilloscope บนหน้าจอจะมีแกนตั้ง และแกนนอน แกนตั้ง คือ แกนของแรงดันไฟฟ้า (Volt) แกนนอน คือ แกนเวลา (Time) เพราะฉะนั้นด้วยเหตุผลนี้จึงจำเป็นต้องสามารถปรับค่า scale ของแกนตั้ง และแกนนอนได้




A: Position ใช้ปรับรูปคลื่นขึ้นลง ในแนวนอน
B: สวิตซ์เลื่อน
  • AC ย่านวัดไฟกระแสสลับ
  • DC ย่านวัดไฟกระแสตรง
  • GND ย่านวัดกราวนด์
  • OFF ปิดการใช้งาน
  • C: Invert กลับเฟสสัญญาณ
  • D: A+B ใช้รวมสัญญาณ 2 สัญญาณ แชนแนล A กับ B เข้าด้วยกัน
  • E: ปุ่ม Volt/DIV ใช้ปรับแรงดันให้รูปคลื่นสูง-ต่ำ ตามแรงดันที่ปรับ โดยมีหน่วยตามสเกล ส่วนปุ่มเล็กใช้ปรับให้มีความละเอียดมากขึ้น

1: Level ใช้ปรับระดับทริกเกอร์ ให้สัญญาณรูปคลื่นนิ่งขึ้น
2: สวิตซ์เลื่อน เลือกย่านการวัด
3: Auto ใช้หาสัญญาณแบบอัตโนมัติ โดยจะค้าหาค่า Volt/Div และ Time/Div ที่เหมาะสม
4: Cursors เมื่อใช้คำสั่งนี้จะมี Cursor ออกมา ใช้วัดแรงดันกับคาบเวลาของรูปคลื่นได้ Source


1: สวิตซ์เลื่อน Source A-D
2: Position ปรับสเกลในแนวตั้ง
3: ปุ่ม Time/Div ใช้ปรับคาบเวลาให้รูปคลื่นยาว-สั้น ตามเวลาที่ปรับ โดยมีหน่วยตามสเกล ส่วนปุ่มเล็กใช้ปรับให้มีความละเอียดมากขึ้น





4.4.2 การใช้งาน SIGNAL GENERATOR



เครื่องกำเนิดความถี่ หรือเรียกว่า ซิกแนล เจนเนอร์เรเตอร์ (Signal Generators) คือเครื่องมือทางด้านอิเล็กทรอนิกส์ ที่ใช้ผลิตสัญญาณความถี่ไฟฟ้าชนิดต่าง ๆ อย่างเช่น คลื่นรูปซายน์ (Sine wave) คลื่นจัตุรัส (Square wave) คลื่นสามเหลี่ยม (Triangular wave) และพัลส์ (Pulse) เพื่อใช้ในการทดสอบปรับแต่สัญญาณและตรวจซ่อมวงจรอิเล็กทรอนิกส์

ในตัวอย่างนี้จะใช้สโคปตรวจจับสัญญาณ ที่จ่ายโดยซิกแนล เจนเนอร์เรเตอร์ โดยใช้สายสัญญาณต่อเข้ากับเครื่องมือวัดสโคป ในช่อง A แล้วคลิกที่ปุ่ม เพื่อให้แสดงผล



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



1: ปุ่ม Centre ปรับจุดศูนย์รวมของสัญญาณ

2: ปุ่ม Range Frequency ใช้ปรับความถี่ให้กับสัญญาณ

3: ปุ่ม Level ใช้ปรับระดับทริกเกอร์ให้สัญญาณรูปคลื่น

4: ปุ่ม Range Amplitude ปรับความกว้างของสัญญาณรูปคลื่น

5: ปุ่ม Waveform ใช้เลือกสัญญาณรูปคลื่นแบบต่าง ๆ


4.4.3 การใช้งานเครื่องมือวัด DC VOLTMETER



เครื่องมือวัด DC VOLTMETER เป็นเครื่องมือที่ใช้วัดแรงดันไฟฟ้ากระแสตรง โดยจะอ่านค่าเป็นตัวเลขแสดงผลที่หน้าจอ วิธีการต่อเพื่อวัดแรงดัน ให้ต่อคร่อมไปยังจุดที่ต้องการทราบ แล้วคลิกที่ปุ่ม เพื่อให้แสดงผล





4.4.4 การใช้งานเครื่องมือวัด AC VOLTMETER



เครื่องมือวัด AC VOLTMETER การทำงานก็จะเหมือนกับ DC VOLTMETER คือเครื่องมือที่ใช้วัดแรงดันไฟฟ้ากระแสสลับ โดยจะอ่านค่าเป็นตัวเลขแสดงผลที่หน้าจอ วิธีการต่อเพื่อวัดแรงดัน ให้ต่อคร่อมไปยังจุดที่ต้องการทราบ แล้วคลิกที่ปุ่ม เพื่อให้แสดงผล




4.4.5 การใช้งานเครื่องมือวัด DC AMMETER



เครื่องมือวัดกระแส DC AMMETER เป็นเครื่องมือที่ใช้วัดกระแส ที่ไหลผ่านในวงจรตามจุดต่าง ๆ ได้ โดยจะอ่านค่าเป็นตัวเลขแสดงผล วิธีการต่อเพื่อวัดกระแส ให้ต่ออนุกรมกับวงจรไปยังจุดที่ต้องการทราบแล้วคลิกที่ปุ่ม เพื่อให้แสดงผล




4.4.6 การใช้งานเครื่องมือวัด AC AMMETER



เครื่องมือวัดกระแส AC AMMETER การทำงานก็จะเหมือนกับ DC AMMETER เป็นเครื่องมือที่ใช้วัดกระแสที่ไหลผ่านในวงจรตามจุดต่าง ๆ ได้ โดยจะอ่านค่าเป็นตัวเลขแสดงผลที่หน้าจอ วิธีการต่อเพื่อวัดกระแสให้ต่ออนุกรมกับวงจรไปยังจุดที่ต้องการทราบแล้วคลิ กที่ปุ่ม เพื่อให้แสดงผล




4.5 การจำลองการทำงานของวงจรไฟกระพริบดวงเดียว

ในตัวอย่างนี้ จะทำการจำลองการทำงานของวงจรไฟกระพริบดวงเดียว ซึ่งเป็นวงจรอนาล็อก โดยจะใช้วงจรที่สร้างไว้แล้วในบทที่ 3




1. คลิกที่เมนู System > Set Animation Options



2. คลิกเครื่องหมายถูกที่ช่อง Show Wire Voltage by Colour เพื่อให้สายสัญญาณ แสดงสีของแรงดันขึ้นมา โดยสีเข้มหมายถึงแรงดันสูง สีอ่อนหมายถึงแรงดันต่ำ

3. คลิกเครื่องหมายถูกที่ช่อง Show Wire Current with Arrows เพื่อให้แสดงทิศทางการไหลของกระแสไฟฟ้าบนสายสัญญาณ

4. คลิกที่ปุ่ม



5. แล้วคลิกที่ปุ่ม เพื่อให้แสดงผล

6. LED ก็จะติดสว่าง พร้อมกับทิศทางการไหลของกระแส และสีของสายสัญญาณที่บอกค่าสูง-ต่ำ ของแรงดันไฟฟ้า

7. คลิกที่ปุ่ม เพื่อปิดการทำงาน



8. คลิกที่ปุ่ม เพื่อวัดแรงที่สายสัญญาณ

9. นำมาเชื่อมตรงจุดที่ต้องการวัดตามต้องการ

10. แล้วคลิกที่ปุ่ม เพื่อให้แสดงผล ค่าแรงดันก็จะแสดงขึ้นมา



11. จากนั้น คลิกที่ปุ่ม และคลิกเลือก DC VOLTMETER เพื่อใช้เครื่องมือ DC VOLTMETER

12. นำเครื่องมือวัด DC VOLTMETER ต่อคร่อมจุดที่ต้องการวัด ในที่นี้ต่อคร่อม R1

13. จากนั้น คลิกเลือกเครื่องมือวัด DC AMMETER ต่ออนุกรมกับจุดที่ต้องการวัด ในที่นี้ต่ออนุกรมขา C ของ Q1 กับขา B ของ Q2




4.6 การจำลองการทำงานวงจรเครื่องขยายเสียงขนาดจิ๋ว

ในตัวอย่างนี้ จะทำการจำลองกรทำงานของวงจร วงจรเครื่องขยายเสียงขนาดจิ๋ว ซึ่งเป็นวงจรอนาล็อก โดยจะใช้วงจรที่สร้างไว้แล้วในบทที่ 3




1. ขั้นตอนแรกเพื่อใช้เพิ่มอุปกรณ์ SPEAKER เป็นชนิด ACTIVE เข้ามา



2. เปลี่ยน SPEAKER อันใหม่แทนอันเก่า

3. ดับเบิ้ลคลิกที่ POWER แล้วเลือกในช่อง String เป็น VCC



4. คลิกที่ปุ่ม และคลิกเลือก Audio เพื่อใช้แหล่งจ่ายไฟฟ้า Audio

5. จากนั้น นำมาเชื่อมต่อด้วยสัญญาณด้วย IN แล้วดับเบิ้ลคลิกเข้าไปที่แหล่งจ่าย Audio



6. คลิกที่ปุ่ม เพื่อเลือกไฟล์เสียงที่มีนามสกุล wav ในที่นี้เลือกใช้ไฟล์เสียงที่มีอยู่ใน WINDOWS สามารถเลือกได้ที่ C:\WINDOWS\Media\chimes.wav

7. กำหนดความกว้างของสัญญาณในช่อง Amplitude ตามต้องการ

8. คลิกที่ปุ่ม





9. คลิกที่เมนู System > Set Animation Options



10. คลิกเครื่องหมายถูกที่ช่อง Show Wire Voltage by Colour เพื่อให้แสดงสีแรงดันบนสายสัญญาณ

11. คลิกเครื่องหมายถูกที่ต้อง Show Wire Current with Arrows เพื่อให้แสดงทิศทางการไหลของกระแส

12. คลิกที่ปุ่ม



13. คลิกที่ปุ่ม และคลิกเลือก OSCILLOSCOPE เพื่อเลือกใช้เครื่องมือวัดสโคป

14. สโคปช่อง A ต่อกับ IN และช่อง B ต่อกับสายสัญญาณ Out

15. แล้วคลิกที่ปุ่ม เพื่อให้แสดงผลการทำงาน



16. โปรแกรมก็จะแสดงรูปคลื่นและทิศทางการไหลของกระแสขึ้นมา






4.7 การจำลองวงจรนับ 0-9 ด้วยไอซีดิจิตอล

ในตัวอย่างนี้ จะทำการจำลองการทำงานของวงจร วงจรนับ 0-9 ด้วยไอซีดิจิตอล โดยจะใช้วงจรที่สร้างไว้แล้วในบทที่ 3


1. คลิกที่ปุ่ม เพื่อเลือกใช้เครื่องมือวัดสโคป



2. ให้ต่อสโคปช่อง A ต่อกับขา 3 ของ U1, ช่อง B ต่อขา 13 ของ U3, ช่อง C ต่อขา 12 ของ U3 และช่อง D ต่อกับขา 11 ของ U3

3. แล้วคลิกที่ปุ่ม เพื่อให้แสดงผลการทำงาน



4. โปรแกรมก็จะแสดงรูปคลื่นขึ้นมาตามต้องการ





4.8 จำลองการทำงาน วงจรไฟวิ่งด้วยไมโครคอนโทรลเลอร์ตระกูล PIC เบอร์ 16F627A

ตัวอย่างนี้ จะทำการจำลองการทำงานของวงจรไฟวิ่ง ด้วยไมโครคอนโทรลเลอร์ตระกูล PIC เบอร์ 16F627A ที่เขียนด้วยภาษา C โดยใช้โปรแกรม mikroC เป็นตัวเขยีน แล้วก็ทำเป็น HEX File เพื่อเอามาจำลองการทำงานบนโปรแกรม Proteus ISIS อีกที

ส่วนวงจรได้สร้างไว้แล้วในบทที่ 3 โดยจะต้องนำโปรแกรมที่เราเขียนเสร็จแล้วในรูปของ HEX File เข้ามายังตัว IC PIC ด้วย เพื่อดูการทำงานของวงจรที่เราเขียนไว้ สามารถใช้ได้กับวงจรที่ออกแบบไว้หรือไม่






โปรแกรม mickoC สามารถหาดาวน์โหลดได้ที่ http://www.mikroe.com/en/download แล้วทำการติดตั้งให้เรียบร้อย จากนั้นทำตามขั้นตอนต่อไปนี้

1. คลิกที่ปุ่ม เลือก All Program > Mikroelektronika > mikroC > mikroC



2. เมื่อเปิดโปรแกรม mikroC ขึ้นมาแล้ว ให้คลิกที่เมนู Tools > Options



3. คลิกที่ Colors

4. คลิกที่ช่อง Scheme แล้วเลือก mikroDream เพื่อเปลี่ยนพื้นหลังเป็นสีขาว

5. คลิกที่ปุ่ม



6. จากนั้นคลิกที่เมนู Project > New Project เพื่อสร้างโปรเจคใหม่



7. ที่ช่อง Project Name กำหนดชื่อไฟล์ตามต้องการ

8. ที่ช่อง Project Path คลิกที่ปุ่ม แล้วเลือกตำแหน่งเก็บไฟล์ตามต้องการ

9. ที่ช่อง Device เลือกเบอร์ IC ให้ตรงกับ IC ที่เราต้องการใช้ ในที่นี้คือ P16F627 A

10. ช่อง Clock กำหนด สัญญาณ 004.000000

11. คลิกที่ปุ่ม

12. คลิกที่ปุ่ม



13. เขียนโค้ดโรแกรมวงจรไฟวิ่งลงในพื้นที่ทำงานได้ครบ

14. คลิกที่ปุ่ม เพื่อเก็บบันทึก

15. คลิกที่ปุ่ม เพื่อทำการ Build โปรแกรม

16. ถ้า Build ผ่านโปรแกรมจะขึ้นคำว่า Success ก็เป็นอันใช้ได้



17. เมื่อเขียนโปรแกรมเสร็จแล้ว ให้เปิดวงจรไฟวิ่งที่สร้างไว้แล้วขึ้นมาด้วยโปรแกรม ISIS



18. คลิกที่ปุ่ม และคลิกเลือก DC เพื่อใช้แหล่งจ่ายไฟฟ้า DC

19. นำแหล่งจ่าย DC มาวาง แล้วเชื่อมสายสัญญาณต่อเข้ากับ R9 กับ R10 แล้ว ดับเบิ้ลคลิกที่แหล่งจ่าย DC



20. ตั้งชื่อในช่อง Generator Name ตามต้องการ

21. กำหนดค่าแรงดันในช่อง Voltage เท่ากับ 5 โวลต์

22. คลิกที่ปุ่ม




23. จากนั้น ดับเบิ้ลคลิกที่ IC PIC แล้วคลิกที่ปุ่ม เพื่อเลือก HEX File ที่เราได้เขียนโปรแกรมเก็บไว้แล้ว

24. เมื่อเลือก HEX File เสร็จแล้ว คลิกที่ปุ่ม



25. แล้วคลิกที่ปุ่ม เพื่อให้แสดงผลการทำงาน ก็จะเห็นว่า LED ติดเรียงกัน ตามที่เราได้เขียนโปรแกรมไว้

26. คลิกที่ปุ่ม เพื่อปิดการทำงาน




27. คลิกที่ปุ่ม เพื่อเลือกใช้เครื่องมือวัดสโคป

28. สโคปช่อง A ต่อกับขา 17 ของ PIC และช่อง B ต่อกับสายสัญญาณ AB1

29. แล้วคลิกที่ปุ่ม เพื่อให้แสดงผลการทำงานอีกครั้ง




30. สโคปก็จะแสดงรูปคลื่นขึ้นมา



NOTE
ถ้าต้องการปรับความเร็วการวิ่งของ LED ในวงจร เราสามารถเปลี่ยนอุปกรณ์ VR ให้เป็นชนิดปรับค่าเองได้ ซึ่งอยู่ในไลบรารี Resistors > POT-HG



NOTE
ตัวอย่างโค้ดโปรแกรมของวงจรไฟวิ่ง สามารถดาวน์โหลดผ่านอินเตอร์เน็ตได้ที่ www.smartlearningweb.com


4.9 จำลองการทำงาน วงจรนับด้วยไมโครคอนโทรลเลอร์ตระกูล MCS-51

ในตัวอย่างนี้ จะจำลองการทำงานวงจรนับ โดยใช้ไมโครคอนโทรลเลอร์ตระกูล MCS-51 เบอร์ AT89C51 ซึ่งเขียนด้วยภาษา C โดยใช้โปรแกรม mikroC เป็นตัวเขียน แล้วก็ทำเป็น HEX File เพื่อเอามาจำลองการทำงานบนโปรแกรม Proteus ISIS อีกที

โค้ดโปรแกรมวงจรนับที่เขียนด้วยโปรแกรม mikroC



1. อันดับแรกใช้นำอุปกรณ์ IC, 7segment และ RESPACK-8 มาต่อวงจรให้ได้ดังรูป ซึ่งอุปกรณ์หาได้จากตารางข้างล่างนี้ จากนั้นดับเบิ้ลคลิกที่ AT89C51





2. คลิกที่ปุ่ม เพื่อเลือก HEX File ทั้งนี้การสร้าง HEX File จากโปรแกรม mikroC ได้อธิบายไว้ในหัวข้อ 4.6 จะต่างกันเพียงโปรแกรมที่เขียนเท่านั้น



3. เข้าไปยังตำแหน่งที่เก็บ HEX File แล้วคลิกที่ชื่อไฟล์

4. คลิกที่ปุ่ม



5. HEX File ก็จะเข้ามาอยู่ในช่อง Program File

6. กำหนดความถี่ในช่อง Clock Frequency ตามต้องการ ในที่นี้กำหนด 20 MHz

7. คลิกที่ปุ่ม



8. แล้วคลิกที่ปุ่ม เพื่อให้แสดงผลการทำงาน



NOTE
ถ้าต้องการเปลี่ยนการนับตัวเลข ให้ไปแก้ไขโค้ดในโปรแกรมที่เขียนแล้ว จึงนำมาจำลองการทำงานในโปรแกรม ISIS ส่วนการใช้ mikroC ดูได้จากหัวข้อ 4.8

NOTE
ตัวอย่างโค้ดโปรแกรมของวงจรนับ สามารถดาวน์โหลดผ่านอินเตอร์เน็ตได้ที่ www.smartlearningweb.com


4.10 จำลองการทำงานแสดงอักษรบนจอ LCD

ในตัวอย่างนี้ จะจำลองการทำงานของไมโครคอนโทรลเลอร์ตระกูล PIC เบอร์ 16F877 โดยจะแสดงอักษรบนหน้าจอ LCD ซึ่งจะเขียนด้วยภาษาแอสเซมบลี โดยใช้โปรแกรม MPLAB เป็นตัวเขียน แล้วก็ทำเป็น HEX File เพื่อเอามาจำลองการทำงานบนโปรแกรม Proteus ISIS อีกที

โค้ดโปรแกรมวงจรนับที่เขียนด้วยโปรแกรม MPLAB



โปรแกรม MPLAB IDE สามารถหาดาวน์โหลดได้ที http://www.microchip.com แล้วทำการติดตั้งให้เรียบร้อย แล้วทำตามขั้นตอนต่อไปนี้

1. คลิกที่ปุ่ม เลือก All Programs > Microchip > MPLAB IDE v8.30 > MPLAB IDE



2. คลิกที่เมนู Project > Project Wizard



3. คลิกที่ปุ่ม



4. คลิกที่ช่อง Device เลือกเบอร์ IC ให้ตรงกับอุปกรณ์ที่ใช้ ในที่นี้คือ PIC16F877

5. คลิกที่ปุ่ม



6. คลิกที่ช่อง Active Tool suite เลือก Microchip MPASM Toolsuite

7 คลิกที่ปุ่ม



8. คลิกที่ปุ่ม เพื่อเลือกตำแหน่งเก็บไฟล์ตามต้องการ ในที่นี้เก็บที่ C:/LCD/lcd

9. คลิกที่ปุ่ม



10. คลิกที่ปุ่ม



11. คลิกที่ปุ่ม



12. คลิกที่ปุ่ม เพื่อใช้เขียนโปรแกรม

13. ทำการเขียนโค้ดโปรแกรมให้เสร็จเรียบร้อย

14. คลิกที่ปุ่ม



15. เลือกตำแหน่งเก็บในช่อง Save in ในที่นี้เก็บไว้ที่ C:\LCD

16. ตั้งชื่อในช่อง File name ตามต้องการ ในที่นี้ตั้ง lcd.ams

17. คลิกที่ปุ่ม เพื่อเก็บบันทึก




18. จากนั้น ปิดไฟล์ที่เขียนโค้ด แล้วคลิกขวาที่ Source Files > Add Files



19. เข้าไปในตำแหน่งเก็บโค้ดโปรแกรม

20. คลิกที่ไฟล์ lcd

21. คลิกที่ปุ่ม



22. คลิกที่ปุ่ม เพื่อทำการ Build โปรแกรม ให้เป็น HEX File

23. ถ้า Build ผ่าน โปรแกรมจะขึ้นคำว่า BUILD SUCCEEDED ก็เป็นอันใช้ได้



24. เมื่อเขียนโปรแกรมเสร็จแล้ว ให้เปิดโปรแกรม ISIS ขึ้นมา จากนั้นนำอุปกรณ์ 16F877 และ LM016L มาต่อวงจรให้ได้ดังรูป ซึ่งอุปกรณ์หาได้จากตารางข้างล่างนี้ จากนั้นดับเบิ้ลคลิกที่ 16F877





25. จากนั้นดับเบิ้ลคลิกที่ IC PIC แล้วคลิกที่ปุ่ม เพื่อเลือก HEX File ที่เราได้เขียนโปรแกรมเก็บไว้แล้ว

26. เมื่อเลือก HEX File เสร็จแล้ว คลิกที่ปุ่ม



27. แล้วคลิกที่ปุ่ม เพื่อให้แสดงผลการทำงาน



NOTE
ถ้าต้องการเปลี่ยนอักษรสามารถเปลี่ยนได้ที่โค้ดโปรแกรม ตามต้องการ




NOTE
ตัวอย่างโค้ดโปรแกรม แสดงอักษรบนจอ LCD สามารถดาวน์โหลดผ่านอินเตอร์เน็ตได้ที่ www.smartlearningweb.com



4.11 จำลองการทำงานไมโครคอนโทรลเลอร์ตระกูล AVR

AVR ย่อมาจากคำว่า Audio Video Receiver แปลว่าเป็น integrated amp ที่มี tuner ซึ่งเราสามารถเข้าไปดูการทำงานของวงจรได้จากตัวอย่าง ที่มีอยู่ในโปรแกรม ISIS นี้ ตัวอย่างนี้จะมี HEX File ไว้แล้วโดยมีขั้นตอนดังนี้

1. เปิดโปรแกรม ISIS ขึ้นมา แล้วคลิกที่ปุ่ม



2. คลิกเลือกที่ช่อง Look in จากนั้นเลือกที่ C:\Program Files\Labcenter Electronics\ Proteus 7 Professional\SAMPLES




3. ดับเบิ้ลคลิกที่โฟลเดอร์ VSM for AVR



4. ดับเบิ้ลคลิกที่โฟลเดอร์ AVR and SED1520



5. แล้วดับเบิ้ลคลิกที่ไฟล์ EW12A03GLY



6. แล้วคลิกที่ปุ่ม เพื่อให้แสดงผลการทำงาน ก็จะเห็นว่า จอ LCD มีการเปลี่ยนแปลงตามที่เขียนโปรกแกรมไว้




NOTE
HEX. File สามารถเข้าไปเลือกได้ที่ C:\Program Files\Labcenter Electronics\Proteus 7 Professional\SAMPLES for AVR\AVR and SED1520



4.12 การจำลองการควบคุม DC มอเตอร์ด้วย PIC16F628A

ตัวอย่างนี้ จะจำลองการทำงานการหมุนของ DC มอเตอร์ โดยการเขียนโปรแกรมด้วยภาษา C ลงใน PIC16F628A

โค้ดโปรแกรมควบคุม DC มอเตอร์ ที่เขียนด้วยโปรแกรม mikroC




1. อันดับแรกนำอุปกรณ์ จากตารางข้างล่างนี้ มาต่อวงจรให้ได้ดังรูป จากนั้นดับเบิ้ลคลิกที่ PIC16F628A





2. จากนั้นดับเบิ้ลคลิกที่ IC PIC แล้วคลิกที่ปุ่ม เพื่อเลือก HEX File ที่เราได้เขียนโปรแกรมเก็บไว้แล้ว

3. เมื่อเลือก HEX File เสร็จแล้ว คลิกที่ปุ่ม



4. แล้วคลิกที่ปุ่ม เพื่อให้แสดงผลการทำงาน ก็จะเห็นว่า LED ติดเรียงกัน ตามที่เราได้เขียนโปรแกรมไว้



NOTE
การจำลองการทำงาน ในงานทางไมโครคอนโทรลเลอร์ชนิดต่าง ๆ นอกจากที่ภายในหนังสือได้อธิบายอย่างคร่าว ๆ แล้ว ท่านสามารถเปิดวงจรจาก SAMPLES ภายในโปรแกรม Proteus เพื่อศึกษาเพิ่มเติมได้อีกด้วย

NOTE
ตัวอย่างโค้ดโปรแกรมการควบคุมDC มอเตอร์ สามารถดาวน์โหลดผ่านอินเตอร์เน็ตได้ที่ www.smartlearningweb.com



4.13 การจำลองวงจรไฟกระพริบดวงเดียว

ตัวอย่างนี้จะจำลองการทำงานวงจรไฟกระพริบดวงเดียว โดยโค้ดโปรแกรมจะถูกเขียนและแปลงเป็น HEX File ด้วยโปรแกรม CCS ซึ่งขั้นตอนการทำมีดังนี้

โค้ดโปรแกรมวงจรไฟกระพริบดวงเดียว ที่เขียนด้วยโปรแกรม




โปรแกรม CCS สามารถหาดาวน์โหลดได้ที่ http://www.microchip.com แล้วทำการติดตั้งให้เรียบร้อย จากนั้นทำตามขั้นตอนต่อไปนี้

1. คลิกที่ปุ่ม เลือก All Programs > PIC-C Compiler



2. ก็จะปรากฏหน้าต่าง PCW ขึ้นมา ให้คลิกที่เมนู Project > PIC Wizard



3. เลือกตำแหน่งเก็บในช่อง Save in ในที่นี้เก็บไว้ที่ C:\EX1

4. ตั้งช่องในช่อง File name ตามต้องการ ในที่นี้ตั้ง LED1

5. คลิกที่ปุ่ม เพื่อเก็บบันทึก




6. ที่ช่อง Device คลิกเลือกเบอร์ IC ที่ต้องการใช้ ในที่นี้เลือก PIC16F628A

7. คลิกที่ปุ่ม




8. จากนั้นลบโค้ดที่โปรแกรมให้มาให้หมด แล้วพิมพ์โค้ดโปรแกรมที่เราต้องการลงไปใหม่

9. เสร็จแล้ว คลิกที่ปุ่ม




10. คลิกที่เมนู Compile

11. แล้วคลิกที่ไอคอน Compile



12. โปรแกรมก็จะทำการ Compile ให้รอสักครู่



13. ถ้า Compile ผ่าน โปรแกรมก็จะขึ้นคำว่า 0 Error, 0 Warning ก็เป็นอันใช้ได้



14. เมื่อเขียนโปรแกรมเสร็จแล้ว ให้เปิดโปรแกรม ISIS ขึ้นมา แล้วนำอุปกรณ์จากตารางข้างล่างนี้มาต่อวงจรให้ได้ดังรูป จากนั้นดับเบิ้ลคลิกที่ PIC16F628A





15. จากนั้นดับเบิ้ลคลิกที่ IC PIC แล้วคลิกที่ปุ่ม เพื่อเลือก HEX File ที่เราได้เขียนโปรแกรมเก็บไว้แล้ว

16. กำหนดค่าความถี่ในช่อง Processor Clock Frequency ตามต้องการ ในที่นี้กำหนด 10MHz

17. เมื่อเลือก HEX File เสร็จแล้ว คลิกที่ปุ่ม




18. แล้วคลิกที่ปุ่ม เพื่อให้แสดงผลการทำงาน ก็จะเห็นว่า LED กระพริบ ตามทีเราได้เขียนโปรแกรมไว้




NOTE
ตัวอย่างโค้ดโปรแกรมวงจรไฟกระพริบดวงเดียว สามารถดาวน์โหลดผ่านอินเตอร์เน็ตได้ที่ www.smartlearningweb.com



สรุป
การวิเคราะห์จำลองการทำงาน ไมโครคอนโทรลเลอร์ในโปรแกรม Proteus ISIS ไม่ว่าจะเขียนโค้ดโปรแกรมด้วยภาษาอะไรก็ตาม แต่วิธีที่จะเอามาจำลองการทำงานบนโปรแกรม Proteus จะต้องแปลงโค้ดโปรแกรมนั้น ๆ ให้เป็น HEX File เสียก่อน จึงจะสามารถทำการจำลองวงจรได้ ส่วนขั้นตอนการนำ HEX File เข้ามาจำลองบน Proteus ก็จะมีขั้นตอนดังที่ได้อธิบายไว้แล้ว ซึ่งภายในหนังสือเล่มนี้ จะไม่กล่าวถึงวิธีการเขียนโค้ดโปรแกรม แต่จะอธิบายการนำ HEX File เข้ามาจำลองการทำงานเท่านั้น

ไม่มีความคิดเห็น:

แสดงความคิดเห็น