วันเสาร์ที่ 28 สิงหาคม พ.ศ. 2564

การใช้ MPLAB Snap In-Circuit Debugger ใน MPLAB X IDE

 

        MPLAB Snap เป็นเครื่องมือตัวหนึ่งที่ใช้ในการอัพโหลดและดีบักโปรแกรมลง MCU ในค่าย PIC ในลักษณะที่เรียกว่า In-Circuit Debugger ซึ่งอุปกรณ์ตัวนี้ราคาจะถูกกว่าตัว PIC Kit 4 ที่เป็นเครื่องมือในการอัพโหลดและดีบักโปรแกรมตัวเต็ม Option อยู่ประมาณเกือบครึ่งหนึ่ง แต่ก็ต้องแลกมาด้วยความสามารถบางอย่างที่ไม่ได้ให้มาเมื่อเทียบกับตัว PIC Kit 4 รวมทั้งมีข้อจำกัดที่สำคัญคือ Snap จะไม่รองรับ MCU เบอร์เก่า (Legacy MCUs) จำนวนเยอะพอสมควร สำหรับผู้พัฒนาที่ไม่เน้นใช้งานกับเบอร์เก่าๆ หรือสามารถเลือกใช้ MCU เบอร์ใหม่ๆ ได้ ก็สามารถมองข้ามข้อจำกัดนี้ไปได้ และอีกข้อที่แตกต่างคือตัว Snap จะไม่สามารถจ่ายไฟเลี้ยงให้กับ MCU ที่อยู่บน Target บอร์ดได้

  
โดยรวมแล้วบอร์ด MPLAB Snap สามารถใช้งานได้ดีและครอบคลุมความต้องการพื้นฐานในการพัฒนางานโดยใช้ MCUs ของค่าย PIC ได้เป็นอย่างดี โดยสามารถประหยัดค่าใช้จ่ายได้เกือบครึ่ง แต่หากต้องการเพิ่มความคล่องตัวและเน้นฟีเจอร์(Feature) การใช้งานรวมถึงต้องการความครอบคลุมที่มากยิ่งขึ้นอาจจะต้องพิจารณาใช้ PIC Kit 4 


การใช้งาน Debug โปรแกรม
สามารถเริ่มการ Debug โปรแกรมได้ทั้งทางเมนู Debug -> Debug Main Project หรือจะคลิกปุ่มบน Tools Bar ก็ได้ โดยฟังก์ชั่นในการดีบักก็จะมีทั้ง Step into , Step Over, Run to Cursor เป็นต้น
เมนู Debug ใน MPLAB X IDE 



ปุ่ม Debug ต่างๆ บน Tools Bar


Tips : ปัญหาที่มักจะพบคือเมื่อเรา Step ไปถึงคำสั่ง Delay_ms(1000) ก็จะติดอยู่ในคำสั่งนี้ และไม่ยอมออก (อาจจะติดอยู่ในคำสั่งนี้ประมาณ 1-2 นาที) ทำให้ไม่สามารถข้ามไปยังคำสั่งบรรทัดถัดไปได้ 
ทางแก้ไข : ให้แก้ไขคำสั่งจาก Delay_ms ไปเป็นคำสั่ง Delay_us แทน ก็จะผ่านไปได้ แล้วเมื่อ Debug จนพอใจแล้ว ค่อยแก้ไขกลับมาเป็นคำสั่งเดิมเมื่อไม่ต้องการ Debug แล้ว
  
แก้ไขคำสั่ง delay_ms เป็น delay_us ค่าน้อยๆ ชั่วคราวก่อน Debug


"ทุกปัญหามีทางออก เพียงแต่เราต้องค้นหามันให้เจอ บ่อยครั้งที่อาจต้องใช้เวลาบ้าง หากมีความพยายามในที่สุดก้จะค้นพบมัน..."


วันจันทร์ที่ 23 สิงหาคม พ.ศ. 2564

NodeMCU ESP8266

    การทำโครงงานที่ใช้ไมโครคอนโทรลเลอร์ในการควบคุมในปัจจุบันนี้ มีเครื่องมือและอุปกรณ์ให้เลือกใช้หลากหลาย และได้รับการพัฒนาไปมาก ทั้งด้านความเร็วในการประมวลผล หน่วยความจำที่มีความจุมากขึ้น และความสามารถในการเชื่อมต่อกับภายนอกก็จัดมาให้แบบเต็มๆ ซึ่งตัวที่กำลังกล่าวถึงและกำลังได้รับความนิยมนั่นก็คือ บอร์ดไมโครคอนโทรลเลอร์  NodeMCU ESP8266 Vx นั่นเอง   

NodeMCU ESP8266 V3

บอร์ดนี้ใช้โมดูล ESP8266-12E มาต่อร่วมกับชิปแปลงสัญญาณ USB เพื่อใช้เชื่อมต่อกับคอมพิวเตอร์ในการเขียนโปรแกรม ซึ่งโมดูล ESP8266-12E มีคุณสมบัติโดดเด่นอยู่หลายด้านโดยนอกจากจะเป็นไมโครคอนโทรลเลอร์แบบ 32 บิทแล้ว ยังได้รวมการเชื่อมต่อ WiFi ไว้บนโมดูล ซึ่งรองรับมาตรฐาน 802.11 b/g/n นอกจากนี้ยังมีพอร์ตแปลงอนาลอกเป็นดิจิตอล ขนาด 10 บิท (10-bit ADC) และพอร์ตสื่อสารพื้นฐาน เช่นพอร์ตอนุกรม (UART) , I2C,SPI,SDIO,I2S รวมถึง PWM และพอร์ต GPIO 

สำหรับการต่อใช้งานก็ง่ายๆ ตามสไตล์ของ Arduino โดยสามารถใช้ Arduino IDE ในการเขียนโปรแกรมภาษาซี และอัพโหลดโปรแกรมที่เขียนนั้นลงบอร์ดผ่านทางสาย Micro USB ได้เลย 

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

"ส่วนการจะนำบอร์ดนี้ไปทำอะไรได้บ้างนั้น ก็ขึ้นอยู่กับไอเดียและจืนตนาการของแต่ละคนเลยครับ .. นอกจากนี้สิ่งที่สำคัญที่สุดก็คือ คิดแล้วก็ต้องลงมือทำ จึงจะเห็นผลว่าทำได้หรือไม่ได้ จริงมั้ยครับ ..."


วันอาทิตย์ที่ 22 สิงหาคม พ.ศ. 2564

ไดโอด 1N4001 (Diode)

 อุปกรณ์ที่สำคัญอีกตัวหนึ่งในภาคจ่ายไฟนั่นก็คือ ไดโอด (Diode) ซึ่งทำหน้าที่ในการเรียงกระแสไฟ (Current Rectifier) เพื่อให้ได้ขั้วไฟฟ้าบวก หรือลบ ตามต้องการ และในบางบริบท ไดโอดมักจะใช้ในการป้องกันการต่อกลับขั้ว ในภาคจ่ายไฟ เพื่อป้องกันความเสียหายของวงจรอิเล็กทรอนิกส์


ไดโอด 1N4001 (Diode 1N4001)


ตัวอย่างวงจรที่ใช้ ไดโอด 1N4001 ป้องกันการกลับขั้ว 


การนำไดโอดมาต่อใช้งานเป็นวงจรเรียงกระแสในชีวิตจริงนั้น ส่วนใหญ่จะนำมาต่อแบบฟูลเวฟ (Full Wave) ซึ่งหากใช้งานร่วมกับหม้อแปลงไฟฟ้า ที่ไม่มี Center Tab จะต้องใช้ไดโอด 4 ตัวมาต่อเป็นวงจรเรียงกระแสแบบบริดจ์ (Bridge Rectifier) ก็จะได้แหล่งจ่ายไฟกระแสตรง ซึ่งมีขั้วบวก ขั้วลบตามที่ต้องการ

ตัวอย่างวงจรภาคจ่ายไฟซึ่งใช้ไดโอด 1N4001 ทำงานร่วมกับ ไอซี 7805


นอกจากนี้ไอโอดยังสามารถประยุกต์ใช้งานได้อีกหลากหลายหน้าที่ในวงจรอิเล็กทรอนิกส์ รวมทั้งยังมีไดโอดชนิดอื่นๆอีกที่ไม่ได้กล่าวถึง เช่น ซีเนอร์ไดโอด (Zener Diode) ไดโอดเปร่งแสง(LED) โฟโต้ไดโอด (Photo Diode) เป็นต้น 

" จึงนับได้ว่าไดโอดเป็นอุปกรณ์ที่มีความสำคัญและน่าศึกษาค้นคว้าเพิ่มเติมเป็นอย่างยิ่ง..."

วันเสาร์ที่ 21 สิงหาคม พ.ศ. 2564

ไอซีเรกกูเลเตอร์ 78xx (Regulator Integrated Circuit)

         ปฐมบทของวงจรอิเล็กทรอนิกส์ ทั้งหมดในโลกนี้ล้วนต้องใช้กระแสไฟฟ้าหล่อเลี้ยงวงจรทั้งสิ้น และถ้าพูดถึงวงจรภาคจ่ายไฟแล้ว อุปกรณ์สำคัญที่ทำหน้าที่รักษาแรงดันไฟให้คงที่ เพื่อให้วงจรทำงานได้อย่างมีเสถียรภาพ นัั่นก็คือบรรดาไอซีเรกกูเลเตอร์ ต่างๆ และไอซีตระกูล 78xx เช่นเบอร์ 7805,7812,7815  ซึ่งนิยมใช้กันมาอย่างต่อเนื่องยาวนาน ตั้งแต่ผู้เขียนเริ่มเข้าวงการใหม่ๆ ประมาณปี 2530 ก็มีให้ใช้แล้วจนถึงปัจจุบัน 

ไอซีเรกกูเลเตอร์ 7805

ด้วยความเรียบง่ายของวงจร และสามารถตอบสนองการใช้งานได้เป็นอย่างดี รวมถึงมีรูปแบบตัวถัง(Package) แบบต่างๆ ให้เลือกใช้ได้ตามความเหมาะสมของวงจร จึงทำให้ IC ตระกูลนี้เป็น IC Regulator  ยอดนิยมที่อยู่ยงคงกระพันจนถึงทุกวันนี้ได้ 

ตัวอย่าง Package แบบต่างๆ (image from data sheet at www.st.com)



ตัวอย่างวงจรใช้งานจากดาต้าชีท (image from data sheet at www.st.com)

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


ยินดีต้อนรับ

 อิเล็กทรอนิกส์ และ ไมโครคอนโทรลเลอร์ (Electronics and Microcontroller)

ยินดีต้อนรับ เพื่อนๆ นักอิเล็กทรอนิกส์ และน้องๆ ที่กำลังศึกษาหรือผู้สนใจด้านอิเล็กทรอนิกส์-ไมโครคอนโทรลเลอร์ ทุกๆท่าน เข้าสู่บล็อกแห่งนี้ โดยผู้เขียนมีวัตถุประสงค์ในการจัดทำบล็อกนี้ขึ้นมาเพื่อจะใช้เป็นพื้นที่ในการบันทึกเรื่องราว ความรู้ ประสบการณ์ และแนวทางในการทำโครงงานด้านอิเล็กทรอนิกส์และไมโครคอนโทรลเลอร์ ไว้เป็นแหล่งข้อมูลสำหรับเปิดดูได้ในภายหลัง และในขณะเดียวกันก็สามารถใช้เป็นแหล่งข้อมูลที่เผยแพร่ให้กับผู้ที่สนใจในด้านนี้ ได้นำไปใช้ให้เกิดประโยชน์กับตนเองและประเทศชาติต่อไป


ด้วยความยินดียิ่ง
:)
21/8/2021