จะทำความสะอาดสัญญาณที่มีเสียงดังได้อย่างไร?


19

ฉันควบคุมพัดลมพีซี PWM 4 พินจาก PIC16F684 ด้วยความเร็วพัดลมที่ขับเคลื่อนด้วยการอ่าน ADC ของเซ็นเซอร์ความใกล้ชิด ทั้งหมดนี้ใช้งานได้ดี

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

ตอนนี้สิ่งที่ฉันสังเกตเห็นคือเมื่อ PWM ทำงานพัดลมที่ 100% สัญญาณ tach (ซึ่งเป็นท่อระบายน้ำเปิดโล่งที่ดึงขึ้นผ่านตัวต้านทาน 10K) ดีและสะอาด:

tachclean

อย่างไรก็ตามเมื่อฉันวิ่งที่น้อยกว่า 100% มันมีเสียงดัง:

tachdirty

การซูมเข้าที่จุดรบกวน:

tachdirtyzoom

ฉันเดาว่ามันได้รับผลกระทบจากสัญญาณ PWM แต่ฉันอยากจะเข้าใจว่าทำไมและอย่างไรเพื่อที่ฉันจะได้ทำความสะอาดถ้าจำเป็นในอนาคต จริง ๆ แล้วฉันสนใจในสิ่งที่คุณควรทำเมื่อคุณเห็นเสียงรบกวนเช่นนี้คุณจะหาสาเหตุได้อย่างไรและคุณจะ "แก้ไข" อย่างไร ขอบเขตจัดการเพื่อทริกเกอร์ตกลงดังนั้นฉันสงสัยว่าถ้าฉันป้อนมันไปที่ขาขัดจังหวะภายนอกบน PIC (RA2) ซึ่งเป็นอินพุตชมิตต์ที่มีระดับ CMOS แล้วฉันจะไม่ "เห็น" เสียงรบกวนและฉัน เช่นสามารถสะท้อนสัญญาณที่สะอาดออกจากพินอื่นเพื่อทำให้ LED จางลงหรืออะไรบางอย่าง

ดังนั้นใครบางคนสามารถอธิบายในแง่ทั่วไปว่าจะรับรู้และแก้ไขสัญญาณรบกวนอย่างไร หรือถ้ามันกว้างเกินไปอาจเป็นแค่ปัญหานี้? นอกจากนี้หากมีอะไรผิดปกติกับวงจรของฉันมันก็คงจะดีที่ได้รู้เช่นกัน ในแผนผังด้านล่างสัญญาณที่ฉันแสดงคืออินพุต TACH ทางด้านซ้ายของวงจร:

แผนผัง

อัปเดต
หลังจากคำแนะนำที่เป็นประโยชน์จากทั้ง @MichaelKaras และ @techydude ฉันได้ตัดออก Q2 เป็นสาเหตุของปัญหาใด ๆ โดยการลบออกจากวงจรอย่างสมบูรณ์และต่อสายดินกับพัดลมโดยตรง ไม่มีผลกระทบต่อเสียงดังอย่างมีนัยสำคัญ

ดังนั้นฉันจึงเขียนรหัสการขัดจังหวะภายนอกบน RA2 เพื่อสะท้อนสัญญาณ "ทำความสะอาด" ออกจากพินสำรอง (RA1 ในกรณีนี้) ซึ่งช่วยได้มาก แต่ก็ยังกระพริบเนื่องจากการขัดจังหวะที่ผิดพลาด (ดังนั้นฉันจะตั้งค่าการขัดจังหวะเพื่อดักขอบที่เพิ่มขึ้นจากนั้นเปลี่ยนเป็นขอบล้มเมื่อถูกเรียกใช้และกลับกันโดยตั้งค่า / รีเซ็ต RA1 ตามลำดับ)

แต่หลังจากเพิ่มตัวเก็บประจุ 100nF ใน R3 (เป็นส่วนหนึ่งของคำแนะนำของ @ techydude) ตอนนี้ฉันได้รับเอาต์พุตที่มีเสถียรภาพมากขึ้น ภาพหน้าจอด้านล่างเป็นสัญญาณ TACH หลังจากทำความสะอาดผ่านอินพุต Schm2 Triggered ของ Trigger และ re-output บน RA1:

tachclean


1
ทำไมคุณถึงต้องการ IRF510 FET เพื่อเปลี่ยนพลังงานเป็นพัดลม การขับขี่ PWM เป็น 0% รอบการทำงานควรปิดพัดลมหรือความเร็วในการทำงานขั้นต่ำ
Michael Karas

1
@MichaelKaras ใช่พัดลมมีความเร็วขั้นต่ำดังนั้นจึงไม่หยุดจนกว่าคุณจะลดกำลังไฟ โดยการออกแบบจะละเว้น PWM ใด ๆ ที่น้อยกว่า ~ 10% และทำงานที่ 400RPM ดังนั้นฉันจึงใช้ FET นั้นเพื่อฆ่ามันอย่างสมบูรณ์เมื่อจำเป็น
Roger Rowland

2
ฉันเห็น. แต่หมายความว่าเมื่อคุณตั้งใจจะเริ่มพัดลมจากสถานะปิด + 12V คุณอาจต้องเริ่มต้นทำงานใหม่ด้วยรอบการทำงาน PWM ขั้นสูงที่ต่ำกว่า ฉันมีประสบการณ์กับแฟน ๆ บางประเภทที่พวกเขาต้องการการเริ่มเตะเพื่อให้พวกเขาเริ่มต้นอย่างน่าเชื่อถือที่เปิดเครื่อง อัลกอริทึมการควบคุมพัดลมในคอมพิวเตอร์ประเภทเซิร์ฟเวอร์หลายเครื่องจะทำงานที่รอบการทำงาน 100% ในช่วง 10 ถึง 20 วินาทีแรกเมื่อเริ่มต้นเพื่อให้แน่ใจว่าพัดลมทั้งหมดเริ่มทำงานอย่างถูกต้อง
Michael Karas

2
ในระบบย่อยของพัดลมเกือบทั้งหมดที่ฉันทำงานอยู่ฉันมีสัญญาณ TACH ที่เชื่อมโยงกับเครือข่ายตัวต้านทานที่ให้สัญญาณจากราง + 12V แล้วมีตัวต้านทานตัวแบ่งคู่อีกหนึ่งนอกจากนั้นก็นำสัญญาณ TACH ลงไปที่ + จำเป็นต้องมีระดับ 5 หรือ + 3.3V สำหรับระบบการตรวจสอบ ฝาปิดขนาดเล็กบนตัวต้านทานล่างของตัวแบ่งสามารถช่วยกรองเสียงแหลมบนสัญญาณ TACH
Michael Karas

1
การใช้งานหลักของการใช้ราง + 12V เพื่อเบี่ยงเบนสัญญาณ TACH ก็คือมันให้การแยกระหว่าง + 12V และสัญญาณแรงดันไฟฟ้าดิจิตอลระดับต่ำของระบบควบคุม ข้อพิจารณาสามประการคือ: 1) สายพัดลมสามารถหนีบระหว่างชิ้นส่วนแชสซีและกางเกงขาสั้นระหว่างสายทั้งสี่ได้ 2) แฟน ๆ ในสภาพแวดล้อมที่เต็มไปด้วยฝุ่นอาจได้รับการสะสมประจุไฟฟ้าสถิตและตัวต้านทานสามารถช่วยป้องกัน ESD ใด ๆ ที่ปล่อยออกมาจากอินพุตเครื่องตรวจจับ TACH 3) ค่าคงที่เวลา RC ของตัวแบ่งที่มีค่าความจุหลงทางหรือด้วยการเพิ่มแคปทำหน้าที่เป็นตัวกรองสัญญาณ TACH
Michael Karas

คำตอบ:


9

เกี่ยวกับแผนผังของคุณ:

ดูเหมือนว่าทุกอย่างดีคุณสามารถเพิ่ม R2 เป็น 10k หรือ 100k ความจุของ MOST นั้นเล็กมากพัดลมจะมีความเฉื่อยหมุนมากกว่าการปิดการหน่วงเวลาใน MOST หรือแม้แต่ 1M วิธีนี้ทำให้ตำแหน่งของ 100R ของคุณไม่เกี่ยวข้องและในขณะที่คุณไม่ต้องเสีย mA หากคุณไม่เคยยกเลิกการตั้งค่า de uC มันไม่จำเป็นต้องใช้เทคนิคเลยเพราะ uC ของคุณจะดึงมันสูงหรือต่ำ

สำหรับสัญญาณ PWM คุณสามารถดูว่าแผ่นข้อมูลอนุญาตให้ดึงภายนอกถึง 12V ได้หรือไม่ แต่ฉันสงสัยว่ามันจะสร้างความแตกต่างได้มากในทางใดทางหนึ่ง

เกี่ยวกับเสียงรบกวน:

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

ฉันจะปล่อยให้โพสต์ทั้งหมดตามเดิม แต่สำหรับสัญญาณ 100Hz ที่มีสัญญาณรบกวน 30kHz แทน 100kHz ที่มีสัญญาณรบกวน> 5MHz (ยังไม่สมเหตุสมผลจริง ๆ ใช่ไหม?) คุณอาจเพิ่มตัวต้านทานที่โต้ตอบกับตัวเก็บประจุ เพิ่มขึ้น 10 เท่าและเพิ่มตัวเก็บประจุด้วยปัจจัย 50 ถึง 100 นั่นจะทำให้คุณได้รับความถี่การกรองที่ลดลง 1,000 เท่าในตัวอย่างทั้งหมด แต่มันก็โอเคที่จะเพิ่มตัวเก็บประจุเพียง 10 ถึง 20 สำหรับขอบที่คมชัดขึ้นหรือการตอบสนองสัญญาณที่คุณสนใจได้เร็วขึ้นเนื่องจาก 30kHz นั้นห่างจาก 100Hz มาก

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

สิ้นสุดการแก้ไข

เนื่องจากคุณทำกรณีใช้งานที่ดีสำหรับการทำงานผ่านวิธีการลดเสียงรบกวนฉันจะพยายามทำให้สิ่งที่ตรงกับสถานการณ์ของคุณ

ทุกคนที่อ่านต้องระวัง:

นี่เป็นเพียงสัญญาณรบกวนจากสัญญาณดิจิตอลเท่านั้น

ในสัญญาณดิจิตอลคุณสามารถตั้งสมมติฐานว่ามีแรงดันไฟฟ้าเพียงสองตัวที่คุณสนใจใน "เปิด" และ "ปิด" สิ่งใดในระหว่างนั้นไม่มีจุดหมายและเป็นของเสียงหรือผิด ในสัญญาณอะนาล็อกคุณจำเป็นต้องรู้เกี่ยวกับแรงดันไฟฟ้าทุกระดับและคุณจำเป็นต้องทำการกรองจริงด้วยโหลดของ C, L, ฯลฯ

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


ทางเลือกของคุณ:

  1. เปลี่ยนอคติ
  2. เปลี่ยนระดับแรงดันไฟฟ้า
  3. เพิ่ม Hysteresis "ช้า"
  4. กรองสัญญาณรบกวน

1. เปลี่ยนอคติ:

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

2. เปลี่ยนระดับแรงดัน

คุณสามารถทำได้อย่างง่ายดายหากพัดลมอนุญาตให้เปลี่ยน Tacho เป็นระดับแรงดันไฟฟ้าที่สูงขึ้นและเพิ่มสถานะระดับกลาง:

แผนผัง

จำลองวงจรนี้ - แผนผังที่สร้างโดยใช้CircuitLab

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

3. เพิ่ม Hysteresis "ช้า":

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

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

คุณสามารถทำได้ในคอนโทรลเลอร์ (ซึ่งง่ายที่สุดในการนับจำนวนส่วนประกอบ): คุณสามารถทริกเกอร์ด้านข้างจากนั้นลองสุ่มตัวอย่างค่าเพิ่มเติมบางอย่างที่ความเร็วเพียงพอเพื่อดูความสูงระหว่างเสียงแหลม แต่ไม่สับสนระหว่างการขาดช่วงเวลาต่ำ จากนั้นคุณทำการตัดสินใจที่กำหนดไว้ล่วงหน้าตามความรู้เกี่ยวกับสัญญาณและเสียงรบกวนของคุณ ตัวอย่างเช่นหากคุณสามารถสุ่มตัวอย่างที่ 10MHz คุณสามารถจับภาพ 50 ตัวอย่างและมั่นใจได้ว่าความถี่สูงสุด 100kHz จะไม่ถูกเพิกเฉยหากคุณใช้กฎส่วนใหญ่ Ie: อย่างน้อย 25 ต้องต่ำเพื่อให้ต่ำจริง เดือยแหลมของคุณบางมากและเวลาส่วนใหญ่เป็นสัญญาณดั้งเดิมดังนั้นจึงสามารถใช้งานได้ แต่สามารถปรับจำนวนเสียงส่วนใหญ่ได้ มันจะทำงานกับตัวอย่าง 1MHz และ 6 หรือ 7 เช่นกัน แต่มันจะน้อยกว่าของจริงส่วนใหญ่ดังนั้นจึงอาจมีความเสี่ยงอีกครั้ง

คุณสามารถทำได้จากภายนอก: แต่มันมีความซับซ้อนมากกว่าการเพิ่มตัวกรองแบบง่ายโดยเฉพาะเมื่อคุณดูผลลัพธ์ด้วย uC ที่มีฮิสเทรีซิสในอินพุตของมันอยู่แล้ว แต่มันสนุกที่จะคิดเกี่ยวกับดังนั้นขอ:

แผนผัง

จำลองวงจรนี้

U1 เป็น Op-Amp หรือ Comperator ที่เหมาะสม Comperators นั้นเป็น switchers ที่ดีกว่าซึ่งมักจะมีการสวิงที่ดีกว่า แต่สำหรับ Sub-MHz นั้น OpAmp ที่มีราง / รางแกว่งที่ดีจะสามารถทำได้อย่างง่ายดาย

ในขณะที่ฮิสเทรีซิสชนิดนี้สามารถสร้างได้โดยมีตัวต้านทานอย่างน้อยหนึ่งตัว แต่ตัวนี้จะอธิบายได้ง่ายกว่าและง่ายต่อการปรับเปลี่ยน

ก่อนอื่นให้จินตนาการโดยไม่ใช้ตัวเก็บประจุ:

ขั้นแรกดูว่าตัวต้านทานตัวต้านทานได้รับอิทธิพลจากเอาท์พุทของ U1 มันจะดึงมันให้สูงขึ้นเล็กน้อยผ่านความต้านทานที่ชัดเจน 20kOhm สมมุติว่าอินพุตบวกของ U1 คือแรงดันไฟฟ้า 1.1V ปัดลงเมื่อเอาต์พุตเป็น 0 และ 3.9V ปัดเศษขึ้นเมื่อเอาต์พุตเป็น 5V

หากอินพุต Tacho เริ่มต้นทำงานอย่างคงที่อยู่ในระดับสูงเอาต์พุตของ U1 จะต่ำเนื่องจากลักษณะการกลับเข้าของอินพุตไปยัง Tacho ดังนั้นอินพุตที่เป็นลบจะเกิดขึ้นอีกครั้งเนื่องจากตัวต้านทานแบบดึงขึ้นพิเศษประมาณ 2.3V เนื่องจากอินพุตเชิงบวกมีเพียง 1.1V อินพุตจึงต้องลดลงเหลือต่ำกว่า 2.2V เพื่อให้อินพุตเชิงลบดูแรงดันไฟฟ้าต่ำลงและทำให้เอาต์พุตพลิกกลับ

เมื่อเอาท์พุทพลิกไปอินพุตลบจะเห็น 3.6V (เพราะทันทีที่สัญญาณอินพุตนี้คือ 2.2V, เอาต์พุตของ U1 คือ 5V ดังนั้นตรงกลางของพวกเขาทำโดยตัวต้านทาน 10k ประมาณ 3.6V) แต่บวก อินพุตจะพลิกจาก 1.1V เป็น 3.9V ดังนั้นค่าลบจึงยังต่ำกว่าอินพุตบวกและเอาต์พุตจะอยู่ 5V

หากตอนนี้สัญญาณ "ยกเลิก" อย่างรวดเร็วและพลิกกลับมาเอาต์พุตของ U1 จะย้อนกลับไปอีกครั้งอย่างรวดเร็ว แต่เข็มจะต้องลดลงต่ำกว่า 2.2V ดังนั้นจึงไม่มีอะไรดีไปกว่านี้แล้ว

หากสัญญาณลดลงเหลือ 0 สถานการณ์ที่มั่นคงจะมีมากขึ้นเท่านั้นอินพุตที่เป็นลบจะลดลงเหลือ 2.5V (เนื่องจากเราถือว่า Tacho ของ FAN แข็งแกร่งพอที่จะดึงลง) และค่าบวกจะอยู่ที่ประมาณ 3.9 โวลต์

ตอนนี้สัญญาณต้องการเพิ่มสูงกว่า 2.7V เพื่อให้สัญญาณออกไปทางอื่น มีโอกาสมากที่ 95% ของ spikes ของคุณจะถูกละเว้นไปแล้ว

การเพิ่มตัวเก็บประจุ:

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

ค่าของ C แน่นอนขึ้นอยู่กับสัญญาณต้นทางและสัญญาณรบกวน ฉันมีที่จอดลูกบอลขนาด 510pF สำหรับสัญญาณต้นทาง 100kHz เทียบกับระยะเวลาขัดขวางสูงสุดที่ 1us แต่ฉันไม่ได้ทำคณิตศาสตร์มากจริง ๆ มันเป็นแค่ความรู้สึกตาม RC แบบเวลาว่านี่อาจจะใกล้เคียงกับสิ่งที่จะใช้งานได้

4. กรองสัญญาณรบกวน

นี่เป็นเหมือนการกรองสัญญาณอะนาล็อก คุณสามารถใช้เครือข่าย RC อย่างง่ายเช่นที่กล่าวไว้ในส่วนก่อนหน้า:

แผนผัง

จำลองวงจรนี้

เนื่องจากเสียงแหลมอยู่ที่หรือน้อยกว่า 1us พวกมันไม่สามารถทำการเปลี่ยนแปลงอย่างมีนัยสำคัญมากในแรงดันไฟฟ้าของตัวเก็บประจุเนื่องจาก RC-time ของมันคือ 5us ซึ่งหมายความว่าพลังงานในเดือยแหลมแบนออกมาเป็นค่าเฉลี่ย เมื่อคุณเห็นยอดสูงและจุดต่ำบนเดือยก็เป็นไปได้ที่ค่าเฉลี่ยจะอยู่ใกล้กับ 0V และ 5V แต่สามารถพูดได้ด้วยภาพที่ดีกว่าหรือเพียงแค่การทดลอง เนื่องจากคุณป้อนเข้ากับพิน uC เวลา RC อาจจะเพียงพอที่จะดูว่าสูงหรือต่ำ สิ่งนี้จะให้ความผิดเพี้ยนเล็กน้อยเนื่องจากการชาร์จที่ช้ากว่าการคายประจุที่เกิดจากตัวต้านทานแบบดึงขึ้น การปรับแต่งค่าบางอย่างอาจให้ผลลัพธ์ที่ไม่สำคัญ

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

คุณสามารถเพิ่มตัวเหนี่ยวนำ 4.7uH ในซีรีส์พร้อมตัวต้านทานเพื่อทำให้สีข้างที่มีความถี่สูงราบรื่นขึ้นหรืออาจเป็น 10uH

แต่เพื่อความซื่อสัตย์ในกรณีของ "ให้อาหารแก่ uC" เหตุผลเดียวที่จะทดสอบกับ L ในสัญญาณของคุณคือการหาสมดุลที่ R มีขนาดใหญ่ C มีขนาดเล็กและ L เพียงช่วยให้เรียบ บางข้างเพื่อให้ R2 / R1 มีขนาดเล็กพอที่จะเพิกเฉยต่อความแตกต่างของเวลาขึ้นและลง เช่น R1 33k, C 150pF และ L ในซีรีย์ R1 56uH หรือบางทีลูกปัดเฟอร์ไรต์แทนตัวเหนี่ยวนำขึ้นอยู่กับความคมชัดของแหลมของคุณ

แต่ฉันก็คิดมากเกินไป


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

2
@RogerRowland นั่นคือประเด็นหลักของเว็บไซต์เช่นนี้ ยินดีที่ได้ช่วย. สามารถมีภาวะแทรกซ้อน / คณิตศาสตร์เพิ่มเติมในการแชท ฉันอยู่ที่นั่นเป็นประจำ จำเป็นต้องเพิ่มบันทึกย่อที่ฉันอ่านผิดแผนของคุณเป็น kHz มากกว่า Hz
Asmyldof

6

เสียงรบกวนเช่นนี้จากแฟนทาโชเป็นเรื่องปกติเพราะวงจร (ซึ่งมักจะมีเซ็นเซอร์ Hall Effect) ในพัดลมที่สร้างเอาต์พุตทาโช่นั้นจะถูกสับเปิด / ปิดที่ความถี่ freq PWM ของคุณ (เมื่อเอาต์พุต PWM ของคุณเป็นอย่างอื่น มากกว่า 100% - ใน) ไม่ใช่แค่จ่ายให้กับมอเตอร์เท่านั้น แน่นอนว่าพวกเขาจะมีความจุบางส่วนเพื่อทำให้การจ่ายกระแสไฟฟ้าเข้าสู่วงจรนั้นราบรื่น แต่ให้กล่าวว่าแหล่งจ่ายไฟพัดลม 12V ตราบใดที่มีความจุเพียงพอที่จะรักษาโวลต์หลาย ๆ ตัวระหว่างรอบระยะเวลา PWM ต่ำสุด เซนเซอร์ตรวจจับผลกระทบและดึงเอาท์พุท tacho (หากพัดลมมีสวิทช์ดึงขึ้นของตัวเองในเอาต์พุต tacho) เพื่อให้สัญญาณเอาต์พุตที่กู้คืนได้ ใช่แฟน ๆ ยุ่งเหยิงเมื่อคุณ PWM อุปทานของพวกเขา แฟน ๆ บางคนเสนออินพุตความเร็ว PWM ที่แยกจากการจ่ายไฟ + 12V

ดูเหมือนว่า PWM ของคุณจะอยู่ที่ประมาณ 27kHz ดังนั้นสิ่งที่ดีในสถานการณ์นี้คือ tacho output @ 100% output ของคุณดูเหมือนว่าจะอยู่ที่ประมาณ 800Hz ซึ่งเป็น <1 / 30th ความถี่ของ PWM ของคุณดังนั้นการกรอง tacho เอาท์พุทนี้เพื่อกำจัดเสียง PWM ส่วนใหญ่ ง่ายและคุ้มค่าที่จะทำ มันสายไปแล้วดังนั้นฉัน CBF จะทำงานผ่าน calcs แต่เพราะมันเป็นแบบ open-drain และมันเป็นแรงดันไฟจ่ายของคุณ (ในพัดลม) ที่ถูกรบกวนโดย PWM หมวกระหว่างราง tacho & + 12V ไม่ใช่ PWM เอาต์พุตจากวงจรขับเคลื่อนของพัดลมของคุณ) อาจจะเป็นตัวเลือกที่ดีกว่าฝาปิด tacho ลองทั้งคู่ & ดู เริ่มต้นด้วยฝาเซรามิก 100n ของแรงดันไฟฟ้าที่เหมาะสมและดูว่ามันมีลักษณะอย่างไร

ด้วยอินพุตของ Schmigger บน PIC คุณอาจสามารถหนีไปได้โดยไม่ต้องทำการกรอง tacho output ใด ๆ ก่อนที่จะใส่ลงใน PIC ของคุณ แต่คุณมีส่วนต่าง freq ที่จะช่วยให้คุณทำความสะอาดได้อย่างง่ายดาย ขึ้น

ปัญหาหนึ่งที่เป็นไปได้เกี่ยวกับการจัดการสัญญาณ tacho จากแฟนโท: หากพัดลมดึงขึ้นไปถึง +12 ด้วย 10k ภายใน (บางคนทำไม่ได้) และคุณก็ดึงสัญญาณ tacho มาที่คุณด้วย + 5V รถไฟแล้วคุณดึงมันลงมาจริง ๆ ! มีการกำหนดค่าวงจรต่าง ๆ เพื่อจัดการกับสิ่งนี้ขึ้นอยู่กับแรงดันของพัดลม, ความแรงของการดึงขึ้น, ฯลฯ ลองวัดด้วยมัลติมิเตอร์ของคุณ & แจ้งให้เราทราบ


"แฟน ๆ บางคนเสนออินพุตความเร็ว PWM ที่แยกจากอุปทาน + 12V ของพวกเขา" - ใช่นั่นคือสิ่งที่ฉันได้ :-) พัดลม 4 พินนี้มีการควบคุม PWM ที่แยกจาก 12V / GND ดังนั้นจึงเป็นบรรทัดที่ฉัน กำลังขับรถ FET อื่น (Q2) อยู่ที่นั่นเท่านั้นดังนั้นฉันจึงสามารถปิดพัดลมได้อย่างสมบูรณ์เพราะมันมีความเร็วต่ำสุด ดังนั้นฉันไม่ได้เป็น PWM'ing Q2 เพียง Q1
Roger Rowland

โดยทั่วไปแล้วสำหรับพัดลมแบบ 4 สายหากได้รับแหล่งจ่ายไฟ 12V คงที่และใช้สายอินพุต PWM เพื่อควบคุมความเร็วคุณจะไม่เห็นความถี่การสลับ PWM ในเอาต์พุต TACH จะเป็นเพียงกรณีของการพยายามใช้ PWM กับพลังของพัดลม
Michael Karas

"ถ้าแฟนดึงมันได้ถึง +12 ด้วย 10k ภายใน" - อืมมันก็ไม่ได้ดึงขึ้นไปที่ +12 แต่ถ้าฉันถอด pullup ออกดูเหมือนว่าแฟนจะดึงขึ้นมาประมาณ 2V ดูเหมือนจะแปลกสำหรับฉัน แต่อาจอธิบายได้ว่าทำไมสัญญาณที่มีเสียงดังของฉันอยู่ที่ประมาณ 6V แทนที่จะเป็น 5V ไม่แน่ใจว่าจะต้องทำอะไรตอนนี้!
Roger Rowland

D'โอ้! ขออภัยฉันไม่ได้สังเกตเห็นว่าคุณเป็นแฟนแบบ 4 สาย และตอนนี้ฉันจำคำถามอื่น ๆ ของคุณได้ :) ตกลงตอนนี้เมื่อตรวจสอบแผ่นข้อมูล IRF510 ฉันคิดว่า @Michael Karas นั้นถูกต้องมากกว่านั้น Q2 อาจไม่สมบูรณ์ (และไม่ได้รับการช่วยเหลือจาก R1 & R2 เป็นตัวแบ่ง 1:10 ดังนั้นคุณจะได้ไม่เกิน Vgs = 4.5V ดังนั้นพัดลม +12 ของคุณอาจจะหย่อนคล้อย (ยากเกินกว่าที่จะแน่ใจจากการถ่ายภาพขอบเขตของคุณจำเป็นต้องดูภายในระยะเวลา PWM) เปลี่ยน R2 เป็น 100k (มากพอที่จะปิดเมื่ออยู่ในโหมดไตร - ) & ดูว่ามันช่วยได้หรือไม่ถ้าเป็นเช่นนั้นให้เลือก VF-threshold MOSFET ที่ต่ำกว่า
Techydude

1
@ Techydude ฮ่า ๆ ไม่เป็นไรมันยังเป็นปริศนาอยู่ดี อย่างที่ฉันบอกกับไมเคิลตอนนี้ฉันถอด Q2 และต่อสายดินกับแฟนโดยตรงและฉันก็ยังคงได้ยินเสียงเดียวกัน ฉันได้ลองสะท้อน TACH ไปยังขาอื่นผ่านทาง INT แต่ Schmitt ไม่ได้ทำความสะอาดมันด้วยตัวของมันเองและเอาต์พุตที่ถูกสะท้อนยังคงขาดสติ อาจเป็นเพราะทั้งหมดนี้ยังอยู่ในเขียงหั่นขนมหรือไม่? จริง ๆ แล้ว 100nF ระหว่าง TACH และ Vcc ได้ช่วย
Roger Rowland

3

แหล่งที่มาที่เป็นไปได้ของสัญญาณรบกวนบนสัญญาณ TACH อาจเกิดจาก IRF150 FET ไม่ได้มีอิมพีแดนซ์ต่ำพอ อาจเป็นเพราะ FET RdsON ค่อนข้างสูงหรือ FET ไม่เปิดเต็มที่ที่เกตแรงดันไฟฟ้าเกตที่ให้ไว้

เมื่อกระแส FAN เปิดและปิดพร้อมกับสัญญาณ PWM จะมีการลดลงของความต้านทาน FET สาเหตุของการอ้างอิง "GND" ของพัดลมจะชนขึ้นและลงและแปลเป็นเสียงที่เห็นบนสัญญาณ TACH

คุณสามารถตรวจสอบสิ่งนี้เพื่อดูว่าเอฟเฟกต์ที่ฉันอธิบายเป็นกรณีนี้หรือไม่โดยการวางขอบเขตของตะกั่ว GND บนท่อระบาย FET แล้วดูสัญญาณ TACH สัญญาณจะดูสะอาดขึ้นมาก

วิธีแก้ปัญหาคือเลือก FET ที่มี RdsON ที่ต่ำกว่ามากเมื่อให้มาพร้อมกับเกตไดรฟ์ที่ระบบของคุณมีให้

ความคิดที่เป็นไปได้อีกอย่างหนึ่งคือการใช้ P-FET เพื่อเปลี่ยนตะกั่ว + 12V ของพัดลมแทนที่จะใช้ตะกั่ว GND

โปรดทราบว่าการจัดเรียงตัวต้านทานเกตที่คุณใช้อยู่นั้นจะทำให้ไดรฟ์เกทบางตัวสูญเสียศักยภาพ ย้ายตัวต้านทาน 1K ไปที่ด้านอื่น ๆ ของ 100ohm


ขอบคุณ Michael ฉันขอขอบคุณคำแนะนำของคุณ ตอนนี้ฉันไม่ได้เปิดใช้งาน Q2 เสร็จสมบูรณ์และต่อสายดินกับแฟนโดยตรง แต่ฉันยังคงเห็นเสียง TACH เดียวกันที่ทุกอย่างต่ำกว่า 100% PWM ข้อดีของการวางตัวต้านทาน 1K คืออะไร!
Roger Rowland

3

ดูเหมือนว่างานสำหรับตัวกรองผ่านต่ำ คุณจำเป็นต้องรักษาสัญญาณที่มีประโยชน์ด้วย f 1ประมาณ 1 kHz และลบสัญญาณที่มีการละเมิดด้วย f 2ใกล้ 25 kHz ความถี่ในการตัดสามารถเลือกได้ว่าเป็นค่าเฉลี่ยทางเรขาคณิตของ f 1และ f 2 (ที่ไม่ดี แต่ง่าย):

f c = sqrt (1 * 25) = 5 kHz

สมมติว่า RC-filter แบบง่ายจะเพียงพอและคุณมีความต้านทานในวงจร TACH (R 3 = 10 kOhm) แล้วควรคำนวณค่าตัวเก็บประจุที่เหมาะสมเพื่อให้ตรงกับค่าใช้จ่ายเวลา 5 kHz :

ป้อนคำอธิบายรูปภาพที่นี่

C = 1 / (2 * pi * fc * R) = 1 / (6.28 * 5,000 * 10,000) = 3.2 * 10 -9 F.

ดังนั้นสิ่งที่คุณต้องทำคือการประสานตัวเก็บประจุ 3nF ระหว่างสาย TACH และพื้น มันจะลดทอนสัญญาณรบกวนความถี่สูงด้วยปัจจัย 20 หรือมากกว่าซึ่งควรจะเพียงพอสำหรับการใช้งานของคุณ


ขอบคุณนั่นคล้ายกับสิ่งที่ @techydude แนะนำ (แม้ว่าการคำนวณของคุณจะดีกว่าการคาดเดา) แต่คุณรู้หรือไม่ว่าทำไมฉันถึงพบว่ามีการลดเสียงรบกวนที่ดีกว่าด้วยฝาปิดระหว่าง TACH และ 5V แทนที่จะเป็น TACH และ GND ไม่ทางเลือกที่มีผลต่อที่เสียงจะปราบปราม (เช่นในส่วนสูงของชีพจรหรือส่วนต่ำ) หรือมันควรจะระงับมันเท่าเทียมกัน?
Roger Rowland

ความจริงที่ว่าหมวกระหว่าง TACH และ 5V ทำงานได้ดีกว่าที่หมวกระหว่าง TACH และ GND ทำให้ฉันประหลาดใจ โดยปกติคุณควรเชื่อมต่อตัวกรองกับระดับแรงดันไฟฟ้าที่ใช้เป็นข้อมูลอ้างอิงในระบบของคุณและในกรณีนี้คือ GND 99% นอกจากนี้ VCC และ GND ยังเชื่อมต่อผ่านแหล่งจ่ายแรงดันที่มีความต้านทานภายในใกล้เคียงกับศูนย์ (เมื่อเทียบกับตัวต้านทาน 10k) ดังนั้นจึงไม่ควรสำคัญ
Dmitry Grigoryev

หลังจากดูแผนผังอย่างใกล้ชิดแล้วฉันคิดว่ามันเกี่ยวข้องกับความจริงที่ว่าอินพุตของคุณเป็นแบบ open-drain ซึ่งทำให้เกิดเสียงที่มีขอบไม่สมมาตร (ตกอย่างรวดเร็วและเพิ่มขึ้นอย่างราบรื่น) หากคุณใช้วงจรจาก@Asmildofคำตอบของสัญญาณรบกวนจะถูกนำไปใช้กับอินพุตของตัวกรอง RC แทนที่จะอยู่ตรงกลางของมันและมันควรจะทำงานได้ตามที่คาดหวังสำหรับเสียงใด ๆ
Dmitry Grigoryev

ขอบคุณ @Dmitry เสียงอสมมาตรที่คุณอธิบายดูเหมือนจะตรงกับร่องรอยการซูมของฉันเพื่อให้เหมาะสมกับฉัน ฉันจะทำงานเพิ่มเติมในวงจรตามคำแนะนำที่ดีทั้งหมดที่ฉันได้รับที่นี่ ความคิดเห็นของคุณชื่นชมมาก
Roger Rowland
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.