สารบัญ:

โมดูลตัวแก้ไข Arduino: 4 ขั้นตอน
โมดูลตัวแก้ไข Arduino: 4 ขั้นตอน

วีดีโอ: โมดูลตัวแก้ไข Arduino: 4 ขั้นตอน

วีดีโอ: โมดูลตัวแก้ไข Arduino: 4 ขั้นตอน
วีดีโอ: Arduino ESP8266 BLYNK IOT - วิธีการใช้งาน Relay Module By DIY of Things 2024, พฤศจิกายน
Anonim
โมดูลตัวแก้ไข Arduino
โมดูลตัวแก้ไข Arduino

Tinee9 กลับมาพร้อมกับโมดูลใหม่ โมดูลนี้เรียกว่าโมดูลตัวแก้ไข

ในโลกของการควบคุมมอเตอร์ มีหลายประเภทหรือวิธีการในการตรวจจับตำแหน่ง วิธีการเหล่านั้นรวมถึงเซ็นเซอร์ในห้องโถง, เซ็นเซอร์ XY, รีโซลเวอร์, RVDT, LVDT, ผู้กำกับภาคสนาม, โพเทนชิออมิเตอร์ ฯลฯ ขึ้นอยู่กับวิธีการตั้งค่าเซ็นเซอร์แต่ละตัว คุณสามารถกำหนดตำแหน่งที่แน่นอนได้โดยไม่ต้องบันทึกตำแหน่งสุดท้ายลงในหน่วยความจำ.

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

ความเข้าใจทางเทคนิค: ระดับผู้เชี่ยวชาญ

บทช่วยสอน Plug and Play: ระดับกลาง

เสบียง

1: Arduino นาโน

2: โมดูลตัวแก้ไข

3: กระดานขนมปัง

4: 9.0 โวลต์แบตเตอรี่หรือ NScope

5: ตัวแก้ไข

6: 10x สายจัมเปอร์บอร์ดขนมปัง

ขั้นตอนที่ 1: โมดูลตัวแก้ไข

โมดูลตัวแก้ไข
โมดูลตัวแก้ไข

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

ที่ฉันเห็นพวกเขาใช้มากที่สุดคือในการใช้งานด้านอวกาศของปีก, หางเสือ, ครีบขีปนาวุธหรือการควบคุมกล้อง

พวกเขามักจะมีราคาแพงกว่าเซ็นเซอร์หม้อหรือฮอลล์เล็กน้อย แต่ให้ความละเอียดที่เหลือเชื่อแก่คุณ

ขั้นตอนที่ 2: ตั้งค่า

ติดตั้ง
ติดตั้ง
ติดตั้ง
ติดตั้ง
ติดตั้ง
ติดตั้ง
ติดตั้ง
ติดตั้ง

1: ก่อนอื่น คุณจะต้องวาง Arduino nano ของคุณบนกระดานขนมปัง

2: คุณต้องต่อ 5V Pin บน Arduino กับพิน +3V3 และพิน 5V บนโมดูล Resolver (โมดูลสามารถมีการจ่ายไฟ 3.3V ในขณะที่ให้แรงกระตุ้น 5V บนตัวแก้ไข)

3: เชื่อมต่อ RTN บน Arduino กับ RTN บน Resolver Module

4: เชื่อมต่อ D9 บน Arduino กับ PWM บน Resolver Module

5: เชื่อมต่อ A0 บน Arduino กับ MCU_COS+ บน Resolver Module

6: เชื่อมต่อ A1 บน Arduino กับ MCU_SIN+ บน Resolver Module

7: เชื่อมต่อสาย Resolver EX+ กับ EX+ บน Resolver Module

8: เชื่อมต่อ Resolver EX-wire กับ EX- บน Resolver Module

9: เชื่อมต่อสาย Resolver COS+ กับ COS+ บน Resolver Module

10: เชื่อมต่อสาย Resolver RCOM 2 เส้นกับ RCOM บน Resolver Module

11: เชื่อมต่อสาย Resolver SIN+ กับ SIN+ บน Resolver Module

12: ต่อแบตเตอรี่ 9V เข้ากับ RTN (-) และ VIN (+)

13: หรือต่อ Nscope +5V ถึง 5V Pin บน Arduino และ RTN บน Nscope เป็น RTN บน Arduino

14: เชื่อมต่อขอบเขตกับ USB บนพีซี

15: เชื่อมต่อ Arduino กับ USB บนพีซี

ขั้นตอนที่ 3: โหลดรหัส

โหลดโค้ด
โหลดโค้ด
โหลดโค้ด
โหลดโค้ด

คัดลอก วางโค้ด Arduino ด้านล่างไปยัง Sketch ของคุณใน Arduino IDE

สิ่งที่โค้ดนี้จะทำคือไปที่ PWM the Resolver Module โมดูลนั้นจะกระตุ้นตัวแก้ไขและสร้างคลื่นสี่เหลี่ยมบนขดลวดทุติยภูมิของตัวแก้ไข สัญญาณที่ออกมาจาก Sin+ และ Cos+ จะถูกป้อนไปยัง OPAMP ซึ่งจะทำให้ Wave อยู่ตรงกลาง และลดเอาต์พุตเพื่อให้อยู่ระหว่าง 0-5Volts

Sin+ และ Cos+ เป็นไปตามความหมาย บาปอยู่นอกเฟส 90 องศากับคลื่นคอส

เนื่องจากเฟสนี้อยู่ห่างจากเฟส 90 องศา เราจึงต้องใช้ฟังก์ชัน Atan2 (Cos, Sin) เพื่อให้ได้พิกัดที่ถูกต้องของตำแหน่งตัวแก้ไข

จากนั้น Arduino จะคายออกมา หลังจากที่ได้ตัวอย่างมาแล้ว 4 ตัวอย่าง ค่าระหว่าง -3.14 ถึง 3.14 ซึ่งแทน -180 องศาและ +180 องศาตามลำดับ นี่คือเหตุผลที่หากคุณต้องการใช้ตัวแก้ไขสำหรับตำแหน่งที่แน่นอน คุณต้องใช้ระหว่าง -180 ถึง 180 โดยไม่ต้องหมุนทับ ไม่เช่นนั้นคุณจะพลิกกลับและคิดว่าคุณกลับมาอยู่ที่จุดเริ่มต้นหรือจุดสิ้นสุดของจังหวะแอคทูเอเตอร์ นี่อาจเป็นปัญหาหากคุณตัดสินใจใช้ตัวแก้ไขสำหรับแกน x หรือ y ของเครื่องพิมพ์ 3D และพลิกคว่ำทำให้เครื่องพิมพ์ 3D เลอะ

ฉันสามารถทำให้โค้ดดีขึ้นเล็กน้อยด้วยการขัดจังหวะเพื่อให้มี PWMing ที่ต่อเนื่องมากขึ้น แต่จะเพียงพอสำหรับ application.int A = A0;

int B = A1; int pwm = 9; int c1 = 0; int c2 = 0; int c3 = 0; int c4 = 0; int c5 = 0; int c6 = 0; int s1 = 0; int s2 = 0; int s3 = 0; int s4 = 0; int s5 = 0; int s6 = 0; เอาท์พุทลอย = 0.00; int บาป1 = 0; int cos1 = 0; int position_state = 1; int get_position = 0; การตั้งค่าเป็นโมฆะ () { // ใส่รหัสการตั้งค่าของคุณที่นี่เพื่อเรียกใช้ครั้งเดียว: pinMode (pwm, OUTPUT); Serial.begin(115200); }

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

ถ้า(get_position=5){ cos1 = (c1+c2)-(c3+c4); บาป1 = (s1+s2)-(s3+s4); เอาต์พุต = atan2(cos1, sin1); c1 = 0; c2 = 0; c3 = 0; c4 = 0; s1 = 0; s2 = 0; s3 = 0; s4 = 0; Serial.print("ตำแหน่ง:"); Serial.println (เอาต์พุต); get_position = 1; }

// ใส่รหัสหลักของคุณที่นี่เพื่อเรียกใช้ซ้ำ ๆ:

}

ขั้นตอนที่ 4: ขั้นตอนที่ 3: ขอให้สนุก

ขั้นตอนที่ 3: ขอให้สนุก
ขั้นตอนที่ 3: ขอให้สนุก
ขั้นตอนที่ 3: ขอให้สนุก
ขั้นตอนที่ 3: ขอให้สนุก

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

แนะนำ: