想法1 做电调过程中的种种问题

博主在3个月的电调开发中遇到挑战,硬件和软件进度未达预期。为解决资源紧张问题,提出利用TIMER2在PWM空闲时测量延迟,TIMER0作为倒计时定时器的方案。这使得在不同时刻需要3个定时器,优化了TIMER2的使用效率。接下来,博主将解决ADC中断、TIMER0中断服务和换相顺序等具体实现问题。
摘要由CSDN通过智能技术生成

  话说从很久以前就开始了做电调.到现在有3个月的时间了.

  这么长时间下来,到底做出了什么东西呢?  恐怕这个问题我实在答不上来.

  硬件,软件都没有到点上,这个目标对于我来说可能的确是有点太高了.

 

  从暑假开始搭出了硬件,后来慢慢尝试,到开学一个多月.现在对无刷电机的大概也有个了解了.

  由于没有一个正确的软件,也不好测试硬件能不能使用. 而说到软件呢, 由于要单片机的资源对这个任务来说显得有点紧张...至少我认为是有点紧张..所以在开始那段时间,我一直想不通如何来完成这个资源的分配,知道开学前阵子,才突然有了想法..那就是用 TIMER2 在不需要作 PWM 输出的空闲时段,测那个延迟时间. 然后再用 TIMER0 作为倒数的定时器. 这个想法也是从网上看 夏风 的资料看出来的.

   按照这个想法,我想,倒数延时然后换相,这个步骤应当需要占用一个定时器. 也就是说,有一个定时器从头到尾都是准备着数这个延时,然后使 PWM 信号换相. ...

   而 输出 PWM 就需要3个定时器. 虽然不是在同一个时间3个全开.

   那么, TIMER2 就有 2/3 的时间是空闲的. 用 TIMER2 来测量延迟时间也是顺理成章的了.

 

  有了这个想法以后,需要解决的就是一些顺序问题了.

  按照 v1.0 的流程图来看,顺序应该是:

 

     INIT --> 等待 ADC 的中断 --> TIMER0  的中断 --> 换相 

                           2                           3                      4

 

  程序应当在 ADC中断 和换相之间循环.但是这其中,有一些问题,比如说 ADC中断的时间, TIMER0 的设置和 TIMER0 的中断服务进程. 以及换相的动作是否应该放在 TIMER0 的中断服务里面.还有就是程序的循环在过程中会不会出现问题.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值