有什么嵌入式视频教程适合自学的

核心提示原文链接:网页链接我是1999年上的大学,物理专业。在大一时,我们班里普遍弥漫着对未来的不安,不知道学习了物理后出去能做什么。你当下的经历、当下的学习,在未来的一天肯定会影响到你。毕业后我们也各自找到了自己的职业:出国深造转行做金融、留校任

原文链接:网页链接

我是1999年上的大学,物理专业。在大一时,我们班里普遍弥漫着对未来的不安,不知道学习了物理后出去能做什么。你当下的经历、当下的学习,在未来的一天肯定会影响到你。毕业后我们也各自找到了自己的职业:出国深造转行做金融、留校任教做科研、设计芯片、写程序、创办公司等等,这一切都离不开在校时学到的基础技能(数学、IT、电子电路)、受过煅炼的自学能力。

所以,各位正在迷茫的在校生,各位正在尝试转行的程序员,未来一定有你的位置,是好是坏取决于你当下的努力与积累。

我不能预言几年后什么行业会热门,也不能保证你照着本文学习可以发财。我只是一个有十几年经验的程序员,给对编程有兴趣的你,提供一些建议。

1程序员的三大方向

程序员的方向,一般可以分为3类:专业领域、业务领域、操作系统领域。你了解它们后,按兴趣选择吧。

对于专业领域,我提供不了建议。

业务,也就是应用程序,它跟操作系统并不是截然分开的:

①开发实体产品时,应用程序写得好的人,有时候需要操作系统的知识,比如调度优先级的设置、知道某些函数可能会令进程休眠。

②写应用程序的人进阶为系统工程师时,他需要从上到下都了解,这时候就需要有操作系统领域的知识了,否则,你怎么设计整个系统的方案呢?

③做应用程序的人,需要了解行业的需求,理解业务的逻辑。所以,当领导的人,多是做应用的。一旦钻入了某个行业,很难换行业。

④而操作系统领域,做好了这是通杀各行业:他只负责底层系统,在上面开发什么业务跟他没关系。这行很多是技术宅,行业专家。

⑤操作系统和业务之间并没有一个界线。有操作系统经验,再去做应用,你会对系统知根知底,碰到问题时都有解决思路。有了业务经验,你再了解一下操作系统,很快就可以组成一个团队自立门户,至少做个CTO没问题。

11 专业领域

它又可以分为下面2类。

111 学术研究

比如语音、图像处理、人工智能,这类工作需要你有比较强的理论知识,我倾向于认为这类人是“科学家”,他们钻研多年,很多时候是在做学术研究。

在嵌入式领域,需要把他们的成果用某种算法表达出来,针对某种芯片进行优化,这部分工作也许有专人来做。

112 工程实现

也有这样一类人,他们懂得这些专业领域的概念,但是没有深入钻研。可以使用各类开源资料实现某个目标,做出产品。比如图像处理,他懂得用opencv里几百个复杂函数来实现头像识别。有时候还可以根据具体芯片来优化这些函数。

“专业领域”不是我的菜,如果你要做这一块,我想最好的入门方法是在学校学习研究生、博士课程。

12 业务领域

换句话说,就是应用程序,这又可以分为下面2类。

121 界面显示

做产品当然需要好的界面,但是,不是说它不重要,是没什么发展后劲。

现在的热门词是Android APP和IOS APP开发。你不要被Android、IOS两个词骗了,它们跟以前的VC、VB是同一路货色,只是、仅仅是一套GUI控件的实现。

希望没有冒犯到你,我有理由。

一个程序需要有GUI界面,但是程序的内在逻辑才是核心。Android、IOS的开发工具给我们简化了GUI的开发,并提供了这些控件的交互机制,封装并提供了一些服务(比如网络传输)。但是程序内部的业务逻辑、对视频图像声音的处理等等,这才是核心。另外别忘了服务器那边的后台程序:怎样更安全地保存数据、保护客户的隐私,怎样处理成千上万上百万的并发访问,等等,这也是核心。

但是,从Android、IOS APP入门入行,这很快!如果你是大四,急于找到一份工作,那么花上1、2个月去学习Android或IOS,应该容易找到工作,毕竟APP的需求永远是最大的,现在这两门技术还算热门。在2011、2012年左右,Android程序员的起薪挺高,然后开始下滑。Android APP的入门基本只要1个月,所以懂的人也越来越多。2013、2014年,IOS开发的工资明显比Android高了,于是各类IOS培训也火曝起来。中华大地向来不缺速成人才,估计再过一阵子IOS工程师也是白菜价了。

会Android、IOS只是基本要求,不信去51job搜搜Android或IOS,职位要求里肯定其他要求。

122 业务逻辑

举个简单例子,做一个打卡软件,你需要考虑这些东西:

①正常流程是上班下班时都要打卡

②有人忘记了怎么办?作为异常记录在案,推送给管理员

③请假时怎么处理?

④加班怎么处理?

对于更复杂的例子,视频会议系统里,各个模块怎么对接,各类协议怎么兼容,你不深入这个行业,你根本搞不清楚。

应用开发的职位永远是最多的,入门门槛也低。基本上只要你会C语言,面试时表现比较得体,一般公司都会给你机会。因为:

①你进公司后,还需要重新培训你:熟悉它们的业务逻辑。

②你要做的,基本也就是一个个模块,框架都有人给你定好了,你去填代码就可以了。

说点让你高兴的事:软件公司里,做领导的基本都是写应用程序的(当然还有做市场的)。写应用程序的人,对外可以研究市场接待客户,对内可以管理程序员完成开发,不让他做领导让谁做?

如果你的志向是写应用程序,那么我建议你先练好基本功:数据结构、算法是必备,然后凭兴趣选择数据库、网络编程等等进行深入钻研。

最后,选择你看好的、感兴趣的行业深耕个10年吧。做应用开发的人选择了某个行业,后面是很难换行业的,选行很重要!

13 操作系统领域

UCOS太简单,VxWorks太贵太专业,Windows不玩嵌入式了,IOS不开源,所以对于操作系统领域我们也只能玩Linux了。

在嵌入式领域Linux一家独大!

Android呢?Android跟QT一样,都是一套GUI系统。只是Google的实力太强了,现在Android无处不在,所以很多时候Linux+Android成了标配。注意,在这里我们关心的是Android的整个系统、里面的机制,而不是学习几个API然后开发界面程序。操作系统领域所包含的内容,简单地说,就是制作出一台装好系统的专用“电脑”,可以分为:

①为产品规划硬件:

按需求、性能、成本选择主芯片,搭配周边外设,交由硬件开发人员设计。

②给单板制作、安装操作系统、编写驱动

③定制维护、升级等系统方案

④还可能要配置、安装Android等GUI系统:

⑤为应用开发人员配置开发环境

⑥从系统角度解决疑难问题

这个领域,通常被称为“底层系统”或是“驱动开发”。

先解决2个常见误区:

①这份工作是写驱动程序吗?

看看上面罗列的6点,应该说,它包含驱动开发,但远远不只有驱动开发。

②我们还需要写驱动吗?不是有原厂吗?或者只需要改改就可以?

经常有人说,芯片原厂都做好驱动了,拿过来改改就可以了。如果,你的硬件跟原厂的公板完全一样,原厂源码毫无BUG,不想优化性能、削减成本,不想做一些有特色的产品,那这话是正确的。

但是在这个不创新就是找死的年代,可能吗?!原因有二:

①即使只是修改代码,能修改的前提是能理解;能理解的最好煅炼方法是从零写出若干驱动程序。

②很多时候,需要你深度定制系统。

以前做联发科手机只需要改改界面就可以出货了,现在山寨厂一批批倒下。大家都使用原厂的方案而不加修改时,最后只能拼成本。

举个例子,深圳有2家做交通摄像头、监控摄像头的厂家,他们曾经找我做过4个项目:

①改进厂家给的SD卡驱动性能,使用DMA。

②换了Flash型号后,系统经常出问题,需要修改驱动BUG。

③触摸屏点击不准,找原因,后来发现是旁路电容导致的。

④裁减成本,把4片DDR换为2片DDR,需要改bootloader对DDR的初始化。

这些项目都很急,搞不定就无法出货,这时候找原厂?除非你是中兴华为等大客户,否则谁理你?

我在中兴公司上班时,写驱动的时间其实是很少的,大部分时间是调试:系统调优,上帮APP工程师、下帮硬件工程师查找问题。我们从厂家、网上得到的源码,很多都是标准的,当然可以直接用。但是在你的产品上也许优化一下更好。比如我们可以把摄像头驱动和DMA驱动揉合起来,让摄像头的数据直接通过DMA发到DSP去。我们可以在软件和硬件之间起桥梁作用,对于实体产品,有可能是软件出问题也可能是硬件出问题,一般是底层系统工程师比较容易找出问题。

当硬件、软件应用出现问题,他们解决不了时,从底层软件角度给他们出主意,给他们提供工具。再比如方案选择:芯片性能能否达标、可用的BSP是否完善等等,这只能由负责整个方案的人来考虑,他必须懂底层。

在操作系统领域,对知识的要求很多:

①懂硬件知识才能看懂电路图

②英文好会看芯片手册

③有编写、移植驱动程序的能力

④对操作系统本身有一定的理解,才能解决各类疑难问题

⑤理解Android内部机制

⑥懂汇编、C语言、C++、JAVA

它绝对是一个大坑,没有兴趣、没有毅力的人慎选。

①这行的入门,绝对需要半年以上,即使全天学习也要半年。

②它的职位,绝对比APP的职位少

③并且你没有1、2年经验,招你到公司后一开始你做的还是APP。

优点就是:

①学好后,行业通杀,想换行就换行;想自己做产品就自己做产品。

②相比做应用程序的人,不会被经常变动的需求搞得天天加班。

③门槛高,当然薪水相对就高。

操作系统领域,我认为适合于这些人:

①硬件工程师想转软件工程师,从底层软件入门会比较好

②单片机工程师,想升级一下。会Linux底层的人肯定会单片机,会单片机的人不一定会Linux。

③时间充足的学生:如果你正读大二大三,那么花上半年学习嵌入式Linux底层多有益处。

④想掌握整个系统的人,比如你正在公司里写APP,但是想升为系统工程师,那么底层不得不学。

⑤想自己创业做实体产品的工程师,你有钱的话什么技术都不用学,但是如果没钱又想做产品,那么Linux底层不得不学。

⑥做Linux APP的人,没错,他们也要学习。

这部分人不需要深入,了解个大概就可以:bootloader是用来启动内核,Linux的文件系统(第1个程序是什么、做什么、各目录干嘛用)、APP跟驱动程序的调用关系、工具链,有这些概念就可以了

本文中,就把操作系统默认为Linux,讲讲怎么学习嵌入式Linux+Android系统。

14 嵌入式Linux+Android系统包含哪些内容

嵌入式Linux系统包含哪些东西?不要急,举一个例子你就知道了。

①电脑一开机,那些界面是谁显示的?

是BIOS,它做什么?一些自检,然后从硬盘上读入windows,并启动它。

类似的,这个BIOS对应于嵌入式Linux里的bootloader。这个bootloader要去Flash上读入Linux内核,并启动它。

②启动windows的目的是什么?

当然运行应用程序以便上网、聊天什么的了。

这些上网程序、聊天程序在哪?

在C盘、D盘上。

所以,windows要先识别出C盘、D盘。在Linux下我们称之为根文件系统。

③windows能识别出C盘、D盘,那么肯定有读写硬盘的能力。

这个能力我们称之为驱动程序。当然不仅仅是操作硬盘,还有网卡、USB等等其他硬件。嵌入式Linux能从Flash上读出并执行应用程序,肯定也得有Flash的驱动程序啊,当然也不仅仅是Flash。

简单地说,嵌入式LINUX系统里含有bootloader、内核、驱动程序、根文件系统、应用程序这5大块。而应用程序,我们又可以分为:C/C++、Android。

所以,嵌入式Linux+Android系统包含以下6部分内容:

①bootloader

②Linux内核

③驱动程序

④使用C/C++编写的应用程序

⑤Android系统本身

⑥Android应用程序

Android跟Linux的联系实在太大了,它的应用是如此广泛,学习了Linux之后没有理由停下来不学习Android。在大多数智能设备中,运行的是Linux操作系统;它上面要么安装有Android,要么可以跟Android手机互联。现在,Linux+Android已成标配。

2 怎么学习嵌入式Linux操作系统

本文假设您是零基础,以实用为主,用最快的时间让你入门;后面也会附上想深入学习时可以参考的资料。

在实际工作中,我们从事的是“操作系统”周边的开发,并不会太深入学习、修改操作系统本身。

①操作系统具有进程管理、存储管理、文件管理和设备管理等功能,这些核心功能非常稳定可靠,基本上不需要我们修改代码。我们只需要针对自己的硬件完善驱动程序

②学习驱动时必定会涉及其他知识,比如存储管理、进程调度。当你深入理解了驱动程序后,也会加深对操作系统其他部分的理解

③Linux内核中大部分代码都是设备驱动程序,可以认为Linux内核由各类驱动构成

但是,要成为该领域的高手,一定要深入理解Linux操作系统本身,要去研读它的源代码。

在忙完工作,闲暇之余,可以看看这些书:

①赵炯的《linux内核完全注释》,这本比较薄,推荐这本。他后来又出了《Linux 内核完全剖析》,太厚了,搞不好看了后面就忘记前面了。

②毛德操、胡希明的《LINUX核心源代码情景分析》,此书分上下册,巨厚无比。当作字典看即可:想深入理解某方面的知识,就去看某章节。

③其他好书还有很多,我没怎么看,没有更多建议

基于快速入门,上手工作的目的,您先不用看上面的书,先按本文学习。

21 入门路线图

假设您是零基础,我们规划了如下入门路线图。前面的知识,是后面知识的基础,建议按顺序学习。每一部分,不一定需要学得很深入透彻,下面分章节描述。

22 学习驱动程序之前的基础知识

221 C语言

只要是理工科专业的,似乎都会教C语言。我见过很多C语言考试90、100分的,一上机就傻了,我怀疑他们都没在电脑上写过程序。

理论再好,没有实践不能干活的话,公司招你去干嘛?

反过来,实践出真知,学习C语言,必须练练练、写写写!

当你掌握基本语法后,就可以在电脑上练习一些C语言习题了;

当你写过几个C程序后,就可以进入下一阶段的裸机开发了。

①不需要太深入

作为快速入门,只要你会编写“Hello, world!”,会写冒泡排序,会一些基础的语法操作,暂时就够了。

指针操作是重点,多练习;

不需要去学习过多的数据结构知识,只需要掌握链表操作,其他不用学习,比如:队列、二叉树等等都不用学;不需要去学习任何的函数使用,比如文件操作、多线程编程、网络编程等等;这些知识,在编写Linux应用程序时会用,但是在操作系统特别是驱动学习时,用不着!

永往直前吧,以后碰到不懂的C语言问题,我们再回过头来学习。

在后续的“裸机开发”中,会让你继续练习C语言,那会更实战化。

C语言是在写代码中精进的。

②可以在Visual Studio下学习,也可以在Linux下学习,后者需要掌握一些编译命令,我们暂时没有提供C语言的教程,找一本C语言书,网上找找免费的C语言视频(主要看怎么搭建环境),就可以自学了。

222 PC Linux基本操作:

对于PC Linux,我们推荐使用Ubuntu,在它上面安装软件非常简便。

我们的工作模式通常是这样:在Windows下阅读、编写代码,然后把代码上传到PC Linux去编译。实际上,Ubuntu的桌面系统已经很好用了,我们拿到各种智能机可以很快上手,相信Ubuntu的桌面系统也可以让你很快上手。为了提高工作效率,我们通常使用命令行来操作Ubuntu。

不用担心,你前期只需要掌握这几条命令就可以了,它们是如此简单,我干脆列出它们:

①cd : Change Directory(改变目录)

cd 目录名          // 进入某个目录cd            // cd “两个点”:返回上一级目录cd -             // cd “短横”:返回上一次所在目录

②pwd : Print Work Directory(打印当前目录 显示出当前工作目录的绝对路径)

③mkdir : Make Directory(创建目录)

mkdir abc         // 创建文件夹abc

mkdir -p a/b/c    // 创建文件夹a,再a下创建文件夹b,再在b下创建文件夹c

④rm : Remove(删除目录或文件)

rm  file     // 删除名为file的文件

rm -rf dir   // 删除名为dir的目录

⑤ls : List(列出目录内容)

⑥mount : 挂载

mount -t nfs -o nolock,vers=2 1921681123:/work/nfs_root /mnt

mount -t yaffs /dev/mtdblock3 /mnt

⑦chown : Change owner(改变文件的属主,即拥有者)

chown book:book /work -R  //对/work目录及其下所有内容,属主改为book用户,组改为book

⑧chmod : Change mode(改变权限),下面的例子很简单粗暴

chmod 777 /work -R  // 对/work目录及其下所有内容,权限改为可读、可写、可执行

⑨vi : Linux下最常用的编辑命令,使用稍微复杂,请自己搜索用法。

要练习这些命令,你可以进入Ubuntu桌面系统后,打开终端输入那些命令;或是用SecureCRT、putty等工具远程登录Ubuntu后练习。

223 硬件知识

我们学习硬件知识的目的在于能看懂原理图,看懂通信协议,看懂芯片手册;不求能设计原理图,更不求能设计电路板。

对于正统的方法,你应该这样学习:

①学习《微机原理》,理解一个计算机的组成及各个部件的交互原理。

②学习《数字电路》,理解各种门电路的原理及使用,还可以掌握一些逻辑运算(与、或等)。

③《模拟电路》?好吧,这个不用学,至少我在工作中基本用不到它,现在全忘光了。

就我个人经验来说,这些课程是有用的,但是:

①原理有用,实战性不强。

比如《微机原理》是基于x86系统,跟ARM板子有很大差别,当然原理相通。

我是在接触嵌入式编程后,才理解了这些课程。

②每本书都那么厚,内容都很多,学习时间过长,自学有难度。

针对这些校园教材的不足,并结合实际开发过程中要用到的知识点,我们推出了《学前班_怎么看原理图》的系列视频:

学前班第1课第1节___怎么看原理图之GPIO和门电路wmv

学前班第1课第21节_怎么看原理图之协议类接口之UARTwmv

学前班第1课第22节_怎么看原理图之协议类接口之I2Cwmv

学前班第1课第23节_怎么看原理图之协议类接口之SPIwmv

学前班第1课第24节_怎么看原理图之协议类接口之NAND Flashwmv

学前班第1课第25节_怎么看原理图之协议类接口之LCDwmv

学前班第1课第3节___怎么看原理图之内存类接口wmv

学前班第1课第41节_怎么看原理图之分析S3C2410开发板wmv

学前班第1课第42节_怎么看原理图之分析S3C2440开发板wmv

学前班第1课第43节_怎么看原理图之分析S3C6410开发板wmv

即使你只具备初中物理课的电路知识,我也希望能通过这些视频,让你可以看懂原理图,理解一些常见的通信协议;如果你想掌握更多的硬件知识,这些视频也可以起个索引作用,让你知道缺乏什么知识。

这些视频所讲到的硬件知识,将在《裸板开发》系列视频中用到,到时可以相互对照着看,加深理解。

224 要不要专门学习Windows下的单片机开发

很多学校都开通了单片机的课程,很多人都是从51单片机、AVR单片机,现在比较新的STM32单片机开始接触嵌入式领域,并且使用Windows下的开发软件,比如keil、MDK等。

问题来了,要不要专门学习Windows下的单片机开发?

①如果这是你们专业的必修课,那就学吧

②如果你的专业跟单片机密切相关,比如机械控制等,那就学吧

③如果你只是想从单片机入门,然后学习更广阔的嵌入式Linux,那么放弃在Windows下学习单片机吧!

理由如下:

①Windows下的单片机学习,深度不够

Windows下有很好的图形界面单片机开发软件,比如keil、MDK等。

它们封装了很多技术细节,比如:

你只会从main函数开始编写代码,却不知道上电后第1条代码是怎么执行的;

你可以编写中断处理函数,但是却不知道它是怎么被调用的;

你不知道程序怎么从Flash上被读入内存;

也不知道内存是怎么划分使用的,不知道栈在哪、堆在哪;

当你想裁剪程序降低对Flash、内存的使用时,你无从下手;

当你新建一个文件时,它被自动加入到工程里,但是其中的机理你完全不懂;

等等等。

②基于ARM+Linux裸机学习,可以学得更深,并且更贴合后续的Linux学习。实际上它就是Linux下的单片机学习,只是一切更加原始:所有的代码需要你自己来编写;哪些文件加入工程,需要你自己来管理。

在工作中,我们当然倾向于使用Windows下更便利的工具,但是在学习阶段,我们更想学习到程序的本质。

一切从零编写代码、管理代码,可以让我们学习到更多知识:

你需要了解芯片的上电启动过程,知道第1条代码如何运行;

你需要掌握怎么把程序从Flash上读入内存;

需要理解内存怎么规划使用,比如栈在哪,堆在哪;

需要理解代码重定位;

需要知道中断发生后,软硬件怎么保护现场、跳到中断入口、调用中断程序、恢复现场;

你会知道,main函数不是我们编写的第1个函数;

你会知道,芯片从上电开始,程序是怎么被搬运执行的;

你会知道,函数调用过程中,参数是如何传递的;

你会知道,中断发生时,每一个寄存器的值都要小心对待;

等等等。

你掌握了ARM+Linux的裸机开发,再回去看Windows下的单片机开发,会惊呼:怎么那么简单!并且你会完全明白这些工具没有向你展示的技术细节。

驱动程序=Linux驱动程序软件框架+ARM开发板硬件操作,我们可以从简单的裸机开发入手,先掌握硬件操作,并且还可以:

①掌握如何在PC Linux下编译程序、把程序烧录到板子上并运行它

②为学习bootloader打基础:掌握了各种硬件操作后,后面一组合就是一个bootloader

225 为什么选择ARM9 S3C2440开发板,而不是其他性能更好的?

有一个错误的概念:S3C2440过时了、ARM9过时了。

这是不对的,如果你是软件工程师,无论是ARM9、ARM11、A8还是A9,对我们来说是没有差别的。

一款芯片,上面有CPU,还有众多的片上设备(比如UART、USB、LCD控制器)。我们写程序时,并不涉及CPU,只是去操作那些片上设备。

所以:差别在于片上设备,不在于CPU核;差别在于寄存器操作不一样。

因为我们写驱动并不涉及CPU的核心,只是操作CPU之外的设备,只是读写这些设备的寄存器。

之所以推荐S3C2440,是因为它的Linux学习资料最丰富,并有配套的第1、2期视频。

226 怎么学习ARM+Linux的裸机开发

学习裸机开发的目的有两个:

①掌握裸机程序的结构,为后续的u-boot作准备

②练习硬件知识,即:怎么看原理图、芯片手册,怎么写代码来操作硬件

后面的u-boot可以认为是裸机程序的集合,我们在裸机开发中逐个掌握各个部件,再集合起来就可以得到一个u-boot了。

后续的驱动开发,也涉及硬件操作,你可以在裸机开发中学习硬件知识。

注意:如果你并不关心裸机的程序结构,不关心bootloader的实现,这部分是可以先略过的。在后面的驱动视频中,我们也会重新讲解所涉及的硬件知识。

推荐两本书:杜春蕾的《ARM体系结构与编程》,韦东山的《嵌入式Linux应用开发完全手册》。后者也许是国内第1本涉及在PC Linux环境下开发的ARM裸机程序的书,如果我说错了,请原谅我书读得少。

对于裸机开发,我们提供有2部分视频:

①环境搭建

第0课第1节_刚接触开发板之接口接线wmv

第0课第2节_刚接触开发板之烧写裸板程序wmv

第0课第3节_刚接触开发板之重烧整个系统wmv

第0课第4节_刚接触开发板之使用vmwae和预先做好的ubuntuwmv

第0课第5节_刚接触开发板之u-boot打补丁编译使用及建sourceinsight工程wmv

第0课第6节_刚接触开发板之内核u-boot打补丁编译使用及建sourceinsight工程wmv

第0课第7节_刚接触开发板之制作根文件系统及初试驱动wmv

第0课第8节_在TQ2440,MINI2440上搭建视频所用系统wmv

第0课第9节_win7下不能使用dnw烧写的替代方法wmv

原文链接:网页链接

电路深度解惑,电路,电学特斯拉线圈

你好。汽车电路可在腾讯视频优酷视频b站视频爱奇艺视频等等视频播放器都可以看到相关的视频。但是建议您学习汽车电路最好是去到专业的学校学习,这样能够更加系统专业的从零基础开始学习。希望我的回答可以帮助到你,谢谢。

怎样才能看懂无线电电路图

只给出实物图是不行的,因为我们难以根据实物图看清楚电路的结构。

请给出具体的电路图以及主要元件的参数,比如线圈是如何绕制的、初次级匝数、是否有铁芯(磁芯)?这样才好帮你把关。

而且实话实说,你这一堆东西接的乱七八糟的,看着头疼啊。为什么搞这么多鳄鱼夹呢?现在网上随便拍几块洞洞板,用电烙铁焊一下很简单的。像你这样接电路 ,不仅乱、容易导致短路或接触不良,还会因分布参数太大影响电路的高频稳定性

你提供的电路确实不算完整,因此看起来令人困惑,后来仔细看了一下,看懂了。下面评价一下这个电路,如图:

这是你的原图,红色部分是我后加的。由于看不清楚你拍照的东西,因此无法确定3匝的原线圈和400匝的副线圈是否绕制在铁氧体磁芯上,照片看起来没有磁芯,貌似就是绕在一根PVC管子上的。如果没有磁芯的话,原副线圈之间耦合系数很低,原线圈的能量只有很少一部分可以耦合到副线圈,副线圈产生的感应电压必然很小,无法拉出电弧就毫不奇怪了

你这个电路,正反馈是利用高压副线圈的电流提供的,要想起振,必须让副线圈拉出电弧(或短路副线圈,再或者副线圈放电针之间加上一定的负载电阻),让副线圈产生电流,正反馈信号才会出现,才能起振。如果副线圈开路、拉不出电弧的话,正反馈信号将缺失,振荡将停止。且,副线圈提供的正反馈电流值不确定(等于高压放电电流),因此振荡是不稳定的。

还有,无论2N2222A还是2SC8050,极限电流很小、耐压都较低,用于此类电路,能提供的高压放电功率不大,且容易击穿三极管。

下面是改进的电路:

1、三极管采用高反压大电流开关管MJE13003或MJE13005(多用于几十瓦以上的节能灯镇流器,可找一个闲置的镇流器拆得),耐压400V、极限电流3~5A,可提供足够的功率,无需担心损坏。

2、增加了反馈绕组(2匝)专门提供正反馈,通过51Ω限流电阻,原线圈中脉冲电流峰值可达到3A。由于不再利用高压副线圈提供负反馈,因此只要接通电路就能起振,振荡稳定可靠。

3、三组线圈绕制在高频铁氧体磁芯上,可用EE型或EI型磁芯,横截面积不小于10平方毫米(可从几十瓦的节能灯镇流器上拆得)。原线圈可以考虑用直径05mm左右的漆包线4~6根并绕3匝,以降低趋肤效应;高压副线圈采用直径02mm左右的漆包线绕制1000匝;反馈绕组对线径无特殊要求,绕制2匝即可。如下图,几个线圈均绕制在磁芯中柱上。

由于变压器工作在反激模式,因此为了 避免磁芯饱和,组装磁芯时要留有一定的气隙,可以在组装磁芯时,在两部分磁芯之间加上一层05~1mm后的纸板(示意图中的蓝色部分)。如果磁芯已经预留气隙,此步骤可省略。

由于有高压,为安全起见,原副线圈之间要确保良好绝缘(可用薄一些的绝缘胶带隔离),绕好后烘干浸漆处理更好,副线圈高压输出的两个端子最好用绝缘套管引出

注意反馈线圈的同名端(图中线圈用红点标出的为同名端),如果接反了不会起振,对调即可。调试时,可适当调整反馈限流电阻,令其在33Ω~82Ω之间改变,可改变振荡强度和输出高压的强度。

最后,建议购买洞洞板和电烙铁、焊锡、助焊剂,用洞洞板搭建电路,不要像你原来那样用鳄鱼夹。类似这种:

祝你成功。

=======================================================

最后一次补充回答:

1、如果三极管是场效应管、IGBT之类的压控元件,反馈信号是电压没问题,但考虑到场效应管存在较大输入电容,如果是高频振荡,只有电压是不够的,还要有足够的电流,否则一样会驱动不足。你这个电路采用的双极型三极管,是电流控制型元件,正反馈信号归根结底必须是电流,而且电流还要足够大才行。

2、网上有很多视频都是骗人的,表面演示的是一个电路,背后是另一个电路也未可知。

3、加了磁芯之后,和空心线圈相比,电感量增加是当然的,但可以通过减少线圈匝数来达到合理的电感量,谁说频率必然下降?按照你这个原始电路,如果不加磁芯,可以计算出来原线圈电感量只有可怜的微亨级,微亨级的电感一般用于数十兆赫以上的振荡电路,而2SC8050三极管共发射极截止频率为150MHz,工作在几十兆赫时,其高频β值必然降低到只有几倍,这得需要多大的正反馈电流才能满足振荡?如果将振荡频率降低到几百kHz,β值倒是有保障了,但这么低的频率和微亨级的电感量能匹配吗?

毕竟,这个电路形成的是方波振荡,夸大一些,初级线圈电感量算它5微亨(实际计算结果远远不到2μH,如果不信,请百度空心线圈电感计算方法自行验证,或用电感仪测量)、100kHz频率、占空比05计算好了,开关管饱和导通时间长度为1÷200,000x05=5μs,在此期间,8050三极管的脉冲电流峰值为Icm=12V÷0000005x0000005=12A,这远远大于8050的能承受的最大脉冲电流!你告诉我无需中、大功率管?

4、即使用空心线圈,为了减小漏磁(漏感)、增大耦合系数,初次级线圈也应该绕在一起、尽量接近,而不是像你这样在一根PVC管子上同轴相距好几厘米这么远的距离绕制。

第一种,是我所说的空心线圈紧密耦合的绕法,虽然仍有漏磁但毕竟好得多。第二种就是你按照资料(或者所谓抖音视频)上介绍的松散耦合的绕法,红色初级线圈产生的磁力线只有少量能穿越蓝色次级线圈,漏磁巨大。超乎你预料的是,无论频率高低,螺线管产生的磁场都是和条形磁铁周围磁场相一致(或者说高度相似),在空气作为导磁介质的情况下,第二种绕法,红色线圈产生的磁力线不可能大部分穿越蓝色线圈。你所说的频率高了就没问题,完全是一厢情愿

第三种是加了磁芯的,哪怕不是闭合磁芯而是一根贯穿的磁棒,因为铁氧体高频磁棒的导磁率远高于空气,因此红色线圈产生的磁力线将只有极少数(不足千分之一)从空气中侧漏,几乎全部都会利用磁棒穿越蓝色线圈,属于深度耦合。

请重新温习一下中学物理关于条形磁铁和螺线管磁场分布的知识:

来来来,你告诉我,下列知识,哪一个不是所谓的电子专业人士应该烂熟于心的:

1、三极管β值和工作频率的乘积,等于三极管共发射极极限工作频率。实际工作频率越高,β值越小。所谓β=250之类的说法,仅仅针对于低频以及直流工作环境。

2、空心电感计算公式;方波周期、占空比以及高低电平持续时间的计算;电感工作在开关电路中峰值电流的计算公式 Im=U△t/L。

3、空心螺线管的磁场和条形磁铁磁场的相似性、周边磁感线的分布。

4、工作在正反馈开关(斩波)状态的三极管驱动电流值的设计------βIb>Icm。

5、此类电路的初级线圈电感量的取值原则------既要满足工作频率下峰值电流要求,也要能提供足够功率输送。如何平衡电感量、工作频率、峰值电流和输送功率的取值?

6、此类电路的变压器(无论有无磁芯,初次级间存在一定的互感就可视为变压器),有正激和反激两类工作模式,正常情况下应按反激型来设计。而工作模式还有连续模式和断续模式两种。不要告诉我,一个所谓的专业人士,连正激和反激、连续模式和断续模式都没听说过。。。。。。

7、高频电路,分布参数对电路工作的状态有巨大影响,对于微亨级、兆赫级振荡,一堆数厘米长的电线和鳄鱼夹带来的分布参数,对振荡的稳定性有没有影响?影响有多大?

8、多大的放电气隙需要多高的击穿电压?假设拉弧空气间隙为1mm(再大的间隙此类电路怕是产生不了足够高的电压),一般空气干燥的情况下,需要3kV的击穿电压,你这个原始设计能否提供如此高的电压,有过计算论证吗?如果拉弧气隙远超1mm,需要多高的电压,想过没有?就按照1mm计算好了,空载3kV击穿后电压跌落至500V、电弧电流按照10mA算,放电功率高达5W,而原始电路设计的松散耦合状态,能量传输效率必然很低,初级消耗的电功率必然远大于5W,8050吃得消?12A1A的电源吃得消?还有,就算能提供空载3kV的输出,次级线圈的匝数需要多少?别人用400匝,你就用400匝?此时8050将承受多高的尖峰电压?其25V的BVceo吃得消?

9、找一个电蚊拍,拆开看看人家的电路是怎样设计的,和你这个所谓的“特斯拉线圈”无论原理还是用途,本质上有何区别?------一个用来电蚊蝇有实用价值,一个无非为了满足好奇心或者装逼而已。

10、高频开关电源、传统CRT电视机高压包的变压器,都是有磁芯的。不用磁芯仅仅依靠高频就能实现紧密耦合?早年全世界数百亿台CRT显示器和数千亿开关电源,如果都省略磁芯,会节约多少成本?工程师都是傻子,不懂得省略磁芯?

11、工作在开关状态的场效应管,虽然是电压驱动,但由于输入电容Cgs的存在,也是需要一定电流的,否则会导致开关不良功耗剧增。驱动电流如何计算?

12、趋肤效应听说过?怎么降低这种效应的影响?MJE13005用过?EI磁性功率和磁芯横截面积的关系懂?原副线圈间耦合系数这个概念听说过?耦合系数的定义?

……

……

你告诉我,能瞬间想得到、说出上述这么多专业知识的,真业余吗?

看得出,你是专业的,专业人士用一大堆鳄鱼夹弄了几个月不成功?

当一个如此简单的电路鼓捣几个月都不成功,要不要怀疑一下原始设计的合理性?要不要反思一下自己制作中的不足和错误?要不要进行理论验证和计算分析,要不要改进一下?还是牛角尖一直钻下去?要不要虚心听听别人的意见然后尝试一下?

不要觉得自己在网上回答过几百上千道关于电子类的题目就觉得自己专业了。电子技术包罗万象,搞数电的不见得模电厉害,模电厉害的可能数电一知半解,理论教学很牛逼的实践能力差的人有很多,自认动手能力强的人很多理论知识很匮乏。任何时候都要谦虚好学、热爱钻研,而非钻牛角尖认死理不懂得变通。

怎样绘制电路图

要看懂电子电器产品的电路图,需要具备相当程度的专业和专业基础知识,要学习电工技术、电子元器件原理、电子技术、无线电技术基础以及相关产品的专业知识等课程。一般具有高中或中专文化知识水平的人掌握上述课程并不难,但需要踏实地学,还要多见习,多请教。最好参加学习班,以便系统地学习。 如果你学习的目的是从事电器电子产品的维修,还需要学习相关产品的性能指标检测和检测仪器的使用,把故障孤立出来后还要掌握拆卸坏元器件和装配好元器件的技术。一般分立器件工艺的产品容易维修,表面贴装的电路板需要配备有专用设备的部门才能维修。 如果你为了设计产品而学习,需要的知识水平将更加丰厚,科班出身的专业学员一般都需要经过相当时间的见习才能胜任,不仅要看懂电路图,还要懂得产品的设计思想、总体方案以及电路设计之外的可靠性设计、安全性设计、热设计、工艺设计和电磁兼容设计等专业技术。当然,在生产厂从事生产管理的人员,看懂电路图是为了保证生产流程的顺利实施,保证产品指标合格,按照分工管好自己的业务即可。

pfc电路图及其原理5分钟搞定

绘制电路图有几种软件,专业的有 Protel 2004 ,它不但能画电路图,还可以根据画好的电路图,生成印刷电路。由于 Protel 2004 太专业,初学者比较难掌握。下面介绍一种初学者容易学习的绘图软件——北航的 CAXA 。 1 .安装程序 在电脑上安装 CAXA 光盘;或从网上下载 CAxA 软件到电脑中, _ 定要记得把破解文件中的“ Ebexe ”复制到 CAXA 中的“ bin 文件夹”,替换原来的“ Eb . exe ”文件,否则, CAXA 只能作绘图演示,不能保存文件。在电脑桌面上有“ CAXA 电子图板”的快捷键。 2 .调出画电路的应用程序 打开CAXA 软件,在“文件”中找到“应用程序管理器”一在弹出的“应用程序路径”窗口中,点击“新的路径”→在弹出的“浏览文件夹”中找到安装 CAXA 的位置→点击 CAXA →选中“ App ”→点击“确定”按钮→在“应用程序列表”中选择第 3 行“ D :\ CAXAApp \ sch . eba ” ( 我的 CAxA 安装在电脑的 D 盘 ) ,打上“√”一记得把下面的“在下次启动 CAXA 电子图板时自动加载选中的应用程序”前打上“√”→点击“确定”按钮,在菜单栏的右侧即显示“电路”菜单.. 3 .设定画图方案 点击“电路”→新建→选择幅面大小 ( 一般选 A4 即可 ) →点击“确定”→在工作区生成带图框及标题栏的 A4 幅面的栅格图纸。标题栏 ( 图框 ) 占据一定的位置,如果小用它,可以删除。在工具栏中点击“拾取过摅装置 ( 漏斗状图标 ) ”一弹出的“拾取装置”中,在“标题栏、图框”前打上“√”→点击“确定”→对标题栏 ( 或图框 ) 单击,这时标题栏 ( 或图框 ) 变为红色→右击,弹出快捷菜单→单击“删除标题栏 ( 或图框 ) ”。 用栅格图纸来绘制电路图,最大的好处是能准确排列电子元件,使绘出的电路图整齐美观。 4 .排列电子元件 在屏幕的左侧,点击“提取图符 ( 倒数第 3 个 ) ”→图符大类选择“电气符号”→图符小类选择各种你需要的电子元件名称 + 点击“浏览”→在“图符浏览”中选择你要用的元件符号,单击它→点击“下一步”→元件符号跟随光际移动,把元件放在你想放的位置一单击左键,屏幕左下角询问“图符旋转角度”,根据水平、垂直或反向摆放电子元件,输入 O 、 90 或→ 90 (180) .按“回车”键,即可摆放好第一个元件。重复这一步,同样的元件可以在多处摆放→单击右键,结束该元件的摆放。如果摆放的位置不合适,你可以删除或移动该元件:对该元件单击→元件变为红色 ( 虚线 ) →对该元件右击→弹出快捷菜单,选择你要进行的操作→单击结束操作。 重复以上步骤,选择你需要的元件符号并根据电路连接要求,在栅格图纸上摆放好。 5 .连接电路导线 点击“电路”→绘图工县→导线.根据电路图的要求把电了元件连接起来。 直导线可以直接进行连接,对于有转折的线路,最好把右下角的“屏幕点”改为→导航,就能很好地画出平直的导线。如果元件与导线的连接小好控制,可以把右下角的“屏幕点”改为→目由,或者移动元件来对接导线。 6 .在电路图中添加电路连接点 提取图符→图符人类选择“电气符号”→图符小类选择“电路接点”→图符列表选择“电路连接点”→点击“下一步”→在需要连接的节点双击即可。 7 .电子元件名称及参数标注 点击左侧“文字 A ”→在元件旁的适当位置单击左键,拉出大小合适的方框,再单击→在弹出的“文字标注与编辑”框内填写文字、符号等,通过下方的“文字调整”,改变你需要的字体、字高等→点击“确定”。 经过以上几个步骤,一 张电路图就画好了,最后一步一定要点击保存。用电脑画电路图没有什么特别的技巧,关键是多实践,熟能生巧。还可以点击“帮助”菜单中各种类型的“实例教程”等进行学习.

五分钟搞定因为这个电路电路图要写五分钟,搞定肯定是比较有技术的人。

简介

计算机开关电源是一种电容输入型电路,其电流和电压之间的相位差会造成交换功率的损失,此时便需要PFC电路提高功率因数。目前的PFC有两种,一种为被动式PFC(也称无源PFC)和主动式PFC(也称有源式PFC)。

被动式PFC

被动式PFC一般分“电感补偿式”和“填谷电路式(Valley Fill Circuit)”

“电感补偿式”是使交流输入的基波电流与电压之间相位差减小来提高功率因数,“电感补偿式”包括静音式和非静音式。“电感补偿式”的功率因数只能达到07~08,它一般在高压滤波电容附近。

“填谷电路式”属于一种新型无源功率因数校正电路,其特点是利用整流桥后面的填谷电路来大幅度增加整流管的导通角,通过填平谷点,使输入电流从尖峰脉冲变为接近于正弦波的波形,将功率因数提高到09左右,显著降低总谐波失真。

与传统的电感式无源功率因数校正电路相比,其优点是电路简单,功率因数补偿效果显著,并且在输入电路中不需要使用体积大重量沉的大电感器。

主动式PFC

而主动式PFC则由电感电容及电子元器件组成,体积小、通过专用IC去调整电流的波形,对电流电压间的相位差进行补偿。主动式PFC可以达到较高的功率因数──通常可达98%以上,但成本也相对较高。

此外,主动式PFC还可用作辅助电源,因此在使用主动式PFC电路中,往往不需要待机变压器,而且主动式PFC输出直流电压的纹波很小,这种电源不必采用很大容量的滤波电容。

-PFC

 
友情链接
鄂ICP备19019357号-22