ขออนุญาติตั้งกระทู้ใหม่ เพื่อเป็นกระทู้เนื้อหารวบรวมข้อมูลของ nTNC ตั้งแต่ต้น(2553)จนถึงปัจจุบัน และการนำไปประยุกต์ใช้งานในด้านต่าง ๆ ซึ่งทางผมจะออกแบบมาในรูปโมดูลเพื่อการถอดเปลี่ยนโยกย้ายสลับการใช้งานได้ง่าย เปรียบเสมือนผมสร้าง CPU มาตัวหนึ่ง ผู้พัฒนาคนต่อไปก็สร้างเมนบอร์ดมาใส่ CPU ส่งให้ผู้ใช้ทั่วไปเอาไปใช้งานต่อไป กรณีนี้ผมก็ออกแบบตัว nTNC-Module ซึ่งเป็นแกนหลัก นักพัฒนาคนอื่นก็จะออกแบบบอร์ดเชื่อมต่อมันกับดีไวซ์หรืออุปกรณ์อื่น ๆ เพื่อใช้งานต่อไปเช่น บอร์ดเชื่อมต่อระหว่าง nTNC กับ LinkSys บอร์ดเชื่อมต่อกับราสเบอร์รี่พาย เป็นต้น สำหรับบอร์ดเชื่อมต่อนั้น ทางผมจะออกแบบให้เป็นตัวอย่างไว้ให้โดยขอใช้ชื่อตามท้ายว่า Evalution เพื่อใช้เป็นต้นแบบหรือแนวทางการนำไปประยุกต์ใช้งานต่อไป
แนวคิดในการออกแบบนั้น ผมชอบคนจีนอยู่อย่างหนึ่งคือ เขาสามารถทำของแพงให้เป็ฯของถูก ๆ ได้ไม่ว่าจะก๊อปมาก็ตามเถอะ เราก็พวกนักวิจัยพัฒนานะครับ มองยังไงก็ทำแข่งกับจีนไม่ได้ คือทำยังไงก็ราคาสูงกว่ามัน ถ้าจะให้ทำแบบราคาสูงไม่อั้นแบบนี้ใคร ๆ ก็ทำได้ครับ แต่ถ้าทำให้ถูกนั้นทำยากยิ่งกว่า มันก็เลยเหลือทางเลือกเดียวในตอนนี้คือ เลือกทำที่คนอื่นไม่ทำแล้วทำให้ถูกที่สุด ดังนั้นออกแบบวงจร ก็จะหาเลือกใช้อุปกรณ์น้อยที่สุด ราคาถูกที่สุด แต่มันต้องทำงานได้เหมือนเครื่องราคาแพง ๆ
เริ่มต้นการพัฒนาเครื่องต้นแบบสำหรับท่านอื่น ๆ อาจจะเริ่มจากการใช้แล้วค่อยสร้าง ส่วนทางผมมาแนวโหดนิดหนึ่งที่เริ่มจากการสร้างแล้วค่อยใช้ ถือว่าใช้เวลาหนักหนาสาหัสเลยทีเดียว แต่ด้วยพื้นฐานมาสายอีเล็ค-คอมฯ เลยไปได้ไม่ยากเย็นนัก เริ่มจากการใช้ 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 ที่สามารถแสดงผลออกจอ LCD ได้นั้น เมื่อพัฒนามาถึงจุดหนึ่งพบว่า ขนาดหน่วยความจำโปรแกรมของ MCU นั้นไม่เพียงพอ และเป็น MCU รุ่นสูงสุดที่บรรจุหน่วยความจำไว้ถึง 32KB แล้ว(ไม่มีตัวใหญ่กว่านี้) จึงตกลงปลงใจว่าถอดระบบการแสดงผลออกไป เน้นเรื่องการใช้งานเป็น igate/digi/tnc/tracker/wx และ Telemetry ไปเลยดีกว่า ซึ่งก็นับว่าสามารถนำไปประยุกต์ใช้งานได้มากแล้ว ในส่วนการแสดงผลนั้นจึงมีแนวคิดโยนไปเรื่องใหม่ ซึ่งจะนำเอา CPU ตระกูล ARM Cortex-M3 มาใช้แทน ซึ่งปัจจุบันมีราคาที่ถูกลงในประสิทธิภาพที่สูงขึ้นกว่า MCU รุ่นอื่น ๆ ที่เทียบจากระดับราคาเดียวกันหลายเท่าตัวนัก และจะนำเสนอเป็นหัวข้อการพัฒนาระบบแสดงผล APRS เป็นเรื่องใหม่ เพราะไม่ได้เกี่ยวต่อเนื่องกับ nTNC ในหัวข้อนี้
การประยุกต์ใช้งานในส่วนการนำไปประยุกต์ใช้งานนั้น ด้วยตัว nTNC-Module เองสามารถนำไปใช้งานได้โดยตรงถ้าอุปกรณ์ที่จะไปเชื่อมต่อนั้นมีอินเตอร์เฟสที่สอดคล้องกับ nTNC ในส่วนด้านบอร์ดอินเตอร์เฟสอื่น ๆ นั้นจะออกเป็นบอร์ด Evalution เพื่อเป็นตัวอย่างในการประยุกต์ใช้งานในด้านต่าง ๆ ที่จะนำเสนอต่อไป