1.电路设计
首先先选型
在开始前要想好用什么进行控制小车,
该文章如标题:
主控选择:89C52芯片
一辆小车(有两个马达;前马达控制左右,后马达控制前后)
控制马达的芯片或模块:L298/L9110
无线模块:NRF24L01(可采用ESP8266联网控制或者HC05蓝牙控制,看个人喜欢)
降压模块:5V转3.3V(NRF24L01印象中是3.3V)
接下来就是绘制电路图
手绘、软件绘制都行,只要画清楚就行
- 单片机来讲,最小系统一定要有
- 接着 开关电源 ,单片机就能工作了
- 某宝上购置的元器件,本文上的控制马达芯片等,看某宝下面的参考详情
如:L298是怎么连接能够工作等等,弄清楚怎么能工作 - 那些要用的芯片、模块等连上单片机
- 记得要留+引出烧写代码的端口,不然每次烧写代码都要把芯片拆下来烧。(万一是贴片主控就很头疼了)。可以使用牛角座+STC免冷启动烧写器(具体烧写器名字我有点忘了,大概这个)进行代码烧写,这样就比较方便。USB转TTL的就需要烧写时候断个电再烧进去。
做好上述步骤可以开始绘制PCB
个人到现在一直用DXP,那就根据自己设计的电路图进行绘制PCB。
当然DXP提供了可以画电路原理图的东西,原理图库,原理图会用可以直接用
画好之后记得一定一定要检查,检查连线有没连好等
打样
交给公司打样,制作出来自己设计的东西
焊接完成后,再进行调试
2.代码调试
完成第一部分的电路,并打完样后可以进行实际电路的调试
如果想同步进行代码调试的话,可以用仿真protues
仿真的作用相信大家都不陌生:模拟真实条件下硬件运行的状态,当然模拟这个不能拼出一辆像样的小车,但是里面选型有马达motor。
先调试的是让小车能够动起来
- 小车能动起来,首先证明小车马达没问题,才能有后面的控制环节。
- 小车若不能动,那就进行问题排查 或许是马达问题 或许是L298出现问题 也可能是电路板电路一些问题 这时候召唤一下万用表
- 马达很简单,用块电池正负一接就可以看它会不会动(最好也串个电阻,万一电流过大,这检测过程可能也会烧马达)
- 其它用万用表测一下有没电什么的【测电流是串进电路(测电流最好也并个电阻,反正我本人就烧过万用表),电压是并联就行】
下一步是进行控制代码调试
设计中是用NRF24L01来控制,那么注意电压
51单片机的电压是5V,这个模块是3.3V
模块烧掉了就不可能控制
假设电脑进行控制,则电脑是信息发送端,单片机是信息接收端
先进行单一控制(如前进,P2.0口是0,P2.1口是1,单片机接收信号“1”)
在电脑用串口调试助手,发送1的信号
单片机的关键代码示例
if( rece_buf[1]=='1') //第1位以后是收到的命令数据,rece_buf[0]是数据位数长度
{
M0=0; //sbit M0 = P2^0 sbit M1 = P2^1
M1=1;
}
前进调试成功后就进行下一步举一反三
通过相同方式完成后退,停止,左转,右转控制