前言:老师太严格了,很不幸只拿了七十多分,但我却付出了巨大的时间去研究这破玩意儿,(还好有大佬相助不然真的会挂)学校年年都做这个课设,题目都nnd不变一下,因此分享供借鉴。看到有同学被网上代做坑了好几百没有用,有的老师一眼看出不是自己做的,尬的一批,真不如学长学姐靠谱!
设计过程中学习参考视频:B站唐老师讲电赛 (放大电路部分的仿真基本是照着该老师画的,个人另加了单片机按键控制部分)
更加详细的设计说明:喂到嘴里的实现非线性失真放大电路设计(开源仿真原理图)
文章目录
一.题目
一、任务:设计并制作一个晶体管放大器非线性失真研究装置。
二、要求
外接信号源输出频率10kHz、峰峰值20mV的正弦波作为晶体管放大器输入电压ui,要求输出无明显失真及失真波形uo,且uo的峰峰值不低于2V,电源电压 ≤ 6v。
1、放大器能够输出无明显失真、“顶部失真”、“底部失真”、“双向失真”、“交越失真”的正弦波。
2、采用单个按键控制轮流输出以上五种波形并有相应的指示。
3、信号源输出频率50kHz、峰峰值2mV的正弦波作为晶体管放大器输入电压ui,要求输出无明显失真波形uo,uo的峰峰值不低于2V。
4、按格式要求撰写设计报告。设计报告主要内容:
1)方案论证:系统组成,比较与选择,方案描述。
2)电路设计:系统各部分电路原理图、原理分析,应结合电路设计方案阐述出现各种失真的原因,电路相关参数设计。
3)程序设计:若采用单片机控制,提供系统软件与流程图。
4)电路仿真:仿真电路图及仿真测试结果。
5)测试结果:完整测试结果列表,对测试结果分析。
三、说明
1、每位同学独立完成设计制作任务,独立进行结果测试。不得抄袭!
2、PCB上必须印有学号,清晰可辩,不得手写或进行任何方式的涂改!
PCB可以委托外加工。
3、设计报告摘要、正文结构规范,图表完整、准确,不得手写。测试之前必须提交合乎规范的报告,否则不得参加测试。
4、任务时间安排:2022年11月30日提交电子版设计报告,电路测试的时间、地点另行通知。测试时提交纸质版设计报告,报告中最后一页为实际时记录测试结果表格。
5、报告格式要求另附。
对于有一些同学询问的电子电路设计中,要求3的设置没有问题,要求3只需要输出无明显失真的波形,前两个要求必须完成,第三要求为提升部分,如果还有问题可以线下找张育钊老师询问。
二.两种仿真方案
1.方案一:不用单片机的方法
在方案一中共采用了五个三极管设计放大电路,每个分别对应一种波形,为了使用计数器轮流显示五种波形,加入了三个模拟开关来切换接入电路的电阻。最终完成的仿真虽能够完成所有的要求,但工作量较为庞大,考虑到之后制作的PCB工作量,大小及成本,因此完成了该方案的仿真后便舍弃了该方案,这里仅作简单介绍,之后的论证以及电路的分析均以方案二为准。
以下仿真用的紫色Multism仿真软件绘制仿真
(逼格看起来很高,但是做实物怕三极管太多容易出问题,仿真能完美实现要求,硬件大佬可试)
思路解释
1、通道选择可以用模拟开关或者机械开关。继电器是功率器件,很可能会对模拟电路产生干扰
2、图中AD采集有两种方案,第一,使用采集范围为05V的AD芯片,由单片机控制;第二,先将05V的信号进行衰减至0~3.3V之内,然后由STM32内部自带的ADC采集;交越失真信号很特别,信号存在负值,注意一下。采样频率自己结合采样点考虑。
3、三极管使用NPN的S8050/S9013等等均可,交越失真的PNP随便用一个就行,如S9012/S8550等等均可
仿真中的S1开关拨到上方,R11适当,三极管Q2的集电极输出不失真正弦波
仿真中的S1开关拨到上方,R11变小,三极管Q2的集电极输出逐渐出现顶部失真
仿真中的S1开关拨到上方,R11变大,三极管Q2的集电极输出逐渐出现底部失真
确定好三个阻值对应三种失真,然后可用模拟开关来修改R11的阻值
当想要双向失真时,R11电阻切换到不失真时的阻值,仿真中的S1开关拨到下方,三极管Q3集电极输出双向失真正弦波
当想要交越失真时,R11电阻切换到不失真时的阻值,仿真中的S1开关拨到上方,R13输出交越失真正弦波
结合我给的结构框图看,很容易看的懂!!!
方案一仿真结构框图
2.方案2:使用单片机的方法
思路超简单,采用单片机和CD4066,51单片机直接GPIO控制CD4066模拟开关切换,方便切换波形。
1.放大电路原理图-使用立创EDA绘制
2.控制电路原理图-使用立创EDA绘制
3.整体仿真-使用proteus(带51单片机电路的仿真必用)
3.仿真结果
仿真非常容易,完美符合要求。
1.无失真波形
2.顶部失真
3.底部失真
4.双向失真
5.交越失真电路
4.仿真源文件
注意:相同的电路图在不同的仿真软件上仿真的结果是不同的,需要细微调参完成效果
方案一:不使用单片机的multisim仿真源文件
仿真的调参方式
使顶部失真更明显(截止失真):将截止失真部分的电阻改小
使双向失真更明显(饱和截止失真):将并联的电阻减小
使底部失真更明显(饱和失真):将并联的电阻减小
三.立创PCB及原理图设计
焊接不出错的话,调调电阻基本能完成(吧)
立创原理图设计
- 放大电路部分
- 51单片机控制电路部分
加LED是为了分辨切换哪个波形
立创PCB设计
连连线就搞定的事儿~ 画在10*10以内就不要钱
仅供布局参考,不保证实物效果
立创PCB源文件
四.51单片机的仿真程序
源程序真的很简单,注意使用的引脚没有定义错就行
#include "reg52.h" //必用头文件
typedef unsigned int u16;
typedef unsigned char u8;
sbit bo1 = P2^0;
sbit bo2 = P2^1;
sbit bo3 = P2^2;
sbit bo4 = P2^3;
sbit led0 = P1^0;
sbit led1 = P1^1;
sbit led2 = P1^2;
sbit led3 = P1^3;
sbit led4 = P1^4;
sbit key = P3^2; //位定义按键
void delay(u16 t)
{
while(t--);
}
unsigned char flag = 0;
void main(void){
P2 = 0x00; //P1全赋0
bo4 = 1;
while(1){
if(key == 0) //按键消抖
{
delay(1000);
if(key == 0)
{
flag++;
switch(flag%5) //判断切换的是第几个波形
{
case 1: bo1=1;bo2=0;bo3=0;bo4=1;led0=0;led1=1;led2=0;led3=0;led4=0;break; //P1.0
case 2: bo1=0;bo2=1;bo3=0;bo4=1;led0=0;led1=0;led2=1;led3=0;led4=0;break; //P1.1
case 3: bo1=0;bo2=0;bo3=1;bo4=1;led0=0;led1=0;led2=0;led3=1;led4=0;break; //P1.2
case 4: bo1=0;bo2=0;bo3=0;bo4=0;led0=0;led1=0;led2=0;led3=0;led4=1;break; //P1.3
default:bo1=0;bo2=0;bo3=0;bo4=1;led0=1;led1=0;led2=0;led3=0;led4=0;break; //回到无失真波形
}
}while(key == 0);
}
}
}
五.实物图与实物测试结果
1.制作的实物图
2.实物测试结果
- 无失真放大电路(满分)
- 底部失真放大电路(一半分,波形不标准,有些失真)
- 双向失真放大电路(一半分,波形有些失真)
- 交越失真放大电路(有点不明显,电阻需要调整,一半分)
- 顶部失真放大电路(一半分,波形不标准)
评分很严格,除了无失真波形其他只有一半分,总分70+
六.课设报告
报告就随便写写啦,老师也不咋看,主要还是看实物
个人课设报告
七.做实物时遇到的坑
- 学校的示波器很 l j
- 不同的示波器显示的波形有差别,显示波形所需要的参数不同,一定要提前电阻调参
- 测试时手指别碰到PCB的电路上
- PCB绘制时记得铺铜!
实物测试总结及遇到的坑
- 务必学会在仿真上调参后再进行实物的制作
- 放大电路和控制电路最好分开测试,即控制电路与放大电路完全独立互不影响,在拿到板子后先进行控制电路的焊接与测试,非常简单能点灯就行,这样在后续出问题时能排除单片机的问题。如果两个电路系统不独立在调试时就是地狱难度级别(;´д`)ゞ
- 先进行无失真波形的测试,其余接在CD4066上的电路电阻先断开不焊接,至少能保证及格,也能让其他波形出来。
- 最好使用直插电阻,方便修改电阻的值,能用可变电阻更好。
- 焊接时先用大电阻,改小电阻比较方便,直接将直插电阻手动连接在大电阻两边并联即可,慢慢调小电阻使波形更加明显。
实验老师的评分标准
- 波形不标准得一半分
- 波形不明显得一半分
- 未出波形不得分
- 波形有明显失真得一半分
- 峰峰值未按标准来所有波形只有一半分或不得分
- 只认老师面前示波器的测试结果,不看录屏或者其他示波器的测试结果
- 可以二次测试,以最好的结果计分
- 只要出一种波形,就能通过!,易通过但高分难