当前位置:首页 > 电源 > 数字电源
[导读]引言随着表面贴装技术(Surface Mounted Technology,SMT)的不断优化及贴片元器件制作工艺的迅速发展,贴片机在电子制造业中的应用日益突出。CM402型高速贴片机是由日本松下公司研发和生产,针对某些特定工件、按特

引言

随着表面贴装技术(Surface Mounted Technology,SMT)的不断优化及贴片元器件制作工艺的迅速发展,贴片机在电子制造业中的应用日益突出。CM402型高速贴片机是由日本松下公司研发和生产,针对某些特定工件、按特定工序进行批量加工的专用设备。根据笔者为期两周的现场调查和论证,传统CM402型高速贴片机在拼接料生产过程中,若出现拼接料检知停止时,停机扫料的时间将影响到生产效率。通过认真分析该设备的工序流程及阅读其用户手册,可将此拼接料检知、停机扫料程序进行技术改造,并在原有电控系统上利用PVS控制系统替代Timer(计时器),可实现接料不停机控制功能,从而可提升其生产效率。

本文以利用PIC16F628单片机构成PVS控制系统为例,从硬件系统设计和软件系统设计入手,给出了印制电路板图、电路原理图及源代码。

硬件系统设计

该PVS控制系统以PIC16F628单片机为核心,由PIC16F628单片机及其外围元器件、电源模块、继电器模块组成,印制电路板和电路原理图如图1、图2所示。

 

图1 印制电路板

图2 原理图

PIC16F628单片机及其外围元器件

PIC16F628单片机是由Microchip公司生产的PIC系列8位CMOS闪存单片机之一,该系列单片机采用RISC(Reduced Instruction Set Computer)嵌入式结构,具有执行速度高、功耗低、体积小巧、工作电压低、驱动能力强、品种丰富等优越性能。其总线结构采取数据总线和指令线分离独立的哈佛(Harvord)结构,具有很高的流水处理速度。与同类8位单片机相比,程序存储器可节省一半,指令运行速度可以提高4倍左右。PIC16F628单片机封装形式为DIP-18,配合相应程序,该芯片可实现继电器智能控制功能,即配合其他配套电路可构成PVS控制系统,实现CM402型贴片机接料不停机控制功能。JP2为报警信号输入端、JP5为PC机并口解锁信号输入端、SB1、SB2为定时时间调节按钮,LED1~LED6构成定时时间显示电路,单只LED亮表示10s,全部亮表示60s。

电源模块

电源模块设计的质量直接关系到PVS控制系统的稳定性。该控制系统直接利用CM402型贴片机的+24V稳压电源,故采用稳压性能较好的三端稳压集成电路LM7812、LM7805实现两级稳压,为单片机、光电耦合器等元器件提供+5V直流稳压电源。JP1为24V电源输入端,与CM402贴片机相应插座直接连接。

继电器模块

继电器模块由晶体管驱动电路和固态继电器构成。其中VT1、VT2选用C9014型晶体管;欧姆龙TQ2-24V型24V继电器。该模块工作状态由单片机RA4(第3脚)控制,并通过JP3、JP4与CM402型贴片机相应端口相连。

软件系统设计

软件环镜基于MPLAB IDE V8.33,编译器HI-TECH C,仿真器ICD2.0烧写PIC16F628芯片实现CM402型贴片机控制系统改造设计功能。

实现程序如下:

#include

__CONFIG(0X1F3C);

#define ulong unsigned long

#define uint unsigned int

#define uchar unsigned char

#define RD (1)

#define WR (1<<1)

#define WREN (1<<2)

#define WRERR (1<<3)

#define FREE (1<<4)

#define CFGS (1<<6)

#define EEPGD (1<<7)

#define START_READ_EEPROM() EECON1=EECON1|RD

#define START_WRITE_EEPROM() EECON1=EECON1|WR

#define ENABLE_WRITE_EEPROM() EECON1=EECON1|WREN

#define DISABLE_WRITE_EEPROM() EECON1=EECON1&(~WREN)

#define SELECT_EEPROM() EECON1=EECON1&(~(EEPGD|CFGS))

#define out RA3

uint js=1;

uchar Key_Num = 0x00,Key_Num1 = 0x00; //本次键码

uchar Key_Backup = 0x00,Key_Backup1 = 0x00; //备份键码

uchar key,temp,key1,temp1;

bit Key_Dis_F = 0,Key_Dis_F1 = 0,OFF_ON=0;

uchar ES=1,ES_DATA=1;

bit a;

ulong z=1;

uchar ES_BC_DATA;

void ms(uint b);

void keyscan(void);

char readByte(char addr);

void writeByte(char addr, char data);

void X_Y_IN(void);

void main()

{ TRISB2=0;

TRISB3=0;

TRISB4=0;

TRISB5=0;

TRISA6=0;

TRISA7=0;

RB2=1;

RB3=1;

RB4=1;

RB5=1;

RA6=1;

RA7=1;

TRISB0=1;

TRISB1=1;

RB0=1;

RB1=1;

TRISB6=1;

TRISB7=1;

RB7=1;

RB6=1;

GIE=1;

PEIE=1;

T1CON=0X01;

TMR1IE=1;

TMR1IF=0;

TMR1L=0XEF;

TMR1H=0XD8;

CM0=1;

CM1=0;

CM2=1;

C2OUT=0;

C2INV=1;

TRISA4=0;

RA4=1;

TRISA3=0;

RA3=1;

a=out=1;

ES_BC_DATA=readByte(0x00);

ES_DATA=ES=ES_BC_DATA;

while(1)

{ asm("clrwdt");//清看门狗

keyscan();

X_Y_IN();

if((C2OUT==1)&(OFF_ON==1)&(a==0))

{ ms(4);

if((C2OUT==1)&(OFF_ON==1)&(a==0))

{ C2OUT=0;

ES_DATA=ES_BC_DATA;

OFF_ON=0;

a=out=1;

z=1;

}

}

switch(ES)

{ case 1:

RB2=1;

RB3=1;

RB4=1;

RB5=1;

RA6=1;

RA7=0;

break;

case 2:

RB2=1;

RB3=1;

RB4=1;

RB5=1;

RA6=0;

RA7=0;

break;

case 3:

RB2=1;

RB3=1;

RB4=1;

RB5=0;

RA6=0;

RA7=0;

break;

case 4:

RB2=1;

RB3=1;

RB4=0;

RB5=0;

RA6=0;

RA7=0;

break;

case 5:

RB2=1;

RB3=0;

RB4=0;

RB5=0;

RA6=0;

RA7=0;

break;

case 6:

RB2=0;

RB3=0;

RB4=0;

RB5=0;

RA6=0;

RA7=0;

break;

}

}

}

void ms(uint b)

{ uchar c;

while(b--)

for(c=123;c>0;c--);

}

void interrupt tmr1(void)

{ if(TMR1IF==1)

{ TMR1IF=0;

TMR1L=0XEF;

TMR1H=0XD8;

js++;

if(js==1000)

{ js=1;

if(OFF_ON==1)

{ if(ES_DATA!=0);

{ ES_DATA--;

if(ES_DATA==0)

{ a=out=0;

}

}

}

}

}

}

void X_Y_IN(void)

{ if((RB0==0)&(RB1==0))

{ ms(2);

if((RB0==0)&(RB1==0)&((z++)==500))

{ temp1=1;

}

}

else

{ z=1;

temp1=0;

}

Key_Num1=temp1;

if((Key_Num1!=0x00)&&(Key_Num1 == Key_Backup1 ))

{ if(!Key_Dis_F1)

{ Key_Dis_F1 = 1;

asm("clrwdt");

if((RB0==0)&(RB1==0))

{ OFF_ON=1;

}

}

}

else

{ Key_Backup1 = Key_Num1;

Key_Dis_F1 = 0;

}

}

void keyscan(void)

{ if((RB7==0)|(RB6==0))

{ ms(10);

if((RB7==0)|(RB6==0))

{ temp=1;

}

}

else

{ temp=0;

}

Key_Num=temp;

if((Key_Num!=0x00)&&(Key_Num == Key_Backup ))

{ if(!Key_Dis_F)

{ Key_Dis_F = 1;

asm("clrwdt");

if((RB6==0)&(RB7==1))

{ ES--;

if(ES<=1)

{ ES=1;

}

if(ES!=ES_BC_DATA)

{ ES_DATA=ES_BC_DATA=ES;

writeByte(0x00,ES_BC_DATA);

writeByte(0x01,out);

writeByte(0x02,RA4);

writeByte(0x03,RB1);

writeByte(0x04,RB0);

writeByte(0x05,z);

}

}

if((RB6==1)&(RB7==0))

{ ES++;

if(ES>=6)

{ ES=6;

}

if(ES!=ES_BC_DATA)

{ ES_DATA=ES_BC_DATA=ES;

writeByte(0x00,ES_BC_DATA);

}

}

}

}

else

{ Key_Backup = Key_Num;

Key_Dis_F = 0;

}

}

char readByte(char addr)

{ char tmpEEPROM;

EEADR = addr;

SELECT_EEPROM();

START_READ_EEPROM();

tmpEEPROM = EEDATA;

return tmpEEPROM;

}

void writeByte(char addr, char data)

{ EEADR = addr;

EEDATA = data;

SELECT_EEPROM();

ENABLE_WRITE_EEPROM();

EECON2 = 0X55;

EECON2 = 0Xaa;

START_WRITE_EEPROM();

ENABLE_WRITE_EEPROM();

while(1 != EEIF);

EEIF = 0;

}

结束语

该PVS控制系统以PIC16F628单片机为核心,具有集成度高、性能稳定、抗干扰能力强、性价比高等优点。该PVS控制系统已制作成品销售,由苏州翔庆精密机械有限公司等单位经过6个月的联机生产验证,证明该设计方案可靠、可行。利用该PVS控制系统改造CM402型贴片机,预期可提升生产力约4%,具有良好的实用价值。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

这款全新的中端MCU系列为设计人员提供了更高水平的安全性和灵活性

关键字: 嵌入式 单片机

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

在现代电子技术的快速发展中,单片机以其高度的集成性、稳定性和可靠性,在工业自动化、智能家居、医疗设备、航空航天等诸多领域得到了广泛应用。S32单片机,作为其中的佼佼者,其引脚功能丰富多样,是实现与外部设备通信、控制、数据...

关键字: s32单片机引脚 单片机

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

在现代流程工业生产中,生产工艺相关的运行参数,如温度、液位、压力、流量等,都是采用仪表进行测量检测,并根据仪表的测量结果通过控制阀门、泵等执行机构使这些工艺运行参数处于要求的范围内以满足工艺生产的需要。目前,在先进的工厂...

关键字: 故障树 控制系统

该系列产品有助于嵌入式设计人员在更广泛的系统中轻松实现USB功能

关键字: 单片机 嵌入式设计 USB

单片机编程语言是程序员与微控制器进行交流的桥梁,它们构成了单片机系统的软件开发基石,决定着如何有效、高效地控制和管理单片机的各项资源。随着微控制器技术的不断发展,针对不同应用场景的需求,形成了丰富多样的编程语言体系。本文...

关键字: 单片机 微控制器

单片机,全称为“单片微型计算机”或“微控制器”(Microcontroller Unit,简称MCU),是一种高度集成化的电子器件,它是现代科技领域的关键组件,尤其在自动化控制、物联网、消费电子、汽车电子、工业控制等领域...

关键字: 单片机 MCU

STM32是由意法半导体公司(STMicroelectronics)推出的基于ARM Cortex-M内核的32位微控制器系列,以其高性能、低功耗、丰富的外设接口和强大的生态系统深受广大嵌入式开发者喜爱。本文将详细介绍S...

关键字: STM32 单片机

在当前的科技浪潮中,单片机作为嵌入式系统的重要组成部分,正以其强大的功能和广泛的应用领域受到越来越多行业的青睐。在众多单片机中,W79E2051以其卓越的性能和稳定的工作特性,成为市场上的明星产品。本文将深入探讨W79E...

关键字: 单片机 w79e2051单片机
关闭
关闭