2020年 01月 11日 星期六
您的位置: 威廉希尔主页 > 单片机技术 >

AVR单片机生成负压的原理解析

来源:未知     作者:威廉希尔     发布时间:2020-01-10 10:12         

  红外测温传感器的输出是一个mV级的电压信号,大约在室温下(26℃左右)输出0电压,温度再低就是负电压了。要用单片机检测这样一个小信号,必须进行放大,可一般的单电压运放都不能放大小信号(我曾经过LM324的单电压小信号放大,发现大约在100mV以下,LM324就没有反应了),最常规的解决方案就是使用双电压供电。

  双电压是个头疼的事情,弄两电压一般来说要使用变压器,还得是双绕组的,全桥整流,78 79系列IC伺候着。。。看着就不爽! 如果要改用电池供电。。。麻烦啊!

  于是打算用负压生成电。 负压生成都是一个套,用振荡器产生交流电,然后用电感产生电动势,或者用二极管和电容组成的倍压电。。。既然用了单片机,那么产生交流电这个任务,就交给软件吧~ 接着需要考虑负压拓扑。

  负压生成有电感和电容两种范式;其中,电感模式的有变压器式,和电感自激这么两种。 显然,我还没打算自己绕变压器,那还不如用双绕组市电变压器了;电感和电容选那种呢? 其实电感式的我做过,要想达到高效率,还真有点麻烦,最终选定电容式的了!

  当然,我用AVR代替了555,随便找个IO,在LED扫描中断里面反转一下IO,产生了3K左右的方波波形,套用这个电,一下子就生成了-4V的电压(5V供电),OK~

  接上100欧负载,顿时电压跌落为-1.6V,改了改电容容量,没效果(可能和我只改了1个电容有关系)!改了改驱动能力(多个IO口并联驱动),也基本没效果!改了改振荡频率,也基本没效果! 看来这个驱动能力确实有点差。。。当年用MAX232做高压发生,还能带动编程器呢(作为变成高压发生)。

  算了,没时间细研究,直接焊上LM324,管脚全部悬空,电压为3.8XV,想了想,把两个二极管从1N4148更换为1N60(锗管,0.2~0.3V压降),OK,带LM324的情况下,电压为-4.6V了!

  第一个电容C3,我使用的是10u的;第二个电容C4,我使用的是22u的;从原理上分析,这两个电容应该相等效果才好,否则两个电容只等于最小的那个容量;两个二极管为1n60,按理说1N5817之类的肖特基也是可以的,我就没有试验了。

  如图,C3的正极接一个方波,实质上就是依次和VCC与GND导通。当C3正极接通VCC的时候,根据二极管的特性,我们很容易得到下面的电流方向图:

  可以轻松算得,C3上充电能达到VCC-VIO-VD1,VD1为D1的压降0.2~0.3V,VIO为单片机IO口的内阻(一般是一个三极管的饱和压降0.2~0.3V),因此C3能达到的电压,在VCC为5V时,约为4.4~4.6V。 实际上如果电流很小,那么二极管的压降还要低,因此C3充电电压实际能达到4.8V! 我实测为4.76V。

  好,接着看,紧接着C3正极被接通至GND了,那么此时电流按照二极管的约束,开始由C3向C4充电:

  就这样往复,最后利用这两个电容+两个二极管,完成了电源从正到负的大挪移,在C4上产生了和VCC刚好相反的负电压,幅度为VCC-VIO-VD2-VD2,帅!

  写在后面:从这个负压发生原理可以看出,影响负载能力的,主要是电容的容量和电容充放电速度;而电容充电速度取决于单片机IO口的内阻和二极管D1,电容的放电速度取决于二极管D2,因此,要想提高带负载能力,就在这下功夫吧。 如果要很强的负载能力,那还是用电感拓扑吧~

  本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

  一、接线方式及端口定义RDY/BSY 判忙标志位。(0:设备正忙 1:等待新的命令)OE输出使能位 低电平有效WR 写脉冲 低电平有效BS[2:1] 字节选择1(0:选择低位字节 1:选择高位字节)XA[1:0] XTAL动作位00加载Flash或者EEPROM地址01加载数据10加载命令11保留PAGEL 加载程序存储器和EEPROM数据页DATA 双向数据/命令口0x80 芯片擦除0x40 写熔丝位0x20 写锁定位0x10 写FLASH0x11 写EEPROM0x08 读标示字节和校准字节0x04 读熔丝位及锁定位0x02 读FLash0x03 读EEPROM接线方式及端口定

  创建项目时,芯片选择ATMEGA16各种数据类型长度如下char 8位short 16位int 16位long 32位long long 64位有空再测试下double、float的长度后来偶然发现gcc提供一个头文件 stdint.h可以这样定义新的变量1 uint32_t a;//a是一个32位长无符号整型2 uint64_t b;//b是一个64位长无符号整型3 int8_t c;//

  1.舵机驱动的基本原理(可以参考)控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。简单的来讲,就是输出一个周期为20Ms,不同的占空比对应舵机转过不同的角度。难点主要在于舵机控制信号需要保持,这样就比用脉冲控制步进电机要复杂一些。你需

  内部的3个定时计数器触发的内部中断。定时器处在不同的工作模式下时,这些中断的发生条件和具体意义是不同的。ATmega16的中断控制:1)、中断优先级的确定AVR单片机中,一个中断在中断向量区中的决定了它的优先级,位于低地址的中断优先级高于位于高地址的中断。所以 RESET 具有最高优先级。AVR单片机采用固定的硬件优先级方式,不支持通过软件对中断优先级的重新设定。当有多个中断源向MCU申请中断的情况中,MCU根据中断优先级的不同,把低优先级的中断挂起,首先响应中断优先级最高的那个中断。待优先级最高的中断服务程序执行完成返回后,再顺序响应低优先级的中断。2)、中断标志AVR有两种机制不同的中断:带有中断标志的中断(可挂起)和不带中断

  在avrfeaks论坛里,有一个帖子是关于在codeblocks下(与winavr结合)开发avr单片机的,挺不错的,这里转载一下:I got curious, so I downloaded the current C::B installer. It looks better than when I last used it (a year ago?):- A working installation program, with no need to install graphics packages and stuff (WxWidget, MinGW) separately.- A user manual is now

  1、51系列单片机的优缺点分析51系列是应用最广泛的单片机,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主的优势。世界有许多著名的芯片公司都购买了51芯片的核心专利技术,并在其基础上进行性能上的扩充,使得芯片得到进一步的完善,形成了一个庞大的体系,直到现在仍在不断翻新,把单片机世界炒得沸沸扬扬。51系列优点之一是它从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,或布尔处理器。它的处理对象不是字或字节而是位。它不光能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。虽然其他种类的单片机也具有位处理功能,但能进行位逻辑运算的实属

  【报名】在RISC-V应用中实现MultiZone安全性|Microchip 安全解决方案系列在线研讨会

  了解ADI电网管理、能源计量方案,答题赢Kindle、《新概念模拟电》【世健的ADI之主题游 能源站】

  STM32MP1系列通用型MPU, 集成双 Arm® Cortex®-A7和 Cortex®-M4 内核

  STM32MP1系列通用型MPU, 集成双 Arm® Cortex®-A7和 Cortex®-M4 内核

  PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程

      威廉希尔