找回密码
 立即注册
查看: 477|回复: 8

HANPOSE公司的20HS24两相步进电机, STC8A8K64D4芯片

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2025-02-12 11:31:19
已绑定手机

7

主题

10

回帖

81

积分

注册会员

积分
81
发表于 2024-12-1 19:03:15 | 显示全部楼层 |阅读模式
各位大佬,嵌入式新人一位,现在我在使用HANPOSE公司提供的20HS24的步进电机做项目,如下是根据原理图和步进电机写的一个简单demo,但是在将程序烧录到STC8A芯片板子里面,通过串口工具给STC8A的uart1发送指令来驱动电机的正反转,点击正转都没有90度,多点击正转90度之后,步进电机发热严重,请问大佬们帮忙看看是啥问题,非常感谢
  1. #include "config.h"
  2. #include "STC8A_Delay.h"
  3. #include "STC8A_GPIO.h"
  4. #include "Uart.h"
  5. void GPIO_timer_config() {
  6.     //P1.4/P1.5/P1.6/P1.7 推挽 B3电机
  7.     P1M0 |= 0xf0; P1M1 &= ~0xf0;
  8.     P14 = 0;P15 = 0;P16 = 0;P17 = 0;
  9. }
  10. //电机反转90度
  11. void Motor_reverse_90(){
  12.     unsigned char step;
  13.     for(step = 0;step <50; step++){
  14.         switch(step % 4){
  15.             case 0:
  16.                 P14 = 1;
  17.                 P15 = 0;
  18.                 P16 = 1;
  19.                 P17 = 0;
  20.                 break;
  21.             case 1:
  22.                 P14 = 0;
  23.                 P15 = 1;
  24.                 P16 = 1;
  25.                 P17 = 0;
  26.                 break;
  27.             case 2:
  28.                 P14 = 0;
  29.                 P15 = 1;
  30.                 P16 = 0;
  31.                 P17 = 1;
  32.                 break;
  33.             case 3:
  34.                 P14 = 1;
  35.                 P15 = 0;
  36.                 P16 = 0;
  37.                 P17 = 1;
  38.                 break;
  39.             default:
  40.                 break;
  41.         }
  42.         delay_ms(2);  // 延时,确保信号稳定
  43.     }
  44. }
  45. //电机正转90度
  46. void Motor_forward_90(){
  47.     unsigned char step;
  48.     for(step = 0;step <50; step++){
  49.         switch(step % 4){
  50.             case 0:
  51.                 P14 = 1;
  52.                 P15 = 0;
  53.                 P16 = 0;
  54.                 P17 = 1;
  55.                 break;
  56.             case 1:
  57.                 P14 = 0;
  58.                 P15 = 1;
  59.                 P16 = 0;
  60.                 P17 = 1;
  61.                 break;
  62.             case 2:
  63.                 P14 = 0;
  64.                 P15 = 1;
  65.                 P16 = 1;
  66.                 P17 = 0;
  67.                 break;
  68.             case 3:
  69.                 P14 = 1;
  70.                 P15 = 0;
  71.                 P16 = 1;
  72.                 P17 = 0;
  73.                 break;
  74.           default:
  75.                 break;
  76.         }
  77.         delay_ms(2);
  78.     }
  79. }
  80. void main(){
  81.     Uart_init();
  82.     GPIO_timer_config();
  83.     EA = 1;// 开启全局中断
  84.     printf("Init \n");
  85.     while (1) {
  86.         Uart1_recv();
  87.         if(recv_data == 1){
  88.             recv_data = 0;
  89.             Motor_reverse_90(); //反转90度
  90.         }else if(recv_data == 2){
  91.             recv_data = 0;
  92.             Motor_forward_90();//正转90度
  93.         }
  94.         delay_ms(10);
  95.         
  96.     }
  97. }
复制代码



HANPOSE公司提供的20HS24,该截图是产品说明描述

HANPOSE公司提供的20HS24,该截图是产品说明描述

步进电机连接引脚原理图

步进电机连接引脚原理图
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15630
发表于 2024-12-1 19:27:12 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:424
  • 最近打卡:2025-05-02 14:37:11
已绑定手机

77

主题

4849

回帖

8382

积分

超级版主

DebugLab

积分
8382
发表于 2024-12-1 21:49:56 | 显示全部楼层
20步进给1A电流???太大了!!!
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2025-02-12 11:31:19
已绑定手机

7

主题

10

回帖

81

积分

注册会员

积分
81
发表于 2024-12-1 22:17:11 | 显示全部楼层
神*** 发表于 2024-12-1 19:27
STC8A8K64D4-两相步进电机, 传统的CCP/PWM/PCA实现SPWM细分驱动 - BLDC/144MHz-PWM-硬件移相/45路PWM+3路 ...

感谢,我是刚入门嵌入式,有点看不太懂寄存器操作方式,所以我想请教下大佬我代码逻辑是否有问题
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2025-02-12 11:31:19
已绑定手机

7

主题

10

回帖

81

积分

注册会员

积分
81
发表于 2024-12-1 22:18:10 | 显示全部楼层
Debu*** 发表于 2024-12-1 21:49
20步进给1A电流???太大了!!!

没明白意思,求大佬指点

点评

更换这2个电阻,减小电流 [attachimg]67038[/attachimg]  详情 回复 发表于 2024-12-1 22:44
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:424
  • 最近打卡:2025-05-02 14:37:11
已绑定手机

77

主题

4849

回帖

8382

积分

超级版主

DebugLab

积分
8382
发表于 2024-12-1 22:44:04 | 显示全部楼层
果果爱*** 发表于 2024-12-1 22:18
没明白意思,求大佬指点


更换这2个电阻,减小电流
截图202412012243096569.jpg
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:514
  • 最近打卡:2025-05-02 10:18:47

24

主题

515

回帖

990

积分

荣誉版主

积分
990
发表于 2024-12-2 07:45:23 | 显示全部楼层
驱动步进电机要使用加减速算法。

点评

求大佬指导下,没有玩过步进电机  发表于 2024-12-2 08:32
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 21:04 , Processed in 0.148421 second(s), 98 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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