当前位置:首页 > 嵌入式 > 嵌入式大杂烩
[导读]不想错过我的推送,记得右上角-查看公众号-设为星标,摘下星星送给我森山,10多年的硬件开发经验,做过的板卡数不清有多少块,做过量产的产品也涉及到各个行业,也做过不少失败的项目。他用自己的经验告诉大家,如何系统的学习单片机。01需要一块开发板——让单片机动起来买一块开发板,按照配套...

不想错过我的推送,记得右上角-查看公众号-设为星标,摘下星星送给我


森山,10多年的硬件开发经验,做过的板卡数不清有多少块,做过量产的产品也涉及到各个行业,也做过不少失败的项目。他用自己的经验告诉大家,如何系统的学习单片机


01


需要一块开发板——让单片机动起来


买一块开发板,按照配套的demo程序,自己改改,让外设动起来,比如OLED显示内容,电机启停、调速,温湿度采集等等。这一步是为了让你体会到,单片机如何通过编程实现对硬件的操作。



这样的开发板太多了,建议从STM32入手,原因有二:一是资料最全,开发环境比较友好,而且今后在产品中使用也比较多;二是开发板都不贵,而且最好选外设多的,带显示,带通信接口的开发板。


即使一开始不懂,开发板配套的学习包,足够你学一阵子了,STM32官方也有现成的Cubemx工具来帮你生成基础代码。



02


自己设计一个小demo——掌握基本外设


我建议有硬件设计能力的,可以自己设计制作一款开发板,尽量多的加入不同类型的外设,因为以后你研发产品,就是基于这些外设的应用逻辑组合。然后一个个移植外设驱动,当然更建议自己写驱动,驱动写得好能最大程度发挥硬件的性能。



受限于单片机的性能都比较一般,基础的外设的连接方式大致有这些:IO、I2C、SPI、AD\DA、UART、CAN、RGB888……等这些低速接口,有的也带USB。



等你玩转了这些,以后升级到更强的平台,那么高速接口学习起来也只是工作量的问题,大同小异。



在移植和写驱动的过程中,要学会看datasheet,spec。虽然一个简单的芯片规格书就是几十上百页,但并不是你都要去看懂的,只要知道提取自己有用的信息,比如I2C设备,它的总线最高频率,你在做时序控制时不能超过它的上限。



在调试过程中,你一定会遇到非常细节的问题,这时候,借助一定的工具和手段,可以让你变得更加高效,比如学会用示波器去看数据波形,学会看时序,分析通信协议,用万用表去检测基本的故障。



下面视频是用STM32通过对步进电机和电磁铁的控制,来实现纺织机机头的功能。尽管我也做了多年开发,在遇到新的外设时,调试还是花了不少精力。参数是调出来的,有时候就差几十us的延时,性能就相差很多,所以在研发的过程中一定要耐心:


03


学着做一个完整的小产品——产品思维


前2步的基础,新手的你已经大致有信心了。接来下可以做一些设备的联动,实现一个产品的基础功能,一个简单的单机设备。举个例子,通过温湿度监测,来控制继电器,继电器外加电热丝或加热装置,并且实时显示该温度值,这就是一个温度控制的产品了。这些设计不难的,难的是在这一步里你要有一定的产品思维了。要列出你这个产品的需求,解决了什么痛点,根据明确的需求去选择相应的单片机方案,你要知道实现这样的功能,需要选择什么样的技术方案,综合还要考虑成本。



这里面的信息量和变数其实非常大,比如你要设计一款带有线网络的产品,那么你是选择自带RMII接口的单片机,还是通过增加一个串口转网络的模组来实现?这可能涉及到你需要通信的网络速度,也要考虑综合成本,以及开发的难易程度。



有时候,这需要权衡产品本身的硬件成本,和你的开发周期,并不是一味追求硬件成本最优,如果出货量不大的产品或项目,应该更倾向于选择自己熟悉的单片机平台,这样开发周期最短,人力消耗最低,避免捡了芝麻,丢了西瓜的情况发生,因为很多项目,时间要求是很紧迫的。



做产品,实现功能很简单,但整体的可靠性、稳定性、兼容性是很难的,这个问题主要讨论单片机,所以产品其他延伸的话题就不展开了。



04


让你的单片机连接到全世界——尝试通信


现在很多产品都物联网化了,进一步的,你可以去研究基于单片机的有线、无线通信方式,最简单的通过串口连接WIFI、GPRS模组,学习MQTT等物联网通信协议实现单片机与互联网的连接。MQTT协议基于json,即使完全不懂的人,学半天也就会了,上手比较容易,PC端有很多客户端可以直接用,适合信息量不大、实时性要求不高的数据采集、远程控制。



通信模组和方式就很多了,WIFI、Zigbee、BT、Lora、GPRS、Lora、NB、4G/5G、433等各种小无线,以后可以专门写一篇来介绍这些通信方式的不同应用场景。



之所以把通信这块单独拎出来,因为通信让万物互联,有了更多可玩性和可能性,让冰冷的单片机成为有想象力的产品。



最后的总结:做了越多的产品就越觉得,没有一个产品是简单的,容易的,希望大家耐心一点,打好基础,后面的路子就会很宽。



除了以上4点,后面遇到更复杂的项目,可以上RTOS、MBED等轻量化,适合单片机的操作系统。大家不要一味想着去搞linux,单片机一直在迭代,现在性能强的单片机还是很多的,而实际工业上有很多需求,单片机绰绰有余,性价比极高,开发周期短,稳定,这些都是很好的。




本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭