在室友打呼噜睡觉的时候我已经悄悄的学习单片机造小车的所有知识
如果想要真正从零做小车,需要横跨很多专业。
所以你要问问自己的内心,是否愿意在室友打呼噜睡觉的时候坚持学习造小车的知识?
是否愿意在大家购物的时候,省钱买电子硬件。
如果问完自己的内心,不愿意的话,建议直接淘宝买成品。
如果愿意的话,且听我慢慢道来。
我估计如果只是靠下课时间来学习造小车的话,需要大概1年。
///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免费的,私信我就可以哦~点我头像黑色字体加我也能领取哦。最近比较闲,带做毕设///
正文开始:
其实不管是造小车也好,还是日后自己做产品也罢。上到稚晖君的机械臂,下到你的小车。类似于这种“造一个电子硬件”的任务,无外乎三大部分:“机械结构”,“PCB硬件”,“嵌入式软件”
在这儿,首先你要明白一个问题,我们是工科而不是理科。理科生求真,工科生求解。
在这一系列的知识的学习过程中,我们要学习的不是为什么,而是怎么做。我们需要的是一个项目整合的能力,而不是说了解小车的每一方面。拿我的偶像稚晖君为例,他的机械臂就是整合了很多开源的项目:电机用的开源的步进电机,ROS也是用的开源的。
当然,不要小看整合的难度....要把最后的做出来难度是十分,十分,十分高的。(这里用了三个十分,表示真的很难)
我们要把单片机当做工具,把AD绘图当做工具,把Soldworks使用当做工具。真正的功夫在诗外。
所以回到你的问题:为了完成一个智能小车,你需要掌握哪些知识呢?
1.工具类知识(工具类知识指的是通过B站就能获得的知识):
1.1掌握一门PCB绘制工具的操作(45课时,每天2课时,一星期5天10课时,差不多一个月。PS:双休日肯定要出去玩的没时间)
PCB我会用两种,Altium Designer和 Cadence。AD是我在一家小公司学的,看的视频是杜洋工作室的教程,他们用的是AD09,现在是AD21了。不过大同小异,而且新版本的AD吃电脑配置。09的用着也挺好。
我是比较讨厌去配置开发环境(破解)的,我的破解都是在某宝上花钱让人远程解决的。
后来会被寄律师函了,就换了Cadence。Cadence目前还没被寄过。
Cadence看的是西安小马哥的开源四轴和Cadence小哥。
总结:
看完视频后还是那句话,PCB绘图软件只是个工具罢了。
你应该根据这两个视频掌握的是:1.Datasheet的阅读。2.单片机最小系统的绘制。3.怎么把画好的图,通过嘉立创变成手上的板子。
1.2掌握一门单片机芯片的使用(靠悟性和勤奋,两到三个月,每天1~2课时,一个月45课时)
接下来,你要掌握一项MCU的使用了,单片机芯片有很多很多。比如K210,STM32各种国产的32,乃至于全志的Soc等等。
这些芯片性能各异,鉴于你是初学者,推荐使用资料最多的STM32。
而这时你已经掌握了一门PCB绘图工具的使用,而我推荐的两个视频也是实战型的,不只是讲操作。你看了视频,已经会画最小系统板了,想必也是跃跃欲试吧!
我觉得这时候,你应该通过自己绘制焊接一个最小系统板,掌握芯片的使用,因为视频是通用的,你完全不需要买正点原子,野火的板子,直接白嫖他的教程就行了。
你不需要完全看完,你造小车,我建议目前只学习:LED流水灯点亮(GPIO的使用),串口的使用(USART),定时器的使用,嘀嗒定时器的使用。
所以你应该怎么学呢?
1.画一个最小系统板:带几个LED灯,几个按键的就行,把所有IO口都引出来。用的要和你看的视频的芯片型号一样。晶振也一样。这样子程序能通用了。下载他的程序烧录进去不会报错就行了。推荐看个hal库的视频,实在不行咱们还可以使用cubeMx直接配置。板子记得元器件间距画的大一点,电阻电容封装选择0603,0805的,这样子你第一次焊接好焊。(可以直接参考杜洋的,他们画的不错。)
2.
购买焊台:富哥们直接上T12,穷哥们选936。936烙铁头便宜,氧化了换头不心疼。(不过必须选择可以恒温的,那种只有一根电热芯,十几块包邮的,完全用不来哦)
购买焊锡丝:我建议选择有铅的。无铅的健康但是不锡。买重量最小的就行,我觉得你用不完,用完你就可以在宿舍里成大佬了!(不干不净吃了没病,我目前用的是安立信的)
购买洗板水:如果你不是打算开工作室,买最小瓶的就行。(我用的是维修佬的)
购买助焊剂:针管助焊剂,最小的就行,用不完。(我不怎么用,不知道啥牌子好,我是直接加锡解决的)
购买CH340:无差别,全网都一样,选个最便宜的,调试必用。
购买DAPLINK/STLINK/JLINK:我用的是DAPLINK,安富莱(armfly)的H7-TOOL,超贵,但是超级好用。(你可以买个ST-LINK或者JLINK-OB几十块钱的那种就行)
购买杜邦线:富哥们用硅胶杜邦线0.5一根,穷哥们用杜邦线0.5一捆。(我喜欢硅胶的)
购买镊子:有差别,看哥们的经济能力选择。(我用的是维修佬的,十几块钱一个,直头)
购买焊接夹具:看你个人吧,这个东西不是必须的。但是我用了体验蛮好的。西安小马哥的店里面买的,不便宜要130多。
购买万用表:买个便宜的就行
3.根据你的BOM表,到tao宝或者立创商城配单,等待快递到。手工焊接。焊完后。根据正点原子的教程,一步步操作。把他的LED管脚,改成你自己的LED管脚。看看小灯能亮不。
这时候你可能会遇到:下载器无法识别芯片(补焊一下MCU,万用表看一下JTAG引脚是否连接),下进去了,但是仿真跑不到main函数(晶振是不是有问题,是不是没焊好,是不是和原子的板晶振频率不一样)。
不过不要怕,问问身边的高手。一步一步,总能解决的。
机械结构方面我也不懂,我不赘述了。
一般有用3D打印的做底盘的,有直接嘉立创打印铝基板做底盘的。有CNC加工的。我目前也还在学习机械结构的知识。
到这里,基本上你已经设计了一个最小系统板了,从硬件到软件都是你做的哦!兴奋吧。
现在只要把最小系统板换成小车就行了。这里就不只是工具类知识能解决的。
需要涉及到方案选型,你用啥小车?四轮的,两轮的?麦克纳姆轮?
电机用啥电机,有刷的,无刷的?加不加编码器,什么编码器,磁编?霍尔?ABZ?
怎么控制?开环还是闭环。
智能的定义是什么?什么传感器,是否要做手机上位机,怎么通讯?用蓝牙还是Wifi?
这时候一个新手,完全自主创造那是很不现实的。我觉得可以采用一个天下方案一大抄的手法。
你看看别人的作品,模仿一手就行了。
我不清楚你的需求哦,所以,我在网络上找了一个Up做的四驱车。你可以模仿这个的功能。
0
我给你分析一下:
这个是采用的蓝牙+安卓手机做上位机(需要你学习一下Android Studio)
他是四轮的小车,前驱,用的两个直流电机+减速箱。
轮子地方加了霍尔传感器,可以控制速度哦。
机械机构是这位大神自己设计的,并且代码和PCB也在他的GitHub上开源了。可以直接借鉴。
方向采用的两个轮子差速转向。
其他的感觉也没什么了,你只要把类似的东西改动到你的小车上就行了。
我其实也有计划做一个,不过我本身固件和机械都搞得定,主要是顺带学一下PCB画板。PCB准备学到可商用的程度,凑合凑合画出来焊上能动那种我不接受,要达到规范化设计的级别,要补很多知识。
作为一个长期更新吧,先更在这里,后面再转到自己的博客里。
预期计划:
51复习》PCB入门》常用MCU开发板制作》PID学习》小车学习》进阶
1.复习下51,手写一遍常见协议,复习下中断。
2.用立创EDA画51最小系统板,和基本的功率电路的PCB,并实际打样测试。
3.用立创EDA画ESP32/RP2040最小系统板。
4.用ESP32/RP2040画一个功率电路+ADC/I2C/SPI+电机驱动的PCB,并实际打样测试。
5.用功率电路板学一下PID控制
6.用ESP32/RP2040画一个平衡车的PCB,估计用步进电机。
7.用这个平衡车的demo,尝试一下AI或者机器学习相关的分析吧,目前还分不清这些概念。
8.尝试研究一下波士顿动力的二轮机器人。
进度:
2022年4月13日,阶段1:结合这两年Arduino下的经验,用sdcc取代keil开发51。用的还是大学留下来的开发板。51DIP封装的,电路以前做过一些,引脚少也好焊,先当作PCB画板的学习。