was successfully added to your cart.

รีวิว STM32F4 Nucleo ภาคฮาร์ดแวร์และวิธีการใช้งานบน mbed.org เบื้องต้น

By March 11, 2014Review, STM32F4, tutorial

STM32F4 Nucleo platform ที่จะเอาความแรงเข้าถึงทุกคนที่สนใจไมโครคอนโทรลเลอร์

ตอนนี้เรามีบอร์ดทดลองตัวใหม่เพิ่งเข้ามาสดๆ ร้อนๆ เลยครับกับ STM32F4 Nucleo

STM32 Nucleo คืออะไรเป็น platform ราคาถูกจาก ST โดนจัดจำหน่ายเพียงตัวละประมาณ 400 บาทเท่านั้น ( ไม่รวม VAT 7%, ค่าขนส่ง, กรมศุล 10%  รวมๆ แล้วแพงกว่าที่เราจำหน่ายอีกนะ ^^)

STM32 Nucleo นอกจากจะมีราคาถูกแล้วมันยังมีความพิเศษดังต่อไปนี้

  • เป็นบอร์ดที่สามารถพัฒนาด้วย mbed.org ที่จะช่วยให้เขียนโค้ดง่ายขึ้น
  • มีรุ่น STM32F4 จนไปถึงรุ่นเล็กๆ ของ ST
  • Pin compatible กับ Arduino UNO R3, และ Rev 1.0 ด้วย
  • สามารถพัฒนาด้วยวิธีปกติของนักพัฒนาทั่วไปได้เช่นใช้ Keil, IAR, GCC + IDE
  • มี ST-LINK V2 อยู่บนตัวไม่ต้องซื้อตัวโปรแกรมเพิ่มให้วุ่นวาน แถมหักออกไปได้อีก

มาดูรีวิวภาคฮาร์ดแวร์กันครับ

เริ่มต้นตัวบอร์ดอยู่ใน package ตามสมัยนิยมของบอร์ดสมัยนี้ไม่มี CD ไม่มีอย่างอื่นเพิ่มเติม ดาวน์โหลดจากทาง internet กันอย่างเดียว

STM32F4 Nucleo
 Nucleo รุ่นอื่นราคาจะเท่ากันหมดนะครับ และ package หน้าตาเหมือนกันหมดครับ

1653680_788304374530953_276043316_n

 

ลองแกะกล่องออกจากตัวบอร์ดออกมาดูนะครับ

IMG_4202

ลองเอามาเทียบกับ Arduino เลยจะเห็นว่า Pin compatible กันกับ Arduino และ pin ที่เหลือก็ยังสามารถเอาไปใช้งานในด้านอื่นได้อีก โดยขนาดจะใหญ่กว่า Arduino นิดหน่อยเท่านั้น

IMG_4204

มาลองดู pin บนบอร์ดกันครับว่ามีอะไรบ้าง

ST-Nucleo-F401RE-Arduino

st-nucleo-f401re-morpho

ถ้าจะพัฒนาตาม mbed ก็ดู pin ด้านบนเลยครับอ้างอิงง่ายดี

เรามาดูสเปคของไมโครคอนโทรลเลอร์ที่ใช้บนบอร์ดกันดีกว่าครับนั่นคือเบอร์ STM32F401RET6

  • STM32F401xD/xE เป็นไมโครคอนโทรลเลอร์ที่ใช้สถาปัตยกรรม ARM Cortex M4 เป็น RISC processor ความถี่สูงสุดในการทำงานอยู่ที่ 84 MHz. และมี FPU ( Floating Point Unit ) รวมทั้งมีการ implement ชุดคำสั่ง DSP instruction ในตัวอีกด้วย
  • ขนาด Flash บนตัวก็ไม่น้อยหน้าใครมีถึง 512 KBytes และ SRAM ที่ 96 Kbytes
  • พอร์ตเชื่อมต่อหรือ peripheral ก็ไม่น้อยหน้าใครเช่น 12-bit ADC, low-power RTC, 6 ชานเนล 16 bit timer รวมไปถึง PWM สำหรับงานควบคุมมอเตอร์, สองชานเนล 32 bit timer รวมทั้ง feature เทพๆ ในไมโครคอนโทรลเลอร์อย่าง DMA เป็นต้น

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

  • Software Development Kit ( SDK ) – OpenSource C/C++ ไมโครคอนโทรลเลอร์ซอฟแวร์ ที่ถูกพัฒนาโดยนักพัฒนากว่าพันคนเพื่อช่วยให้เราสามารถเริ่มต้นโปรเจคได้อย่างง่าย
  • Hardware Development Kit (HDK) – ออกแบบฮาร์ดแวร์เพื่อเชื่อมต่อกับ mbed platform
  • Free Online Development Tools – Compiler แบบ Online เราสามาถพัฒนาจากที่ไหนก็ได้บนเครื่องใหนก็ได้ ไม่ว่าจะเป็น Mac, Window, Linux เพียงแค่มี Browser และ USB port
  • Worldwide Developer Community  – ความช่วยเหลือจากทั่วโลกใน community ของ mbed เอง

มาทดลองภาคซอฟแวร์บน mbed กันครับ

เริ่มต้นให้นำบอร์ด STM32F4 Nucleo เสียบสาย USB mini เข้าไปที่คอมพิวเตอร์หลังจากนั้นคอมพิวเตอร์จะมอง Nucleo เป็นเหมือน storage หรือ flash drive ภายในจะมีไฟล์ HTML อยู่หนึ่งไฟล์

Screen Shot 2557-03-11 at 5.32.21 PM
ให้จัดการ double click file HTML เข้าไปลิงค์จะพาเราเข้าไปในเว็บของ mbed.org

Screen Shot 2557-03-11 at 5.26.10 PM

การจะใช้ IDE บน Brower ได้จำเป็นจำต้องสมัคร User ก่อนให้กดไปที่ Signup ที่อยู่บนหน้าจอ แต่ถ้ามี User อยู่แล้วก็สามารถ Login เข้าไปได้เลยทันทีครับ

Screen Shot 2557-03-11 at 5.26.27 PM

 

Screen Shot 2557-03-11 at 5.26.38 PM

หลังจากนั้นให้เริ่มต้นสร้างโปรเจคโดยเลือกที่ไปที่ ไฟกระพริบก่อนเลยเพื่อความง่าย

Screen Shot 2557-03-11 at 5.29.04 PM

 

หลังจากสร้างโปรเจคออกมาแล้วจะได้ไฟล์ main.cpp

Screen Shot 2557-03-11 at 5.29.46 PM

หลังจากนั้นกดไปที่ไฟล์ main.cpp เพื่อดู source code หลักพร้อมหน้าตา IDE ของเรากันเลย

Screen Shot 2557-03-11 at 9.39.01 PM

ถ้าสังเกตุซอร์สโค้ด จะเห็นว่าเข้าใจง่ายยยยยมาาาาาก :)))) ถ้าจะใช้งานให้กด Compile แล้ว Browser จะเจนไฟล์ .bin ออกมาให้


Screen Shot 2557-03-11 at 9.40.36 PM

ไฟล์นี้ละครับพระเอกของเรา ให้นำไปวางใส่ NUCLEO ที่ถูกมองเป็น Storage หรือ Flash drive ในตอนแรกครับ บอร์ดจะจัดการ flash firmware โดยอัตโนมัติ ถ้าวางไปแล้วไม่มีอะไรเกิดขึ้นให้ลองกด reset บอร์ดดูครับ
เท่านี้เราก็สามารถเริ่มต้นโปรเจคบน Browser online ได้แล้วแถมมี API ให้เลือกใช้ง่ายๆ ด้วยเช่น การควบคุมอะนาลอก, PWM เพื่อควบคุมมอเตอร์, RTOS เป็นต้น

บอร์ด Nucleo ยังสามารถพัฒนาผ่าน KEIL, IAR หรือ IDE ตามปกติด้วยนะครับ เรียกว่าเป็นหนึ่งบอร์ดที่น่าสนใจจริงๆ

สั่งซื้อได้เลยที่ :

http://www.deaware.com/product/stm32f411-nucleo-development-board/

 

Leave a Reply

*