• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

【问丨道】一周优质问答 2019/11W2 总第16期

电子芯吧客 2019-11-13 浏览量:2195

 

一周优质问答回归!感谢大家在问答区重新上线后的继续支持!

        让我们一起来看看上周的优质回答吧!

1Q: STM32单片机如何实现电池电量的实时显示?

如何用单片机STM32做一个电池电量的实时显示,类似于手机上面那个电量显示条一样。各位有什么好的设计方案吗?

  提问人liubo

 

A:

简单的方式,就是使用单片机的ADC,直接采集电池电压(当然要分压哈)。

将电压转化为电量格子,进行显示。但是这个有个缺点是,电池的电量显示很不准。只能显示个大概。

另外,就是使用库仑计芯片,通过充电和放电的电荷数量来计算,这个就比较准确了。

现在的智能手机都是使用的这种方案。


答题人:川楠

 

 

https://www.icxbk.com/ask/detail/32860.html

2Q: 如何DIY一台高性价比的NAS个人云存储??

                                                                                                                    提问人:d0ca78cb307d7ef1

   A:

这个其实主要是找到合适的硬件,选择方便的软件系统。

nas主板可以找低功耗、有多个sata接口的集成主板,尽量配大一些的内存

个人对nas系统主要用的是openmediavault(俗称OMV),

但你写的是需要云存储,这个其实复杂在你需要公网IP,还需要开放端口,比较方便的云存储软件有 nextcloud,国产有一个seafile

他们的数据存储管理不一样,nextcloud是文件型云存储,seafile服务端实质是块化的专有格式存储。所以这方面就看你自己选择啦。


答题人:xdsnet

 

 

https://www.icxbk.com/ask/detail/32839.html

3Q: 是否晶振两脚都要发出正弦波,cpu才工作?

                   提问人1f80ccfa4c6391f4

 

   A:

晶振在电气上可以等效成一个电容和一个电阻并联再串联一个电容的二端网络

准确来说,晶振正常工作的时候,是产生交变电场。在晶振达到谐振频率的时候,才能给MCU提供稳定的频率,而晶振还需要两个负载电容的帮助才能谐振。

即使MCU有了稳定的频率,但是只有MCU是正常的,才能正常工作,如果MCU坏了就没法了。


    答题人:米饭米饭吖

 

 

 https://www.icxbk.com/ask/detail/33036.html

4Q: 算法是什么,为什么只在DSP上验证,单片机不行么

                                                                                                     提问人:6b78a8c6c8ffe067

 

   A:

简单来说,算法是解决一个问题的方法。简单的问题,算法当然不会那么复杂,几句即可,当困难的问题,就不是那么容易了,大部分是需要结合数学知识以及一些巧妙的思路。当然,这么说比较空洞,因为我是做电机矢量控制,所以就用电机控制算法来举例:

例如无感BLDCFOC,主要核心的几个算法是:状态观测器,坐标变换,快速反正切或PLL锁相环,电流环PID,转速换PID。因为电机控制是一个强实时性系统,所以算法程序基本都是在中断中完成。电机PWM载波频率一般选择的15k以上,STMicrochip等选用的载波频率都是16k,假定我们选择的是16k频率,那么PWM周期就是62us,电机的电流采样也是跟着PWM同时采样的,所以周期也是62us,在ADC完成中断中,需要进行FOC计算,也就是说,在62us为周期的中断中,要计算状态观测器,坐标变换,快速反正切或PLL以及电流环PID。那么问题就来了,芯片能否胜任这个工作,在62us这么短的时间内,计算这么多东西。

这便涉及到计算能力的问题,以及一些数学公式的优化。如果用DSP,或者有集成硬件浮点运算的芯片,当然优势会很大,就不用花过多时间在数学公式优化上,DSP无疑是比较好的选择,当然,这样成本就上去了,可能量少的话,不会在意这几块钱,或者几十块钱,如果量大呢,就需要综合考虑,如果这个项目出货量有10万块板子,如果每个板芯片都贵5块钱,那么总的成本就多50万。

算法在DSP上进行验证,是因为硬件帮你做了数学上比较复杂的运算,让你可以把精力放在算法研究上,当然,这也只是验证,用DSP验证算法,并不代表这个算法只能用DSP来实现。因为在实际项目中,成本还是需要考虑的,不仅成本,每个项目都有自己的运行环境,环境以及工程师自己的喜好都是芯片选型的考虑因素。在实际中,往往考虑成本以及其他因素,会选用单片机,因为它便宜,就拿FOC来说,我用的STM32F103,硬件浮点运算也没有,主频72M,在这种情况下,就需要我自己写了一个定点运算的数学库,包括定点运算的Q格式,全整数实现反正切计算,全整数计算开方等等数学函数,使用C语言浮点运算的math.h,程序肯定会死机的,除此之外,程序也不能随意编写,大量运用了指针,因为使用指针会加快运算速度。所以如果是没有浮点运算的,那么你就要考虑这些,包括C语言的加快程序运算的知识,还要自己编写一个定点运算的数学库(当然,你能移植也可以)。这样就比较消耗你的精力了,你不仅要考虑算法的正确性,还要考虑这些杂七杂八的东西。

综上,在验证算法上,使用DSP来验证算法,是比较好的选择,因为你的目的是验证算法,检验算法正确性。在实际生产上,就需要多方面考虑,不能单单的说,单片机做算法不行,而是根据自己项目的实际情况而定。以上是个人观点,仅供参考,有不同意之处,多多交流。

      

       答题人:KVIN

  

 

 https://www.icxbk.com/ask/detail/32831.html

 

 

欢迎大家遇到问题添加芯吧客讨论Q 群:261316471多多骚扰管理员,大家一起学习进步!

 

   我们对优质内容的定义,不只是在专业知识中有很深的研究,也包含着有创新、扩展性、对普通甚至入门层次用户有启发引导等的问答讨论。

【往期内容看这里!】一周优质问答集合贴

https://www.icxbk.com/ask/detail/30859.html

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:15
  • 继续上榜,开森

  • 继续答题,对骚扰管理员不感兴趣啊,都有主了呢!

相关问题

问题达人换一批

【问丨道】一周优质问答 2019/11W2 总第16期