โวลต์มิเตอร์ AC แบบโมดูลาร์อย่างง่ายบน PIC16F676 การวัดแรงดัน RMS การวัดกระแส AC ด้วย avr

คำนำ

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

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

แต่ในห้องปฏิบัติการ โดยเฉพาะอย่างยิ่งในคณะกรรมการตรวจสอบของรัฐ มีสวิตช์ที่มีสเกลกระจกและระดับความแม่นยำดีกว่า 0.5 มาก

และพวกเราเกือบทุกคนก็พอใจและมีความสุข และหากพวกเขาไม่พอใจ พวกเขาก็ซื้อเครื่องมือที่แม่นยำกว่านี้แน่นอน ถ้าเป็นไปได้!

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

เส้นทางจากค่าที่วัดได้ไปยังตัวบ่งชี้

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

ก่อนอื่น ฉันเลือกความแข็งแกร่งในปัจจุบัน!

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

  1. ที่ด้านหน้าของ ADC นั้นคุณต้องมีอุปกรณ์ที่ทำให้เป็นมาตรฐานเช่น: แอมพลิฟายเออร์หรือตัวลดทอนที่ทำให้เป็นมาตรฐานขึ้นอยู่กับอัตราส่วนของค่าอินพุตต่อช่วงการแปลง ADC
  2. ตัวถอดรหัสหลัง ADC เพื่อแสดงตัวเลขที่แปลงเป็นรหัสดิจิทัลของตัวบ่งชี้ที่เกี่ยวข้อง

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

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

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

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

ข้อมูลเฉพาะ

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

แอมมิเตอร์ในตัวของฉันประกอบและตั้งโปรแกรมไว้บน Tiny26L MK ส่วนหนึ่งของแอมป์มิเตอร์นี้คือออปแอมป์ตัวที่สอง (ฟรี) ของชิป LM358 ซึ่งเป็นส่วนหนึ่งของวงจรบัลลาสต์พื้นฐาน เหล่านั้น. นี่คือแอมพลิฟายเออร์ที่กำหนดมาตรฐานของฉันเนื่องจากแรงดันไฟฟ้าตกคร่อมวงจรสับเปลี่ยนสูงสุด (5A x 0.1 โอห์ม) มีค่าเพียง 0.5 โวลต์ ซึ่งเห็นได้ชัดว่าไม่เพียงพอสำหรับช่วงการแปลงเต็มที่มีแรงดันอ้างอิงภายใน

ตามที่ T.O. (ภาษาอังกฤษ = เอกสารข้อมูล) แรงดันไฟฟ้าที่กำหนดของแหล่งอ้างอิงในตัว (ION) คือ 2.56 โวลต์ ขนาดสะดวกมาก! อย่างไรก็ตามในทางปฏิบัติมันไม่ได้ดีนัก: แรงดัน ION ที่ปรับแล้วของ MK ของฉันกลายเป็น 2.86 โวลต์! ฉันจะพิจารณาได้อย่างไรว่านี่เป็นหัวข้อแยกต่างหาก ยังคงกลับไปใช้ 2.56 โวลต์ที่สะดวก ดูสิ่งที่เกิดขึ้น: ค่า shunt สูงสุด 0.5 โวลต์ลดลง ADC จะแปลงค่าสูงสุด 2.56 โวลต์ แอมพลิฟายเออร์นอร์มอลไลซ์ที่มีอัตราขยาย 5 แนะนำตัวเอง ดังนั้นตัวเลขที่ได้รับระหว่างการแปลงจะไม่ต้องใช้เลขคณิตขั้นสูงใดๆ ในการแสดงผลลัพธ์: 5 แอมแปร์ = 2.5 โวลต์ = 250 หน่วย (สำหรับการแปลง 8 บิต) คุณเพียงแค่ต้องคูณผลลัพธ์ด้วยสองและใส่จุดทศนิยมระหว่างร้อยถึงสิบเพื่อให้ได้ค่าที่สะดวกมาก: หน่วย หนึ่งในสิบและหนึ่งในร้อยของแอมแปร์ การเปลี่ยนแปลงครั้งสุดท้ายเป็นสัญญาณเจ็ดส่วนเป็นเรื่องของเทคโนโลยี ทุกอย่างเรียบร้อยดี คุณสามารถนำไปใช้ในฮาร์ดแวร์ได้!

อย่างไรก็ตาม ตามที่ฉันได้แสดงไปแล้วพร้อมกับตัวอย่างของ ION ในตัว ความแม่นยำที่ยอมรับได้ (ไม่ต้องพูดถึงสูง!) ไม่สามารถได้รับอย่างง่ายดายด้วยส่วนประกอบที่ใช้ คุณสามารถใช้เส้นทางของการชดเชยข้อผิดพลาดทางคณิตศาสตร์ได้โดยใช้โปรแกรมใน MK แม้ว่าจะต้องมีการสอบเทียบก็ตาม เส้นทางนี้ใช้งานได้ง่ายในภาษา C และภาษาอื่นๆ ระดับสูง- แต่สำหรับฉัน ผู้ประกอบที่ดื้อรั้น การยุ่งกับคณิตศาสตร์โดยใช้คำสั่ง RISC เป็นเรื่องที่น่าปวดหัวเป็นพิเศษ!

ฉันเลือกเส้นทางอื่น - การแก้ไขเกนของแอมพลิฟายเออร์นอร์มัลไลซ์ (NA) คุณไม่ต้องการอะไรมากสำหรับสิ่งนี้ – ตัวต้านทานแบบทริมเมอร์ตัวเดียว! ต้องเลือกค่าอย่างถูกต้องเพื่อให้ช่วงการปรับเพียงพอ แต่ไม่เกินจริง

การเลือกองค์ประกอบแอมพลิฟายเออร์ที่ทำให้เป็นมาตรฐาน

ดังนั้นจึงจำเป็นต้องกำหนดช่วงการปรับค่า ขั้นตอนแรกคือการกำหนดพิกัดความเผื่อของส่วนประกอบต่างๆ ตัวอย่างเช่น การแบ่งของฉันมีความทนทานต่อข้อผิดพลาด 1% ตัวต้านทานอื่นในวงจรแอมพลิฟายเออร์นอร์มัลไลซ์อาจมีความทนทานสูงถึง 10% และอย่าลืมความไม่ถูกต้องของ ION ของเรา ซึ่งในกรณีของฉันมีจำนวนเกือบ +12%! ซึ่งหมายความว่าจำนวนที่แปลงจริงจะน้อยลงเกือบ 12% แต่เนื่องจากฉันทราบข้อผิดพลาดนี้แล้ว ฉันจึงนำมาพิจารณาในการได้รับ NU ซึ่งควรเป็น 5.72 และเนื่องจากไม่ทราบข้อผิดพลาดที่แท้จริงของส่วนประกอบอื่นๆ จึงยังคงต้องค้นหาข้อผิดพลาดทั้งหมดที่เป็นไปได้สูงสุดเพื่อคำนวณช่วงการปรับค่า

ผลรวมง่ายๆ ของ "เปอร์เซ็นต์" เหล่านี้แนะนำตัวเอง: แบ่ง 1% บวก 2 คูณตัวต้านทาน 10% ข้อเสนอแนะอู๋ รวมทั้งหมด: 21%

เรามาดูกันว่าจะเป็นเช่นนั้นจริงหรือไม่ ในการดำเนินการนี้ เรามาดูส่วนของแผนภาพที่แสดง NU นี้พร้อมค่าที่เลือกไว้แล้ว:

อย่างที่คุณเห็น มีแอมพลิฟายเออร์ที่ไม่กลับด้านพร้อมค่าสัมประสิทธิ์การส่งผ่านที่ปรับได้ ซึ่งในทางทฤษฎีปรับได้ตั้งแต่ 4.979 ถึง 6.735 ที่พิกัดที่ระบุในแผนภาพ แต่หากเราคำนึงถึงข้อผิดพลาดที่เป็นไปได้ ±10% ของตัวต้านทานแต่ละตัว เราจะได้ค่ารวมที่แย่ที่สุด Ku = 5.864 - 8.009 ซึ่งเกินค่าสัมประสิทธิ์ที่ต้องการอย่างชัดเจน! หากการรวมกันนี้เกิดขึ้น คุณจะต้องใช้นิกายอื่น ควรเพิ่มค่าของตัวต้านทานการปรับค่าทันทีเช่นเป็น 39k จะดีกว่า จากนั้นขีดจำกัดล่างของ Ku จะเป็น 5.454 ซึ่งเป็นที่ยอมรับอยู่แล้ว

ฉัน – “คนติดวิทยุตัวจริง” ต้องเลือกทริมเมอร์จากที่มีอยู่ และโชคดีมากที่ได้ลงทุนในกลุ่มผลิตภัณฑ์นี้! หากฉันมีทริมเมอร์ที่มีค่าแตกต่างออกไป ก็ไม่สำคัญ ฉันจะคำนวณ R2 และ R3 ใหม่ ซึ่งในกรณีของฉันมีค่าความคลาดเคลื่อน 5% ดังนั้นฉันจึงไม่ต้องเปลี่ยนทริมเมอร์อีก

เอาชนะข้อบกพร่องและการละเลยของคุณ

ดูเหมือนว่าทุกอย่างจะถูกคิดและคำนวณแล้ว - เพิ่มค่าธรรมเนียม มาทดสอบการออกแบบนี้บนเขียงหั่นขนมก่อน! พูดไม่ทันทำ! กู่กำลังถูกสร้างขึ้นใหม่ไม่เป็นไปตามที่คาดไว้ แต่อยู่ในขอบเขตที่จำเป็น อย่างไรก็ตาม ตัวบ่งชี้จะไม่แสดง 0.00 เมื่อไม่มีกระแสโหลด! ก่อนอื่น ฉันสงสัยว่าโปรแกรมอยู่ใน MK แต่เมื่ออินพุต ADC ลัดวงจรไปที่สายสามัญ ค่าศูนย์อันมีค่าก็ปรากฏขึ้น ซึ่งหมายความว่ามีบางอย่างมาที่อินพุตของ MK นอกเหนือจากศูนย์โวลต์ การทดสอบด้วยมัลติมิเตอร์ยืนยันสมมติฐานนี้และตั้งค่างานถัดไป โดยไม่ต้องลงรายละเอียดของงานวิจัยของฉัน ฉันจะอธิบายเฉพาะผลลัพธ์เท่านั้น

เหตุผลมีดังนี้: ฉันไม่ได้คำนึงโดยสิ้นเชิงว่า op-amp ที่ฉันใช้อยู่ไกลจากนั้น คุณภาพดีที่สุด- เขาไม่ได้เรียกว่า "รถไฟต่อรถไฟ" ซึ่งหมายความว่าศักยภาพเอาต์พุตจะไม่ไปถึงขั้วจ่ายใดๆ เช่น ในกรณีของฉัน มันจะไม่มีวันเท่ากับ 0 โวลต์! ทีนี้ ถ้ามันถูกจ่ายไฟจากแหล่งไบโพลาร์ ผลลัพธ์ที่ได้จะเป็นศูนย์ที่คาดไว้ แต่แหล่งจ่ายไฟของฉันเป็นแบบขั้วเดียว และฉันไม่ได้ตั้งใจจะทำให้วงจรยุ่งยากกับตัวแปลงใดๆ พบวิธีแก้ปัญหาในการสร้าง "ดินแดนเสมือนจริง" เช่น ต้องขอบคุณแหล่งพลังงานที่แยกจากกัน (ตรงข้ามกับวงจรพื้นฐาน) ฉันจึงสามารถใช้ไดโอดเพื่อเปลี่ยนศักย์ไฟฟ้าของสายสามัญที่สัมพันธ์กับขั้วลบของแบตเตอรี่ได้

ดังนั้นบอร์ดจึงถูกแกะสลักและบัดกรี ถึงเวลาที่จะบรรจุการออกแบบนี้ลงในเคส ซึ่งอันที่จริงก็ทำเสร็จแล้ว อย่างไรก็ตามในระหว่างการใช้งานมีข้อบกพร่องเล็ก ๆ อีกประการหนึ่งเกิดขึ้น - การเบี่ยงเบนของวงจรอินพุตของ op-amp สิ่งนี้แสดงให้เห็นการเปลี่ยนแปลงเชิงลบในการอ่าน เช่น ที่กระแสสองสามสิบมิลลิแอมป์ ตัวบ่งชี้ยังคงแสดงค่าศูนย์ ซึ่งไม่เหมาะกับฉัน! ฉันจะอนุญาตให้มีการเปลี่ยน mA หลายอัน แต่หน่วยมิลลิแอมป์จะไม่แสดง ฉันต้องแนะนำวงจรไบแอสให้กับอินพุตของ NU

พิกัด R4 และ RZ ถูกเลือกเพื่อให้มีอคติบวก/ลบหลายสิบมิลลิโวลต์เทียบกับ "พื้นดินเสมือน" ฉันไม่มีความปรารถนาที่จะสร้างบอร์ดที่เสร็จแล้วใหม่ และฉันเพิ่มตัวแบ่งแบบปรับได้ที่จำเป็นแทนตัวปรับ Ku

โดยทั่วไปแล้วอุปกรณ์ที่ได้จะตอบสนองความต้องการของฉัน แน่นอนว่าสามารถปรับปรุงได้เป็นเวลานาน แต่ยังไม่จำเป็น!

ฉันจะพูดถึงชิ้นส่วนดิจิทัลและคณิตศาสตร์ในครั้งต่อไปโดยใช้ตัวอย่างมิเตอร์โวลต์-แอมแปร์ บล็อกห้องปฏิบัติการโภชนาการ

โวลต์มิเตอร์แรงดันไฟฟ้ากระแสสลับอย่างง่ายที่มีความถี่ 50 Hz ถูกสร้างขึ้นในรูปแบบของโมดูลในตัวที่สามารถใช้แยกกันหรือติดตั้งไว้ในอุปกรณ์สำเร็จรูปได้
โวลต์มิเตอร์ประกอบบนไมโครคอนโทรลเลอร์ PIC16F676 และตัวบ่งชี้ 3 หลักและไม่มีชิ้นส่วนจำนวนมาก

ลักษณะสำคัญของโวลต์มิเตอร์:
รูปร่างของแรงดันไฟฟ้าที่วัดได้เป็นแบบไซน์
ค่าสูงสุดของแรงดันไฟฟ้าที่วัดได้คือ 250 V;
ความถี่ของแรงดันไฟฟ้าที่วัดได้ - 40…60 Hz;
ความละเอียดในการแสดงผลการวัดคือ 1 V;
แรงดันไฟฟ้าของโวลต์มิเตอร์คือ 7…15 V.
ปริมาณการใช้กระแสไฟเฉลี่ย - 20 mA
สองตัวเลือกการออกแบบ: มีและไม่มีแหล่งจ่ายไฟบนบอร์ด
PCB ด้านเดียว
การออกแบบที่กะทัดรัด
แสดงค่าที่วัดได้บนไฟ LED 3 หลัก

แผนผังของโวลต์มิเตอร์สำหรับวัดแรงดันไฟฟ้ากระแสสลับ


ใช้การวัดแรงดันไฟฟ้ากระแสสลับโดยตรงพร้อมการคำนวณค่าและเอาต์พุตไปยังตัวบ่งชี้ในภายหลัง แรงดันไฟฟ้าที่วัดได้จะจ่ายให้กับตัวแบ่งอินพุตที่สร้างบน R3, R4, R5 และผ่านตัวเก็บประจุแยก C4 จะจ่ายให้กับอินพุต ADC ของไมโครคอนโทรลเลอร์

ตัวต้านทาน R6 และ R7 สร้างแรงดันไฟฟ้า 2.5 โวลต์ (ครึ่งหนึ่งของกำลัง) ที่อินพุต ADC ตัวเก็บประจุ C5 ซึ่งมีความจุค่อนข้างน้อย สามารถข้ามอินพุต ADC และช่วยลดข้อผิดพลาดในการวัด ไมโครคอนโทรลเลอร์จะจัดระเบียบการทำงานของตัวบ่งชี้ในโหมดไดนามิกตามการหยุดชะงักจากตัวจับเวลา

--
ขอบคุณสำหรับความสนใจของคุณ!
อิกอร์ โคตอฟ บรรณาธิการบริหารนิตยสาร Datagor


🕗 01/07/57 ⚖️ 19.18 Kb ⇣ 239 สวัสดีผู้อ่าน!ฉันชื่ออิกอร์ อายุ 45 ปี เป็นชาวไซบีเรียและเป็นวิศวกรอิเล็กทรอนิกส์สมัครเล่นตัวยง ฉันคิดค้น สร้างสรรค์ และดูแลรักษาเว็บไซต์ที่ยอดเยี่ยมนี้มาตั้งแต่ปี 2549
เป็นเวลากว่า 10 ปีแล้วที่นิตยสารของเรามีอยู่โดยเสียค่าใช้จ่ายเท่านั้น

ดี! ของแจกฟรีหมดแล้ว หากคุณต้องการไฟล์และบทความที่เป็นประโยชน์ช่วยฉันด้วย!

เครือข่าย 220 V ในกรณีส่วนใหญ่เป็นแหล่งพลังงานหลักสำหรับอุปกรณ์ที่มี MK นอกจากนี้ยังสามารถใช้เป็นช่องทางข้อมูลและควบคุมได้ งานต่อไปนี้มีความเกี่ยวข้อง:

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

มาตรฐานของประเทศ CIS อนุญาตให้มีการแพร่กระจายของแรงดันไฟฟ้าหลักในช่วง 187...242 V และการเปลี่ยนแปลงความถี่ในช่วง 49...51 Hz อย่างไรก็ตาม พารามิเตอร์เหล่านี้จะแตกต่างกันไปขึ้นอยู่กับประเทศและทวีป (ตารางที่ 3.1) ซึ่งจะต้องนำมาพิจารณาเมื่อพัฒนาผลิตภัณฑ์เพื่อการส่งออก

ตารางที่ 3.1. มาตรฐาน เครือข่ายไฟฟ้าในประเทศต่างๆ

ในการปรับแรงดันไฟฟ้าเครือข่าย 220 V ให้เป็นอินพุตแรงดันต่ำของ MC จะใช้ตัวแบ่งตัวต้านทาน (รูปที่ 3.1, a...h), ออปติคัล (รูปที่ 3.2, a...g) และหม้อแปลงไฟฟ้า (รูปที่ 1) 3.3, a...h) ข้อไขเค้าความเรื่อง ในสองกรณีสุดท้าย รับประกันการแยกกระแสไฟฟ้าของวงจรหลักและวงจรรอง ซึ่งจะเพิ่มความปลอดภัย

ข้าว. 3.1. แผนผังของเซ็นเซอร์แรงดันไฟหลัก 220 V แบบไม่แยก (สตาร์ท):

ก)ไดโอด VD1 ตัดแรงดันไฟฟ้าครึ่งคลื่นลบ, ตัวต้านทาน R2 ควบคุมความกว้างของสัญญาณที่อินพุต MK (ความถี่ 50 Hz), ตัวเก็บประจุ C1 กำจัดสัญญาณรบกวน;

ข)อินพุต MK รับสัญญาณความถี่สองเท่า 100 Hz จากวงจรเรียงกระแสบริดจ์

วี)สายไฟ MK +5 V เชื่อมต่อแบบไฟฟ้ากับเครือข่าย 220 V ตัวต้านทาน R1 จะจำกัดกระแสผ่านภายใน ไดโอดป้องกันเอ็มเค (0.1...0.3 มิลลิแอมป์) ความถี่สัญญาณ 50 เฮิรตซ์;

ช)ทรานซิสเตอร์ VTI, VT2 สร้างตัว จำกัด แรงดันไฟฟ้าสองทางพร้อมโหลดในรูปแบบของตัวต้านทาน R2 ทรานซิสเตอร์ VT3 เป็นแอมพลิฟายเออร์อินเวอร์เตอร์ ตัวเก็บประจุ C1 ปกป้อง MK จากการสลับสัญญาณรบกวนที่อาจเกิดขึ้นในเครือข่าย 220 V เมื่อไทริสเตอร์ทำงาน

ง) MK ตรวจสอบความสามารถในการให้บริการของ triac VS1 และการไม่มีการแตกหักของโหลด ตัวเก็บประจุ C1 มีความจุสูง ดังนั้นแรงดันไฟฟ้าที่อินพุต MK จึงเป็นค่าเฉลี่ย ตัวต้านทาน R2 กำหนดเกณฑ์แรงดันไฟฟ้าซึ่งต่ำกว่าซึ่งถือว่าเกิดอุบัติเหตุ

จ)สำหรับอุปกรณ์ที่มีความสำคัญต่อขั้วของปลั๊ก ปลั๊กไฟ, “ศูนย์” (N) และ “เฟส” (L) ถูกกำหนดด้วย “ไขควงเรืองแสง” ของเครื่องมือช่างไฟฟ้ามาตรฐาน

และ)ข้อจำกัดสองทางของแรงดันไฟหลักโดยไดโอดภายในของ MK ตัวเก็บประจุไฟฟ้าแรงสูง C1 (250 V AC) ในกรณีที่ตัวต้านทาน R3 แตก

ข้าว. 3.2. แผนผังของเซ็นเซอร์แรงดันไฟหลัก 220 V พร้อมการแยกแสง (เริ่มต้น):

ก)โฟโตทรานซิสเตอร์ของออปโตคัปเปลอร์ VU1 ปิดเป็นเวลา 0.1...0.2 มิลลิวินาที ในขณะที่แรงดันไฟหลักข้ามศูนย์ ระยะเวลาที่แน่นอนถูกเลือกโดยตัวต้านทาน R2 ความถี่ 100 Hz;

ข)เครื่องสร้างพัลส์ด้วยความถี่ 50 Hz การแยกกัลวานิกแบบคู่: บนออปโตคัปเปลอร์ VU1 และบนหม้อแปลง 77 โหลดตัวสะสมของออปโตคัปเปลอร์คือตัวต้านทานภายใน MK ไดโอด Schottky VD1 ปกป้องตัวปล่อยของออปโตคัปเปลอร์ VU1 จากแรงดันย้อนกลับ

วี)คล้ายกับรูปที่. 3.2, a แต่มีออปโตคัปเปลอร์สองตัวแยกกันและไม่มีสวิตช์ทรานซิสเตอร์

ช) MK ตรวจสอบการไม่มีการแตกหักของโหลดโดยมีสัญญาณพัลส์ที่มีความถี่ 50 Hz ไดโอด VD1... VD6 ขนานกัน (ถอยหลัง) เพื่อความสมมาตรสูงสุดของวงจร

ข้าว. 3.2. แผนผังของเซ็นเซอร์แรงดันไฟหลัก 220 V พร้อมการแยกแสง (ปลาย)"

ง)เครื่องสร้างพัลส์เครือข่ายสองขั้นตอนโดยใช้ทรานซิสเตอร์ VTI, VT2 ความถี่สัญญาณที่อินพุต MK คือ 100 Hz ด้านหลักของไดรเวอร์นั้นขับเคลื่อนจากโคลงแบบพาราเมตริกที่ประกอบบนองค์ประกอบ R3, VD2, VD3, C1 ไดโอดบริดจ์ VD1 ต้องได้รับการออกแบบสำหรับแรงดันย้อนกลับอย่างน้อย 400 V;

จ)ตัวบ่งชี้สถานะแรงดันไฟหลักพร้อมการแยกกัลวานิกบนออปโตคัปเปลอร์ VU1 องค์ประกอบ C1, R2 ทำหน้าที่เป็นบัลลาสต์ปฏิกิริยาและแอคทีฟสำหรับซีเนอร์ไดโอด VD5 ตามลำดับ เมื่อปิดเครือข่าย 220 V ตัวเก็บประจุ C1 จะคายประจุอย่างรวดเร็วผ่านตัวต้านทาน R1 (เศษส่วนของวินาที) สิ่งนี้จะเพิ่มความปลอดภัย ไม่เช่นนั้นตัวเก็บประจุอาจถูกคายประจุผ่านร่างกายมนุษย์หากคุณใช้มือสัมผัสปลั๊กไฟที่ไม่ได้รับพลังงานโดยไม่ได้ตั้งใจ

และ) LED HL1 บ่งชี้ว่ามีแหล่งจ่ายไฟหลักอยู่และป้องกันตัวปล่อยออปโตคัปเปลอร์ VU1 จากแรงดันย้อนกลับ ตัวต้านทาน RI ตั้งค่ากระแสผ่านออปโตคัปเปลอร์ด้วยครึ่งคลื่นบวก และผ่าน LED HL1 ด้วยครึ่งคลื่นลบ ความถี่พัลส์ที่อินพุต MK คือ 50 Hz

ข้าว. 3.3. แผนผังของเซ็นเซอร์แรงดันไฟหลัก 220 V พร้อมการแยกหม้อแปลง (เริ่มต้น):

ก)เครื่องสร้างพัลส์ทรานซิสเตอร์ที่มีความถี่ 100 Hz ตัวเก็บประจุ C2 ระงับสัญญาณรบกวนจากแรงกระตุ้น เลือกตัวต้านทาน RI เพื่อให้รับประกันว่าทรานซิสเตอร์ VT1 จะเปิดที่แรงดันไฟหลักต่ำสุด ในทางกลับกันจะถูกกำหนดโดยค่าสัมประสิทธิ์การส่งผ่านของหม้อแปลง 77 แรงดันไฟฟ้าด้วย สะพานไดโอด VD1...VD4 จะเข้าสู่ระบบไฟฟ้าหลักด้วย ซึ่งจะสร้างแรงดันไฟฟ้า +5 V สำหรับ MK

ข)เครื่องตรวจจับแรงดันไฟฟ้าของสายเป็นศูนย์ ตัวเปรียบเทียบ DA1 เพิ่มความชันของขอบสัญญาณและเพิ่มการป้องกันสัญญาณรบกวน เอาต์พุตตัวเปรียบเทียบ (ตัวสะสมแบบเปิด) ถูกโหลดลงบนตัวต้านทานแบบ "ดึงขึ้น" R3 ไดโอด VD5, VD6 จำกัดแรงดันไฟฟ้าที่อินพุตตัวเปรียบเทียบไว้ที่ 0.6...0.7 V ที่ครึ่งคลื่นบวกของแรงดันไฟหลัก และไดโอดที่รวมอยู่ในบริดจ์ VDI...VD4 ที่ครึ่งคลื่นลบ

วี)ตัวต้านทาน R2 สร้างแรงดันไฟฟ้าเร้าใจที่ความถี่ 100 Hz ตัวเก็บประจุ C1 ยับยั้งการรบกวน RF องค์ประกอบ VD3, R1 ปกป้อง MK จากไฟกระชากในแรงดันไฟหลัก ต้องเชื่อมต่อไดโอด VD1, VD2 กับอะแดปเตอร์ A1 ด้วยสายไฟแยกกัน

ช)จากไดโอดบริดจ์ VDI... VD4 แรงดันไฟฟ้าเร้าใจที่มีความถี่ 100 Hz จะถูกส่งไปยังอินพุตของตัวเปรียบเทียบอะนาล็อก MK ซีเนอร์ไดโอด VD5, VD6 ต้องมีแรงดันไฟฟ้าเกณฑ์ต่ำกว่าแรงดันไฟฟ้า MK (ในกรณีนี้คือ +5 V) ไดโอด VD7, VD8 ปกป้อง MK จากความไม่สมดุลของแรงดันไฟฟ้าขนาดใหญ่ที่อินพุตตัวเปรียบเทียบ

ข้าว. 3.3. แผนผังของเซ็นเซอร์แรงดันไฟหลัก 220 V พร้อมตัวแยกหม้อแปลง (ปลาย):

ง)เชปเปอร์ของพัลส์สี่เหลี่ยมระดับ TTL จากแรงดันไฟหลักสลับ 9... 12 V. ใช้ช่องทางอิสระของชิป DA1 (ไดรเวอร์อินเทอร์เฟซ RS-232) ซึ่งมีทริกเกอร์ Schmitt ที่อินพุต Chain RI, C2 ทำหน้าที่เป็นตัวกรองสัญญาณรบกวนความถี่สูง

จ)ตัวต้านทาน R2, R3 เป็นตัวแบ่งที่มีระดับ +2.5 V เพื่อให้ MK ADC ทำงานในโหมดเชิงเส้น ความถี่ของพัลส์ที่นำมาจากตัวจำกัดไดโอด VD3, VD4 คือ 50 Hz;

และ)คล้ายกับรูปที่ 3.3, d แต่มีไดโอดจำกัด Schottky สองคู่ VD2...VD5 เห็นได้ชัดว่าเป็นการประกันภัยต่อในกรณีที่ไดโอดที่อยู่ในสะพาน VDI ล้มเหลว

ชม)แอมพลิจูดของแรงดันไฟฟ้าอินพุตของ MK ที่มีความถี่การเต้นเป็นจังหวะ 100 Hz ถูกควบคุมโดยตัวต้านทาน R2 เมื่อปิดเครือข่าย ตัวเก็บประจุความจุสูง C1 จะรักษาแรงดันไฟฟ้าที่ +5 V ไว้ระยะหนึ่งเพื่อให้ MK มีเวลาดำเนินการตามขั้นตอนซอฟต์แวร์ให้ถูกต้อง

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

การออกแบบโวลต์มิเตอร์แบบดิจิตอลประกอบด้วยสองโมดูล:

  • โมดูลการวัดและการส่งกำลังอยู่ที่ตำแหน่งการวัดโดยตรง
  • โมดูลการรับและแสดงผลที่ติดตั้งในสถานที่ทำงานของผู้ปฏิบัติงาน

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

ลักษณะอุปกรณ์:

  • ช่วงแรงดันไฟฟ้าที่วัดได้: 100 – 330V เครื่องปรับอากาศ;
  • ความถี่ของแรงดันไฟฟ้าที่วัดได้: 50Hz;
  • ความถี่ในการวัด: 0.5 วินาที (อัพเดตความถี่ของค่าที่วัดได้ 6 ช่อง)
  • แรงดันไฟฟ้าในการทำงานของโมดูลรับและแสดงผล: 7 - 25V ดี.ซี;
  • ระดับการแยกกัลวานิกของโมดูล: 5.0 kV;
  • ข้อผิดพลาดในการวัดแรงดันไฟฟ้า: ± 1.5%

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

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

การบ่งชี้การทำงานของสายสื่อสารระหว่างโมดูลอุปกรณ์มีให้โดย LED HL1 ที่อยู่ในโมดูลการวัด

แผนผังของการรับโวลต์มิเตอร์แบบดิจิตอลและโมดูลการแสดงผล:

แหล่งจ่ายไฟในการทำงานของโมดูลรับและแสดงผลมาจากแหล่งภายนอก 7-25V DC ระหว่างการทำงานปกติ โวลต์มิเตอร์บน AVRตัวบ่งชี้แสดงค่าของแรงดันไฟฟ้าที่วัดได้ หากช่องทางการสื่อสารเสียหายหรือโมดูลการวัดและการส่งผ่านทำงานผิดปกติ กล่าวคือ หากไม่มีข้อมูลจากโมดูลการวัดเป็นเวลานานกว่า 2 ช่วงการอัปเดตข้อมูล (ประมาณ 1.4 วินาที) ข้อความ "Err" จะแสดงบนตัวบ่งชี้ เมื่อการเชื่อมต่อกลับคืนมา การแสดงจะถูกกู้คืนโดยอัตโนมัติ การลดลงของระดับแรงดันไฟฟ้าในช่องใด ๆ ยกเว้นช่องแรกที่ต่ำกว่า 100V จะทำให้ขีดกลาง "---" แสดงบนตัวบ่งชี้ที่เกี่ยวข้องและค่าแรงดันไฟฟ้าที่วัดได้จะแสดงบนตัวบ่งชี้ที่เหลือ ตามลำดับ.4.08 (12 โหวต)

ไมโครคอนโทรลเลอร์ ATmega (รวมถึงตระกูล ATtiny บางรุ่น) มีโมดูล ADC 10 บิตที่สามารถใช้วัดแรงดันไฟฟ้าแบบอะนาล็อกได้ ADC เหล่านี้คือ อัตราส่วนนั่นคือพวกเขาทำการวัดสัมพันธ์กับบางส่วน ระดับพื้นฐาน(ปกติคือ Vcc)
ในกรณีของบอร์ดที่เข้ากันได้กับ Arduino ซึ่งใช้พลังงานจากแรงดันไฟฟ้าควบคุม 5 V หมายความว่าคุณสามารถวัดได้ในช่วง 0..5 V โดยแยกระดับที่ 0..1023 ในขณะที่บรรลุความละเอียดประมาณ 5 mV ต่อขั้นตอน
หากคุณมี "โวลต์มิเตอร์" ไม่ช้าก็เร็วคุณจะต้องการใช้มันเพื่อควบคุมแรงดันไฟฟ้าที่จ่ายให้กับพินกำลังของไมโครคอนโทรลเลอร์
วิธีแก้ปัญหาแรกที่นึกถึงคือเชื่อมต่อขา Vcc เข้ากับอินพุตอะนาล็อกตัวใดตัวหนึ่งแล้วเรียกใช้ฟังก์ชัน analogRead() นี่ไม่ใช่กรณี - ไม่ว่าแรงดันไฟฟ้าจะจ่ายเป็นพลังงานให้กับไมโครคอนโทรลเลอร์ก็ตาม ADC จะส่งกลับค่าเดียวกัน - 1,023
แล้วเราจะทราบได้อย่างไรว่าแรงดันไฟฟ้าใดที่จ่ายให้กับไมโครคอนโทรลเลอร์ของเรา? ท้ายที่สุดแล้ว สิ่งนี้มีความสำคัญอย่างยิ่งสำหรับแหล่งจ่ายไฟอัตโนมัติ เนื่องจากสามารถตรวจจับได้ทันทีเมื่อประจุแบตเตอรี่หมด
แหล่งจ่ายแรงดันอ้างอิงที่มีอยู่ในรุ่น ATmega/ATtiny แต่ละรุ่น (ก็ โอเค เกือบทุกรุ่น) สามารถช่วยได้ โดยผลิตได้ 1.1 V พอดี (ก็ โอเค โดยประมาณ) ถ้าเราอ่านแรงดันไฟฟ้านี้โดยใช้แรงดันแหล่งจ่ายเป็นข้อมูลอ้างอิง ( Vcc) จากนั้นหลังจากดำเนินการหลายรายการ การดำเนินการทางคณิตศาสตร์เราก็จะได้ค่าที่ต้องการ ดังนั้น:

  • สมมติว่า ADC ของเราส่งคืนค่า "x" ซึ่งสอดคล้องกับแรงดันไฟฟ้า 1.1 V
  • มี 5V เป็น Vcc เราควรได้ค่าประมาณเท่ากับ 1100/5000 * 1023 = 225
  • คือถ้าเราทำแบบเดียวกันกับ Vcc = 3.3 V เราก็ควรจะได้ค่า 1100/3300 * 1023 = 341
  • หรือโดยทั่วไป: 1100 / Vcc * 1023 = x
  • เมื่อทำการแปลงอย่างง่าย ๆ เราพบว่า Vcc = 1100 / x * 1023

นั่นคือเราจำเป็นต้องวัดแรงดันอ้างอิงภายในที่ 1.1 V จากนั้นเราจะบอกได้ว่าแรงดันไฟฟ้า Vcc ให้พลังงานกับไมโครคอนโทรลเลอร์ของเราเป็นแบบใด!
“เป็นเรื่องปกติหรือเปล่าเกรกอรี? เยี่ยมมากคอนสแตนติน!”
แต่รอที่จะถูมือกันอย่างมีความสุข น่าเสียดายที่เป็นฟังก์ชันที่ใช้กันอย่างแพร่หลายในแวดวง Arduino อนาล็อกอ่าน()จะไม่สามารถบังคับวัดแรงดันอ้างอิงภายในได้ เราคงต้องเบี่ยง...

หรือให้ดูที่แผ่นข้อมูลและเมื่อรวบรวมข้อมูลบางส่วนแล้ว ให้ทำการแปลงที่จำเป็นด้วยตนเอง นี่คือลักษณะของ Arduino:

int vccRead แบบคงที่ (ไบต์ us = 250) ( ADMUX = 1<

มีการหน่วงเวลา us ในโค้ดฟังก์ชัน vccRead เพื่อรักษาเสถียรภาพของผลการวัดและเพิ่มความแม่นยำ การทดลองเชิงตัวเลขขนาดเล็กแสดงให้เห็นว่าได้ผลลัพธ์ที่เหมาะสมที่สุดโดยมีความล่าช้า 100 µs

นี่คือผลลัพธ์ที่ฉันได้รับสำหรับค่าเวลาแฝงที่แตกต่างกันเมื่อขับเคลื่อนจาก USB:

10 ไมโครวินาที 50 ไมโครวินาที 100 ไมโครวินาที 200 ไมโครวินาที 300 ไมโครวินาที
3049
4278
4295
4137
4167
4311
4311
4152
4121
4311
3827
4829
4871
4808
4748
4829
4850
4829
4829
4808
4669
5068
5091
5068
5068
5091
5091
5068
5068
5091
5138
5138
5138
5138
5161
5138
5138
5138
5161
5138
3641
4688
4768
4768
4688
4748
4768
4768
4748
4650