holts2的KL25开源项目进行中 --- 电机转速显示控制板

2020-02-19 20:52发布



一直想DIY台小铣,主轴电机选用无刷电机,通过同步轮带无动力主轴,为了直观的显示电机的转速,准备做个电机转速控制板,板上有两个轻触按键,一个调高转速,一个调低转速,每按一次,转速按50转的步进值增加或减小,长按则连续递增或递减,显示使用黑白液晶显示屏。

项目的整体结构如图所示:


disp.jpg (106.21 KB, 下载次数: 0) 下载附件 2014-12-30 21:39 上传


成本估算:240 元

显示 25
打板 50
KL25小板+书  165


预计完成的时间: 2015/2/10


声明版权属于本人所有,作品授权发布在阿莫网站上,阿莫网站和飞思卡尔拥有资料的发布权和使用权。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
92条回答
holts2
1楼-- · 2020-02-24 00:52
 精彩回答 2  元偷偷看……
holts2
2楼-- · 2020-02-24 05:19
这两天看了下苏大的资料,开始写一点代码,首先根据我的项目需求,我需要定义两个按键:



  1. //============================================================================
  2. //文件名称:key.h
  3. //功能概要:按键构件头文件
  4. //版权所有:holts
  5. //更新记录:2015-01-07   V1.0
  6. //============================================================================

  7. #ifndef _KEY_H     //防止重复定义(_KEY_H  开头)
  8. #define _KEY_H

  9. //头文件包含
  10. #include "common.h"    //包含公共要素头文件
  11. #include "gpio.h"      //用到gpio构件

  12. //按键端口及引脚定义
  13. #define KEY_UP       (PORTB|1)    //增加转速按键使用的端口/引脚
  14. #define KEY_DOWN     (PORTB|2)    //减少转速按键使用的端口/引脚


  15. //=================接口函数声明===============================================
  16. //============================================================================
  17. //函数名称:key_init
  18. //函数参数:port_pin:(端口号)|(引脚号)(如:(PORTB)|(1) 表示为B口1号脚)
  19. //函数返回:无
  20. //功能概要:按键驱动初始化。
  21. //============================================================================
  22. void key_init(uint_16 port_pin);

  23. //============================================================================
  24. //函数名称:key_read
  25. //函数参数:port_pin:(端口号)|(引脚号)(如:(PORTB)|(1) 表示为B口1号脚)
  26. //函数返回:无
  27. //功能概要:按键读取。
  28. //============================================================================
  29. void key_read(uint_16 port_pin);

  30. //============================================================================
  31. //函数名称:key_done
  32. //函数参数:port_pin:(端口号)|(引脚号)(如:(PORTB)|(1) 表示为B口1号脚)
  33. //函数返回:无
  34. //功能概要:按键处理。
  35. //============================================================================
  36. void key_done(uint_16 port_pin);

  37. #endif    //防止重复定义(_KEY_H结尾)

  38. //===========================================================================


复制代码
zndz410
3楼-- · 2020-02-24 08:09
看楼主的项目直播来了,关注中。。。。
LK9286
4楼-- · 2020-02-24 09:15
收藏下,关注
holts2
5楼-- · 2020-02-24 10:12
接下来会用到哪些系统资源 ?

Key我们在前面已经定义了,Systick 肯定会用到的,pwm 也会用到,当然还会用到LCD,但刚开始时为了简单,先不接LCD,所以先用系统的light 标示操作的回应,还需要限制电机的转速范围为 500 - 2500, 所以看起来我们应该 这样


  1. //============================================================================
  2. //文件名称:includes.h
  3. //功能概要:工程总头文件
  4. //版权所有:holts
  5. //版本更新:2015-01-08  V1.0
  6. //============================================================================

  7. #ifndef _INCLUDES_H  //防止重复定义(开头)
  8. #define _INCLUDES_H

  9. //包含使用到的构件头文件
  10. #include "common.h"
  11. #include "systick.h"
  12. #include "gpio.h"
  13. #include "pwm.h"
  14. #include "light.h"
  15. #include "key.h"

  16. //定义全局变量


  17. //宏常数
  18. #define RUN_COUNTER_MAX   1500000ul   //小灯闪烁频率

  19. #define MAX_SPEED    2500  //最高转速
  20. #define MIN_SPEED    500   //最低转速

  21. #endif              //防止重复定义(结尾)

复制代码
holts2
6楼-- · 2020-02-24 12:32
 精彩回答 2  元偷偷看……

一周热门 更多>