⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 minid.h

📁 平缝机的单片机伺服控制系统源代码。本程序为用单片机控制永磁同步电机的低成本方案
💻 H
字号:
/*****************************************************************
 *  文件名:      main.c
 *  版本号:      
 *  创作日期:    2005.7.12
 *  作者:        fengzm
 *  功能说明:    主函数
 *  其它说明:    使用AVR单片机Atmega48, 晶振:8Mhz
                  
 *****************************************************************/
 

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

 *   修改日期:   
 *   修改人:     
 *   修改原因:   

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


#ifndef	 minid_h
#define minid_h 
#include <iom48v.h>
#include <macros.h>
#include "PIDCALC.h"
#include "ADC.h"
#include "IIC.h"
#include "ENC.h"
#include "Err.h"

//宏定义:定义常用数据类型
#define byte			 unsigned char	   		//常用数据类型byte
#define word			 unsigned int			//常用数据类型word
#define dword			 unsigned long int		//常用数据类型dword

//宏定义:定义常用口线操作等,具体应用前应根据实际情况修改!
#define LEDFLICKTIME1		 	  50			//  LED 灯闪烁时亮的时间T1 * 10 ms
#define LEDFLICKTIME2			  50		    //  LED 灯闪烁时灭的时间T2 * 10 ms
#define LEDFLICKTIME3			  150			//  LED 灯闪烁时两次闪烁间隔时间T3 * 10 ms




//函数定义

void adc_init(void); 					       //ADC initialize
void adc_isr(void);
word AdcPedal(word adcp);						//踏板信号转换为对应的控制值

void timer1_capt_isr(void);
void timer1_init(void);

struct PID   sPID;			// 定义PID结构体
sdword SumDu;						//增量式PID算法数值


dword g_Temp;
byte g_flag10ms;			//定时器0溢出标志  0xff 有效


byte g_TotalEnc;
word  g_CntUpdate,g_CntOld;
dword g_DeltaEnc;

byte g_AdcEnd,g_AdcNum;
word  g_ValueAdc;

byte g_FirstData,g_IicData;


byte g_ErrCode01,g_ErrCode02;	//  故障代码 每一位指代不同的故障//  初始化为0

word g_Over220VCnt;					// 记录超过220v 的次数//  初始化为0
word g_Lower220VCnt;					// 记录低于220v 的次数//  初始化为0
word g_Over400VCnt;					// 记录超过400v 的次数//  初始化为0
word g_Lower400VCnt;					// 记录低于400v 的次数//  初始化为0
word g_LowSpeedCnt;					// 记录电机速度小于10 RPM 的次数//  初始化为0
byte g_LedTimesCnt;					// LED 灯闪烁次数计数//  初始化为0
byte g_LedTimes;					//  LED 灯闪烁次数 //  初始化为0
byte g_LedTimesT1;					// LED 灯闪烁时亮的时间统计 10ms 为单位//  初始化为0
byte g_LedTimesT2;					//LED 灯闪烁时灭的时间统计 10ms 为单位//  初始化为0
word g_LedTimesT3;					//LED 灯闪烁时间隔的时间统计 10ms 为单位//  初始化为0

byte g_MotorRun;					// 电机运动状态标志 :  1 表示运行 0 表示停止//  初始化为0
byte g_LowVol;					// 确定检测到欠压标志:  1 表示欠压//  初始化为0
byte g_SingleLowVol;					// 单次欠压标志:  1 表示欠压//  初始化为0
byte g_SynEncoderErr;					// 同步编码器故障:  1 表示发生故障//  初始化为0
byte g_MotorBlock;					//电机堵转标志:  1 表示发生电机堵转//  初始化为0
byte g_LowSpeed;					// 电机速度小于10 RPM 标志1 表示速度小于10 RPM //  初始化为0
byte g_NostopNeedle;			// 无停针信号标志 : 1 表示无停针信号//  初始化为0
byte g_OverVol;					// 确定检测到过压标志:  1 表示过压//  初始化为0
byte g_SingleOverVol;					// 单次过压标志:  1 表示过压//  初始化为0
byte g_HallErr;					// 电机HALL信号故障 标志1 表示电机HALL信号故障  //  初始化为0
byte g_LedType;					// LED 灯闪烁类别  1 红灯  0  绿灯 //  初始化为0
byte g_StartLedFlick;				// 启动LED 灯闪烁标志//  初始化为0
byte g_LedTimes;					//  LED 灯闪烁次数   1 表示 开始闪烁  //  初始化为0
byte g_E_Mag_No;					//  选择电磁铁的序号1~3	//  初始化为1
byte g_Err_Det_Disable;					//  故障检测禁止1 表示禁止检测故障 //  初始化为0


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -