ฉันจะอ่านค่าแรงดันเต็มรูปแบบจากเซ็นเซอร์ความดันได้อย่างไร


10

ฉันกำลังสร้างแอปพลิเคชันโดยใช้ DIY Force Sensitive Resistor (FSR) ที่นำมาจากคำสั่งนี้ ความต้านทานของเซ็นเซอร์นี้จะอยู่ในช่วงตั้งแต่ 20kOhm เมื่อพักจนถึง 9kOhm เมื่อกด

ฉันจะแปลงค่าความต้านทานเหล่านี้เป็นสัญญาณที่ 0v สอดคล้องกับสภาพที่เหลือได้อย่างไรและ 5v สอดคล้องกับสภาพ "กด" เพื่อให้ฉันสามารถอ่านได้ด้วย Arduino

คำตอบ:


14

คุณต้องการช่วงสัญญาณจาก 0V ถึง 5V เราทุกคนไม่ :-)? ลองไปหาวิธีอื่นและดูว่าอะไรทำให้เรา

จุดเริ่มต้น: ทางออกที่ถูกที่สุดและง่ายที่สุด

นั่นจะเป็นตัวต้านทานแบบอนุกรมเพื่อสร้างตัวแบ่งแรงดัน นั่นคือขั้นต่ำที่แน่นอน ฉันได้สังเกตเห็นว่าคนที่ไม่ได้ให้ที่ต้านทานคิดว่ามากเพียงแค่เลือกค่ารอบที่ดีเช่น 10k \แต่ฉันพบว่ามันมีคุณค่าที่เหมาะสมสำหรับสิ่งนี้ Ω

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

กราฟแสดงความแตกต่างของแรงดันไฟฟ้าระหว่างการอ่านค่าต่ำสุดและสูงสุด (9kและ 20k resp.) เป็นฟังก์ชันของตัวต้านทานอนุกรม (เป็น k ) ดูสิมันมีค่าสูงสุด หาง่ายถ้าคุณจำได้ โอห์มโอห์มΩΩΩ

(f(x)g(x))=f(x)g(x)f(x)g(x)g2(x)

ความแตกต่าง -มีความยาวสูงสุด V M ฉันNVMAXVMผมยังไม่มีข้อความ

ddRX(RMAXRMAX+RX-RMผมยังไม่มีข้อความRMผมยังไม่มีข้อความ+RX)=0

การแก้เพื่อให้ RX

RX=RMผมยังไม่มีข้อความRMAX

ความงาม!

ดังนั้นในกรณีของเราตัวต้านทานแบบอนุกรมจะเป็น 13.42kคุณสามารถตรวจสอบสิ่งนี้บนกราฟ การวางตัวต้านทานระหว่าง 0V ถึง + 5V จะทำให้เรามีช่วงเอาต์พุต [2V, 3V] นั่นคือช่วงสูงสุดที่คุณสามารถรับได้ด้วย 1 ตัวต้านทาน (*) Ω

มันเพียงพอหรือไม่ Arduino มี ADC 10 บิตดังนั้นช่วงนี้จะให้ช่วง 200 ระดับที่ไม่ต่อเนื่อง นั่นควรให้ความแม่นยำที่เพียงพอสำหรับเซ็นเซอร์ DIY ดังนั้นไม่จำเป็นต้องมีส่วนประกอบอื่น ๆ เช่น opamps


(*) คำตอบที่ได้รับการยอมรับให้ช่วง 1.9V แต่มันมีสมการที่ไม่ถูกต้อง เป็นไปไม่ได้ที่จะได้รับช่วงที่สูงกว่า 1V พร้อมตัวต้านทาน 1 ตัวและมีเพียง 5V อุปทาน


2
+1 สิ่งนี้ควรจะได้รับการโหวตมากขึ้น ทุกคนต้องการตัวต้านทานแบบตัวต้านทานสำหรับตัวต้านทานแบบผันแปรทุกเวลาแล้วทำไมไม่ใช้ช่วงที่เหมาะสมแทนตัวต้านทานซีรีย์ 10k ที่งี่เง่า?
Federico Russo

5

คุณต้องมีแรงดันลบเพื่อให้ตัวต้านทานแรงดันไฟฟ้าตัวต้านทานไปที่ 0V ฉันจะสมมติว่าคุณมี + 5V และ -5V
วางตัวต้านทานตัวแปรของคุณระหว่าง + 5V และ GND ตอนนี้คุณต้องหาค่าสำหรับตัวต้านทานแบบเลื่อนลงระหว่าง GND และ -5V ตอนนี้มันง่าย คุณต้องการ 0V ออกเมื่อตัวต้านทานผันแปรคือ 20kดังนั้นการดึงลงก็ต้องเท่ากับ 20kเพราะทุกสิ่งนั้นสมมาตร ต่อไปเราต้องไปหาสิ่งที่แรงดันการส่งออกของแบ่งจะได้รับเมื่อเป็น 9k \เราทราบว่ากระแสผ่านเป็นกระแสเดียวกันกับกระแสผ่านตัวต้านทานแบบดึงลงดังนั้น Ω Ω R X Ω R XRXΩΩ
RXΩRX

5V-VO9kΩ=VO-(-5V)20kΩ

ทำงานออกมานี้จะช่วยให้เรา1.9V ตอนนี้สิ่งที่ต้องทำก็คือปรับสเกล 0V..1.9V เป็น 0V..5V สำหรับสิ่งนี้เราใช้แอมป์ RRIO (Rail-to-Rail I / O) เป็นแอมพลิฟายเออร์ที่ไม่กลับด้าน VO=1.9V

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

หากคุณเลือกและคุณจะได้รับช่วงแรงดันการส่งออกของ 0V..5V สำหรับของ 20k ..9k \R1=18kΩR2=47kΩRXΩΩ


1

ฉันคิดว่าวิธีที่ง่ายที่สุดคือตัวแบ่งแรงดันที่ให้ 5V ที่ 9k และลดลงเมื่อความต้านทานเพิ่มขึ้น คุณสามารถเล่นกับชุดต้านทานต่าง ๆ ในเครื่องคิดเลขแบ่งแรงดันนี้ มันจะเป็นความก้าวหน้าเชิงเส้นอย่างไรก็ตาม


2
คุณไม่สามารถสร้างตัวแบ่งที่ให้ 5V ถ้าคุณมีเพียง 5V
Federico Russo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.