找回密码
 立即注册

QQ登录

只需一步,快速开始

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

磁悬浮装置设计 项目包含实现单片机源码、原理图、PCB、3D模型

[复制链接]
跳转到指定楼层
楼主
软件:磁悬浮功能实现的主要代码与STM32F103CBT6可执行文件 电路:原理图与PCB文件 模型:3D模型文件与3D打印机可执行文件

1.霍尔传感器中,立插式的使用的是DRV5053VAQLPG / TO-92S,卧贴式的使用的是DRV5053VAQDBZR / SOT-23,原理图和PCB中霍尔传感器显示的是HX6286UA,实际并没有使用HX6286UA,只是使用了HX6286UA的封装。
2.立插式的霍尔传感器焊接高度,尽量在电磁线圈的中间高度,可以尽可能减小电磁线圈对霍尔传感器的影响。

本代码根据RT-Thread操作系统风格编写,可直接移植到RT-Thread工程上,使用的RT-Thread操作系统的dsp工程涉及到一些不便透露的内容,所以就没有附带开源,这里深感抱歉。我将磁悬浮功能实现的源码公开,相信作为资深工程师或者未来将成为资深工程师的你,一定可以理解代码内容并移植到其他的工程上。

magnetic_levitation.c:磁悬浮功能实现,对GPIO、ADC、PWM、UART、TIMER外设的初始化,电磁线圈驱动函数实现,以及PID控制实现,重要数据的打印和vofa建图数据输出。
magnetic_levitation.h:GPIO、ADC、PWM、UART、TIMER等外设的宏定义和各类参数的宏定义。
main.c:LED灯驱动。

Altium Designer画的原理图和PCB图如下:(51hei附件中可下载工程文件)




STM32单片机源程序如下:
  1. #include <board.h>
  2. #include "usrdef.h"
  3. #include "app_version.h"
  4. #include "git_version.h"
  5. #include "sys_gpio.h"
  6. #include "sys_dev.h"


  7. #define LED    GPIO_GET_PIN(C, 13)


  8. static int ota_app_vtor_reconfig(void)
  9. {
  10.     SCB->VTOR = (uint32_t)((uint32_t)0x08000000 | ((uint32_t)0x5000 & (uint32_t)0x1FFFFF80));
  11.     return 0;
  12. }
  13. //INIT_BOARD_EXPORT(ota_app_vtor_reconfig);


  14. static void LED_Init(void)
  15. {
  16.         gpio_pin_mode(LED, PIN_MODE_OUTPUT);
  17.         gpio_pin_write(LED, PIN_LOW);
  18. }


  19. int main(void)
  20. {
  21.         uint8_t led_state = 0;
  22.     uint64_t led_timeout = sys_absolute_time();
  23.         LED_Init();

  24.         while(1)
  25.         {
  26.                 if(sys_elapsed_time(led_timeout) > 100000)
  27.         {
  28.             led_timeout = sys_absolute_time();

  29.             if(led_state == 0)
  30.             {
  31.                 gpio_pin_write(LED, PIN_LOW);
  32.             }
  33.             else
  34.             {
  35.                 gpio_pin_write(LED, PIN_HIGH);
  36.             }

  37.             led_state = ~led_state;
  38.         }
  39.                 task_delay_ms(50);
  40.         }
  41. }
复制代码

下载: magnetic-levitation-main.7z (14.45 MB, 下载次数: 0)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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