วันพฤหัสบดีที่ 29 ตุลาคม พ.ศ. 2558

LAB04 sin wave (microcontroller interface)

1.แนวคิดและวิธีการเขียนโค๊ด

  • ใช้พื้นฐานเรื่อง กราฟ sin(zeta) ครึ่งคาบจะตัดแกนx ที่ pi (pi=3.14159265359) ดังนั้นจึงให้ค่าตัวแปรเพิ่มไปเรื่อยๆจาก 0 จนถึงค่า pi  เพื่อสร้างกราฟ sin(zeta) ในช่วง 0 ถึง 1 
  • ถ้าค่าเกินกว่า pi ให้เข้าเงื่อนไขเพื่อทำ Two's Complement เราจะได้กราฟ sin(zeta) ในช่วง 0 ถึง -1  
  • นำการเลื่อนแกนมาช่วยเพื่อให้กราฟขยับขึ้นไปจาก -1 ถึง 1 เป็น 0 ถึง 2 ด้วยการ บวกหนึ่งค่า sin(zeta) 
  • แปลงค่าจาก 0 ถึง 2 ให้เป็น 0 - 4095 เพื่อส่งออกด้วยคำสั่ง MCP.writeA()

2.การทำงานของโปรแกรม



Step 1 : ต่อ nucleo กับ IC MCP4922 เพื่อช่วยแปลงค่า digital เปลี่ยนให้เป็น analog เนื่องจากเป็นรุ่น F411RE 

Step 2 : นำ Output IC MCP4922 ไปต่อเข้ากับ scope ของ hantek เพื่อวัดสัญญาณที่ส่งออกมา

Step 3 : โปรแกรมจะสร้าง sin wave เริ่มจากค่า sin(zeta)ตั้งแต่ 1 ถึงสอง 2  แล้วค่อย  Two's Complement  พื่อสร้าง sin wave ตั้งแต่ 1 ถึง 0 สลับไปเรื่อยๆ

3.code ที่กลุ่มของเราเขียนขึ้นครับ

http://www.mediafire.com/download/342w100zsmzqwwe/LAB_04_sinwave.rar

ไม่มีความคิดเห็น:

แสดงความคิดเห็น