找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3535|回复: 2
打印 上一主题 下一主题
收起左侧

STM32倒立摆源码 步进电机控制

[复制链接]
跳转到指定楼层
楼主
倒立摆的单片机代码,步进电机等.


stm32单片机源程序:
  1. #include "main.h"
  2. /**************************************************************************
  3. 作者:Mini Balance
  4. **************************************************************************/
  5. u8 Way_Angle=1;                             //获取角度的算法,1:四元数  2:卡尔曼  3:互补滤波
  6. u8 Flag_Qian,Flag_Hou,Flag_Left,Flag_Right; //蓝牙遥控相关的变量
  7. u8 Flag_Stop=1,Flag_Show=1;                 //停止标志位和 显示标志位 默认停止 显示打开
  8. int Encoder_Left,Encoder_Right;             //左右编码器的脉冲计数
  9. int Moto1,Moto2;                            //电机PWM变量 应是Motor的 向Moto致敬        
  10. int adc;                            //显示温度
  11. int Voltage;                                //电池电压采样相关的变量
  12. float Angle_Balance,Gyro_Balance,Gyro_Turn; //平衡倾角 平衡陀螺仪 转向陀螺仪
  13. float Show_Data_Mb;                         //全局显示变量,用于显示需要查看的数据

  14. /**************************************************************************
  15. 函数功能:主函数 初始化系统和外设
  16. 作    者:Mini Balance
  17. **************************************************************************/
  18. int main(void)
  19. {
  20.         SystemInit();                   //=====系统初始化
  21.         delay_init(72);                 //=====延时函数
  22.         usart1_init();                  //=====串口1初始化 波特率:115200
  23.         uart3_init(72,9600);            //=====串口3初始化 波特率:9600
  24.         JTAG_Set(JTAG_SWD_DISABLE);     //=====关闭JTAG接口
  25.         JTAG_Set(SWD_ENABLE);           //=====打开SWD接口 可以利用主板的SWD接口调试
  26.   led_init();                     //=====LED初始化
  27.         KEY_Init();                     //=====按键初始化
  28.         Adc_Init();                            //=====初始化ADC模块
  29.         MiniBalance_PWM_Init(7199,0);   //=====初始化PWM
  30.         OLED_Init();                          //=====初始化OLED  
  31.         Encoder_Init();                 //=====初始化编码器1
  32.         delay_ms(200);                  //=====延时等待稳定               
  33.         Timer1_Init(49,7199);           //=====5MS进一次中断服务函数 中断服务函数在minibalance.c里面
  34.   while(1)
  35.   {

  36.                                         if(1==Flag_Show)                oled_show(); //===显示屏打开
  37.                                         else                      DataScope(); //===显示屏关闭 打开上位机                        
  38.         }        
  39. }

复制代码

全部资料下载地址:
STM32倒立摆源码.rar (746.09 KB, 下载次数: 85)




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:259891 发表于 2017-12-10 20:25 | 只看该作者
非常感谢你
回复

使用道具 举报

板凳
ID:260931 发表于 2017-12-13 09:19 | 只看该作者
非常感谢你
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表