1.硬件布线
当初大学画电路板的时候,啥玩意都不懂,记得当初直接用面包板焊接,虽然好使,但其丑无比。后来工作也画过一些PCB,但是始终不得要领,以为能把线连上连对就万事大吉了。后来阅读了一些电子电路和硬件的书籍,有了自己的一点点体会,虽然不多,但是应付一般场合足够了。很简单的物理知识就可以理解,至于高手搞通信高频布线,要考虑群延时,分布电感电容,信号完整性分析,我觉得大家以后真的玩高级硬件的话,可以再深入,这里就算是一个简单入门吧。
这里我就先画一个非常简单的电路图,做一个简单的计算,大家就会明白。
比如一个电源给两个器件供电,一个工作电流10mA,一个工作电流10A,我们看下面图1中两种接线方式有啥区别?????
图1.两种接线方式理想电路图(红色为正,蓝色为负)
很多同学会说,不都是两个器件并联吗,不都是电源电压吗???电路原理的课上说啦,并联电压相等,所以上面的两张图,完全一个样子嘛,能有啥区别???!!!!
这里我要提醒大家啦,注意连线,那都是铜线,不是超导体,拿起小本子要记住啦,铜线也有阻抗,PCB布线也有阻抗。考虑进来,之后的图就是下面这样子图2所示。
图2.考虑线路阻抗的等效电路图
有的同学看到图2,会说,才20m欧,能有啥大事嘛。。。。大家要记住,我们这里还没说电源电压多少V呢,如果是1000V的话,那当然没事,但是如果电源是7V电压呢???你想想两种布局方式,1A器件与10A器件的静态工作电压有什么差别??
左侧布局 | 右侧布局 |
---|---|
1A器件电压:7-(1+10)*(0.02*2)=6.56V | 1A器件电压:7-10*0.02*2-1*0.02*4=6.52V |
10A器件电压:7-10*0.02*4-1*0.02*2=6.16V | 10A器件电压:7-10*0.02*2-1*0.02*2=6.56V |
只通过一个简单的计算,我们就发现,右侧布局明显好于左侧布局,就因为10A电流在线路上产生了更大的线损,所以越靠近电源越好。这时候我们就得到这个结论,功率越大的器件,越靠近电源供电的话,那对整个系统工作的影响就越小。
于是我们的电路布局图就成为这个样子图3所示,大功率和小功率分布布局,大功率的地和电源尽可能从靠近电源的正负极直接引线,这样大功率器件对其他小功率器件的影响能够降到最小。
图3.大功率与小功率分开布局
下面我的电路继续升级,加入了PWM数字开关器件,还有一些小的器件,大家有没有想过,这样玩,会不会有啥问题。。。
图4.添加小器件和数字开关PWM部件
如果说第一条只用到了电路的欧姆定律,那这一条就要用到电磁感应原理,大家跟我的思路想哈,PWM要不停地开关,那0.5A电流就是交变的电流,交变的电流线圈会在整个线路环里产生交变的磁场,那是不是说所有包含在电源到0.5APWM器件的环路里的所有器件信号都会被这个交变磁场影响,因为交变的磁场会在其内部线路里又产生感性电动势和感应电流。这里只是0.5A,那如果10A电流也是开关器件呢,那简直瞬间干扰死那些线路里的小信号器件。于是我们就有了第二条定律,大功率器件的电源和地最好贴着走,不要包含小功率的器件。
于是图4就会进化到图5,虽然丑了点,是效果好呀!!!
图5.电源和地贴着走布局图
所以最终结论就是如下:
尽可能大功率的器件靠近电源接线
尽可能开关功率器件尤其是大功率的开关器件,电源和地包络器件越少越好。
铭记上面两条法则,应该能应付一般的PCB布线了。
智能车电路为例,整体电路分为三部分,电机驱动,舵机,控制电路,总体布线如图6所示,三大部分彻底分开,尤其是电机驱动这块,流大电流。
电机驱动阻抗分析:
B车电机内阻150m欧,电池内阻80m欧,电源线,保险和开关20-30m欧,PCB布线电阻20m欧,整体线路内阻大概是250-300m欧,如果按照电池工作电压7-8V计算的话,那短路电流有20-30A
C车模相对好一些,电机内阻900m欧,加上电池内阻,电源线,开关,保险丝,PCB布线100-150m欧,总阻抗1欧,即使考虑到双电机并联,最大电流不超过15A左右。
2.电机H桥
聊完硬件布线,我们再聊聊直流电机,说简单点就是给它加直流电压,那它就转,比如图1的电路,一个开关K就可以控制电机转动和停止。
图7.开关控制电机转和停
如果我们想让既能让电机正转,又能反转,那该怎么设计呢,如图8所示,为了简化,图中未画出续流二极管。K1和K2通的时候,电机正转,K3和K4通的时候,电机反转,这个电路结构称为H桥电路。
图8.H桥正反转
H桥可以让电机工作于四个状态,如下表所示。
开关状态 | 电机状态 |
---|---|
K1和K2闭合 | 正转 |
K3和K4闭合 | 反转 |
K2和K4闭合 | 刹车状态 |
四个开关都断开 | 滑行状态 |
截至目前,电机的工作电压,要么是电池电压,要么电压为0,要么是反向电池电压,如果想调压调速的时候,那怎么办呢???
搞电力电子的兄弟们发明了一种简单方法,比如现在电池只有7V电压,那可以这样玩,加个电子开关,给电机通电5ms7V,再断开5ms,然后依次循环,只要频率足够快就没啥事,这样等效下来是不是就相当于3.5V电压呀,然后通过调节开通关断时间比例,来连续调节电压,这就叫做PWM控制。简单点说,有了PWM调节,我们的电机就可以调压调速了。
H桥调压调速具体玩法如图9所示。比如正向,下桥K2长通,然后给K1加PWM控制,K1导通的时候,电池电压加到电机上正向电流,如果图9的左边,K1关闭的时候,电池电机的电流通过K4的续流二极管进行续流,图9的右边。反转的话,依次类推即可。
电机控制的示例代码:
//初始化代码 void MotorR_Init(void) { /*Motor Drive*/ gpio_init (MOTORR_EN, GPO,0); FTM_PWM_init(MOTORR_FTM, MOTORR_PWMA, MOTORR_PWM_FREQ,0); FTM_PWM_init(MOTORR_FTM, MOTORR_PWMB, MOTORR_PWM_FREQ,0); /*Speed Measure*/ FTM_QUAD_Init(MOTORR_ENCODE_FTM); } //PWM控制正反转 void MotorR_Run(int32 pwm) { uint32 PWM_A =0; uint32 PWM_B =0; if(pwm>MOTORR_PWM_MAX) pwm=MOTORR_PWM_MAX; else if(pwm<MOTORR_PWM_MIN) pwm=MOTORR_PWM_MIN; if ( pwm >0 ) { PWM_A = pwm; } else if ( pwm <0 ) { PWM_B = -pwm; } FTM_PWM_Duty(MOTORR_FTM, MOTORR_PWMA,PWM_A); FTM_PWM_Duty(MOTORR_FTM, MOTORR_PWMB,PWM_B); gpio_set ( MOTORR_EN,1); } //刹车 void MotorR_Brake(void) { FTM_PWM_Duty(MOTORR_FTM, MOTORR_PWMA,0); FTM_PWM_Duty(MOTORR_FTM, MOTORR_PWMB,0); gpio_set ( MOTORR_EN,1); } //滑行 void MotorR_Slip(void) { gpio_set (MOTORR_EN,0); FTM_PWM_Duty(MOTORR_FTM, MOTORR_PWMA,0); FTM_PWM_Duty(MOTORR_FTM, MOTORR_PWMB,0); }
至于其他的硬件问题,我这里就不过多赘述,比如电源线正反要接对,稳压芯片前要加TVS管,抑制直流电机换向的尖峰脉冲电压,稳压电源的散热面积要大一些,尽量加保险丝保护,摄像头这块,我觉得山外的文档《ov7725数字摄像头编程基本知识笔记》已经解释的很清楚了,就不多赘述了。
3.机械这块简单说几句吧
首先有几点我一定要提醒大家:
车前的防档杆必须加,否则你的舵机一撞墙齿轮就会被挤坏
车底盘变形问题一定要注意
轮胎务必加胎水,否则轮胎一上赛道滑的要命
其实,机械这块的改造,经过这十来年基本成型了,每年智能车比赛这块,大家差不多都一个模子。但是有个点,一定要强调,就是前轮定位的机械调教。
前轮定位的作用是保障汽车直线行驶的稳定性,转向轻便和减少轮胎的磨 损。前轮是转向轮,它的安装位置由主销内倾、主销后倾、前轮外倾和前轮前 束等 4 个项目决定,反映了转向轮、主销和前轴等三者在车架上的位置关系。 下面这几个角度的介绍摘自《第十届“飞思卡尔”杯全国大学生 智能汽车竞赛-北京科技大学电磁组一队》的技术报告,感谢他们做的这么好的总结。后续我仔细研究过汽车理论之后,再为大家详细画图详细介绍这几个角度对车辆的影响。
**主销后倾角
**
所谓主销后倾,是将主销(即转向轴线)的上端略向后倾斜。从汽车的侧面看去,主销轴线与通过前轮中心的垂线之间形成一个夹角,即主销后倾角。主销后倾的作用是增加汽车直线行驶时的稳定性和在转向后使前轮自动回正。由于主销后倾,主销(即转向轴线)与地面的交点位于车轮接地点的前面。这时,车轮所受到的阻力的作用点总是在主销轴线之后,相当于主销拖着车轮前进。这样,就能保持行驶方向的稳定性。当车转弯时,由于车轮所受阻力作用线,不通过主销轴线,这样,车轮所受阻力在主销方向有力矩
作用产生,迫使车轮自动偏转直到到车轮所受阻力作用线通过主销轴线,此时,车轮已回正,这就是转向车轮的自动回正功能。
主销后倾角越大,方向稳定性越好,自动回正作用也越强,但转向越沉重。汽车主销后倾角一般不超过3°,由前悬架在车架上的安装位置来保证。现代轿车由于采用低压宽幅子午线轮胎,高速行驶时轮胎的变形加大,接地点后移,因此主销后倾角可以减小,甚至为负值(变成主销前倾),以避免由于回正力矩过大而造成前轮摆振。
模型车通过增减黄色垫片的数量来改变主销后倾角的,由于竞赛所用的转向舵机力矩不大,过大的主销后倾角会使转向变得沉重,转弯反应迟滞,所以设置为0°,以便增加其转向的灵活性。
主销内倾角
所谓主销内倾,是将主销(即转向轴线)的上端向内倾斜。从汽车的前面看去,主销轴线与通过前轮中心的垂线之间形成一个夹角,即主销内倾角。主销内倾的作用是使车轮转向后能及时自动回正和转向轻便。对于模型车,通过调整前桥的螺杆的长度可以改变主销内倾角的大小,由于过大的内倾角也会增大转向阻力,增加轮胎磨损,所以在调整时可以近似调整为0°~3°左右,不宜太大。
主销内倾和主销后倾都有使汽车转向自动回正,保持直线行驶的功能。不同之处是主销内倾的回正与车速无关,主销后倾的回正与车速有关,因此高速时主销后倾的回正作用大,低速时主销内倾的回正作用大。
**车轮外倾角
**
前轮外倾角是指通过车轮中心的汽车横向平面与车轮平面的交线与地面垂 线之间的夹角,对汽车的转向性能有直接影响,它的作用是提高前轮的转向安 全性和转向操纵的轻便性。在汽车的横向平面内,轮胎呈“八”字型时称为“负 外倾”,而呈现“V”字形张开时称为正外倾。如果车轮垂直地面一旦满载就易 产生变形,可能引起车轮上部向内倾侧,导致车轮联接件损坏。所以事先将车 轮校偏一个正外倾角度,一般这个角度约在 1°左右,以减少承载轴承负荷,增 加零件使用寿命,提高汽车的安全性能。
模型车提供了专门的外倾角调整配件,近似调节其外倾角。由于竞赛中模 型主要用于竞速,所以要求尽量减轻重量,其底盘和前桥上承受的载荷不大, 所以外倾角调整为 0°即可,并且要与前轮前束匹配。
**前轮前束
**
所谓前束是指两轮之间的后距离数值与前距离数值之差,也指前轮中心线 与纵向中心线的夹角。前轮前束的作用是保证汽车的行驶性能,减少轮胎的磨 损。前轮在滚动时,其惯性力自然将轮胎向内偏斜,如果前束适当,轮胎滚动 时的偏斜方向就会抵消,轮胎内外侧磨损的现象会减少。像内八字那样前端小 后端大的称为“前束”,反之则称为“后束”或“负前束”。在实际的汽车中, 一般前束为 012mm。
在模型车中,前轮前束是通过调整伺服电机带动的左右横拉杆实现的。主 销在垂直方向的位置确定后,改变左右横拉杆的长度即可以改变前轮前束的大 小。在实际的调整过程中,我们发现较小的前束,约束 02mm 可以减小转向阻力, 使模型车转向更为轻便,但实际效果不是十分明显。
虽然模型车的主销后倾角、主销内倾角、车轮外倾角和前束等均可以调整, 但是由于车模加工和制造精度的问题,在通用的规律中还存在着不少的偶然性, 一切是实际调整的效果为准。
在实际调试中,我们发现适当增大内倾角的确可以增大转弯时车轮和地面的接触面积,从而增大车了地面的摩擦程度,使车转向更灵活,减小因摩擦不够而引起的转向不足的情况。前轮前束为0-1度左右,直线行驶更稳定。
硬件与机械就到此了,这块自己也还需要继续学习。