holts2的KL25开源项目进行中 --- 电机转速显示控制板
一直想DIY台小铣,主轴电机选用无刷电机,通过同步轮带无动力主轴,为了直观的显示电机的转速,准备做个电机转速控制板,板上有两个轻触按键,一个调高转速,一个调低转速,每按一次,转速按50转的步进值增加或减小,长按则连续递增或递减,显示使用黑白液晶显示屏。
项目的整体结构如图所示:
显示部分如下图所示:
成本估算:240 元
显示 25
打板 50
KL25小板+书165
预计完成的时间: 2015/2/10
声明版权属于本人所有,作品授权发布在阿莫网站上,阿莫网站和飞思卡尔拥有资料的发布权和使用权。 支持一个 主动铣还是?? 这个无刷电机的驱动也是自己搞定的吧 wxfje 发表于 2014-12-30 22:00
这个无刷电机的驱动也是自己搞定的吧
不包括驱动,驱动买成品 holts2 发表于 2014-12-30 22:02
不包括驱动,驱动买成品
LZ的驱动板哪个买的? fengyunyu 发表于 2014-12-30 22:18
LZ的驱动板哪个买的?
和电机一起买的,电机带驱动板 Q1电路有点不明白 holts2 发表于 2014-12-30 22:02
不包括驱动,驱动买成品
那相对来说容易些
期待楼主的作品 swap2013 发表于 2014-12-31 07:30
Q1电路有点不明白
确实没看明白楼主Q1那部分电路的用意 swap2013 发表于 2014-12-31 07:30
Q1电路有点不明白
Q1是背光控制,还在考滤要不要 wxfje 发表于 2014-12-31 07:37
确实没看明白楼主Q1那部分电路的用意
初步设想从基极引出,接外接电位器控制亮度,看情况有没必要再说吧 不错,加油,坐等最终成品 应该难度不大,期待楼主的作品 honeybear 发表于 2014-12-31 13:22
应该难度不大,期待楼主的作品
看起来 是简单,就一个显示呗 楼主只给出了电源部分和LCD显示部分 电机控制板驱动部分没有给出 子鱼 发表于 2014-12-31 14:01
楼主只给出了电源部分和LCD显示部分 电机控制板驱动部分没有给出
电机控制驱动不包括在项目,只是个显示而与 楼主前期做的比较多 比如选择使用的LCD屏、按键、电机控制板。期待楼主的作品 子鱼 发表于 2014-12-31 14:05
楼主前期做的比较多 比如选择使用的LCD屏、按键、电机控制板。期待楼主的作品...
前期的都是买的成品,没做什么 armok 发表于 2014-12-31 19:17
你的开发套件已经寄出,申通:768996925969
支付运费我们已经支付,广东省内1-2天到,省外3-5天到。
好的,谢谢 1、小铣是啥。。楼主可否解释一下。。
2、那个战速是怎么测试。看楼主按键一下。可是实现50转的步进。。那个1转的步进是什么决定的呢。。。 本帖最后由 holts2 于 2014-12-31 22:04 编辑
彼岸花开@ 发表于 2014-12-31 21:57
1、小铣是啥。。楼主可否解释一下。。
2、那个战速是怎么测试。看楼主按键一下。可是实现50转的步进。。那 ...
这个就是想做的小铣
http://www.amobbs.com/thread-5600324-1-1.html
转速就是设个变量,按一下加50,按两下加100 ………………
啥1转,在我这里直接忽略不记 holts2 发表于 2014-12-31 22:02
这个就是想做的小铣
http://www.amobbs.com/thread-5600324-1-1.html
这个比较实用~ 很好的设计 ,如何测电机的转速 ,用码盘嘛 javabean 发表于 2014-12-31 23:22
这个比较实用~
哪个是大工程了,后期投入吧 franki 发表于 2014-12-31 23:22
很好的设计 ,如何测电机的转速 ,用码盘嘛
有码盘成本就上去了, 主轴电机转速不需要精准,有个大概就可以了, 所以这里的转速不是闭环控制的概念,取其简单,够用就好
板子收到了 holts2 发表于 2015-1-1 13:53
板子收到了
我用的是MDK, 拿 到的书说的是CW, KL25开源板子用的是KDS, 这哪跟哪啊,都说不上话 holts2 发表于 2015-1-2 18:15
我用的是MDK, 拿 到的书说的是CW, KL25开源板子用的是KDS, 这哪跟哪啊,都说不上话...
看来得学学KDS了, 用坛子强大的查找功能, 有XD已分享过了http://www.amobbs.com/forum.php?mod=viewthread&tid=5607499&highlight=KDS 本帖最后由 holts2 于 2015-1-2 22:00 编辑
holts2 发表于 2015-1-2 18:17
看来得学学KDS了, 用坛子强大的查找功能, 有XD已分享过了http://www.amobbs.com/forum.php?mod=viewt ...
弄了一天KDS还是没搞清关系,算了还是用回我的MDK,将我的MDK5.0 更新到5.13, 编译原来的程序竟然出错,查了半天,原来就遇到过http://www.amobbs.com/thread-5593739-1-1.html
在MDK中,include paths 搞定
C:\Keil\ARM\Pack\ARM\CMSIS\4.2.0\CMSIS\Include
搞定,先睡,明天继续 支持。楼主辛苦了。 关于电机的方案 ,关注一下 witlong 发表于 2015-1-3 00:28
支持。楼主辛苦了。
大家共同学习 holts2 发表于 2015-1-3 08:40
大家共同学习
加下两个按键在图上
holts2 发表于 2015-1-3 21:03
加下两个按键在图上
两个按键有什么功能? superrf 发表于 2015-1-4 10:19
两个按键有什么功能?
调速度用的, Key_UP 按下一次,转速增加50, Key_Down按下一次,转速减50 这两天看了下苏大的资料,开始写一点代码,首先根据我的项目需求,我需要定义两个按键:
//============================================================================
//文件名称:key.h
//功能概要:按键构件头文件
//版权所有:holts
//更新记录:2015-01-07 V1.0
//============================================================================
#ifndef _KEY_H //防止重复定义(_KEY_H开头)
#define _KEY_H
//头文件包含
#include "common.h" //包含公共要素头文件
#include "gpio.h" //用到gpio构件
//按键端口及引脚定义
#define KEY_UP (PORTB|1) //增加转速按键使用的端口/引脚
#define KEY_DOWN (PORTB|2) //减少转速按键使用的端口/引脚
//=================接口函数声明===============================================
//============================================================================
//函数名称:key_init
//函数参数:port_pin:(端口号)|(引脚号)(如:(PORTB)|(1) 表示为B口1号脚)
//函数返回:无
//功能概要:按键驱动初始化。
//============================================================================
void key_init(uint_16 port_pin);
//============================================================================
//函数名称:key_read
//函数参数:port_pin:(端口号)|(引脚号)(如:(PORTB)|(1) 表示为B口1号脚)
//函数返回:无
//功能概要:按键读取。
//============================================================================
void key_read(uint_16 port_pin);
//============================================================================
//函数名称:key_done
//函数参数:port_pin:(端口号)|(引脚号)(如:(PORTB)|(1) 表示为B口1号脚)
//函数返回:无
//功能概要:按键处理。
//============================================================================
void key_done(uint_16 port_pin);
#endif //防止重复定义(_KEY_H结尾)
//===========================================================================
看楼主的项目直播来了,关注中。。。。 收藏下,关注 接下来会用到哪些系统资源 ?
Key我们在前面已经定义了,Systick 肯定会用到的,pwm 也会用到,当然还会用到LCD,但刚开始时为了简单,先不接LCD,所以先用系统的light 标示操作的回应,还需要限制电机的转速范围为 500 - 2500, 所以看起来我们应该 这样
//============================================================================
//文件名称:includes.h
//功能概要:工程总头文件
//版权所有:holts
//版本更新:2015-01-08V1.0
//============================================================================
#ifndef _INCLUDES_H//防止重复定义(开头)
#define _INCLUDES_H
//包含使用到的构件头文件
#include "common.h"
#include "systick.h"
#include "gpio.h"
#include "pwm.h"
#include "light.h"
#include "key.h"
//定义全局变量
//宏常数
#define RUN_COUNTER_MAX 1500000ul //小灯闪烁频率
#define MAX_SPEED 2500//最高转速
#define MIN_SPEED 500 //最低转速
#endif //防止重复定义(结尾)
holts2 发表于 2015-1-8 10:36
接下来会用到哪些系统资源 ?
Key我们在前面已经定义了,Systick 肯定会用到的,pwm 也会用到,当然还会用 ...
有了以上这些资源,如何使用它们从而满足设计需求? 简单来说电机的的速度控制,就是输入PWM去控制电机,通过占空比的变化产生输出PWM电压的变化,从而控制电机的转速,但是电机的转速控制多种多样,且控制电压和转速不一定是线性关系。
我们这里简化处理,假定它们是线型关系,在500 - 2500的转速按100转一档,分为21档,如下表所示:
通过设置不同的占空比,输出不同的电压控制电机转速,当然如果对电机转速的控制精度要求较高,可以针对各档测试电机转速标定控制电压,或在电机上加装码盘,哪是后话了。
楼主那个Q1电路背光使用LED实现的吗 luckner 发表于 2015-1-8 18:03
楼主那个Q1电路背光使用LED实现的吗
是 的 白光的还是?固定亮度?不如控制一下亮度,这样更酷炫 luckner 发表于 2015-1-8 20:39
白光的还是?固定亮度?不如控制一下亮度,这样更酷炫
TFT屏自带背光 holts2 发表于 2015-1-8 20:41
TFT屏自带背光
TFT背光不支持PWM调光吗? superrf 发表于 2015-1-8 21:18
TFT背光不支持PWM调光吗?
支持的,不过就这小屏还搞个PWM调光,不值啊 holts2 发表于 2015-1-8 21:20
支持的,不过就这小屏还搞个PWM调光,不值啊
应该没有调光的必要,电源供电也不怕耗电 调光会很酷炫的! luckner 发表于 2015-1-8 23:48
调光会很酷炫的!
我的目标是简单实用,低成本,不要酷炫 也多不多什么麻烦啊 luckner 发表于 2015-1-9 09:18
也多不多什么麻烦啊
麻烦很麻烦,在这个小屏上这样做不划算的 holts2 发表于 2015-1-9 09:21
麻烦很麻烦,在这个小屏上这样做不划算的
多大的屏幕? luckner 发表于 2015-1-9 09:22
多大的屏幕?
大约1寸
主程序看起来应该 是这样的
/**
******************************************************************
* @File : main.c
* @Purpose:Main process
******************************************************************
*/
#include "includes.h" //包含总头文件
volatile unsigned char timers;
uint_8 Trg;
uint_8 Cont;
uint_8 CurrDuty = 11;
uint_8 SpeedTable[] = { "2500","500","600","700","800","900","1000","1100","1200","1300","1400","1500","1600","1700","1800","1900","2000","2100","2200","2300","2400"};
uint_8DutyTable[] = {100,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96};
/******************************************************************/
int main(void)
{
// 声明主函数使用的变量
uint_32period=100;
// 关总中断
DISABLE_INTERRUPTS;
//初始化外设模块
light_init(RUN_LIGHT_BLUE,LIGHT_OFF); //初始化蓝灯
systick_init(CORE_CLOCK_DIV_16, TICK); // 初始化SysTick周期为10ms,时钟源为外部时钟
pwm_init(TPM0,TPMCH0,period,DutyTable);//初如化PWM
//lcd_init()
//开总中断
ENABLE_INTERRUPTS;
//进入主循环
for(;;)
{
/* 键盘处理 */
RunTask(key_done,Task0_ID);
/*运行指示灯闪烁*/
RunTask(blink,Task1_ID);
/*显示处理*/
//RunTask(Disp,Task2_ID);
}//主循环end_for
}
holts2 发表于 2015-1-9 09:27
主程序看起来应该 是这样的
看起来像0.96的那个oled luckner 发表于 2015-1-9 09:28
看起来像0.96的那个oled
PDF文档里是STN的屏 luckner 发表于 2015-1-9 09:28
看起来像0.96的那个oled
大小一样,但不是OLED 学习一下. 显示部分是怎么实现的 ,上位机软件吗 ? qs6361036 发表于 2015-1-10 21:22
显示部分是怎么实现的 ,上位机软件吗 ?
LCD显示,楼主已经上传图片了 superrf 发表于 2015-1-10 21:35
LCD显示,楼主已经上传图片了
飞线焊了块LCD显示,软件还没完成,先调好按键部份,软件再加显示,全部调通后再打板 superrf 发表于 2015-1-10 21:35
LCD显示,楼主已经上传图片了
哦 ,LCD显示啊 ,没看到 ! qs6361036 发表于 2015-1-10 22:04
哦 ,LCD显示啊 ,没看到 !
29楼的图片,右侧就是LCD 简单也好,新手多 Ray______ 发表于 2015-1-12 23:55
简单也好,新手多
单价的东西要做好也不简单 这两天终于把板子画出来了,明天打板去 holts2 发表于 2015-1-20 21:41
这两天终于把板子画出来了,明天打板去
准备用这个模块?背面的芯片像STM8 superrf 发表于 2015-1-20 22:50
准备用这个模块?背面的芯片像STM8
是的,只是显示太浪费了,加个MCU holts2 发表于 2015-1-21 01:05
是的,只是显示太浪费了,加个MCU
这个模块也会用到KL25这个项目? holts2 发表于 2015-1-9 09:27
主程序看起来应该 是这样的
楼主用的是官方库吗 superrf 发表于 2015-1-21 10:09
这个模块也会用到KL25这个项目?
先完成这个项目,在这个项目中,这个显示板只焊按键开关,和显示屏。
之后这块板可焊MCU (可选STM8S103或 KL03),作为个最小系统板单独玩。 Juggernaut 发表于 2015-1-21 10:09
楼主用的是官方库吗
不是官方的,是苏大的库 holts2 发表于 2015-1-21 10:52
先完成这个项目,在这个项目中,这个显示板只焊按键开关,和显示屏。
原来是一板多用{:smile:} superrf 发表于 2015-1-21 11:25
原来是一板多用
是的,这个项目用KL25有点大材小用了,而且实际应用时,显示和控制两块板不好布局,我希望显示和控制集成在一块板上。 holts2 发表于 2015-1-21 11:38
是的,这个项目用KL25有点大材小用了,而且实际应用时,显示和控制两块板不好布局,我希望显示和控制集成 ...
板子回来了 感觉很赞啊 Juggernaut 发表于 2015-1-25 19:49
感觉很赞啊
哪个USB插口没搞好,C3C4 要飞线接地了 板子焊好了,准备开始调程序 holts2 发表于 2015-2-2 08:09
板子焊好了,准备开始调程序
加油啊,快过年了{:smile:} superrf 发表于 2015-2-2 09:49
加油啊,快过年了
是啊,最近事多,进度有点拖后了,不过一定在年前搞定它 程序调式好了,项目完成 上传源程序 本帖最后由 holts2 于 2015-2-3 21:00 编辑
手机拍的视频如何上传到优裤,审核中 。 演示视屏
http://v.youku.com/v_show/id_XODg1ODQyMzgw.html armok 发表于 2014-12-31 19:17
你的开发套件已经寄出,申通:768996925969
支付运费我们已经支付,广东省内1-2天到,省外3-5天到。
站长,项目已完成, 相关资料已上传, 请审核。 顶 起 准备移值到K03
页:
[1]