混沌信号产生装置
2022年“杰创杯”江西省大学生电子综合设计赛TI杯大学生电子设计竞赛--省级二等奖
1项目简介
本设计实现了一种混沌信号产生实验装置。该设计基于经典蔡氏电路方程改进,由电阻、电容和5个运算放大器组成,可通过单片机控制模拟开关切换电阻生成多种稳定周期信号、单涡旋混沌信号和双涡旋混沌信号
2混沌现象
混沌现象是指发生在确定性系统中的貌似随机的不规则运动。一个确定性理论描述的系统,其行为却表现为不确定性——不可重复、不可预测,称为混沌现象
3混沌电路
系统的混沌现象可以用非线性系统的动态方程来描述,并使用电阻、电容、电感和运算放大器等器件构成相应的电路来进行具体实现,这种电路称为混沌信号产生电路,典型的混沌信号产生电路包括蔡氏电路Chua's circuit、范德坡电路Vanderbilt circuit、考比兹电路Colpitts circuit等。
3.1蔡氏电路产生混沌信号
蔡氏电路原理图如下:由两个线性电容
- 线性电感 L 和电容 C2 组成 LC 谐振电路
- 电阻 R 和电容 C1 组成移相器,将 LC 谐振电路产生的信号移相
3.1.1蔡氏二极管设计
蔡氏二极管是一个分段线性负阻元件,目前常用的是用两个相同的电路单元并联而成,每个电路单元由 1个集成运放和3个线性电阻构成,电路原理图如下:
3.1.2蔡氏二极管伏安特性曲线
当电压在 BCDE 段时,电路呈现非线性负阻特性,蔡氏二极管就工作在该范围内
3.1.3模拟电感设计
- 里奥登模拟电感:
- 新型无损模拟电感:
4电路方案仿真
4.1无源电感-电路方案仿真
电路图如下:
仿真测试:
周期相图 | 仿真图像 | 阻值范围 |
---|---|---|
单倍周期 | ![]() |
1.8K+200×(70-98)% |
双倍周期 | ![]() |
1.8K+200×(65-70)% |
三倍周期 | ![]() |
1.8K+200×(50-65)% |
单涡旋 | ![]() |
1.8K+200×(45-50)% |
双涡旋 | ![]() |
1.8K+200×(0-45)% |
4.2里奥登模拟电感-电路方案仿真
电路图如下:
仿真测试:
周期相图 | 仿真图像 | 阻值范围 |
---|---|---|
单倍周期 | ![]() |
1.8K+200×(79-100)% |
双倍周期 | ![]() |
1.8K+200×(70-78)% |
三倍周期 | ![]() |
1.8K+200×(65-70)% |
单涡旋 | ![]() |
1.8K+200×(53-64)% |
双涡旋 | ![]() |
1.8K+200×(0-52)% |
4.3五运放限幅蔡氏电路-电路方案仿真
电路图如下:
仿真测试:
周期相图 | 仿真图像 | 阻值范围 |
---|---|---|
单倍周期 | ![]() |
6.2K+2000×(52-100)% |
双倍周期 | ![]() |
6.2K+2000×(40-51)% |
三倍周期 | ![]() |
6.2K+2000×(31-39)% |
单涡旋 | ![]() |
6.2K+2000×(21-30)% |
双涡旋 | ![]() |
6.2K+2000×(0-20)% |
5比赛项目复盘
5.1系统结构框图
5.2电路设计
①混沌电路:
鉴于三种方案的仿真效果,选用的第三种方案:五运放限幅蔡氏电路
该方案与经典蔡氏电路相比,该方案电路性能稳定可靠,元件参数允许范围很大,例如, R6 = 1.72Ω,用1.7 或1.8 Ω代替都可以,减少了混沌电路元件参数误差
②继电器电路:
作用:选择不同的阻值连接P1、P2端子,从而产生不同周期的混沌信号。
5.3软件设计
点击查看代码
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_I2C2_Init();
MX_USART1_UART_Init();
/* USER CODE BEGIN 2 */
//进行OLED屏初始化
OLED_Init();
//发送数据到OLED屏上,进行初始页面的设计
OLED_ShowString(36,0,&Font_8x16,"2022");
OLED_ShowChineseString(70,0,&CN16Font_16x16,"年");
OLED_ShowString(4,2,&Font_8x16,"TI");
OLED_ShowChineseString(22,2,&CN16Font_16x16,"杯大学生电子");
OLED_ShowChineseString(24,4,&CN16Font_16x16,"设计竞赛");
OLED_ShowString(26,6,&Font_8x16,"D");
OLED_ShowChineseString(36,6,&CN16Font_16x16,"题展示");
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
//不断循环扫描各个按键的按下情况,进行对应的操作
if(KeyScan() == 1)
{
OLED_Clear();
OLED_ShowChineseString(20,0,&CN16Font_16x16,"单倍周期相图");
HAL_GPIO_WritePin(ONE_GPIO_Port,ONE_Pin,GPIO_PIN_SET);
HAL_GPIO_WritePin(TWO_GPIO_Port,TWO_Pin,GPIO_PIN_RESET);
HAL_GPIO_WritePin(THREE_GPIO_Port,THREE_Pin,GPIO_PIN_RESET);
HAL_GPIO_WritePin(FOUR_GPIO_Port,FOUR_Pin,GPIO_PIN_RESET);
HAL_GPIO_WritePin(FIVE_GPIO_Port,FIVE_Pin,GPIO_PIN_RESET);
}
if(KeyScan() == 2)
{
OLED_Clear();
OLED_ShowChineseString(20,0,&CN16Font_16x16,"双倍周期相图");
HAL_GPIO_WritePin(ONE_GPIO_Port,ONE_Pin,GPIO_PIN_RESET);
HAL_GPIO_WritePin(TWO_GPIO_Port,TWO_Pin,GPIO_PIN_SET);
HAL_GPIO_WritePin(THREE_GPIO_Port,THREE_Pin,GPIO_PIN_RESET);
HAL_GPIO_WritePin(FOUR_GPIO_Port,FOUR_Pin,GPIO_PIN_RESET);
HAL_GPIO_WritePin(FIVE_GPIO_Port,FIVE_Pin,GPIO_PIN_RESET);
}
if(KeyScan() == 3)
{
OLED_Clear();
OLED_ShowChineseString(20,0,&CN16Font_16x16,"三倍周期相图");
HAL_GPIO_WritePin(ONE_GPIO_Port,ONE_Pin,GPIO_PIN_RESET);
HAL_GPIO_WritePin(TWO_GPIO_Port,TWO_Pin,GPIO_PIN_RESET);
HAL_GPIO_WritePin(THREE_GPIO_Port,THREE_Pin,GPIO_PIN_SET);
HAL_GPIO_WritePin(FOUR_GPIO_Port,FOUR_Pin,GPIO_PIN_RESET);
HAL_GPIO_WritePin(FIVE_GPIO_Port,FIVE_Pin,GPIO_PIN_RESET);
}
if(KeyScan() == 4)
{
OLED_Clear();
OLED_ShowChineseString(20,0,&CN16Font_16x16,"单涡旋混沌");
OLED_ShowChineseString(25,2,&CN16Font_16x16,"信号相图");
HAL_GPIO_WritePin(ONE_GPIO_Port,ONE_Pin,GPIO_PIN_RESET);
HAL_GPIO_WritePin(TWO_GPIO_Port,TWO_Pin,GPIO_PIN_RESET);
HAL_GPIO_WritePin(THREE_GPIO_Port,THREE_Pin,GPIO_PIN_RESET);
HAL_GPIO_WritePin(FOUR_GPIO_Port,FOUR_Pin,GPIO_PIN_SET);
HAL_GPIO_WritePin(FIVE_GPIO_Port,FIVE_Pin,GPIO_PIN_RESET);
}
if(KeyScan() == 5)
{
OLED_Clear();
OLED_ShowChineseString(20,0,&CN16Font_16x16,"双涡旋混沌");
OLED_ShowChineseString(25,2,&CN16Font_16x16,"信号相图");
HAL_GPIO_WritePin(ONE_GPIO_Port,ONE_Pin,GPIO_PIN_RESET);
HAL_GPIO_WritePin(TWO_GPIO_Port,TWO_Pin,GPIO_PIN_RESET);
HAL_GPIO_WritePin(THREE_GPIO_Port,THREE_Pin,GPIO_PIN_RESET);
HAL_GPIO_WritePin(FOUR_GPIO_Port,FOUR_Pin,GPIO_PIN_RESET);
HAL_GPIO_WritePin(FIVE_GPIO_Port,FIVE_Pin,GPIO_PIN_SET);
}
}
/* USER CODE END 3 */
}
参考文献
[1]段晓飞,高同强.一种基于有源模拟电感的单电源蔡氏电路[J].太赫兹科学与电子信息学报, 2021, 19(6):7.DOI:10.11805/TKYDA2020025.
[2]张新国,孙洪涛,赵金兰,等.蔡氏电路的功能全同电路与拓扑等效电路及其设计方法[J].物理学报, 2014(20):8.DOI:10.7498/aps.63.200503.
[3]刘恒;刘远林;吴朝阳;孙亚坤;刘泽.一种蔡氏混沌电路实验设计[J].实验科学与技术2020 18(06):8-13
[4]戚慧珊;杨明健;刘百钊;曾键桦;李伟锦.蔡氏混沌电路实验的改进设计[J].大学物理实验2019 32(02):66-71.
本文来自博客园,作者:晚风也温柔,转载请注明原文链接:https://www.cnblogs.com/zxr-blog/p/17937498