【E1021】STM32闭环步进电机驱动程序以及Proteus仿真

2021-09-10 19:18:43      索炜达电子      2211     

项目编号:E1021

文件大小:9.2M

源码说明:带中文注释

开发环境:C编译器

简要概述:

(1) 掌握基于 PROTEUS 和 KEIL 的仿真调试方法。

(2) 掌握 uCOS-II 的移植,并采用多任务编程、调试。

(3) 熟悉电机的工作原理和功能,并掌握电机的应用和驱动方法。

内容

(1) 基本功能:本任务通过输出脉冲控制步进电机的停止、运动、方向。使用 两个按键分别控制步进电机的正转和反转,再次按下这两个按键,步进电机停止, 同时 LCD 显示电机状态信息。

(2) 扩展功能:加入一个转速阈值设置功能,由电位器充当阈值设置器,可设 置目标转速并使电机接近设置的转速。

系统硬件设计

总体框架设计

【E1021】STM32闭环步进电机驱动程序以及Proteus仿真

硬件原理图

【E1021】STM32闭环步进电机驱动程序以及Proteus仿真

【E1021】STM32闭环步进电机驱动程序以及Proteus仿真

【E1021】STM32闭环步进电机驱动程序以及Proteus仿真

【E1021】STM32闭环步进电机驱动程序以及Proteus仿真

【E1021】STM32闭环步进电机驱动程序以及Proteus仿真

目录│文件列表:

 │ 电机转速检测系统设计与实现v2.0.pdf

 ├ Proteus

 │  └ Proteus

 │     │ Backup Of BLDC.pdsbak

 │     │ BLDC.pdsprj

 │     │ BLDC.pdsprj.DESKTOP-4JFGV7C.Administrator.workspace

 │     │ BLDC.pdsprj.DESKTOP-B01EQSC.xuhe.workspace

 │     │ Last Loaded BLDC.pdsbak

 │     │ uCos_ii_Demo.hex

 │     └ uCos_ii_Demo.hex.asm

 └ uCos_ii_Demo

    │ .mxproject

    │ uCos_ii_Demo.ioc

    ├ Drivers

    │  ├ CMSIS

    │  │  ├ Core

    │  │  │  ├ Include

    │  │  │  │  │ cmsis_armcc.h

    │  │  │  │  │ cmsis_armclang.h

    │  │  │  │  │ cmsis_compiler.h

    │  │  │  │  │ cmsis_gcc.h

    │  │  │  │  │ cmsis_iccarm.h

    │  │  │  │  │ cmsis_version.h

    │  │  │  │  │ core_armv8mbl.h

    │  │  │  │  │ core_armv8mml.h

    │  │  │  │  │ core_cm0.h

    │  │  │  │  │ core_cm0plus.h

    │  │  │  │  │ core_cm1.h

    │  │  │  │  │ core_cm23.h

    │  │  │  │  │ core_cm3.h

    │  │  │  │  │ core_cm33.h

    │  │  │  │  │ core_cm4.h

    │  │  │  │  │ core_cm7.h

    │  │  │  │  │ core_sc000.h

    │  │  │  │  │ core_sc300.h

    │  │  │  │  │ mpu_armv7.h

    │  │  │  │  │ mpu_armv8.h

    │  │  │  │  └ tz_context.h

    │  │  │  └ Template

    │  │  │     └ ARMv8-M

    │  │  │        │ main_s.c

    │  │  │        └ tz_context.c

    │  │  ├ Core_A

    │  │  │  ├ Include

    │  │  │  │  │ cmsis_armcc.h

    │  │  │  │  │ cmsis_armclang.h

    │  │  │  │  │ cmsis_compiler.h

    │  │  │  │  │ cmsis_cp15.h

    │  │  │  │  │ cmsis_gcc.h

    │  │  │  │  │ cmsis_iccarm.h

    │  │  │  │  │ core_ca.h

    │  │  │  │  └ irq_ctrl.h

    │  │  │  └ Source

    │  │  │     └ irq_ctrl_gic.c

    │  │  ├ Device

    │  │  │  └ ST

    │  │  │     └ STM32F1xx

    │  │  │        ├ Include

    │  │  │        │  │ stm32f100xb.h

    │  │  │        │  │ stm32f100xe.h

    │  │  │        │  │ stm32f101x6.h

    │  │  │        │  │ stm32f101xb.h

    │  │  │        │  │ stm32f101xe.h

    │  │  │        │  │ stm32f101xg.h

    │  │  │        │  │ stm32f102x6.h

    │  │  │        │  │ stm32f102xb.h

    │  │  │        │  │ stm32f103x6.h

    │  │  │        │  │ stm32f103xb.h

    │  │  │        │  │ stm32f103xe.h

    │  │  │        │  │ stm32f103xg.h

    │  │  │        │  │ stm32f105xc.h

    │  │  │        │  │ stm32f107xc.h

    │  │  │        │  │ stm32f1xx.h

    │  │  │        │  └ system_stm32f1xx.h

    │  │  │        └ Source

    │  │  │           └ Templates

    │  │  │              │ system_stm32f1xx.c

    │  │  │              ├ arm

    │  │  │              │  │ startup_stm32f100xb.s

    │  │  │              │  │ startup_stm32f100xe.s

    │  │  │              │  │ startup_stm32f101x6.s

    │  │  │              │  │ startup_stm32f101xb.s

    │  │  │              │  │ startup_stm32f101xe.s

    │  │  │              │  │ startup_stm32f101xg.s

    │  │  │              │  │ startup_stm32f102x6.s

    │  │  │              │  │ startup_stm32f102xb.s

    │  │  │              │  │ startup_stm32f103x6.s

    │  │  │              │  │ startup_stm32f103xb.s

    │  │  │              │  │ startup_stm32f103xe.s

    │  │  │              │  │ startup_stm32f103xg.s

    │  │  │              │  │ startup_stm32f105xc.s

    │  │  │              │  └ startup_stm32f107xc.s

    │  │  │              ├ gcc

    │  │  │              │  │ startup_stm32f100xb.s

    │  │  │              │  │ startup_stm32f100xe.s

    │  │  │              │  │ startup_stm32f101x6.s

    │  │  │              │  │ startup_stm32f101xb.s

    │  │  │              │  │ startup_stm32f101xe.s

    │  │  │              │  │ startup_stm32f101xg.s

    │  │  │              │  │ startup_stm32f102x6.s

    │  │  │              │  │ startup_stm32f102xb.s

    │  │  │              │  │ startup_stm32f103x6.s

    │  │  │              │  │ startup_stm32f103xb.s

    │  │  │              │  │ startup_stm32f103xe.s

    │  │  │              │  │ startup_stm32f103xg.s

    │  │  │              │  │ startup_stm32f105xc.s

    │  │  │              │  └ startup_stm32f107xc.s

    │  │  │              └ iar

    │  │  │                 │ startup_stm32f100xb.s

    │  │  │                 │ startup_stm32f100xe.s

    │  │  │                 │ startup_stm32f101x6.s

    │  │  │                 │ startup_stm32f101xb.s

    │  │  │                 │ startup_stm32f101xe.s

    │  │  │                 │ startup_stm32f101xg.s

    │  │  │                 │ startup_stm32f102x6.s

    │  │  │                 │ startup_stm32f102xb.s

    │  │  │                 │ startup_stm32f103x6.s

    │  │  │                 │ startup_stm32f103xb.s

    │  │  │                 │ startup_stm32f103xe.s

    │  │  │                 │ startup_stm32f103xg.s

    │  │  │                 │ startup_stm32f105xc.s

    │  │  │                 │ startup_stm32f107xc.s

    │  │  │                 └ linker

    │  │  │                    │ stm32f100xb_flash.icf

    │  │  │                    │ stm32f100xb_sram.icf

    │  │  │                    │ stm32f100xe_flash.icf

    │  │  │                    │ stm32f100xe_sram.icf

    │  │  │                    │ stm32f101x6_flash.icf

    │  │  │                    │ stm32f101x6_sram.icf

    │  │  │                    │ stm32f101xb_flash.icf

    │  │  │                    │ stm32f101xb_sram.icf

    │  │  │                    │ stm32f101xe_flash.icf

    │  │  │                    │ stm32f101xe_sram.icf

    │  │  │                    │ stm32f101xg_flash.icf

    │  │  │                    │ stm32f101xg_sram.icf

    │  │  │                    │ stm32f102x6_flash.icf

    │  │  │                    │ stm32f102x6_sram.icf

    │  │  │                    │ stm32f102xb_flash.icf

    │  │  │                    │ stm32f102xb_sram.icf

    │  │  │                    │ stm32f103x6_flash.icf

    │  │  │                    │ stm32f103x6_sram.icf

    │  │  │                    │ stm32f103xb_flash.icf

    │  │  │                    │ stm32f103xb_sram.icf

    │  │  │                    │ stm32f103xe_flash.icf

    │  │  │                    │ stm32f103xe_sram.icf

    │  │  │                    │ stm32f103xg_flash.icf

    │  │  │                    │ stm32f103xg_sram.icf

    │  │  │                    │ stm32f105xc_flash.icf

    │  │  │                    │ stm32f105xc_sram.icf

    │  │  │                    │ stm32f107xc_flash.icf

    │  │  │                    └ stm32f107xc_sram.icf

    │  │  ├ DSP

    │  │  │  ├ DSP_Lib_TestSuite

    │  │  │  │  ├ Common

    │  │  │  │  │  ├ inc

    │  │  │  │  │  │  │ all_tests.h

    │  │  │  │  │  │  │ math_helper.h

    │  │  │  │  │  │  │ type_abbrev.h

    │  │  │  │  │  │  ├ basic_math_tests

    │  │  │  │  │  │  │  │ basic_math_templates.h

    │  │  │  │  │  │  │  │ basic_math_tests.h

    │  │  │  │  │  │  │  │ basic_math_test_data.h

    │  │  │  │  │  │  │  └ basic_math_test_group.h

    │  │  │  │  │  │  ├ complex_math_tests

    │  │  │  │  │  │  │  │ complex_math_templates.h

    │  │  │  │  │  │  │  │ complex_math_tests.h

    │  │  │  │  │  │  │  │ complex_math_test_data.h

    │  │  │  │  │  │  │  └ complex_math_test_group.h

    │  │  │  │  │  │  ├ controller_tests

    │  │  │  │  │  │  │  │ controller_templates.h

    │  │  │  │  │  │  │  │ controller_tests.h

    │  │  │  │  │  │  │  │ controller_test_data.h

    │  │  │  │  │  │  │  └ controller_test_group.h

    │  │  │  │  │  │  ├ fast_math_tests

    │  │  │  │  │  │  │  │ fast_math_templates.h

    │  │  │  │  │  │  │  │ fast_math_test_data.h

    │  │  │  │  │  │  │  └ fast_math_test_group.h

    │  │  │  │  │  │  ├ filtering_tests

    │  │  │  │  │  │  │  │ filtering_templates.h

    │  │  │  │  │  │  │  │ filtering_tests.h

    │  │  │  │  │  │  │  │ filtering_test_data.h

    │  │  │  │  │  │  │  └ filtering_test_group.h

    │  │  │  │  │  │  ├ intrinsics_tests

    │  │  │  │  │  │  │  │ intrinsics_templates.h

    │  │  │  │  │  │  │  │ intrinsics_test_data.h

    │  │  │  │  │  │  │  └ intrinsics_test_group.h

    │  │  │  │  │  │  ├ matrix_tests

    │  │  │  │  │  │  │  │ matrix_templates.h

    │  │  │  │  │  │  │  │ matrix_tests.h

    │  │  │  │  │  │  │  │ matrix_test_data.h

    │  │  │  │  │  │  │  └ matrix_test_group.h

    │  │  │  │  │  │  ├ statistics_tests

    │  │  │  │  │  │  │  │ statistics_templates.h

    │  │  │  │  │  │  │  │ statistics_tests.h

    │  │  │  │  │  │  │  │ statistics_test_data.h

    │  │  │  │  │  │  │  └ statistics_test_group.h

    │  │  │  │  │  │  ├ support_tests

    │  │  │  │  │  │  │  │ support_templates.h

    │  │  │  │  │  │  │  │ support_tests.h

    │  │  │  │  │  │  │  │ support_test_data.h

    │  │  │  │  │  │  │  └ support_test_group.h

    │  │  │  │  │  │  ├ templates

    │  │  │  │  │  │  │  │ template.h

    │  │  │  │  │  │  │  └ test_templates.h

    │  │  │  │  │  │  └ transform_tests

    │  │  │  │  │  │     │ transform_templates.h

    │  │  │  │  │  │     │ transform_tests.h

    │  │  │  │  │  │     │ transform_test_data.h

    │  │  │  │  │  │     └ transform_test_group.h

    │  │  │  │  │  ├ JTest

    │  │  │  │  │  │  ├ inc

    │  │  │  │  │  │  │  │ jtest.h

    │  │  │  │  │  │  │  │ jtest_cycle.h

    │  │  │  │  │  │  │  │ jtest_define.h

    │  │  │  │  │  │  │  │ jtest_fw.h

    │  │  │  │  │  │  │  │ jtest_group.h

    │  │  │  │  │  │  │  │ jtest_group_call.h

    │  │  │  │  │  │  │  │ jtest_group_define.h

TAG步进电机
  • 41 次
  • 1 分