【M3】特种电机课程作业:无刷直流电机驱动系统设计(含原理图、源程序、文档)

2021-11-24 16:46:36      索炜达电子      762     

项目编号:M3

文件大小:15M

源码说明:带中文注释

开发环境:C编译器

简要概述:

提供STM32 BLDC直流电机控制器原理图和相应的原代码,源代码是基于免费开源CoOS(UCOS类似)操作系统上写的,在学习无刷电机的控制,同时还能学习到操作系统的知识。同时提供用Matlab的GUI编写的串口接收程序和开源的代码,实时接收速度和电流信息,便于PID测试,并且有CAN(TJA1050)接口。同时自己可以进行修改学习Matlab的GUI编程。

1.STM32F103RB处理器 时钟72M Flash 64K RAM 20K

2.MOSFET SUD35N05-26L  55V 35A Rds=0.02

3.MOSFET驱动 IR2101S

电机参数如下:

额定电压 12V

额定电流  2.26A

额定转速  13027RPM

软件资料如下:

有无刷电机转速调节的PID程序(基于免费开源CoOS操作系统)

自己做的Matlab GUI串口PID调试程序(开源,自己可以改进)

自己以前做的STM32程序

制作出来的实物图如下:

【M3】特种电机课程作业:无刷直流电机驱动系统设计(含原理图、源程序、文档)

【M3】特种电机课程作业:无刷直流电机驱动系统设计(含原理图、源程序、文档)

无刷电机的PID调节图

【M3】特种电机课程作业:无刷直流电机驱动系统设计(含原理图、源程序、文档)

目录│文件列表:

 │ STM32 BLDC开发板简介.doc

 │ STM32 BLDC直流电机控制器原理图.pdf

 ├ 相关技术文档及其他

 │  └ 相关技术文档及其他

 │     │ BLDC.JPG

 │     │ 无刷直流(BLDC)电机基础.pdf

 │     │ 直流无刷伺服电机的DSP控制.pdf

 │     ├ Matlab的GUI串口调试助手

 │     │  │ Matlab串口的使用.doc

 │     │  └ Motor

 │     │     │ Motor.asv

 │     │     │ Motor.fig

 │     │     │ Motor.m

 │     │     └ speed.txt

 │     ├ PID学习笔记

 │     │  │ AN_SPMC75_0012.pdf

 │     │  │ 新建 文本文档.txt

 │     │  └ 无刷电机PID笔记(一).doc

 │     ├ ST关于无刷电机的解决方案

 │     │  │ STM32F10x_DSP_Lib_V2.0.0_setup.exe

 │     │  │ STM32F10x_DSP库注释.pdf

 │     │  │ STM32在马达应用.pdf

 │     │  │ STM32在马达控制中的应用.pdf

 │     │  │ STM32马达控制套件评估技术手册(第二版).pdf

 │     │  │ 基于STM32的PMSM FOC软件库(一).pdf

 │     │  │ 基于STM32的PMSM FOC软件库(三).pdf

 │     │  │ 基于STM32的PMSM FOC软件库(二).pdf

 │     │  └ 基于STM32的PMSM FOC软件库(四).pdf

 │     └ 开发板芯片资料

 │        │ irs2101s.pdf

 │        │ SP3232.pdf

 │        │ stm32f103_en.pdf

 │        │ SUD35N05_26L.pdf

 │        └ TJA1050.pdf

 └ 程序源码及使用手册

    └ 程序源码及使用手册

       ├ 开发板的程序源码及使用手册

       │  │ 使用手册.doc

       │  └ 开发板程序

       │     └ 速度环PID

       │        │ readme.txt

       │        └ BLDC

       │           │ includes.h

       │           │ JLink Regs CM3.txt

       │           │ JLinkSettings.ini

       │           │ main.c

       │           │ MCUPeriph_Init.c

       │           │ MCUPeriph_Init.h

       │           │ STM32F103RB.uvopt

       │           │ STM32F103RB.uvproj

       │           │ stm32f10x_it.c

       │           │ stm32f10x_it.h

       │           ├ cmsis

       │           │  │ core_cm3.c

       │           │  └ core_cm3.h

       │           ├ cmsis_boot

       │           │  │ stm32f10x.h

       │           │  │ stm32f10x_conf.h

       │           │  │ system_stm32f10x.c

       │           │  │ system_stm32f10x.h

       │           │  ├ arm

       │           │  │  │ startup_stm32f10x_cl.s

       │           │  │  │ startup_stm32f10x_hd.s

       │           │  │  │ startup_stm32f10x_hd_vl.s

       │           │  │  │ startup_stm32f10x_ld.s

       │           │  │  │ startup_stm32f10x_ld_vl.s

       │           │  │  │ startup_stm32f10x_md.s

       │           │  │  │ startup_stm32f10x_md_vl.s

       │           │  │  └ startup_stm32f10x_xl.s

       │           │  └ startup

       │           │     │ startup_stm32f10x_md.c

       │           │     └ startup_stm32f10x_md.s

       │           ├ CoOS

       │           │  ├ Document

       │           │  │  └ readme.txt

       │           │  ├ kernel

       │           │  │  │ coocox.h

       │           │  │  │ CoOS.h

       │           │  │  │ core.c

       │           │  │  │ event.c

       │           │  │  │ flag.c

       │           │  │  │ hook.c

       │           │  │  │ kernelHeap.c

       │           │  │  │ mbox.c

       │           │  │  │ mm.c

       │           │  │  │ mutex.c

       │           │  │  │ OsConfig.h

       │           │  │  │ OsCore.h

       │           │  │  │ OsError.h

       │           │  │  │ OsEvent.h

       │           │  │  │ OsFlag.h

       │           │  │  │ OsKernelHeap.h

       │           │  │  │ OsMM.h

       │           │  │  │ OsMutex.h

       │           │  │  │ OsQueue.h

       │           │  │  │ OsServiceReq.h

       │           │  │  │ OsTask.h

       │           │  │  │ OsTime.h

       │           │  │  │ OsTimer.h

       │           │  │  │ queue.c

       │           │  │  │ sem.c

       │           │  │  │ serviceReq.c

       │           │  │  │ task.c

       │           │  │  │ time.c

       │           │  │  │ timer.c

       │           │  │  │ utility.c

       │           │  │  └ utility.h

       │           │  └ portable

       │           │     │ arch.c

       │           │     │ OsArch.h

       │           │     ├ GCC

       │           │     │  └ port.c

       │           │     ├ IAR

       │           │     │  │ portForM0.asm

       │           │     │  └ portForM3.asm

       │           │     └ Keil

       │           │        └ port.c

       │           ├ Drive

       │           │  ├ ADC

       │           │  │  ├ inc

       │           │  │  │  └ ADC.h

       │           │  │  └ src

       │           │  │     └ ADC.c

       │           │  ├ BLDC

       │           │  │  ├ inc

       │           │  │  │  └ BLDC.h

       │           │  │  └ src

       │           │  │     └ BLDC.c

       │           │  ├ BLUETOOTH

       │           │  │  ├ inc

       │           │  │  │  └ BLUETOOTH.h

       │           │  │  └ src

       │           │  │     └ BLUETOOTH.c

       │           │  ├ CAN

       │           │  │  └ CAN1

       │           │  │     ├ inc

       │           │  │     │  └ CAN1.h

       │           │  │     └ src

TAG无刷直流电机
  • 2 次
  • 40 分