毛垫厂家
免费服务热线

Free service

hotline

010-00000000
毛垫厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

AVR单片机的全功能工业控制器设计

发布时间:2020-07-21 19:20:09 阅读: 来源:毛垫厂家

引言

在自动控制产品的设计过程中,实现方案的选择常常是很矛盾的。使用可编程逻辑控制器(PLC)和人机界面(HMI)来实现,开发速度较快,但成本太高,所开发的产品没有市场竞争力;使用单片机开发,成本低但开发周期长、开发量大且通用性不好。用户需要的是一种成本低、开发周期较短、通用性较好的控制器,因此全功能工业控制器有很大的应用市场。

全功能工业控制器的整个电路分为信号隔离输入部分、控制器输出部分、实时时钟与历史数据存储部分、彩色液晶显示和触摸屏控制部分、通信接口等。

1信号隔离输入电路

信号隔离输入电路分为开关量隔离输入、模拟量隔离输入、高速电脉冲隔离输入,电路如图1所示,开关量的隔离输入较为简单,输入信号采用光耦进行隔离后送入单片的普通I/O,单片机用查询方式进行采集。

图1信号隔离输入电路

高速电脉冲的采集需要注意的是,所设计的电路必须适应高速信号采集的要求,因此隔离光耦应采用高速光耦(如6N137等)。采用查询方式采集高速脉冲容易造成采集数据的丢失,高速脉冲应采用中断方式进行采集。

模拟量隔离采集是本控制器的一个重点和难点,笔者之前采用了线性光耦等多种方式进行模拟量的隔离采集实验,均未获满意的效果。这里采用一种先将模拟量数字化(使用AD7705),然后通过有光耦隔离的数据口送到CPU进行模拟量隔离采集的方式,效果理想。

2控制器输出电路

控制器的输出方式有继电器输出、晶体管输出、模拟电压输出,如图2所示。继电器输出和晶体管输出电路较为简单,这里不作详细的介绍。下面着重介绍模拟电压的产生原理。

图2控制器输出电路

模拟电压的输出主要利用ATmega128的PWM端口来实现,PWM输出脉冲经光耦隔离后再进行滤波产生所需的直流信号。为了提高驱动能力,加了一级射极跟随器,如图2上半部所示。

PWM电压调节实现的程序如下:

#define PWM1_IN(){DDRB.5=1;PORTB.5=0;}//PWM端口控制

#define PWM1_OUT() DDRB.5=1;

/**********************

PWM初始化程序:

使用TIMER1,预分频为8,设置10位快速PWM模式,关闭中断

**********************/

void pwm_init(void){

TIMSK=0xC3; //关闭TIMER1中断

ETIMSK=0xFE;

TCCR1A=0; //关闭定时器

TCCR1B=0;

OCR1A=0x0000; //关闭输出

OCR1B=0x0000;

TCCR1A=0xA3; //设置10位快速PWM

//模式,预分频为8

TCCR1B=0x0A;

PWM1_IN()

}

/***************************

PWM通道控制程序: 功能——可以进行单通道的开关和调整输出

入口参数—— b为通道控制(1—改值,2—开端口,3—关端口);

杭州隆鼻价格

深圳吸脂价格

海口隆鼻

相关阅读