รู้จักกับ ESP32 และ Node32s

Posted by | November 20, 2016 | Arduino, Embeded System, ESP32, Internet of thing | No Comments

แนะนำ Node-32s

บอร์ด Node32s เป็นบอร์ดที่นำ SoC อย่าง ESP32 ของบริษัท Espressif มาออกแบบเป็นบอร์ดพัฒนา โดย ESP32 เป็นไอซีที่พัฒนาเพิ่มเติมจาก ESP8266 ที่นิยมอย่างมาก เนื่องจากมันเป็นไมโครคอนโทรลเลอร์ที่มีราคาถูก และ มี WIFI ติดมาด้วย แถมยังใช้ Arduino เขียนโปรแกรมได้ด้วย แต่สำหรับ ESP32 ตัวใหม่นี้ ยังเพิ่มความสามารถเข้าไปอีก มีการเชื่อมต่อ Bluetooth Low-Energy  (BLE, BT4.0, Bluetooth Smart) เข้าไปอีก และ แค่นั้นยังไม่พอ ยังมี GPIO ถึง 30 ขา ซึ่งใครเคยใช้ ESP8266 จะรู้สึกได้ ว่า GPIO มันน้อยไป (หรือเปล่าลูกพี่!) ซึ่งทางผมคาดว่า ด้วยกำลังของ ESP32 และลูกเล่นที่แอบซ้อน จะอยู่ในโปรเจค IoT และ Wearable หลายๆ โปรเจค ในไม่ช้า

ภาพรวมของ Node32s

  • ใช้ ESP-WROOM-32 จาก Espressif ซึ่งเป็น WiFi/BLE SoC (System On Clip)
  • Breadboard Friendly มีขนาดกว้าง 0.9″ วางบน breadboard จะเหลือข้างล่ะ 1 ช่อง
  • ใช้ USB2Serial ตระกุล FTDI ชิปเพื่อการโหลดโปรแกรมแบบอัตโนมัติ ความเร็วสูงสุดถึง 921000
  • JST 2mm Connector สำหรับเสียบแบตเตอรี่
  • มีวงจรชาร์จ Lithium Ion และ Lithium Polymer (1 cell) พร้อมทั้งไฟแสดงสถานะ
  • มีวงจร PTC Fuse ตัดกระแสไฟเกินที่ 500mA
  • 3.3V 600mA On-board Voltage Regulator
  • Push ฺButton Switch ที่ขา IO0 และ EN (Reset)
  • Crystal 32.768KHz เพื่อใช้เลี้ยงวงจร RTC
  • เหมาะสำหรับงาน พัฒนาต้นแบบ อุปกรณ์รูปแบบ Portable และ Wearable

นอกจากจะเป็น บอร์ดรวมเทคโนโลยีใหม่ๆ ประสิทธิ์ภาพสูง ยังเป็นบอร์ดที่เหมาะกับ งาน Wearable และ Portable ที่กำลังเป็นที่สนใจในอนาคตอีกด้วย

สำหรับบอร์ดที่ทางเราใช้เป็น Node32s ครับ ที่ภูมิใจ ไทยทำ และ ตอนนี้มีจำหน่ายแล้ว ที่ Gravitech Thai  สั่งกันได้เลย

ภาพรวม ESP32

โมดุล ESP-WROOM32 ถือเป็นหัวใจหลักของ บอร์ด Node32s มาดูมันมีความสามารถอะไรบ้าง

  • สองแกน หน่วยประมวลผล Tensilica LX6
  • ความเร็ว สูงสุด 240MHz
  • แรมภายใน 520kB
  • WiFi transceiver B/G/N
  • Bluetooth  Dual-mode classic และ BLE
  • ช่วงไฟ 2.2 ถึง  3.6V
  • กินกระแส 2.5 µA (ในสถานะ deep sleep)
  • 32 GPIO
  • 10 ช่อง Capacitive Touch
  • 18 ช่อง Analog-to-Digital converter (ADC)
  • 3 ช่อง ของ SPI อินเตอร์เฟส
  • 3 ช่อง ของ UART อินเตอร์เฟส
  • 2 ช่อง ของ I2C อินเตอร์เฟส
  • 16 ช่อง ของ PWM
  • 2 ช่อง ของ Digital-to-Analog Converters (DAC)
  • 2 ช่อง I2S อินเตอร์เฟส
  • Hardware Accelerated Encryption (AES, SHA2, ECC, RSA-4096)

บอร์ด Node32s จึงได้ความสามารถของ ESP32 เหล่านี้มาทั้งหมด แต่เราคำนึงถึงการใช้งานแบบไร้สายเป็นหลัก เราจึงได้ออกแบบอุปกรณ์ภายใน บอร์ดให้ใช้ไฟจากแบตเตอรี่ได้ และ มีวงจรชาร์จไฟแบตเตอรี Lipo เข้าไปอีกด้วย

โดย ขาหนึ่งขา จะมีความสามารถได้หลากหลายนะครับ ถ้าเราเลือกใช้บางขาเป็น ADC ไปแล้ว จะใช้เป็น GPIO ไม่ได้นะครับ รายละเอียดดังภาพข้างล่างนี้ครับ

<img class="aligncenter size-large wp-image-7209" src="http://www posologie du viagra.ayarafun.com/wp-content/uploads/2016/11/esp32-pinout-1024×794.png” alt=”” width=”1024″ height=”794″ srcset=”http://www.ayarafun.com/wp-content/uploads/2016/11/esp32-pinout-1024×794.png 1024w, http://www.ayarafun.com/wp-content/uploads/2016/11/esp32-pinout-300×233.png 300w, http://www.ayarafun.com/wp-content/uploads/2016/11/esp32-pinout-768×595.png 768w” sizes=”(max-width: 1024px) 100vw, 1024px” />

GPIO สามารถใช้เป็นแค่ Input เท่านั้น: 34-39

พิน 34, 35, 36, 37, 38 และ 39 ไม่สามารถคอนฟิกส์ เป็น OUTPUT ได้ แต่สามารถ เป็น Analog inputs หรือ เป็นความสามารถอื่นได้ๆ ดังนั้น ขาดังกล่าวจะไม่สามารถ เรียกใช้ internal pull-up หรือ  pull-down resistors เหมือน GPIO อื่นๆ

Powering the ESP32 Thing

แหล่งพลังงานของ Node32s ได้มาจากสองแหล่ง คือ USB และ แบตเตอรี่ (LiPo) ถ้าจ่ายทั้งสองแหล่ง บอร์ดจะใช้ไฟจาก USB และ ชาร์ทไฟ LiPo ไปด้วยในตัว ด้วยกระแสประมาณ 400mA ซึ่งเป็นแรงดันที่ไม่ทำให้ช่องจ่ายไฟ USB อันตราย (เราสามารถออกแบบชาร์จกระแสได้สูงกว่านี้ แต่ USB ของคอมท่านอาจจะจ่ายไม่ไหวนะครับ)

เราสามารถสลับไฟจาก USB กับ Batt ได้ทันที่ เราถอดสาย USB บอร์ดจะสลับไปใช้ไฟแบต ทันที่ แล้วต่อแบตอีกครั้งจะกลับไปใช้ไฟ USB

ESP32 ทำงานช่วงไฟเลี้ยง 2.2 ถึง 3.6V. โดยปกติจะจ่ายไฟ 3.3V, และ I/O ของ ESP32 ไม่สามารถใช้ไฟ 5V ได้ (5V tolerant) เพราะฉะนั้นเพื่อความปลอดภัยควรมีไอซีเป็น Buffer หรือหา Shift Level ใส่ไว้ด้วย

ไฟเลี้ยงจาก 3.3V Regulator ของ Node32s สามารถจ่ายกระแสได้ 600mA ตามสเป็คของ ESP ใช้กระแสสูงสุดถึง 250mA แต่เราวัดได้ 150mA  ซึ่งมากพอสำหรับงานอุปกรณ์จำพวก Mobile เพราะว่าใช้กระแสเยอะ แบตเตอรี่จะหมดเร็ว แต่ในกรณีที่มีความต้องการกระแสที่มากกว่านี้ แนะนำให้ ไฟ 3.3 V จากภายนอก ต่อเข้าขา “3V3”

สำหรับช่อง VIN สามารถ ขาสำหรับไฟเข้าได้ นอกจากทาง USB แต่รับไฟได้ไม่เกิน 6V นะครับ และช่อง VBATT สามารถนำไปต่อแบตเตอรี่ได้ หรือ นำไปจ่ายอุปกรณ์อื่น ที่ใช่ไฟแบต โดยตรงได้ สำหรับช่อง 3V3 สามารถรับไฟจากแหล่งข้างนอกโดยตรงได้ แต่ต้องอยู่ในช่วง 2.2V ถึง 3.6V  ช่องนี้ต่อตรงกับอุปกรณ์ภายในบอร์ด

About chang

ชื่อ “ช้าง” ส่วนมากเขาจะเรียกว่า “พี่ช้าง” แล้ว มีความสนใจทางเทคโนโลยีทางคอมพิวเตอร์ อิเล็กทรอนิกส์ และ หุ่นยนต์ เป็นทั้งนักคิด นักประดิษฐ์ ชอบทดลองเล่น จนเดี่ยวนี้รู้สึกว่าจะเล่นมากกว่ามืออาชีพไปสักแล้ว