FC บอร์ดควบคุม F1, F3, F4 มันคืออะไร ต่างกันยังไง?
FC บอร์ดควบคุม F1, F3, F4 มันคืออะไร ต่างกันยังไง?
ที่มาของบทความ http://www.oscarliang.com/f1-f3-f4-flight-controller/
เป็นคำถามที่มักเจอกันบ่อยๆเรื่องบอร์ดควบคุมชนิด F1, F3, F4 มันมีอะไรต่างกัน อันไหนดีกว่ากัน
อย่างไรก็ตามบทความนี้จะมีประโยชน์กับคนที่ใช้ Betaflight/Cleanflight เท่านั้น และจะเน้นเฉพาะ F1 กับ F3 เนื่องจากบอร์ดส่วนมากในปัจจุบันใช้แค่สองรุ่นนี้
โดยพื้นฐานก็คือ F1 และ F3 คือคนละรุ่นกันของ ระบบปฎิบัติการ STM32 (STM32 processor) อันเป็นสมองของบอร์ดควบคุม ในตอนนี้ STM32 มีอยู่ 10 รุ่นคือ F7, F4, F3, F2, F1, F0, L4, L1, L0, W
ตัวอย่างของบอร์ดรุ่น F1 คือ Naze32 และ CC3D สำหรับบอร์ดรุ่น F3 คือ X-Racer, Motolab Tornado, Serious Pro Racing F3, และ RMRC Dodo และยังมีบอร์ดรุ่น F4 เช่น OpenPilot Revolution และ Sparky V2
สรุปคร่าวๆแล้ว F3 มีข้อดีเหนือกว่า F1 เรื่อง
- ความเร็วนาฬิกา(Clock Speed)เท่ากัน แต่คำนวณ floating point* เร็วกว่า
*floating point คือวิธีการคำนวณโดยแสดงจำนวนออกมาเป็นสองหน่วย หน่วยแรกคือตัวเลขปกติหน่วยที่สองเป็นเลขยกกำลัง
- มีหัวต่อ UART มากกว่า 1 อัน
- บอร์ด F3 บางชนิดออกแบบได้ดีกว่าและมีลูกเล่นเยอะกว่า บอร์ด F1(ซึ่งก็ใช้ได้ดีอยู่)
F1 และ F3 มีความเร็วนาฬิกาสูงสุดเท่ากันคือ 72MHz ขณะที่ F4 อยู่ที่ 180 MHz
ถึงแม้ว่า F1 และ F3 มีความเร็วสูงสุดเท่ากัน แต่ F3 คำนวณ floating point ได้เร็วกว่าเพราะ math co-processor (การประมวลผลร่วม) F3 ทำงานเร็วกว่าF1 มากใน PID controller 2 – Luxfloat เพราะ วิธีการคำนวณแบบ floating point
อย่างไรก็ตาม F3 ไม่ได้เร็วกว่า F1เมื่อคำนวณแบบจำนวนเต็ม (Integer Calculation) เช่น PID controller1 – Rewrite
อย่างที่คนส่วนใหญ่อาจทราบกันแล้วว่า looptime ที่มีประสิทธิภาพที่สุดใน Betaflight คือ 1000 ซึ่งเชื่อมกับอัตราสุ่มตัวอย่าง(sampling rate) ของไจโร (ที่ 1Khz) (เกี่ยวกับเรื่องนี้: อัตราสุ่มตัวอย่าง 1KHz คือของการเชื่อมต่อแบบ I2C ระหว่างไจโรและ ระบบปฎิบัติการ ยกตัวอย่าง CC3D ที่ใช้โปรโตคอลการส่งข้อมูลที่เร็วกว่าคือ SPI ซึ่งทำให้ส่งข้อมูลไจโรได้ที่ 8KHz ดังนั้นในทางทฤษฎีแล้ว looptime สามารถลดลงได้ถึง 125 อย่างไรก็ตามเรื่อง looptime ที่ต่ำแบบนี้ควรมีการทดสอบก่อนเอาไปใช้งานในวงกว้าง)
บอร์ด F3 สามารถใช้ looptime 1000 ได้ทั้ง PID controller1 และ 2 แม้ขณะใช้งานอย่างอื่นด้วยเช่น accelerometer(วัดอัตราเร่ง/ความเร็ว), แผงไฟ LED, Soft-serial และอื่นๆ แต่ถ้าเป็นบอร์ด F1 เราจำเป็นต้องปิดฟังก์ชั่นต่างๆเหล่านี้ก่อน เช่น accelerometer เพื่อให้ได้ looptime 1000 แต่โชคยังดีที่มีการแฮค, ดัดแปลง, over-clocking บนบอร์ด F1 อย่างมากมาย(ในโปรเจค Betaflight นำโดยนาย Boris B.) ตอนนี้เราจึงสามารถใช้ looptime 1000 กับ luxfloat ถึงแม้ว่า accelerometer เปิดใช้งานอยู่
สิ่งนี้ทำให้บอร์ด F3 เหนือกว่ามาก ถ้าคุณใช้ firmware ที่ไม่ใช่ Betaflight การวัดความเร่งนั้นใช้การคำนวณ floating point มหาศาล ในCleanflight เวอร์ชั่น 1.10 เราไม่สามารถลด looptime ลงต่ำกว่า 1200 ด้วยบอร์ด F1 แต่หากปิด accelerometer จะทำให้ได้ looptime 600 แต่คุณจะไม่สามารถใช้งาน Autolevel (เครื่องบินรักษาระดับความสูงเอง) ในทางกลับกันบอร์ด F3 ใช้ looptime 600 ได้โดยที่เปิด Accelerometer ไปด้วย
ถ้าคุณใช้ Betaflight เรื่องความเร็วของ F3 และ F1 จะแตกต่างกันน้อยลง แต่ก็นะ ไม่ใช่ทุกคนที่ต้องการใช้ Betaflight
ด้วยเหตุที่ทั้ง looptime ที่มีประสิทธิภาพที่สดของทั้ง F1 และ F3 คือ 1000 สำหรับผู้เขียนแล้วข้อแตกต่างที่ชัดเจนที่สุดของ F3 คือเรื่องมีพอร์ท UART มากกว่า F1
MiniOSD (การแสดงข้อมูลบนหน้าจอของนักบิน), SBUS, SmartPort telemetry (การส่งผ่านข้อมูลต่างๆของเครื่องบิน), Blackbox (บันทึกข้อมูลและค่าต่างๆของการบินใช้ได้ทั้งแบบ Openlog และ SD card), พอร์ท USB ที่ใช้ต่อคอมพิวเตอร์, GPS และอื่น สิ่งต่างๆเหล่านี้ใช้ serial port (UART) ทั้งสิ้น
บนบอร์ด F1 เช่น Naze32 มีแค่ 2 UARTs และมันน่ารำคาญเมื่อคุณใม่สามารถใช้งาน MiniOSD, SBUS และ Blackbox ได้พร้อมๆกัน บอร์ด F3 มี UART เพิ่มมาอีก 1 อันซึ่งทำให้ใช้งานหลายฟังก์ชั่นได้คล่องตัวขึ้น
บอร์ด F3 มีตัวแปลงไฟ 5V หรือ pin เสียบตัวแปลงไฟ ดังนั้นจริงๆแล้วคุณต่อไฟฟ้าเข้าบอร์ดได้โดยไม่ต้องใช้แบตฯลิโพด้วยซ้ำ
พอร์ต UARTของบอร์ด F3 ยังถูกสร้างให้มีตัวแปลงที่ทำให้คุณไม่ต้อง แฮครีซีฟ X4RSB เพื่อจะใช้ SRUS และ SmartPort แต่บอร์ด F1 ไม่มีความสามารถนี้ คุณจึงต้องใช้อุปกรณ์เพิ่มเติมหรือต้องแฮค
โครงสร้างบอร์ด F3 แทบจะเหมือนกับ STM32 F1 และบางคนลงข้อความในบล็อกของฉันว่าเขาสามารถเปลี่ยนเอาชิพ F3 ไปใส่บอร์ด F1 และใช้ looptime 125 ได้ด้วย
มีข้อสังเกตว่า ชนิดของระบบปฎิบัติการไม่เกี่ยวข้องกับความจุข้อมูลในการ Flash สักเท่าไร มันขึ้นอยู่กับ ความจุของชิพบันทึกข้อมูล (memory chip) บนบอร์ดนั้นๆ
ขณะที่พิมพ์บทความนี้ ฉันยังใช้บอร์ด F1 ในโดรนทุกลำ flight controller 1กับ Betaflight ก็ใช้งานได้ดี และไม่มีเหตุผลที่ฉันต้องเลิกใช้บอร์ด F1 ถ้ามันทำงานได้อย่างที่ฉันต้องการ
อย่างไรก็ตาม การใช้ Luxfloat พร้อมๆกับ accelerometer นั้นเกือบจะเกินขีดจำกัดของบอร์ด F1 แล้ว ยิ่งหากคุณจะเปิดใช้ฟังก์ชั่นอื่นๆเช่น Soft-serial คุณอาจมีปัญหา looptime ไม่สามารถทำงานที่เป้าหมาย 1000 ได้ อีกทั้ง Cleanflight/Betaflight พัฒนาขึ้นเรื่อยๆ ในที่สุดแล้ว บอร์ด F1 อาจไม่สามารถรองรับการใช้งานฟังก์ชั่นใหม่ๆเจ๋งๆที่ต้องใช้พลังการประมวลผลที่สูงขึ้น
สรุปแล้วถ้าฉันจะซื้อบอร์ดใหม่ในวันพรุ่งนี้ ฉันคงเลือก F3 แต่จะเลือก F1 เพราะเรื่องราคาที่ถูกกว่าก็ไม่ผิดอะไร
Flight Controller บอร์ดควบคุม F1, F3, F4 มันคืออะไร ต่างกันยังไง?
เป็นคำถามที่มักเจอกันบ่อยๆเรื่องบอร์ดควบคุมชนิด F1, F3, F4 มันมีอะไรต่างกัน อันไหนดีกว่ากัน
อย่างไรก็ตามบทความนี้จะมีประโยชน์กับคนที่ใช้ Betaflight/Cleanflight เท่านั้น และจะเน้นเฉพาะ F1 กับ F3 เนื่องจากบอร์ดส่วนมากในปัจจุบันใช้แค่สองรุ่นนี้
F1, F3, F4 หมายถึงอะไรกัน?
โดยพื้นฐานก็คือ F1 และ F3 คือคนละรุ่นกันของ ระบบปฎิบัติการ STM32 (STM32 processor) อันเป็นสมองของบอร์ดควบคุม ในตอนนี้ STM32 มีอยู่ 10 รุ่นคือ F7, F4, F3, F2, F1, F0, L4, L1, L0, W
ตัวอย่างของบอร์ดรุ่น F1 คือ Naze32 และ CC3D สำหรับบอร์ดรุ่น F3 คือ X-Racer, Motolab Tornado, Serious Pro Racing F3, และ RMRC Dodo และยังมีบอร์ดรุ่น F4 เช่น OpenPilot Revolution และ Sparky V2
ความแตกต่างระหว่างบอร์ด F1 และ F3
สรุปคร่าวๆแล้ว F3 มีข้อดีเหนือกว่า F1 เรื่อง
- ความเร็วนาฬิกา(Clock Speed)เท่ากัน แต่คำนวณ floating point* เร็วกว่า
*floating point คือวิธีการคำนวณโดยแสดงจำนวนออกมาเป็นสองหน่วย หน่วยแรกคือตัวเลขปกติหน่วยที่สองเป็นเลขยกกำลัง
- มีหัวต่อ UART มากกว่า 1 อัน
- บอร์ด F3 บางชนิดออกแบบได้ดีกว่าและมีลูกเล่นเยอะกว่า บอร์ด F1(ซึ่งก็ใช้ได้ดีอยู่)
พลังการประมวลผล (Processing Power) หรือ ความเร็วในการทำงานนั่นเอง
F1 และ F3 มีความเร็วนาฬิกาสูงสุดเท่ากันคือ 72MHz ขณะที่ F4 อยู่ที่ 180 MHz
ถึงแม้ว่า F1 และ F3 มีความเร็วสูงสุดเท่ากัน แต่ F3 คำนวณ floating point ได้เร็วกว่าเพราะ math co-processor (การประมวลผลร่วม) F3 ทำงานเร็วกว่าF1 มากใน PID controller 2 – Luxfloat เพราะ วิธีการคำนวณแบบ floating point
อย่างไรก็ตาม F3 ไม่ได้เร็วกว่า F1เมื่อคำนวณแบบจำนวนเต็ม (Integer Calculation) เช่น PID controller1 – Rewrite
อย่างที่คนส่วนใหญ่อาจทราบกันแล้วว่า looptime ที่มีประสิทธิภาพที่สุดใน Betaflight คือ 1000 ซึ่งเชื่อมกับอัตราสุ่มตัวอย่าง(sampling rate) ของไจโร (ที่ 1Khz) (เกี่ยวกับเรื่องนี้: อัตราสุ่มตัวอย่าง 1KHz คือของการเชื่อมต่อแบบ I2C ระหว่างไจโรและ ระบบปฎิบัติการ ยกตัวอย่าง CC3D ที่ใช้โปรโตคอลการส่งข้อมูลที่เร็วกว่าคือ SPI ซึ่งทำให้ส่งข้อมูลไจโรได้ที่ 8KHz ดังนั้นในทางทฤษฎีแล้ว looptime สามารถลดลงได้ถึง 125 อย่างไรก็ตามเรื่อง looptime ที่ต่ำแบบนี้ควรมีการทดสอบก่อนเอาไปใช้งานในวงกว้าง)
บอร์ด F3 สามารถใช้ looptime 1000 ได้ทั้ง PID controller1 และ 2 แม้ขณะใช้งานอย่างอื่นด้วยเช่น accelerometer(วัดอัตราเร่ง/ความเร็ว), แผงไฟ LED, Soft-serial และอื่นๆ แต่ถ้าเป็นบอร์ด F1 เราจำเป็นต้องปิดฟังก์ชั่นต่างๆเหล่านี้ก่อน เช่น accelerometer เพื่อให้ได้ looptime 1000 แต่โชคยังดีที่มีการแฮค, ดัดแปลง, over-clocking บนบอร์ด F1 อย่างมากมาย(ในโปรเจค Betaflight นำโดยนาย Boris B.) ตอนนี้เราจึงสามารถใช้ looptime 1000 กับ luxfloat ถึงแม้ว่า accelerometer เปิดใช้งานอยู่
สิ่งนี้ทำให้บอร์ด F3 เหนือกว่ามาก ถ้าคุณใช้ firmware ที่ไม่ใช่ Betaflight การวัดความเร่งนั้นใช้การคำนวณ floating point มหาศาล ในCleanflight เวอร์ชั่น 1.10 เราไม่สามารถลด looptime ลงต่ำกว่า 1200 ด้วยบอร์ด F1 แต่หากปิด accelerometer จะทำให้ได้ looptime 600 แต่คุณจะไม่สามารถใช้งาน Autolevel (เครื่องบินรักษาระดับความสูงเอง) ในทางกลับกันบอร์ด F3 ใช้ looptime 600 ได้โดยที่เปิด Accelerometer ไปด้วย
ถ้าคุณใช้ Betaflight เรื่องความเร็วของ F3 และ F1 จะแตกต่างกันน้อยลง แต่ก็นะ ไม่ใช่ทุกคนที่ต้องการใช้ Betaflight
จำนวนพอร์ต UARTs (additional hardware serials)
ด้วยเหตุที่ทั้ง looptime ที่มีประสิทธิภาพที่สดของทั้ง F1 และ F3 คือ 1000 สำหรับผู้เขียนแล้วข้อแตกต่างที่ชัดเจนที่สุดของ F3 คือเรื่องมีพอร์ท UART มากกว่า F1
MiniOSD (การแสดงข้อมูลบนหน้าจอของนักบิน), SBUS, SmartPort telemetry (การส่งผ่านข้อมูลต่างๆของเครื่องบิน), Blackbox (บันทึกข้อมูลและค่าต่างๆของการบินใช้ได้ทั้งแบบ Openlog และ SD card), พอร์ท USB ที่ใช้ต่อคอมพิวเตอร์, GPS และอื่น สิ่งต่างๆเหล่านี้ใช้ serial port (UART) ทั้งสิ้น
บนบอร์ด F1 เช่น Naze32 มีแค่ 2 UARTs และมันน่ารำคาญเมื่อคุณใม่สามารถใช้งาน MiniOSD, SBUS และ Blackbox ได้พร้อมๆกัน บอร์ด F3 มี UART เพิ่มมาอีก 1 อันซึ่งทำให้ใช้งานหลายฟังก์ชั่นได้คล่องตัวขึ้น
ข้อดีอื่นๆของบอร์ด F3
บอร์ด F3 มีตัวแปลงไฟ 5V หรือ pin เสียบตัวแปลงไฟ ดังนั้นจริงๆแล้วคุณต่อไฟฟ้าเข้าบอร์ดได้โดยไม่ต้องใช้แบตฯลิโพด้วยซ้ำ
พอร์ต UARTของบอร์ด F3 ยังถูกสร้างให้มีตัวแปลงที่ทำให้คุณไม่ต้อง แฮครีซีฟ X4RSB เพื่อจะใช้ SRUS และ SmartPort แต่บอร์ด F1 ไม่มีความสามารถนี้ คุณจึงต้องใช้อุปกรณ์เพิ่มเติมหรือต้องแฮค
โครงสร้างบอร์ด F3 แทบจะเหมือนกับ STM32 F1 และบางคนลงข้อความในบล็อกของฉันว่าเขาสามารถเปลี่ยนเอาชิพ F3 ไปใส่บอร์ด F1 และใช้ looptime 125 ได้ด้วย
มีข้อสังเกตว่า ชนิดของระบบปฎิบัติการไม่เกี่ยวข้องกับความจุข้อมูลในการ Flash สักเท่าไร มันขึ้นอยู่กับ ความจุของชิพบันทึกข้อมูล (memory chip) บนบอร์ดนั้นๆ
แล้ว จะเลือกบอร์ดไหนดีล่ะ?
ขณะที่พิมพ์บทความนี้ ฉันยังใช้บอร์ด F1 ในโดรนทุกลำ flight controller 1กับ Betaflight ก็ใช้งานได้ดี และไม่มีเหตุผลที่ฉันต้องเลิกใช้บอร์ด F1 ถ้ามันทำงานได้อย่างที่ฉันต้องการ
อย่างไรก็ตาม การใช้ Luxfloat พร้อมๆกับ accelerometer นั้นเกือบจะเกินขีดจำกัดของบอร์ด F1 แล้ว ยิ่งหากคุณจะเปิดใช้ฟังก์ชั่นอื่นๆเช่น Soft-serial คุณอาจมีปัญหา looptime ไม่สามารถทำงานที่เป้าหมาย 1000 ได้ อีกทั้ง Cleanflight/Betaflight พัฒนาขึ้นเรื่อยๆ ในที่สุดแล้ว บอร์ด F1 อาจไม่สามารถรองรับการใช้งานฟังก์ชั่นใหม่ๆเจ๋งๆที่ต้องใช้พลังการประมวลผลที่สูงขึ้น
สรุปแล้วถ้าฉันจะซื้อบอร์ดใหม่ในวันพรุ่งนี้ ฉันคงเลือก F3 แต่จะเลือก F1 เพราะเรื่องราคาที่ถูกกว่าก็ไม่ผิดอะไร
Oranmike28- จำนวนข้อความ : 4
Join date : 06/07/2016
Permissions in this forum:
คุณไม่สามารถพิมพ์ตอบ