查看: 5227|回复: 10

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

  [复制链接]
回帖奖励 105 与非币 回复本帖可获得 5 与非币奖励! 每人限 2 次
  • TA的每日心情
    开心
    2013-9-3 20:45
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2013-11-29 15:10:55 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 qixiyi 于 2013-11-30 12:40 编辑

    滑条电机调速控制系统
    一、原理概述

          电机在各行各业发挥着重要的作用,而电机转速是电机重要的性能指标之一,因而控制电机的转速,使它满足人们的各种需要,显得尤为重要;随着技术的发展,PWM调速已经成为电机调速的成熟方式。
    脉宽调制(PWM)是一种对模拟信号电平进行数字编码的方法,它不仅容易由软件来实现,而且从处理器到被控制信号都是数字形式无需数模转化,加上PWM对噪声的抵抗能力强,使得PWM成为目前电机调速的主要方法。

    二、PSOC4系统结构图

    原理图.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
       串口调试助手接收到的信息,PWM的占空比,从而大致了解电机的空载转速。
       滑条电机调速系统1001.jpg

       滑条电机调速系统2001.jpg

       滑条电机调速系统3001.jpg


      视频请看:



    CapSense Motor Control System.rar

    2 MB, 下载次数: 58

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-7-20 11:45
  • 签到天数: 1650 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2013-11-29 20:43:09 | 显示全部楼层
    {:soso_e182:}参观学习!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-6-1 08:44
  • 签到天数: 398 天

    连续签到: 2 天

    [LV.9]以坛为家II

    发表于 2013-11-30 01:53:58 | 显示全部楼层
    我之前也提交过一个滑条控制电机的帖子~~~
    【PSoC4】+  利用触摸滑条调节无刷直流电机转速
    https://www.cirmall.com/bbs/foru ... 39&fromuid=6672
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-5-20 09:10
  • 签到天数: 9 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2013-12-3 21:11:58 | 显示全部楼层

    回帖奖励 +5 与非币

    参观学习!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-7-13 19:58
  • 签到天数: 1818 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2013-12-4 14:17:15 | 显示全部楼层

    回帖奖励 +5 与非币

    看到了 小车,楼主自己也 没多少铜板
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    20 小时前
  • 签到天数: 1658 天

    连续签到: 7 天

    [LV.Master]伴坛终老

    发表于 2013-12-6 15:02:06 | 显示全部楼层

    回帖奖励 +5 与非币

    用在车上的话可以做遥控器
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2014-7-19 22:30
  • 签到天数: 129 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2014-11-4 19:45:02 | 显示全部楼层

    回帖奖励 +5 与非币

    很不错的  学习了 谢谢楼主
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-7-7 05:53
  • 签到天数: 550 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2015-2-16 09:18:44 | 显示全部楼层

    回帖奖励 +5 与非币

    介绍很详细啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-9-16 05:52
  • 签到天数: 1368 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2015-4-6 20:19:49 | 显示全部楼层

    回帖奖励 +5 与非币

    好东西,学习了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-9-26 22:38
  • 签到天数: 232 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2015-4-7 08:57:08 | 显示全部楼层

    回帖奖励 +5 与非币


    很不错的  学习了 谢谢楼主
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-5-31 20:30 , Processed in 0.189757 second(s), 35 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.