ماژول ®ProMake ProMake STM32 Nano
توصیف
آردوینو نانو به عنوان یکی از کوچکترین بردهای میکروکنترلر هست که پس از موفقیت برد آردوینو Uno بزرگتر معرفی شده است. برد آردوینو نانو به دلیل اندازه کوچکش جزء ایده آلی برای پروژه های کوچک دستگاه های الکترونیکی است، علاوه بر این، می توان از آن برای ایجاد پروژه های جالب IOT و مدارات خانگی نیز استفاده کرد. برای این منظور، نانو بردها به عنوان یک ابزار عالی برای مبتدیان در برنامه نویسی سیستم های امبد و همچنین برای برنامه نویسان با تجربه قابل استفاده هستند. برد آردوینو نانو به دلیل سادگی استفاده، سازگاری و تطبیق پذیری محبوبیت پیدا کرده است. هم توسط آماتورها و هم حرفه ای ها تقدیر می شود، یک ابزار عالی برای کار بر روی پروژه های جالب و توسعه همکاری است.
در نتیجه این محبوبیت، برد ProMake STM32 Nano بر اساس سری میکروکنترلرهای معروف STM32 معرفی شده است که به کاربران کمک می کند تا طرح هایی با کارایی بالا و کم مصرف در برنامه های مختلف به ویژه در IOT ایجاد کنند.
این برد توسعه فشرده STM32L0 می تواند به خوبی در پروژه های شما قرار بگیرد. این برد با دارا بودن تراشه STM32L053C8T دارای 64 کیلوبایت حافظه رام، 20 کیلوبایت SRAM و با فرکانس 32 مگاهرتز کار می کند و با آردوینو نانو در نقشه پینها و اندازهها کاملا سازگار است.
این برد دارای یک کانکتور Type-C و یک رگولاتور 3.3 ولت 1000 میلی آمپر LDO است. همچنین یک دیود به صورت سری وصل شده است تا از برگشت ولتاژ جلوگیری کند.
رابط USB-C مدرن، برنامهنویسی را در Arduino IDE آسان میکند، اما برای کاربران پیشرفتهتری که ترجیح میدهند از قدرت و سرعت ابزارهای حرفهای استفاده کنند، ما کانکتور JTAG را نیز در نظر گرفتهایم.
با کارایی و قابلیت بالا، یک انتخاب ایده آل برای پروژه اینترنت اشیا شما است.
هر دو کریستال پرسرعت 25 مگاهرتز 9pF و 32.768 کیلوهرتز 6Pf سرعت کم در برد وجود دارد.
قابلیتها
- دارای پردازنده هسته کم مصرف STM32L053C8T (بسته 48 پین)
- کریستال پرسرعت 25 مگاهرتز و کریستال کم سرعت 32.768 کیلوهرتز 6pF
- دکمه تنظیم مجدد(ریست)، دکمه BOOT0
- LED های کاربر(قابل برنامه نویسی) و تغذیه
- از جدیدترین تراشه اصلی ST ، نوسان ساز کریستالی با کیفیت بالا استفاده کنید
- توسعه با استفاده از "Arduino IDE" به لطف پروژه STM32duino
- توسعه با استفاده از "STM32Cube IDE" با کتابخانه ها و نمونه های نرم افزار رایگان جامع
- USB Type-C برای برنامه نویسی و تغذیه
- رابط برنامه نویس SWD
- امکان انتخاب های منبع تغذیه: USB VBUS، باتری یا منبع تغذیه خارجی (5v)
- مناسب برای برد آموزشی
مشخصات
- میکروکنترلر: STM32L0
- سرعت کلاک: 32 مگاهرتز
- بوت لودر: ?
- منبع DC: منبع تغذیه USB یا خارجی 5 ولت DC
- سازگار با نگاشت پین نانو آردوینو
- پین ورودی/خروجی دیجیتال: 22
- پین ورودی آنالوگ: 8 (مالتی پلکس)
- وقفه خارجی: 22 (D0~D21)
-
اینترفیس I2C/IWC : 18 (SDA پیشفرض)، 19 (پیشفرض SCL)
-
حافظه SRAM: 20 کیلو بایت
- حافظه فلش: 64 کیلو بایت
-: SPI
- SPI 12 (MISO)، 11 (MOSI)، 13 (SCK)
- پورت سریال: 1 (Serial1)
- سریال 1 0 (Rx1) و 1 (Tx1)
لیست بسته بندی
- برد توسعه STM32L0 x1
- پین مستقیم 20 پین x2
- پین عمود 4 پین x1
نکات مهم
- برای برنامه نویسی تراشه STM32 به برنامه نویس ST-Link یا ابزار مورد علاقه دیگر خود نیاز دارید.
- ممکن است برای استفاده از مانیتور سریال نیاز به نصب [STM32 Virtual COM Port Driver] (https://www.st.com/en/development-tools/stsw-stm32102.html) داشته باشید.
- برخی از کتابخانه های آردوینو ممکن است با پلتفرم STM32 کار نکنند و ممکن است نیاز به پچ کردن داشته باشند.
منابع
شماتیک برد
نرم افزار
اتصال به آردینیو IDE
ابتدا باید STM32duino را با استفاده از https://github.com/stm32duino/wiki/wiki/Getting-Started نصب کنید.
با نصب هسته stm32 و به لطف 'Boards Manager'، بسته باز شده در اینجا قرار دارد:
به دایرکتوری محلی آردوینو بروید. (موقعیت مکانی در منوی "Preferences" نمایش داده می شود.)
باید باشد:
/home/\<USERNAME\>/.arduino15/
(Linux)/Users/\<USERNAME\>/Library/Arduino15/
(Mac)c:\Users\\<USERNAME\>\AppData\Local\Arduino15\
(Windows 10, Windows 7)c:\Users\\<USERNAME\>\AppData\Roaming\Arduino15\
(Windows Vista)c:\Documents and Settings\\<USERNAME\>\Application Data\Arduino15\
(Windows XP)
سپس، به دایرکتوری «
اگر از IDE قابل حمل همانطور که در اینجا توضیح داده شده استفاده می کنید، این محل در دایرکتوری نصب آردوینو شما قرار دارد:
\<مسیر نصب Arduino IDE\>/portable/
(Linux/Mac)\<مسیر نصب Arduino IDE\>\portable\
(ویندوز)
فایل «boards.txt» را باز کنید و متن زیر را به آن اضافه کنید:
################################################################################
# EZ IOT boards
EZIOT.name=EZ IoT boards
EZIOT.build.core=arduino
EZIOT.build.board=EZ32duino
EZIOT.build.variant_h=variant_{build.board}.h
EZIOT.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial}
# EZ32duino board
EZIOT.menu.pnum.EZ32duino=EZ IoT STM32duino
EZIOT.menu.pnum.EZ32duino.upload.maximum_size=65536
EZIOT.menu.pnum.EZ32duino.upload.maximum_data_size=8192
EZIOT.menu.pnum.EZ32duino.build.mcu=cortex-m0plus
EZIOT.menu.pnum.EZ32duino.build.board=EZ32duino
EZIOT.menu.pnum.EZ32duino.build.series=STM32L0xx
EZIOT.menu.pnum.EZ32duino.build.product_line=STM32L053xx
EZIOT.menu.pnum.EZ32duino.build.variant=STM32L0xx/L052C(6-8)(T-U)_L053C(6-8)(T-U)_L062C8U_L063C8(T-U)
EZIOT.menu.pnum.EZ32duino.build.peripheral_pins=-DCUSTOM_PERIPHERAL_PINS
EZIOT.menu.pnum.EZ32duino.build.cmsis_lib_gcc=arm_cortexM0l_math
EZIOT.menu.pnum.EZ32duino.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial} -D__CORTEX_SC=0
# Upload menu
EZIOT.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD)
EZIOT.menu.upload_method.swdMethod.upload.protocol=0
EZIOT.menu.upload_method.swdMethod.upload.options=-g
EZIOT.menu.upload_method.swdMethod.upload.tool=stm32CubeProg
EZIOT.menu.upload_method.serialMethod=STM32CubeProgrammer (Serial)
EZIOT.menu.upload_method.serialMethod.upload.protocol=1
EZIOT.menu.upload_method.serialMethod.upload.options={serial.port.file} -s
EZIOT.menu.upload_method.serialMethod.upload.tool=stm32CubeProg
EZIOT.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU)
EZIOT.menu.upload_method.dfuMethod.upload.protocol=2
EZIOT.menu.upload_method.dfuMethod.upload.options=-g
EZIOT.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
EZIOT.menu.xserial.generic=Enabled (generic 'Serial')
EZIOT.menu.xserial.none=Enabled (no generic 'Serial')
EZIOT.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE
EZIOT.menu.xserial.disabled=Disabled (no Serial support)
EZIOT.menu.xserial.disabled.build.xSerial=
EZIOT.menu.usb.none=None
EZIOT.menu.usb.CDCgen=CDC (generic 'Serial' supersede U(S)ART)
EZIOT.menu.usb.CDCgen.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC
EZIOT.menu.usb.CDC=CDC (no generic 'Serial')
EZIOT.menu.usb.CDC.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB
EZIOT.menu.usb.HID=HID (keyboard and mouse)
EZIOT.menu.usb.HID.build.enable_usb={build.usb_flags} -DUSBD_USE_HID_COMPOSITE
EZIOT.menu.xusb.FS=Low/Full Speed
EZIOT.menu.xusb.HS=High Speed
EZIOT.menu.xusb.HS.build.usb_speed=-DUSE_USB_HS
EZIOT.menu.xusb.HSFS=High Speed in Full Speed mode
EZIOT.menu.xusb.HSFS.build.usb_speed=-DUSE_USB_HS -DUSE_USB_HS_IN_FS
EZIOT.menu.opt.osstd=Smallest (-Os default)
EZIOT.menu.opt.oslto=Smallest (-Os) with LTO
EZIOT.menu.opt.oslto.build.flags.optimize=-Os -flto
EZIOT.menu.opt.o1std=Fast (-O1)
EZIOT.menu.opt.o1std.build.flags.optimize=-O1
EZIOT.menu.opt.o1lto=Fast (-O1) with LTO
EZIOT.menu.opt.o1lto.build.flags.optimize=-O1 -flto
EZIOT.menu.opt.o2std=Faster (-O2)
EZIOT.menu.opt.o2std.build.flags.optimize=-O2
EZIOT.menu.opt.o2lto=Faster (-O2) with LTO
EZIOT.menu.opt.o2lto.build.flags.optimize=-O2 -flto
EZIOT.menu.opt.o3std=Fastest (-O3)
EZIOT.menu.opt.o3std.build.flags.optimize=-O3
EZIOT.menu.opt.o3lto=Fastest (-O3) with LTO
EZIOT.menu.opt.o3lto.build.flags.optimize=-O3 -flto
EZIOT.menu.opt.ogstd=Debug (-g)
EZIOT.menu.opt.ogstd.build.flags.optimize=-g -Og
EZIOT.menu.rtlib.nano=Newlib Nano (default)
EZIOT.menu.rtlib.nanofp=Newlib Nano + Float Printf
EZIOT.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float
EZIOT.menu.rtlib.nanofs=Newlib Nano + Float Scanf
EZIOT.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float
EZIOT.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf
EZIOT.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float
EZIOT.menu.rtlib.full=Newlib Standard
EZIOT.menu.rtlib.full.build.flags.ldspecs=
اکنون به پوشه Variants\STM32L0xx\L052C(6-8)(T-U)_L053C(6-8)(T-U)_L062C8U_L063C8(T-U)
بروید.
ldscript.ld
را در پوشه variant کپی کنید.PeripheralPins_EZ32duino.c
را در پوشه نوع کپی کنید.variant_EZ32duino.h
را در پوشه variant کپی کنید.variant_EZ32duino.cpp
را در پوشه variant کپی کنید.
اجرای تست ها و مثال ها
برای آشنایی بیشتر با STM32duino و اطمینان از انجام کامل فرآیند پورت کردن، آزمایشها و مثالها را در https://github.com/stm32duino/STM32Examples اجرا کنید.