历史上的今天

今天是:2024年10月15日(星期二)

正在发生

2019年10月15日 | STM32 PWM输出控制步进电机-3000转每分钟串口显示+电位器调速

发布者:CelestialGarden 来源: eefocus关键字:STM32  PWM输出  控制步进电机 手机看文章 扫描二维码
随时随地手机看文章

用电位器控制步进电机转速,可以控制正反转,在电位器中点停止;越往左翻转越快,越往右正转越快。速度均匀,包含滤波。付完整代码。全部测试正常。


单片机源程序:

#include "led.h"

#include "delay.h"

#include "key.h"

#include "sys.h"

#include "usart.h"

#include "timer.h"

#include "adc.h"


        

int main(void)

{        u16 adcx;

         float temp;

         int a=3999;        

         //int b=0

         u16 led0pwmval=200;

        u8 dir=1;        

        delay_init();                     //延时函数初始化          

        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);          //设置NVIC中断分组2:2位抢占优先级,2位响应优先级

        uart_init(115200);         //串口初始化为115200

         LED_Init();                             //LED端口初始化

         TIM3_PWM_Init(a,71);         //不分频。PWM频率=72000000/900=80Khz

         

         Adc_Init();        

         

           while(1)

        {

                adcx=Get_Adc_Average(ADC_Channel_1,10);

//                adcx=2100;

                

                delay_ms(8);

//        temp=(float)adcx*(3.3/4096);

//                adcx=temp;

     printf("adcx=%d;", adcx);

                        a=adcx;

                a=a-2000;

                //a=a*1000;

                //if (-1000>a>1000) a=1;

                

                

                //        

                //a=a*1000;

                a=100000/a;        

                 if(a > 0)

  {

   LED1=1;        

                //sl = speed_l;

                

  }

  else        

  {

    LED1=0;

        a = a * (-1);

                

  }

        //a=1000000/a;

                

//                 if (a<1000) a=1000;

//                if (a>100000) a=100000;

        //        a=1000/a;

        

//if (a<0) LED1=0;

//if (a>0) LED1=1;        

                

                        TIM3_PWM_Init(a,71);         //不分频。PWM频率=72000000/900=80Khz   最高=72000000/A*6=600000,,转速=6000000/800*60=4500

                //printf("arn");        

                

                //printf("count = %dn",count);

    printf("a=%dn;", a);

                delay_ms(8);         

//                if(dir)led0pwmval++;

//                else led0pwmval--;


//                 if(led0pwmval>300)dir=0;

//                if(led0pwmval==0)dir=1;                                                                                 

                //TIM_SetCompare2(TIM3,led0pwmval);        




        

        }         

}


关键字:STM32  PWM输出  控制步进电机 引用地址:STM32 PWM输出控制步进电机-3000转每分钟串口显示+电位器调速

上一篇:stm32f103串口BootLoader
下一篇:STM32F103超极精简的OS

推荐阅读

整型数据转换二进制数据的技巧知识点:该技巧比较适合应用在51单片机寄存器的配置方面;减少了我们的计算量。思路——>我们比较习惯直接的整型数据;当我们需要配置寄存器,这时能不能直接利用该数据作为我们配置寄存器的数据呢?这过程需要将数据转换,例如将一个int 型 11110111 转换成 0xf7 该如何做到呢?此时可以利用到##在C语言中的粘合作用,具...
总结一下出现的问题1、使用1Mhz频率,并通过修改分频系数将主机频率降至100Khz左右,项目需要,将频率改成16Mhz,发现数据写入不成功,分频系数没有错误,判断应该是没有那么大的分频可以分(这个还未确定),通过选择ACLK,并在基础时钟上设置分频,分到最低2Mhz,再在usci_i2c中设置分频系数,就可以了2、读写数据不一致万思不得其解,写入一段数据,发...
北京时间10月14日凌晨1时,苹果公司在美国加州总部举行新品发布会,正式对外发布新款智能手机iPhone 12系列。此次发布的iPhone 12系列是苹果首款5G智能手机,不仅对苹果这家全球市值最高的科技公司至关重要,同时受益于5G iPhone预期销量的增加,国内以领益智造等为代表的苹果A股供应链企业或将迎来新一轮业绩增长。 苹果iPhone12系列全部支持5G:揭秘...
10月14日消息,高通骁龙在社交平台上发文:“我们决定自研智能手机SoC,而不是使用骁龙”。  Android Central指出,虽然高通并未指名道姓,但是明显是针对美国搜索巨头谷歌。它即将发布新一代旗舰Pixel 6系列,使用的是自家定制芯片Tensor。  在谷歌Pixel 6系列之前,谷歌历代Pixel机型都使用了高通骁龙芯片,而且Pixel 5之前的历代旗舰...

史海拾趣

问答坊 | AI 解惑

有没有招聘通信工程专业应届生的?请联系我

联系方式: QQ:342292760 Email:addth2008@163.com…

查看全部问答∨

多芯电缆测试仪的研制

1 引言  种类繁多的通讯电缆、控制电缆在各种仪器和控制设备中大量使用。电缆线是否良好导通、线间[绝缘电阻[是否满足要求,直接影响到电器设备的正常运行。耐压绝缘电阻是衡量电气绝缘材料性能的一个重要指标。传统的摇表测量绝缘电阻的方法主要 ...…

查看全部问答∨

急!!怎么把2450 IIC的clock降到100k??

如题。IICCLK=MCLK/16。现在是250k。我试了一下,把IICCON = 0xE1,测试发现弄的经常无应答。谁能教我改一下~~~…

查看全部问答∨

苦恼,初次接触VxWorks

我原来是搞VC开发的,现在因为公司需要,改搞VxWorks。但是公司没有人懂VxWorks。我原来也搞过一些单片机的开发。对VxWorks也是一知半解。 现在要做项目,不知道如何下手。现在向各位大牛们请教,如何做VxWorks开发,能提供网站、Domo、软件均可。 ...…

查看全部问答∨

真诚请教大家:大家现在进行嵌入式开发,用的那些芯片?希望大家能多说一点项目里用到的芯片,楼主诚心请教,并且肯定放分!

我看得大部分材料说的都是51的片子,如果直接去学arm,没有项目的支持学起来很费劲。 所以想咨询一下大家。…

查看全部问答∨

关于arm的开发工具ads?

学习arm的时候使用的是ads,最近想开发点东西,但是不清楚ads是不是免费使用的,是不是要出钱买才可以开发正规的产品呢? 谁有这方面的经验请谈一下!…

查看全部问答∨

GS5810工作原理

GS5810是一款高效率,1.5MHz固定工作频率,电流模式PWM单片式降压稳压器,可以提供输出电压可调品种和1.2V 1.8V等固定输出电压的品种。稳压器在无负载时的工作电流为300uA;当处于关断时,工作电流降到1uA以下。输入工作电压范围为2.5V至6.5V,非常 ...…

查看全部问答∨

开关

帮忙!寻找电子工程师,1路无线电遥控开关,急做!…

查看全部问答∨

应届生一般起薪多少

各位 搞电子的应届生一般起薪多少啊,(学校一般,水平凑活,关系没有)…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved