社区导航

 
查看: 1916|回复: 2

【PSoC4】滑条电机调速控制系统

[复制链接]

166

TA的帖子

1

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2013-11-30 13:05:52 | 显示全部楼层 |阅读模式
滑条电机调速控制系统
一、            原理概述
电机在各行各业发挥着重要的作用,而电机转速是电机重要的性能指标之一,因而控制电机的转速,使它满足人们的各种需要,显得尤为重要;随着技术的发展,PWM调速已经成为电机调速的成熟方式。
脉宽调制(PWM)是一种对模拟信号电平进行数字编码的方法,它不仅容易由软件来实现,而且从处理器到被控制信号都是数字形式无需数模转化,加上PWM对噪声的抵抗能力强,使得PWM成为目前电机调速的主要方法。
二、            PSOC4系统结构图

原理图.jpg
file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image002.jpg
原理图
file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image004.jpg

引脚配置.jpg


引脚配置
三、            功能介绍及实现步骤
本文实现基于PSOC4开发套件+L298模块组成系统对直流电机进行调速,通过串口返回PWM占空比,进而了解电机空载的大致转速。
具体的实现步骤为:
(1)    打开原理图设计界面,添加PWM模块(TCPWM mode)
PWM模块.jpg
TCPWM各引脚说明.jpg
双击进入属性配置
PWM.jpg
禁止中断和所有输入信号,设置period 值为65535, compare 值为1。这将产生一个0%占空比的PWM。点击Apply 或者OK 以保存设置。
(2)    添加UART模块(SCB mode)
UART模块.jpg
双击进入属性配置
UART.jpg
SCB配置为UART标准模式,波特率9600,数据格式8N1。
(3)    添加PORT引脚(Digital Output Pin)
(4)    添加Timer模块(v2.50)
Timer模块.jpg
双击进入属性配置
Timer.jpg
         本文配置Timer定时周期为1s,每间隔1s都会进入一次中断(发送PWM占空比)。
Resolution(分辨率)参数用于定义定时器的位宽。可根据最大计数值255、65535、16777215和4294967295,分别将此值设置为8、16、24或32。
Period(周期)参数用于定义计数器的周期。定时器组件的最大计数值(或翻转点)等于Period减去1。Period减去1是加载到周期寄存器中的初始值。软件可随时使用Timer_WritePeriod() API更改周期寄存器。要使用此API获取等同的结果,必须将定制器中的周期值减去1用作为此函数中的参数。
Trigger Mode(触发模式)参数用于配置触发输入的实现。
Enable Mode (使能模式)参数用于配置定时器的使能条件。
Run Mode(运行模式)参数用于将定时器组件配置为连续运行模式或单次触发模式。
Interrupt(中断) 参数用于配置初始中断源。当发生以下所选的一个或多个事件时,会生成中断。软件可随时重新配置此模式;此参数用于定义初始配置。
(5)    添加中断模块(v1.70)
ISR.jpg
         本文选择使用上升沿中断。
InterruptType(中断类型)
该参数具有以下三个可能的值:
RISING_EDGE(上升沿) — 在源信号的上升沿上触发中断。
LEVEL(电平) — 选择通过DSI 以电平敏感类型连接至中断的源。
DERIVED(派生) — 这是默认设置。中断组件连接到固定功能块(I2C、USB、CAN 等)时,它会检查“int_signal”的驱动,然后根据所连接的对象派生出相应的中断类型。此自动分配是根据器件的数据手册中的信息进行的。
(6)    添加CapSense模块(v1.11)
CapSense模块.jpg
双击进入属性配置
Cap1.jpg
Cap2.jpg
Cap3.jpg
Cap4.jpg
(7)在引脚配置界面中,选择对应引脚。
四、            程序解析
int main()
{
    /* Enable global interrupts */
   CyGlobalIntEnable;
   isr_StartEx(InterruptHandler);
   
    /* Start PWM UART Timer and CapSense components */
    UART_1_Start();
   Timer_1_Start();
   MOTOR_CONTROL_Start();
   CapSense_CSD_Start();
    /* Initialize baselines */
   CapSense_CSD_InitializeAllBaselines();
   
    while(1u)
    {
        /* Update all baselines */
       CapSense_CSD_UpdateEnabledBaselines();
        
        /* Startscanning all enabled sensors */
     CapSense_CSD_ScanEnabledWidgets();
   
        /* Wait for scanning to complete */
       while(CapSense_CSD_IsBusy()!= 0);
       /* Display CapSense state using LEDs */
       CapSense_DisplayState();
    }
}
voidCapSense_DisplayState(void)
{
    /* Find Slider Position */
    curPos =CapSense_CSD_GetCentroidPos(CapSense_CSD_LINEARSLIDER0__LS);   
   
    /* Reset position */
    if(curPos == 0xFFFFu)
    {
        curPos =0u;
    }
               
    /* Move bargraph */
    if (curPos != oldPos)
    {
        oldPos =curPos;
        /* Display Slider bargraph */
        if (curPos != 0u)
        {
           MOTOR_CONTROL_WriteCompare((uint32)curPos << SLIDER_POS_TO_COMPARE_SHIFT);
            duty =(((uint32)curPos << SLIDER_POS_TO_COMPARE_SHIFT)*100)/65536;
        }        
    }
}
五、            演示效果图

串口信息.jpg

file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image029.jpg
串口调试助手接收到的信息,PWM的占空比,从而大致了解电机的空载转速。
滑条电机调速系统1001.jpg

滑条电机调速系统2001.jpg

滑条电机调速系统3001.jpg
file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image030.jpg
file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image031.jpg
file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image032.jpg
旋转的车轮。
此帖出自单片机论坛


回复

使用道具 举报

3360

TA的帖子

421

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

荣誉会员勋章

发表于 2013-11-30 13:10:27 | 显示全部楼层
楼主,你图中的小车多少钱?

点评

就是玩具车拆的  详情 回复 发表于 2013-12-2 09:35


回复

使用道具 举报

166

TA的帖子

1

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2013-12-2 09:35:49 | 显示全部楼层

回复 沙发qinkaiabc 的帖子

就是玩具车拆的


回复

使用道具 举报

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

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2018-10-23 09:49 , Processed in 0.138497 second(s), 18 queries , Gzip On, MemCache On.

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