วิจัยและพัฒนา nTNC-Module V.1
- หมวด: งานวิจัยและพัฒนา
- วันเผยแพร่
- เขียนโดย Super User
- ฮิต: 7181
วิจัยและพัฒนาโมดูล TNC
TNC(Terminal Node Controler) ทำหน้าที่แปลงข้อมูลดิจิตอลหรือข้อความให้เป็นสัญญาณเสียง และแปลงสัญญาณเสียงกลับไปเป็นข้อมูลดิจิตอลอีกครั้ง เปรียบเสมือนโมเด็มนั่นเอง งานวิจัยชิ้นนี้ได้พัฒนาให้ใช้อุปกรณ์น้อยชิ้น เน้นให้มีราคาถูกที่สุด ให้อยู่ในรูปลักษณ์ขนาดเล็กนำไปใช้งานง่าย นำมาใช้งานในระบบ APRS (Automatic Packet Report System)
เริ่มต้นการพัฒนาเครื่องต้นแบบ
สำหรับท่านอื่น ๆ อาจจะเริ่มจากการใช้แล้วค่อยสร้าง ส่วนทางผมมาแนวโหดนิดหนึ่งที่เริ่มจากการสร้างแล้วค่อยใช้ ถือว่าใช้เวลาหนักหนาสาหัสเลยทีเดียว แต่ด้วยพื้นฐานมาสายอีเล็ค-คอมฯ เลยไปได้ไม่ยากเย็นนัก เริ่มจากการใช้ MCU ตระกูล AVR ที่ถนัดใช้มันมาแต่กำเนิด จึงจับมันมาสร้างสัญญาณซายน์เวฟ 1200Hz และ 2200Hz ผนวกกับศึกษาโปรโตคอล APRS ตั้งแต่ระดับล่างสุดจนบนสุดได้แก่โปรโตอล AFSK NRZI HDLC AX.25 APRS จึงเรียนรู้ได้ไม่ยากเพราะเคยเรียนเป็นพื้นฐานมาหมดแล้ว การสร้างสัญญาณซายเวฟนั้นก็มีหลายวิธีด้วยกัน กรณีนี้ใช้ DAC(Digital to Analog Control) ถ้าไปดูพวกวงจรของ FoxDigi/FoxTracker ก็จะใช้รีซิสเตอร์อาร์เรย์ ทางผมมองแล้วมันใช้ขาของ MCU เยอะเกินไปจึงลดโดยการใช้เทคนิคของ PWM(Pule Width Mod) แทนซึ่งจะใช้ขา MCU เพียงขาเดียว กำหนดขนาดแรงดันออกด้วยการกำหนดความกว้างของพัลส์ ซึ่งเจ้า AVR เราก็สร้างสัญญาณ PWM ได้เร็วถึง 68KHz ในคริสตอล 18MHz สร้างสัญญาณออกมาแล้วกรองด้วย R/C นิดหน่อยเอาสโคปจับดู ได้สัญญาณซายน์เวฟออกมาสวยไม่มีรอยหยัก เอาละถึงเวลาส่งออกตามโปรโตคอลแล้วเริ่มจาก APRS(ข้อความ)->AFSK(สัญญาณซายน์เวฟ) เล่นเอาเหนื่อยไปหลายวันอยู่... พอส่งได้แล้วก็เปลี่ยนเป็นโหมดส่งสเตตัสง่าย ๆ จนกระทั่งเอา GPS จิ้มเข้าไปส่งข้อมูลเป็นแทรกเกอร์ได้
จากที่ลองเล่นมาหลายวัน หลายคนอาจจะรู้สึกเหมือนผมน่ะครับว่า เล่น APRS ในโหมดส่งแทรกเกอร์อย่างเดียวได้ประโยชน์ไม่เยอะเท่าไหร่ เหมือนประจานตัวเองอยู่ฝ่ายเดียว ยิ่งถ้าไม่มีคอมพิวเตอร์ ไม่มีอินเตอร์เน็ตด้วยแล้วก็แทบไม่อยากเล่นเลย เพราะเราดูข้อมูลไม่ได้! โชคดีที่ผมมีเจ้าเครื่อง VX8R ก็เลยถือติดรถไปด้วยเอาไว้แสดงผล tracker ตัวเองที่มันยิงออกมา กับข้อมูลของสถานีอื่น ๆ มันก็เลยคิดว่า ทำไมเราไม่ทำ Tracker ที่มันแสดงผลได้เหมือนเจ้าเครื่อง VX8R ใช้กันบ้างน่ะ.. อย่างน้อยก็จะได้รู้ว่าตัวเองอยู่ตำแหน่งไหนบ้าง ? หรือรู้ว่าเครื่องเรามันทำงานอยู่จริงหรือเปล่า ? คราวนี้ก็เลยมีแนวคิดว่ามันต้องทำ Tracker หรือ TNC ที่มันควรจะมอนิเตอร์ข้อมูล APRS ได้ แล้วมันจะดูมีประโยชน์ขึ้นอีกเยอะเลย ดังนั้นจึงเริ่มออกแบบในโหมดการรับบ้าง โดยเทคนิคการถอดสัญญาณซายน์เวฟมาเป็นบิทข้อมูลนั้น เริ่มด้วยใช้หลักการง่าย ๆ คือจับสัญญาณซายน์เวฟขยายสัญญาณให้มันเป็นคลื่นสี่เหลี่ยม แล้วเอาเคาท์เตอร์จับเวลาความกว้างของพัลซ์ที่ได้ คลื่นกว้าง ๆ คือความถี่ 1200Hz คลื่นแคบ ๆ ก็ความถี่ 2200Hz ในวงจรจริงก็ใช้แค่คอมพาราเตอร์กับไทม์เมอร์เค้าท์เตอร์ซึ่งใน AVR ก็มีให้อยู่แล้ว เมื่อได้บิทข้อมูลก็ถอดด้วย NRZI HDLC AX25 และ APRS ตามลำดับ กว่าจะได้ก็เล่นเอาเหนื่อยกว่าตอนส่งอีกนะครับ
ภาพประกอบ Yaesu VX-8R
ภาพประกอบ Yaesu FTM-350
เมื่อเราสามารถรับข้อมูล APRS ขาเข้าได้แล้วก็ให้มันส่งออกมาทาง UART ในรูปแบบข้อความ TNC2 Monitor ก็จะคล้าย ๆ กับ miniTNC หรือ FoxDigi นั่นแหละครับ ซึ่งแน่นอนว่าตอนนี้มันทำงานเป็น TNC ได้ทั้งรับและส่ง ในส่วนของดิจินั้น เขียนโปรแกรมเพิ่มเติมนิดหน่อย ก็สามารถรับและส่งต่อได้ไม่ยากเย็นเท่าไหร่นัก เมื่อวิบากกรรมในการเข้ารหัสและถอดรหัสทางด้านฮาร์ดแวร์และซอฟร์แวร์เสร็จสิ้นลงแล้ว ก็จับเอาจอแสดงผลมาใส่ให้มันสักหน่อย ที่เห็นดูดีราคาถูกในตอนนั้นก็เป็นจอโนเกีย 3110 LCD ขนาด 84x48 Pixel โมโนโครม เมื่อรับข้อมูลได้ก็ถอดรหัสโปรโตคอล APRS ออกมาแสดงผล
การพัฒนาขึ้นอีกขั้นในการประยุกต์ใช้งาน
จากที่เราออกแบบบนโฟโต้บอร์ดและบนปริ้นท์อเนกประสงค์ไปแล้วนั้น ได้เอาไปใช้ในงาน แทรกเกอร์บ้าง สถานีตรวจวัดอากาศบ้าง เอาไปเป็นไอเก็ตบ้าง ดิจิบ้าง ฯลฯ เมื่อคิดว่าถ้าออกแบบ PCB ขึ้นมารองรับงานทั้งหมดดูแล้วค่อนข้างวุ่นวายน่าดู จึงมีแนวคิดว่า ถ้าทำออกมาเป็นโมดูลหลักสักตัว แล้วค่อยประยุกต์อุปกรณ์น้อยชิ้นนิดหน่อยเพื่อไปเชื่อมต่อในงานต่าง ๆ น่าจะดีกว่า ดังนั้นจึงได้ออกแบบออกมาเป็น nTNC-Module ที่มีขนาด 28ขา PDIP เท่ากับไอซี 28ขาแบบกว้าง ซึ่งจะสามารถใช้ซ๊อกเก็ต 28ขาได้ ถอดเปลี่ยนได้ง่าย ซ่อมแซมได้ง่าย
รุ่นนี้ทำออกมาเพียงแค่ 10ชุดเท่านั้น ส่วนใหญ่เอาไปใช้กับสถานีตรวจวัดอากาศ(อุตรดิตถ์ สงขลา กรุงเทพฯ) ไอเก็ต(HS5TQA) ดิจิ(HS5TQA-3) ผนวกกับเป็นช่วงมรสุมงานเข้ามาเยอะมากจนไม่มีเวลาผลิตต่อ จึงไม่มีนักวิทยุสมัครเล่นท่านใหนได้มีโอกาศได้ไปใช้งานเลย
การพัฒนาขั้นสุดท้ายแต่ยังไม่ท้ายสุด
ผลจากการทดลองใช้งานเจ้า nTNC มานานนับปี และมีผู้ใช้แทรกเกอร์มากขึ้น ซึ่งยากต่อการปรับเสียงของผู้ใช้ให้มีมาตรฐานตรงกัน ซึ่งส่งผลให้ nTNC ที่ถอดสัญญาณในรูปแบบคอมพาราเตอร์นั้นมีปัญหาจากที่ความแรงของสัญญาณความถี่ 1200Hz กับ 2200Hz ไม่เท่ากัน หรือมีฮาร์โมนิคเกิดขึ้นมาทำให้วัดคาบเวลาควางกว้างของพัลซ์ผิดเพี้ยนไป ส่งผลให้ถอดสัญญาณได้บ้างไม่ได้บ้างตามแทรกเกอร์นั้น ๆ ที่ปรับแต่งไว้ และมีปัญหาจากแฟกเตอร์อื่นๆ เข้ามาอีกมาก ซึ่งคาดว่ายังไม่เหมาะที่จะให้ผู้ใช้อื่นเอาไปประยุกต์ใช้งาน ดังนั้นจึงพัฒนาใหม่ทั้งทางฮาร์ดแวร์และซอฟร์แวร์ โดยใช้เทคนิคถอดรหัสใหม่เป็น FFT(Fast Fourier Tranform) ซึ่งเป็นการแปลงสัญญาณอนาล๊อกให้เป็นดิจิตอล(ADC) แล้วนำข้อมูลดิจตอลไปประมวลผลทางคณิตศาสตร์(กรองความถี่ทางดิจิตอล) ได้ผลที่ออกมาดีกว่าเดิมมาก สามารถรองรับสัญญาณที่ผิดเพี้ยน และแตกต่างกันได้มากขึ้น จึงได้ทดลองดัดแปลง nTNC เดิมแล้วทดสอบในสถานีตรวจวัดอากาศจังหวัดอุตรดิตถ์ที่ทำหน้าที่เป็น ดิจิและไอเก็ตอยู่ ซึ่งให้ผลที่น่าพอใจ ดูผลการทำงานได้ที่ลิงค์ http://www.hamsiam.com/smf/index.php?topic=118751.0 จึงได้ออกแบบ PCB เจ้า nTNC ใหม่ตามฮาร์ดแวร์ที่เปลี่ยนแปลงไปเล็กน้อย โดยใช้ชื่อว่า nTNC-Module V.1 และรหัสสินค้าคือ APRS001