Friday, September 25, 2020

RFzero - WSPR Transmitter

บทความนี้แปลจาก https://www.rfzero.net/examples/wspr-transmitter/

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

โปรแกรม WSPR Transmitter ทำให้ RFzero สามารถส่งได้ตั้งแต่ความถี่ 2290 Hz จนถึง 200 MHz และอาจสูงกว่านั้นได้ (ต้องใช้ Harmonic)

การส่งถูกแบ่งออกเป็น 2 แบบลำดับการส่ง (Sequence) แต่ละรูแบบแบ่งเป็น 15 Time slot ซึ่งใช้ซ้ำ 2 รอบในรอบ 1 ชั่วโมง (แต่ละ Slot ส่งเป็นเวลา 2 นาที) ลำดับการส่งสามรถกำหนดได้ว่าจะตามลำดับไล่ไปเรื่อยๆ หรือจะใช้การสุ่มแบบ Random อีกทั้งสามารถเลือกส่งในเวลากลางวันและกลางคืนได้ ซึ่งจะอธิบายละเอียดอีกครั้งในการใช้ชุดคำสั่ง

สามารถกำหนดความถี่ได้ 15 ความถี่ กำลังส่ง และ control bit ซึ่งสามารถกำหนดได้อิสระ (กำหนดเองหรือกำหนดแบบอัตโนมัติ) การนำ control bit ไปใช้งาน สามรารถใช้เลือกใช้งาน filter  เลือกสายอากาศ สั่งงาน Relay สั่งงาน Tuner ซึ่ง control bit ทำงานด้วย IC ULN2803A ที่ขา D6 ถึง D0 และ Analog ที่ A0

สามารถใช้งาน WSPR ได้ทั้ง Type 1 (Call sign, square และกำลังส่ง) เช่น OZ0RF JO65 12 หรือ Type 2 (compound call sign, กำลังส่ง) เช่น OY/OZ0RF IP62

กำ config สามารถทำผ่าน port USB และ grid square สามารถกำหนดได้จาก GPS แบบอัตโนมัติหรือกำหนดเอง

ในขณะส่ง LED TX จะกระพริบ และเมื่อมีสัญญาณ GPS LED PPS จะกริบ 1 ครั้งทุก 1 วินาที และเมื่อสัญญาณ GPS สมบูรณ์ LED Valid จะติดค้าง


การ Config

การ Config ทำผ่าน port USB โดยโปรแกรม terminal เช่น Arduino IDE Serial Monito, Termite Terminal (Windows), CuteCom (Linux) หรือ Terminal (Mac OS) กำหนดค่าดังนี้

Speed: 9600 Baud

Data: 8 bits

Parity: No

Stop bit: 1

เชื่อมต่อ RFzero ผ่านสาย USB-B เข้ากับคอมพิวเตอร์ และเชื่อมต่อด้วยโปรแกรม terminal ด้วย COM port ซึ่ง RFzero จะแสดงขี้นชื่อว่า Arduino Zero เมื่อต่อแล้วหากไม่เห็น RFzero> หรือ RFzero config> ให้ลองกด enter เมื่อต่อการสั่งงานให้พิมพ์คำส่ง (command) หลังเครื่องหมาย > ได้เลย

***** คำสั่งต้องพิมพ์ด้วยตัวอักษรพิมพ์เล็กเท่านั้น *****

ถ้าขึ้น RFzero> หมายถึงอยู่ใน run mode คือ rfzero เริ่มทำงาน

ถ้าขึ้น RFzero config> หมายถึงอยู่ใน config mode


ถ้าต้องการเข้าสู่ config mode ให้พิมพ์คำสั่ง config ที่ RFzero> ตัวอย่าง

RFzero>config


ต้องการดูคำสั่งที่สามารถใช้ได้ทั้งหมดให้พิมพ์ ? ที่ RFzero config> ตัวอย่าง

RFzero config>?


หากต้องการออกจาก config mode ให้พิมพ์ exit ที่ RFzero config> ตัวอย่าง

RFzero config>exit


เมื่ออยู่ใน config mode ต่อไปนี้คือคำสั่งที่ใช้งาน


rd cfg

แสดง config ทั้งหมดที่จะถูกใช้หลังจากออกจาก config mode (กลับไป run mode)


wr default

เป็นการกำหนดค่า parameter ต่างๆ ให้กลับไปสู่ค่า default ซึ่งในแต่ละโปรแกรมของ RFzero จะมีค่า default แตกต่างกันไป


wr warmup SECONDS

SECONDS เป็นตัวเลขวินาทีที่ RFzero จะคอยหลังจากจ่ายไฟ เพื่อเป็นการ warmup


wr bcn CALL

CALL คือสัญญาณเรียกขานที่ใช้สำหรับส่งใน WSPR ใน WSPR Type 1 สามารถยาวได้ไม่เกิน 6 ตัวอักษร และจะต้องมีตัวเลขผสมอยู่ด้วย และ WSPR Type 2 จะยาวได้ไม่เกิน 10 ตัวอักษร และต้องมีตัวเลขผสมอยู่ด้วย ซึ่งปกติเราจะใช้ Type 1


wr loc LOCATOR

LOCATOR คำ grid locator ยาวไม่เกิน 8 ตัวอักษร แต่สำหรับ WSPR ใช้เพียง 4 ตัวอักษรเท่านั้นในการส่งด้วย WSPR Type 1


wr locator

เป็นการกำหนดให้ใช้ grid locator จากข้อมูลที่ได้จาก GPS มาคำนวนให้โดยอัตโนมัติ


wr locauto ONOFF

เลือกว่าจะกำหนด grid locator แบบอัตโนมัติจากข้อมูล GPS หรือจากทีกำหนดเอง

ONOFF = 0 คือกำหนดเอง

ONOFF = 1 คือแบบอัตโนมัติจากข้อมูล GPS


wr data INDEX FREQ CONTROL POWER

สำหรับใส่ข้อมูลลงในตารางกำหนดข้อมูลที่ใช้ส่ง ประกอบด้วย ความถี่ กำลังส่ง และค่า control bit

INDEX หมายถึงตำแหน่งของข้อมูลในตาราง ค่า 0 ถึง 14

FREQ หมายถึงความถี่ในหน่วย Hz ตั้งแต่ 2290 Hz ขึ้นไป ความถี่ไม่จำเป็นต้องไล่เรียงลำดับ และความถี่เดียวกับสามารถกำหนดได้มากกว่า 1 ครั้ง

CONTROL เป็นการกำหนดรูปแบบ bit pattern สำหรับควบคุมขา D6 ถึง D0 ใส่ค่าเป็นเลขฐาน 16 (Hex) โดยไม่ต้องใส่ 0x นำหน้า โดย 

  • D6 คือ Bit 6 
  • D5 คือ Bit 5 
  • D4 คือ Bit 4
  • D3 คือ Bit 3
  • D2 คือ Bit 2
  • D1 คือ Bit 1
  • D0 คือ Bit 0

เช่น 0101011 => 2B ซึ่ง D6/Bit 6 มีค่า 0 D5/Bit 5 มีค่า 1 ....

POWER กำหนดค่ากำลังส่ง ในรูปแบบ dBm หลังจาก ผ่านภาคขยาย รวม loss ในสายนำสัญญาณ และค่า loss อื่นๆ แล้ว ถ้าไม่มีค่าที่ตรงให้เลือกค่าที่ใกล้เคียงที่สุด ดังนี้

  • 0 dBm = 1 mW
  • 3 dBm = 2 mW
  • 7 dBm = 5 mW
  • 10 dBm = 10 mW
  • 13 dBm = 20 mW
  • 17 dBm = 50 mW
  • 20 dBm = 100 mW
  • 23 dBm = 200 mW
  • 27 dBm = 500 mW
  • 30 dBm =  1 W
  • 33 dBm =  2 W
  • 37 dBm =  5 W
  • 40 dBm =  10 W
  • 43 dBm =  20 W
  • 47 dBm =  50 W
  • 50 dBm =  100 W
  • 53 dBm =  200 W
  • 57 dBm =  500 W
  • 60 dBm =  1 kW
ตัวอย่างคำสั่งการกำหนดค่าข้อมูลที่ตำแหน่งที่ 7 ด้วยความถี่ 14 097 123 Hz (14.097.123 MHz) และ control bit เป็น 0101010 ด้วยกำลังส่ง 40dBm ใช้คำสั่งดังนี้

wr data 7 14097123 2a 40

จากตัวอย่างจะบันทึกข้อมูลในตารางข้อมูลดังภาพ










สามารถบันทึกข้อมูลในตารางด้วยความถี่เดียวกันได้มากกว่าหนึ่งครั้ง เช่น ต้องการใช้สายอากาศและกำลังส่งที่ต่างกันซึ่งสามารถเลือกด้วยการกำหนด control bit ไปควบคุมอุปกรณ์สลับสาอากาศ

ตัวอย่างตารางที่บันทึกข้อมูลความถี่และกำลังส่งเดียวกัน แต่กำหนด control bit ที่ต่างกัน




No comments:

Post a Comment