Jump to content


Photo

รบกวนขอความรู้เกี่ยวกับ PID หน่อยครับ


  • Please log in to reply
23 ท่าน ตอบกระทู้นี้

#1 dinojet

dinojet

    สมาชิก

  • Members
  • PipPipPip
  • 399 โพส

โพส 14 กุมภาพันธ์ 2011 - 13:15

อยากเล่น FPV ครับ อ่านไปอ่านมา ก็เจอเรื่อง PID เกี่ยวข้องกับความ stable ของเครื่องบินที่จะเล่น FPV พอสมควร เลยอยากขอความรู้จาก Guru หน่อยครับ PID คืออะไร แล้วการปรับแต่ละตัวจะมีผลอย่างไรครับ

#2 cab232

cab232

    สมาชิก

  • Members
  • PipPipPip
  • 750 โพส

โพส 14 กุมภาพันธ์ 2011 - 15:36

ผมพอจะอธิบายให้ฟังได้คร่าวๆดังนี้ครับ
PID หมายถึงการควบคุมด้วยตัวแปร3ตัวคือ Proportional , Integral , Derivative.
เริ่มจากถ้าเราใส่ค่า Iและ D ให้เป็นศูนย์ก่อน

Proportional ถ้าให้ค่าP เป็น1 ก็ทำให้การควบคุมเป็นสัดส่วนโดยตรงหรือเป็นเชิงเส้น เช่น หากเราควบคุมระดับความสูง โยกสติกเท่าไหร่Elevator ก็ขึ้นเท่านั้น แต่ถ้ารู้สึกว่าช้าไปก็เพิ่มค่า Pขึ้นไปเป็น 2 ก็คือElevatorเพิ่มขึ้นเป็น 2เท่า
พอเราปรับค่า P หรือGainในการควบคุมให้เหมาะสมที่สุดแล้ว แต่เรายังไม่สามารถทำให้ผลการควบคุม ยังไม่ได้ตามต้องการ เช่น เครื่องบินจะบินสูงๆๆ ต่ำๆ แสดงว่าผลการตอบสนองไม่เป็นเชิงเส้น (ซึ่งจริงๆแล้วจะไม่เป็นเชิงเส้นเพราะมีตัวแปรด้านอากาศพลศาสตร์และอื่นๆ) จากนั้นก็จะต้องมาปรับค่า Iและ D ช่วย

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

Derivative เป็นการเอาสัญญาณควบคุมมา Difเทียบกับเวลา หรือเป็นตัวแปรที่ช่วยให้ผลการควบคุมเข้าสู่จุดที่ต้องการได้โดยไม่เกินค่าที่ตั้งไว้ (overshoot) เช่นถ้าไต่ระดับความสูงแล้วเกิน และมีอาการขึ้นๆลงๆ ก็จะต้องค่อยๆเพิ่มค่า D ขึ้นไปแล้วดูอาการบินจนกว่าจะรักษาระดับได้ดี แต่หากเพิ่มเยอะๆและยังไม่ดีขึ้นจะต้องลด Gain ค่า Pให้ลดลงมา

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

ผมหวังว่าคำแนะนำนี้คงจะเป็นประโยชน์นะครับ และหากมีข้อผิดพลาดประการใดขอเชิญท่านผู้รู้ช่วยแก้ไขแนะนำด้วยนะครับ
  • amchae likes this

#3 dinojet

dinojet

    สมาชิก

  • Members
  • PipPipPip
  • 399 โพส

โพส 14 กุมภาพันธ์ 2011 - 17:03

กระจ่างขึ้นเยอะเลยครับ ขอบคุณมากครับ คุณ cab232

แล้วถ้าเป็น FPV แนวดิ่ง 4 แขน 8 ขา ละครับ ค่า P ช่วยปรับการทรงตัวเวลาดัน elev ให้เดินทาง แล้ว ค่า I กับค่า D ช่วยชดเชยเวลาโดนลมปะทะ ช่วยให้ไม่ไหลไปไหลมารึป่าวครับ??

#4 cab232

cab232

    สมาชิก

  • Members
  • PipPipPip
  • 750 โพส

โพส 14 กุมภาพันธ์ 2011 - 17:22

ต้องอ่านคู่มือครับ เพราะขึ้นอยู่กับเทคนิคการเขียนโปรแกรมในการควบคุมครับ
ถ้ามีคู่มือส่ง emailมาที่ Jir@kmutnb.ac.th เดี๋ยวลองดูให้ครับ

#5 sogood09

sogood09

    สมาชิก

  • Members
  • PipPipPip
  • 778 โพส
  • ที่อยู่บางบัวทอง นนทบุรี

โพส 14 กุมภาพันธ์ 2011 - 17:36

สุดยอดเลย อาจารย์โหล ประเทศไทยอยากให้มีอาจารย์ แบบนี้เยอะ ๆจัง อธิบายได้เป็นฉาก ๆเลย
Eagle Eyes station ผมทดสอบตามที่อาจารย์โหลแนะนำแล้วครับ สรุปว่า เซอร์โวแรงน้อยไป pan ไม่ค่อยจะไป เย็นนี้จะลองไปเปลี่ยน servo ดู

#6 มันฟอ

มันฟอ

    สมาชิก

  • Members
  • PipPipPipPipPip
  • 4,666 โพส
  • สนาม/ชมรม:
    กรุงไทย เลย 403-0-34554-9
  • ที่อยู่นายธีรวุฒิ มาสวัสดิ์ โรงพยาบาลท่าลี่ อ.ท่าลี่ จ.เลย 42140 โทร.0897007445

โพส 14 กุมภาพันธ์ 2011 - 17:52

สุดยอดเลย อาจารย์โหล ประเทศไทยอยากให้มีอาจารย์ แบบนี้เยอะ ๆจัง อธิบายได้เป็นฉาก ๆเลย
Eagle Eyes station ผมทดสอบตามที่อาจารย์โหลแนะนำแล้วครับ สรุปว่า เซอร์โวแรงน้อยไป pan ไม่ค่อยจะไป เย็นนี้จะลองไปเปลี่ยน servo ดู



Servo แรงหมดซะแล้ว
ต้องขออภัยที่ผมใช้มันจนอ่อนแรง :(


ผมอ่านกระทู้แล้ว ตอบไม่ได้ ต้องขอบคุณ อ.โหลมากครับ :D

#7 ฟ้าเมืองไทย

ฟ้าเมืองไทย

    สมาชิก

  • Members
  • PipPipPipPip
  • 1,383 โพส
  • สนาม/ชมรม:
    Sky to Land
  • ที่อยู่Bangkok

โพส 14 กุมภาพันธ์ 2011 - 20:35

เอ้า งงเลย
ผมโพสต์ก่อนท่าน แสนดี แต่ไหงไม่ยักกะโพสต์ติด

จะบอกว่า นี่เลย ผู้รู้แห่ง Senser

เสียดายวันที่ไปที่บ้านผมลืมไป วันหลังมาใหม่เอา X-Aircraft ไปเซ็ท PID ให้อยู่หมัดเลยนะ

#8 cab232

cab232

    สมาชิก

  • Members
  • PipPipPip
  • 750 โพส

โพส 14 กุมภาพันธ์ 2011 - 21:34

พี่Sogood ก็ว่าไปนั่น ผมเขียนแล้วมีแต่คนอ่านจะง่วงนอน แต่ท่าน Sogood เขียนละก้อ อ่านแล้วมันส์ จริงๆ มีแฟนๆรอติดตามผลงานต่ออีกนะ เมื่อไหร่จะเขียนอีกครับ

ก็ช่วยๆกันตอบเท่าที่ทราบละครับคุณหมอ

พี่ฟ้าเมืองไทยมีของเล่นอะไรให้ผมลองก็ได้เลยครับ เดี๋ยวไว้เข้าไปเอารูปที่ขอพี่ไว้ แล้วลองsetup ดูกันครับ

#9 dinojet

dinojet

    สมาชิก

  • Members
  • PipPipPip
  • 399 โพส

โพส 15 กุมภาพันธ์ 2011 - 09:33

อาจารย์โหลครับ ผมส่งลิ้งคู่มือไปให้ทาง PM นะครับ รบกวนด้วยครับ

พี่ฟ้าเมืองไทยครับ ผมขอสมัครเป็นสาวก X-Aircraft ด้วยคนนะครับ

#10 sogood09

sogood09

    สมาชิก

  • Members
  • PipPipPip
  • 778 โพส
  • ที่อยู่บางบัวทอง นนทบุรี

โพส 15 กุมภาพันธ์ 2011 - 10:02

อ.โหลครับ เรื่องแบบนี้มันต้องใช้อารมณ์ ...ต้องบิ้วกันหน่อย

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

#11 มันฟอ

มันฟอ

    สมาชิก

  • Members
  • PipPipPipPipPip
  • 4,666 โพส
  • สนาม/ชมรม:
    กรุงไทย เลย 403-0-34554-9
  • ที่อยู่นายธีรวุฒิ มาสวัสดิ์ โรงพยาบาลท่าลี่ อ.ท่าลี่ จ.เลย 42140 โทร.0897007445

โพส 15 กุมภาพันธ์ 2011 - 14:18

อ.โหลครับ เรื่องแบบนี้มันต้องใช้อารมณ์ ...ต้องบิ้วกันหน่อย

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



โล่งอก ........


ผมต้องขอยอมรับว่า ผมอ่านแล้วชื่นใจที่พวกเราช่วยกัน

ตัวผมเอง มีแต่ประสบการณ์ ลองนู้น ลองนี่ไปเรื่อย (แบบบ้านๆ)
มีหลายๆเรื่องที่ไม่รู้ ก็ได้พวกเราช่วยกันเติมเต็ม นี่ละครับ

ขอบคุณมากครับ

#12 ฟ้าเมืองไทย

ฟ้าเมืองไทย

    สมาชิก

  • Members
  • PipPipPipPip
  • 1,383 โพส
  • สนาม/ชมรม:
    Sky to Land
  • ที่อยู่Bangkok

โพส 15 กุมภาพันธ์ 2011 - 18:01

มาขอบคุณกันง่ายๆได้ไง

หอมแก้มด้วยดิ

#13 มันฟอ

มันฟอ

    สมาชิก

  • Members
  • PipPipPipPipPip
  • 4,666 โพส
  • สนาม/ชมรม:
    กรุงไทย เลย 403-0-34554-9
  • ที่อยู่นายธีรวุฒิ มาสวัสดิ์ โรงพยาบาลท่าลี่ อ.ท่าลี่ จ.เลย 42140 โทร.0897007445

โพส 15 กุมภาพันธ์ 2011 - 20:26

มามะ


ฟ๊อดดดดดดดด :D

#14 cab232

cab232

    สมาชิก

  • Members
  • PipPipPip
  • 750 โพส

โพส 15 กุมภาพันธ์ 2011 - 22:13

คุณ dinojet ผมลองอ่านคู่มือตามLinkที่ให้มาแล้วครับ
ก่อนอื่นต้องขอยอมรับว่าภาษาอังกฤษเขาเขียนเข้าใจยากครับ คิดว่าคงไม่ใช่ฝรั่งเขียนมั้งครับ
แต่จากหลักการทำงานแล้วก็น่าจะปรับได้ไม่ยากครับ
โดยขอสรุปให้ฟังดังนี้
การควบคุมแบ่งเป็น2mode คือ
1) Hover mode PID เป็นค่าที่ปรับแต่งไว้เพื่อใช้ในการลอยตัวนิ่งๆ
2) Crusie mode PID เป็นค่าตัวแปรเพื่อใช้ในการบินเดินทางเพื่อให้คล่องแคล่วในการควบคุม
และในแต่ละMode จะแบ่ง การควบคุมเป็น2ชุด คือ
a) Stick เป็นการควบคุมการตอบสนองของการควบคุมการโยกStickว่าจะให้ตอบสนองเร็วหรือช้านุ่มนวลเพียงใด โดยจะใช้ตัวแปร P กับ D เท่านั้น
B) Attitude เป็นการควบคุมเพื่อแก้อาการโดยอัตโนมัติ (ไม่ใช่Altitudeที่หมายถึงความสูง) ซึ่งจะใช้ P , I , D
และ Parameter PID จะแยกปรับ 3 แกน คือ Pitch /Roll/Yew
ดังรูปในตาราง

...

  • 600px-XConfig_Control_Settings_en.png


#15 cab232

cab232

    สมาชิก

  • Members
  • PipPipPip
  • 750 โพส

โพส 15 กุมภาพันธ์ 2011 - 23:05

คราวนี้วิธีการปรับตามคู่มือ นะครับ
เริ่มต้นให้ใช้ค่าDefultที่เขาตั้งไว้จากโรงงานก่อน และทดลองบิน
และสังเกตุอาการในแต่ละแกน ทั้ง3แกน
a) การตอบสนองของStick
-ค่า P ถ้าต้องการให้ตอบสนองไวก็เพิ่มค่าP ถ้าลดค่าPก็ช้าลง
-ค่า D มีผลเมื่อเราปล่อย Stick เหมือนกับช่วยแก้กลับให้เอง เช่น เวลาเราโยกStickให้เดินหน้า X650ก็จะไหลไปข้างหน้า พอเวลาปล่อยStick ค่าDก็จะช่วยBrakeให้หยุดการไหลเอง ถ้าค่า Dน้อยก็จะค่อยๆหยุด ถ้าDมากเกินไปพอปล่อยStickก็จะไหลถอยหลังเล็กน้อย
การปรับก็ต้องค่อยๆทดลองปรับแต่ละแกน

B) Attitude PID การตอบสนองเพื่อแก้อาการอัตโนมัติเช่น ตอนโดนลม หรือ น้ำหนัก CG เปลี่ยนแปลงเช่นตอนหันกล้องต่างๆ ดังนั้นจะนิ่งเพียงใดตอนปล่อยมือก็จะขึ้นอยู่กับการปรับ PID แต่ละแกน ของชุดAttitudeนี้

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

- ค่า I จะนำผลการแก้ไขอาการจากการบินเดิมมาลดค่าความผิดพลาดให้ลดลงเพื่อในนิ่งขึ้น กล่าวคือถ้าค่า I น้อยเกินไป ก็จะเกิดอาการแกว่ง ถ้าน้อยเกินไปก็จะมีอาการไม่สามารถรักษาระนาบได้

- ค่า D ใช้เพื่อต้านการแก้อาการ เช่นเมื่อโดนลม ค่าP ก็จะสั่งให้เอียงฝื่นสู้ไว้ และเมื่อรักษาระนาบได้แล้วค่า D ก็จะช่วยให้เอียงกลับ หากค่า Dมากเกินไปก็จะไหลไปทิศทางตรงกันข้าม ถ้าน้อยเกินไปก็เกินอาการไหลไปไหลมา

ส่วนค่า Boundary เป็นขอบเขตเพื่อให้การคำนวนไม่เกินค่านี้เพื่อป้องกันการทำงานด้วยค่าสูงเกินไป

สรุปว่าทดลองบินดูและวิเคราะห์อาการแต่ละแกนแล้วค่อยๆปรับและดูผลครับ
เพราะPIDจะนำผลการคำนวนมาเก็บบันทึกและใช้เพื่อปรับตัวเองให้ผลดีขึ้นเรื่อยๆ ดังนั้นคือต้องบินไปปรับไปครับถ้าปรับแล้วไม่ดีก็กลับมาใช้ค่าเดิมก่อน
  • amchae likes this

#16 dinojet

dinojet

    สมาชิก

  • Members
  • PipPipPip
  • 399 โพส

โพส 16 กุมภาพันธ์ 2011 - 09:45

อ่านแล้วกระจ่างเลย ถ้าไม่ได้อาจารย์โหล คงมึนตึ๊บไปอีกนาน
ขอขอบคุณ อาจารย์โหลอีกครั้งครับที่ช่วยเหลือและแบ่งปันความรู้ครับ

#17 HiCam

HiCam

    สมาชิก

  • Members
  • PipPipPipPipPip
  • 2,439 โพส
  • ที่อยู่คลองสาม คลองหลวง ปทุมธานี www.winnews.tv

โพส 16 กุมภาพันธ์ 2011 - 10:13

ได้ความรู้เยอะเลย

ขอน้อยขอคารวะท่านอาจารย์ นับถือๆๆๆๆ

#18 มันฟอ

มันฟอ

    สมาชิก

  • Members
  • PipPipPipPipPip
  • 4,666 โพส
  • สนาม/ชมรม:
    กรุงไทย เลย 403-0-34554-9
  • ที่อยู่นายธีรวุฒิ มาสวัสดิ์ โรงพยาบาลท่าลี่ อ.ท่าลี่ จ.เลย 42140 โทร.0897007445

โพส 17 กุมภาพันธ์ 2011 - 01:11

นับถือ ๆ :D

#19 cab232

cab232

    สมาชิก

  • Members
  • PipPipPip
  • 750 โพส

โพส 17 กุมภาพันธ์ 2011 - 07:10

แหมเหล่าบรรดาปรมจารย์ อย่าท่านHiCam และคุณหมอ พูดแบบนี้ผมก็เขินแย่เลย ผมก็แค่แปลมาจากคู่มือแหละครับ ยังไม่มีของจริงได้ลองเลย :D

#20 Squid

Squid

    สมาชิก

  • Members
  • PipPipPip
  • 952 โพส
  • ที่อยู่089-6364477DTAC

โพส 20 กุมภาพันธ์ 2011 - 00:14

แหมเหล่าบรรดาปรมจารย์ อย่าท่านHiCam และคุณหมอ พูดแบบนี้ผมก็เขินแย่เลย ผมก็แค่แปลมาจากคู่มือแหละครับ ยังไม่มีของจริงได้ลองเลย :D


จารโหลบรรยายสุดยอดเลยผมเองเพิ่งจะเจ้าใจเหมือนกัน
จารโหลวันหน้าไปหาhicamกันไม่ต้องบอกให้เขารู้นะ5555

อยากจะตอบ อยากจะคุย สัญณาณมีน้อย
เดินทางบ่อย ขออภัยนะ
รักนะ จุ๊ปๆๆๆๆ





0 ท่านกำลังอ่านกระทู้นี้

0 สมาชิก, 0 ผู้เยี่ยมชม, 0 ผู้ไม่ประสงค์ออกนาม