วันพฤหัสบดีที่ 9 พฤศจิกายน พ.ศ. 2560

ESP32 #1: รู้จัก ไมโครคอนโทรลเลอร์ ESP32


ESP32 เป็นชิปไมโครคอนโทรลเลอร์ที่มาพร้อม WiFi มาตรฐาน 802.11 b/g/n และบลูทูธเวอร์ชั่น 4.2 เป็นรุ่นต่อยอดความสำเร็จของ ESP8266 โดยในรุ่นนี้ได้ออกมาแก้ไขข้อเสียของ ESP8266 ทั้งหมด



โดย CPU ใช้สถาปัตยกรรม Tensilica LX6 จำนวน 2 คอร์ สัญญาณนาฬิกา 240MHz สามารถแยกการทำงานระหว่างโปรแกรมจัดการ WiFi และแอพพลิเคชั่นออกจากกันได้ ทำให้มีสเถียรภาพเพิ่มขึ้นมาก มีแรม 520KB มาในตัว  นอกจากนี้ยังมี GPIO เพิ่มขึ้นมาก และมีช่อง ADC เพิ่มขึ้นเป็น 12 ช่อง จากเดิม ESP8266 มีเพียงช่องเดียว ใช้แรงดันไฟฟ้า 3.3V ในโหมด Sleep ใช้กระแสไฟฟ้าเพียง 2.5uA ผลิตโดยบริษัท Espressif จากประเทศจีน โดยตัวไอซี ESP32 มีสเปคโดยละเอียด ดังนี้


  • ซีพียูใช้สถาปัตยกรรม Tensilica LX6 แบบ 2 แกนสมอง สัญญาณนาฬิกา 240MHz
  • มีแรมในตัว 512KB
  • รองรับการเชื่อมต่อรอมภายนอกสูงสุด 16MB
  • มาพร้อมกับ WiFi มาตรฐาน 802.11 b/g/n รองรับการใช้งานทั้งในโหมด Station softAP และ Wi-Fi direct
  • มีบลูทูธในตัว รองรับการใช้งานในโหมด 2.0 และโหมด 4.0 BLE
  • ใช้แรงดันไฟฟ้าในการทำงาน 2.6V ถึง 3V
  • ทำงานได้ที่อุณหภูมิ -40◦C ถึง 125◦C
  • นอกจากนี้ ESP32 ยังมีเซ็นเซอร์ต่าง ๆ มาในตัวด้วย ดังนี้

  • วงจรกรองสัญญาณรบกวนในวงจรขยายสัญญาณ
  • เซ็นเซอร์แม่เหล็ก
  • เซ็นเซอร์สัมผัส (Capacitive touch) รองรับ 10 ช่อง
  • รองรับการเชื่อมต่อคลิสตอล 32.768kHz สำหรับใช้กับส่วนวงจรนับเวลาโดยเฉพาะ
  • ขาใช้งานต่าง ๆ ของ ESP32 รองรับการเชื่อมต่อบัสต่าง ๆ ดังนี้

  • มี GPIO จำนวน 32 ช่อง
  • รองรับ UART จำนวน 3 ช่อง
  • รองรับ SPI จำนวน 3 ช่อง
  • รองรับ I2C จำนวน 2 ช่อง
  • รองรับ ADC จำนวน 12 ช่อง
  • รองรับ DAC จำนวน 2 ช่อง
  • รองรับ I2S จำนวน 2 ช่อง
  • รองรับ PWM / Timer ทุกช่อง
  • รองรับการเชื่อมต่อกับ SD-Card


นอกจากนี้ ESP32 ยังรองรับฟังก์ชั่นเกี่ยวกับความปลอดภัยต่าง ๆ ดังนี้


  • รองรับการเข้ารหัส WiFi แบบ WEP และ WPA/WPA2 PSK/Enterprise
  • มีวงจรเข้ารหัส AES / SHA2 / Elliptical Curve Cryptography / RSA-4096 ในตัว


ในด้านประสิทธิ์ภาพการใช้งาน ตัว ESP32 สามารถทำงานได้ดี โดย

รับ – ส่ง ข้อมูลได้ความเร็วสูงสุดที่ 150Mbps เมื่อเชื่อมต่อแบบ 11n HT40 ได้ความเร็วสูงสุด 72Mbps เมื่อเชื่อมต่อแบบ 11n HT20 ได้ความเร็วสูงสุดที่ 54Mbps เมื่อเชื่อมต่อแบบ 11g และได้ความเร็วสูงสุดที่ 11Mbps เมื่อเชื่อมต่อแบบ 11b

เมื่อใช้การเชื่อมต่อผ่านโปรโตคอล UDP จะสามารถรับ – ส่งข้อมูลได้ที่ความเร็ว 135Mbps
ในโหมด Sleep ใช้กระแสไฟฟ้าเพียง 2.5uA

ด้วยเหตุนี้ ESP32 จึงเหมาะสำหรับนำมาใช้งานมาก ด้วยเหตุผลทางด้านราคา และประสิทธิ์ภาพที่ได้


บอร์ดพัฒนา ESP32

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


DevKitC ESP32

บอร์ดพัฒนา ESP32 ที่ผลิตโดยบริษัท Espressif ที่เป็นผู้ผลิตชิปไอซี ESP32 (ผู้ผลิตไอซี ผลิตโมดูล และผลิตบอร์ดพัฒนาเอง) เป็นบอร์ดพัฒนา ESP32 บอร์ดแรก ทำให้ตำแหน่งขาต่าง ๆ ของ DevKitC ESP32 ถูกใช้เป็นมาตรฐาน ของบอร์ดพัฒนา ESP32 ของบริษัท อื่นๆ อีกด้วย

บอร์ดพัฒนา DevKitC ESP32 มีอยู่ด้วยกัน 2 รุ่น คือ

V1 - บอร์ดสีฟ้า เป็นรุ่นแรก
V2 - เปลี่ยนสีของแผ่นวงจรพิมพ์เป็นสีดำ



บอร์ด DevKitC ESP32  ใช้โมดูลรุ่น ESP-WROOM-32 ที่บริษัท Espressif เป็นผู้ผลิตขึ้นเอง และใช้ชิปไอซีแปลง USB เป็น UART เบอร์ CP2102 จาก Silicon Labs สามารถเข้าโหมดอัพโหลดโปรแกรมแบบอัตโนมัติโดยใช้วงจรแบบ nodemcu มีรอม 4MB (หรือ 32Mbit) ใช้ไอซีเรกกูเลเตอร์แบบ LDO เบอร์ AMS1117-3.3 รองรับแรงดันเข้าสูงสุด 7V และจ่ายกระแสได้สูงสุด 700mA

ใช้พลังงานไฟฟ้าและสื่อสารผ่านพอร์ต MicroUSB มีขาต่อใช้งานทั้งหมด 38 ขา เรียงขาแบบเดียวกับบนโมดูล ESP-WROOM-32 เมื่อนำไปเสียบลงโพรโต้บอร์ด จะเหลือช่องให้ใช้งานเพียงด้านเดียว 1 ช่อง


การใช้งานขาต่างๆ ของ DevKitC ESP32




Arduino core for ESP32 WiFi chip


Espressif ได้พัฒนาชุดไลบารี่และคอมไพล์เลอร์สำหรับ Arduino ในชื่อ Arduino core for ESP32 WiFi chip การพัฒนา Arduino core for ESP32 WiFi chip จะทำไปควบคู่กับการพัฒนา ESP-DF โดยที่ ESP-IDF จะเป็นแกนหลัก เมื่อมีการเพิ่มฟิวเจอร์ใหม่ ๆ ให้ ESP-IDF แล้ว จึงจะมีการเพิ่มใน Arduino core for ESP32 WiFi chip


LuaNode

เป็นชื่อของชุดพัฒนา ESP32 ที่นำ Rumtime ของภาษา ภาษา Lua (pronounced 'LOO-ah' หรือออกเสียงว่า 'ลัว' หรือ 'ลูอ่า' ในภาษาโปรตุเกส) มาลงใน ESP32 ทำให้ ESP32 ใช้ภาษา Lua ได้ พัฒนาโดยบริษัท DOIT ที่ทำบอร์ดพัฒนา ESP32 ในชื่อ DOIT ESP32 Development Board มีขาต่อใช้งานทั้งหมด 30 ขา โดยความสามารถของ LuaNode คือรองรับคำสั่งที่ใช้บน Lua จริง ๆ แทบทุกคำสั่ง และรองรับการควบคุม WiFi เต็มรูปแบบ


การเลือกใช้งาน

บทความ โปรเจคหุ่นยนต์ ของ โรบอทสยาม นั้นจะใช้ Arduino core for ESP32 WiFi chip กับ บอร์ด DevKitC ESP32 มีขาต่อใช้งานทั้งหมด 38 ขา หรือ บอร์ด ที่มีตำแหน่งขาต่าง ๆ  อ้างอิงจาก DevKitC ESP32 ในการการพัฒนาเป็นหลัก





ลิงค์สินค้า : DevKitC V2 ESP32 Development Board WiFi + Bluetooth

ลิงค์ การติดตั้ง :  Arduino core for ESP32 WiFi chip

ไม่มีความคิดเห็น:

แสดงความคิดเห็น