สารบัญ:

Pwm2pwm: 4 ขั้นตอน
Pwm2pwm: 4 ขั้นตอน

วีดีโอ: Pwm2pwm: 4 ขั้นตอน

วีดีโอ: Pwm2pwm: 4 ขั้นตอน
วีดีโอ: พัดลม 4Pin PWM กับ 3Pin มันต่างกันอย่างไร? 2024, ตุลาคม
Anonim
Pwm2pwm
Pwm2pwm

เปลี่ยนสัญญาณอินพุต PWM เป็นเอาต์พุตสัญญาณ PWM อื่นด้วยตัวเข้ารหัส

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

ขั้นตอนที่ 1: รายการส่วนประกอบ

รายการส่วนประกอบ
รายการส่วนประกอบ

สำหรับโครงการนี้คุณต้องการ:

  • 1 x จอแสดงผล Oled ในกรณีของฉัน I2C
  • 1 x Arduino ในกรณีของฉัน arduino mini pro สำหรับขนาดเล็ก
  • 1 x Trimmer พร้อมปุ่ม
  • ตัวต้านทาน 3 x 10k, 2 ตัวสำหรับการดึงทริมเมอร์และอีกตัวสำหรับการดึงลง

ในรูปของขั้นตอนนี้ คุณเห็น Arduino mini pro อีกตัวหนึ่งที่เรียกว่าเลเซอร์ เพราะฉันจำลองทักษะของตัวควบคุมเลเซอร์ (สัญญาณ pwm ในสัญญาณ) ด้วย Arduino นี้

ขั้นตอนที่ 2: การเชื่อมต่อ

การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ

อย่าลืมเชื่อมต่อตัวต้านทาน 3 ตัวแบบดึงขึ้นและแบบเลื่อนลงในแผนผังนี้

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

หากคุณคุ้นเคยกับมุมมองแผนผังมากขึ้น ให้เปิด pwmTOpwm.svg

ขั้นตอนที่ 3: Arduino Sketch

Arduino Sketch
Arduino Sketch
Arduino Sketch
Arduino Sketch

คุณสามารถคัดลอกรหัสของฉันได้อย่างง่ายดายจากหน้า GitHub:

ทักษะหลักของรหัสนี้คือการรวมคำสั่ง "pulseIn" ข้อมูลเพิ่มเติม:

เมื่อคุณพยายามวัดสัญญาณ PWM จะเข้าสู่ไมโครคอนโทรลเลอร์ คุณจะต้องนับระยะเวลาที่สัญญาณจะขึ้น (หรือลง) ในช่วงเวลานั้น คุณสามารถใช้คำสั่ง "pulseIn"

หากคุณพยายามพล็อตสัญญาณพัลส์อิน คุณจะเห็นบางสิ่งที่ไม่เสถียร

สำหรับการแก้ไขปัญหานี้ เราจำเป็นต้องใช้ตัวกรองค่ามัธยฐาน ในกรณีของฉัน ค่าเฉลี่ยเคลื่อนที่แบบเลขชี้กำลัง (EMA)

คุณสามารถลองใช้ตัวกรองที่เจ๋งและใช้งานง่ายนี้ด้วยตัวอย่างนี้:

ไม่ต้องกังวล ตัวกรองถูกรวมไว้ในโค้ดแล้ว:p

หากคุณกำลังใช้ Arduino (เลเซอร์) ตัวที่สอง คุณสามารถอัปโหลดใน Arduino ตัวอย่างนี้:

ขั้นตอนที่ 4: PCB

PCB
PCB

ฉันต้องการสร้าง PCB สำหรับโครงการนี้ด้วย KiCad และแชร์

ถ้าฉันเปลี่ยนแปลง PCB ฉันจะแชร์บนหน้า GitHub

แนะนำ: