DIY Multiprotocal TX
วิทยุTX จะส่งสัณญาณ ผ่านตัว MULTI-TX (C2500,NRF24L01,CYRF6936,และ A7105) ออกไปที่เสาอากาศ
การสร้างนั้น ให้ดูว่า ต้องการใช้งานกับ RX Protocol แบบไหน แล้วจึง เลือก RF module ที่ต้องการ
ตาราง RF module
Manufacturer | RF Chip | Example Protocols |
---|---|---|
Cyprus Semiconductor | CYRF6936 | DSM/DSMX |
Walkera Devo | ||
J6Pro | ||
Texas Instruments | CC2500 | FrSky |
Futaba SFHSS | ||
Amiccom | A7105 | FlySky |
FlySky AFHDS2A | ||
Hubsan | ||
Nordic Semiconductor | NRF24L01 | HiSky |
Syma | ||
ASSAN | ||
and most other Chinese models |
อุปกรณ์
1 arduino pro mini > ต้องเอาใส่ comment ที่ไฟล์ config (พื้นที่ไม่พอ)
2 RF module CC2500> FrSky , Nrf24L01> Echine e010
3 LDO 3.3v
4 switch สำหรับ bind
5 dip switch, hex switch สำหรับเลือก protocol ที่ต้องการ
ขั้นตอนการ upload
1. เปิดโปแกรม arduino แล้วเลือกไฟล์ Multiprotocol.ino
2. เลือกไปที่ไฟล์ _config.h
ทำการใส่ // ที่หน้าบรรทัด เพื่อที่จะไม่ใช้งาน คำสั่งในบรรทัดนั้น
เอา // ออก เพื่อที่จะใช้งาน คำสั่งในบรรทัดนั้น
3 กดปุ่ม upload แล้ว รอจน updoad เสร็จ
ตัวอย่างไฟล์ _config.h
config.h
/*** TX SETTINGS ***/
#define AETR
/*** RF CHIPS ***/ ใส่โมดูล ตัวไหนไว้บ้าง
//#define A7105_INSTALLED
//#define CYRF6936_INSTALLED
#define CC2500_INSTALLED
#define NRF24L01_INSTALLED
/*** PROTOCOLS TO INCLUDE ***/ เลือกเท่าที่ใช้
#define FRSKYD_CC2500_INO
#define FRSKYV_CC2500_INO
#define FRSKYX_CC2500_INO
#define MJXQ_NRF24L01_INO
/*** FAILSAFE SETTINGS ***/ ไม่ใช้ก็ปิดไว้
//#define FAILSAFE_ENABLE
/*** TELEMETRY SETTINGS ***/ ไม่ใช้ก็ปิดไว้
//#define TELEMETRY
/*** SERIAL MODE SETTINGS ***/ ไม่ใช้ก็ปิดไว้
#define ENABLE_SERIAL
/*** PPM MODE SETTINGS ***/
#define NBR_BANKS 1 << ผมต้องการใช่แค่ 1 ช่อง
#if NBR_BANKS > 0 << ใช้แค่ 5 protocol 1 ช่องพอ
//****************************** BANK 1 ******************************
// Switch Protocol Sub protocol RX_Num Power Auto Bind Option
/* 1 */ {PROTO_FRSKYV, NONE , 0 , P_HIGH , NO_AUTOBIND , 40 }, // option=fine freq tuning
/* 2 */ {PROTO_FRSKYV, NONE , 0 , P_HIGH , NO_AUTOBIND , 40 }, // option=fine freq tuning
/* 3 */ {PROTO_FRSKYX, CH_16 , 0 , P_HIGH , NO_AUTOBIND , 40 }, // option=fine freq tuning
/* 4 */ {PROTO_FRSKYX, EU_16 , 0 , P_HIGH , NO_AUTOBIND , 40 }, // option=fine freq tuning
/* 5 */ {PROTO_MJXQ , E010 , 0 , P_HIGH , NO_AUTOBIND , 0 },
#endif
เอา NRF24l01 ไว้ด้านล่าง
cc2500 ไว้ด้านบน
cc2500 ไว้ด้านบน
เพิ่มเติม
* โมดูล cc2500 และ nrf24l01 รองรับไฟที่ 3.3 v เท่านั้น
ผมเลยมี jupper เอาไว้สำหรับกันพลาดเวลา upload จาก arduino (arduino ใช้ไฟ 5v)
No comments:
Post a Comment