自己动手做个智能小车(4)

自己动手做个智能小车(4)

——电机控制电路

CPU是接通了,程序也可以跑了,现在得让程序可以控制电机才行。

前面我们知道,单片机是一个运行程序的芯片,当程序里把变量P0.0变成1时,芯片39接口就变成高电位(5v),变量赋值为0时,接口就变成了低电位(0v),很是方便。

但问题来了,这个如何控制电机呢?
先理一下,我们电机有几种功能:正转、反转、刹车、滑行、调速,这几大功能。现在的问题就是考虑如何用0和1来实现这些功能。

正转、反转,小时候玩过电动机的朋友都知道,将电机的两个引线反过来接,那电机就反过来转了,即正负极决定正反转。好了看下面的电路应该就明白了:

中间一个电机,然后当按下开关A、D时 正转,按下B、C时
电机就反转,这样就简单的多了,不用把电机的两根引线拆下来,反过来接,而是按按开关,就可以实现正转、反转了。

仔细看电路,如果把A、C
或B、D按下时,电机没有接通电源,但两个引脚处于短路状态,此时什么状态呢,刹车!! 为什么。。。
这时由于电机的磁力感应,我们知道电机当手动拨转动时,两个极会反向发电,而且发电的正负极与通电正负极后的转向是相反的。
所以说当转动后,产生的电,电再驱动电机转动,此转动又是反向的,与转动的力抵消。所以此时大家可以试一下,电机是转不动的,或是很紧。那的确就是刹车功能了。

电机转动时,突然把四个按健全打开,发现电机还要转一会儿,那这就是滑行咯。
当然,在转动时,按上面的方法,A、C 或B、D 按下,电机会就突然停止,可以验证刹车功能。

好了,现在功能时还差一个调速,这个先等等。
先想另一个功能,刚才说的这些都是开关按来按去,如果接到单片机上,让其控制呢? 不过,看出来,好像这个开关正好是0和1么。

想到在学三极管时,有一个功能就是开关,

当三级管的B(基极)通上电时,C(发射极)E(极电极)就会接通,这不就是我们要的功能么,好电路改进下:

改进后,可以看到,当a=1 b=0时Q13
Q16接通,当a=0 b=1时Q14 Q15接通,这正是我们要的功能。

就按这个电路来么?

实验证明,失败了(可以看到小车图中中间一堆三极管,其实已经废弃了),这样可能控制电机的正反转,但是小车启动很困难,为什么呢。

我们知道,电动机,是一个感性电路,不是一个纯电阻。简单的说,电机的电阻不是一成不变的,转速越低,电阻越小,转速越高,电阻越大。

所以小车启动过程,就是从低速或零速度开始运作。零速度时,电阻最小,只有零点几欧姆,好了,上面图中,三级管,本身也有内阻,这样,电路简化成这样:

这个想必大家都会算,这个0.1欧的电阻两端会有多少电压,非常小吧,也就零点几。那这么低的电压加到电机上,能转吗?
显然转不了。 所以最后的结果是,小车要手动推一把才能运作。

于是大家应该想到了,既然电动机变不了,能不能先个内阻非常小的三极管不就行了么?

对,找个内阻小的,而且要非常小,后来发现三极管是找不到,于是最终换了场效管:

好了,这下安逸了,这个内阻非常小,最后小车启动时也很敏捷。

取个名字,这个电路标准叫法为H桥。

现在还差个功能,就是调速咯,电压变了,速度就会变,这个我们知道,但是对于单片机来说,只会输出0和1,输出不了多种电压啊。于是考虑这样:

我们给场效管的电路,不要一至输出1,而是输出一个方波:

即,输入1时,间歇的输出0,因为频率比较高,输入0时,电机不会立即停。于是当调整t1和t2的比例(称为间歇比)时,电机的速度也就变了下来:

这个就是传说中的PWM控制技术。

好了,到此为止,我们通过0和1也就可以控制小车的一系列的功能了,达到我们的要求的,组织下电路:

注:这个电路是在Multisim软件中绘制,好处是这个软件可以模拟,就是通上电,上面的电压表,电流表都会有读数,这个可以尽可能模拟电路的真实环境。

注:里面的场效管的型号不一定准,以第一章的配件清单来。

好了,直接按这电路来么,当然可以运行。但后来试运行时,发现单片机不稳定了,经常重启。查了很久,后来发现,原来是电机运行时,会导至整个电路电压不稳定,干扰了单片机的运行。所以后来想到,在上面A、B、C三个接电单片机的地方,再加一个光电耦合器,这样,就可以把电机电路与单片机电路分开了。光电耦合这样接:

这里,电路图上就不绘在一起了。接单片机的,直接选几个引脚一接即可。

电路设计好了后,就开始焊接:

当拿到场效管时,有点惊讶,发现非常小,于是没办法,整个电路就围着它来了,而且没有长的引脚,所以只能在万能板的反面焊接先这样排布:

注意:

这个场效管的外脚是这样排的:

同时,电路中,这两个是不一样的,中间一个进,一个出,所以对就的型号也是A,B两种,所以连接时,不要排错。

写软件时,经常说小步快跑,同样硬件也是,
当这四个管子焊好后,就可以跑一下了,把它当成开关,试着能否控制电机的转动,如果正转、反转都可以,说明这块电路OK,可以继续往下焊了。

四个场效管好了后,就可以继续焊三极管,然后是电阻,最后把引线全部加到边上的与门电路上。

反面是这样的:

好了,控制电路完成了,接下来就等着写程序控制小车吧。

时间: 2024-10-12 23:14:38

自己动手做个智能小车(4)的相关文章

自己动手做个智能小车(1)

自己动手做个智能小车(1) --介绍及工具材料准备 目前物联网发展很迅速,软硬结合也越来越流行.对硬件有些兴趣的我,也想来做点业余玩具. 这是个业余小作品,可以学习一些基本硬件.单片机,底层软件,Android编程等知识,同时不失趣味性. 直接上图: 怎么每张图有个手机?-- 哈哈那是遥控器. 介绍: 这个小车是一个三轮车,为啥采用三轮:方便.灵活.控制简单,比如要转个弯,只需要把这边的轮子速度降下来,就转过去了:还可以原地旋转,两个轮子速度相同,方向相反即可,这是四轮车办不到的. 问,边上的手

自己动手做个智能小车(5)

自己动手做个智能小车(5) --用程序来控制轮子 PWM控制电路完工了,接下来得把电路接到单片机,由单片机进行控制了.回想电路图: 这个图中,输入有3根组,A,B,C,其中,A入口,我们可以当成PWM控制线,B,C为正反转.停止控制线,整个状态可以罗列为下面表格: A控制 B控制 C控制 Q1 Q2 Q3 Q4 电机状态 X 0 0 0/导通 0/导通 0/截止 0/截止 刹车 PWM 1 0 1/截止 0/导通 PWM 0/截止 正转 PWM 0 1 0/导通 1/截止 0/截止 PWM 反转

自己动手做个智能小车(3)

自己动手做个智能小车(3) --让小电脑运行程序吧 通了电源,也有了初步的规划,我们就把主芯片给接上,并让其工作起来. 这个主芯片就是89C52单片机,有人说,单片机没学过啊,怎么没,没关系,在里,我们就从最简单的入手,然后再慢慢加功能.我们知道学个新程序,一般从HelloWord开始,那单片机同样,也从其本的开始. 51单片机,有40个引脚,其中,芯片从一个U口的左侧开始计数,然后一圈编号,40脚与20脚接电源的正负极.其中,1~8 0~17 39~32 1~28 为单片机的P1 P3 P0

自己动手做个智能小车(2)

自己动手做个智能小车(2) --基本布局及电源部份 上一章中,我们逻列出所有需要的零件,接下来就是我们开始拼装的时候了.电路图... 没有, 没有完整的,我们就一步步做吧,纯手工,焊到哪就是哪,不通了就飞线(注:正常电路从板子下面走,但如果实在有交叉过不去时,就可以在上面用一导线直接相联,叫飞线,正式design好的板子一般都不用飞的咯). 虽说焊到哪是哪,但是还是得稍微布局设计一下. 观察一下小车,电机分布在两边,前面一轮子,后面空, 所以后面空地方肯定不能压重物,不然会压翻掉. 电路板100

自己动手做个智能小车(7)

自己动手做个智能小车(8)[终]

自己动手做个智能小车(6)

(原)动手造遥控智能小车

序)我只是传感器的组装者 在入职之后,一直比较轻松,等着大数据项目的启动,然后这段时间正好优化下自己的硬件方面的东西,曾经的自己还是c51的编程高手(好吧,高手是瞎吹的,会玩而已),后来放弃去参加周立功杯,继续玩的是java,因为硬件只是兴趣,就是兴趣,业余玩玩而已. 这次做了什么,在这几天终于动手完善一下这些东西,之前一直是挤时间做,现在有的是时间干脆把东西搬到公司,方便多了,经过这些年多积攒,自己还是有近百个传感器,应有尽有,个个曾经都测过,还有多支开发版,c52,树莓b+等,这次主要是做了

stm32智能小车之路

       最近学习了stm32,带着兴趣想做一个智能小车.不得不承认自己还是一个实实在在的菜鸟,好多知识到了用处都不会了,看了半天,才看懂.在网上看了下,全是关于51的,stm32的很少,而且也是很详细,看了还是不懂,自己既然做完了,拿出来和大家分享下,互相学习,希望大家提出点意见.         非常感谢CSDN,让我学到了很多的知识,里面的牛人太多了,给我提供了丰富的资源,作为回报,我也把自己的想法和一些经验(我自认为的)写出来,给没有头绪或不会的人来学习下,希望你们不要走我走过的弯路