国产久操视频-国产久草视频-国产久热精品-国产久热香蕉在线观看-青青青青娱乐-青青青青在线成人视99

  • 方案介紹
  • 附件下載
  • 推薦器件
  • 相關推薦
申請入駐 產業(yè)圖譜

基于STM32與ATT7022E多功能電力監(jiān)測儀設計

2024/07/29
5263
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

設計資料獲取聯(lián)系方式.doc

共1個文件

本設計是基于STM32與ATT7022E多功能電力監(jiān)測儀的電路方案設計
程序編譯器:keil 5
編程語言:C語言
騰訊文檔】C0016 網盤鏈接

近年來隨著我國國民經濟的高速發(fā)展,先進嵌入式處理器技術、微電子技術及測控技術也得到了快速發(fā)展 ,為了適應新形勢的發(fā)展和需求,政府對智能電網的不斷推進,對電力監(jiān)測儀的實時性、可靠性、精確性,提出了更高的要求。

傳統(tǒng)電力監(jiān)測儀廣泛采用AD+MCU模式,即外部模數A/D轉換芯片與8位、 16位單片機進行對三相電網數據進行采集,存在許多的弊端,如芯片功能單一,需要進行外圍擴展諸多器件,軟件程序算法復雜,測量精度不高等問題。

而以DSP+MCU雙CPU模式,很好的解決了復雜數據的處理問題,但存在開發(fā)成本過高,且造成MCU資源的一定浪費。

本系統(tǒng)通過采用高性能 32位ARMCortex-M3內核為處理器STM32F103ZE作為主控芯片與多功能高精度的三相電能專用計量芯片ATT7022E ,使系統(tǒng)整體硬件的設計更加簡潔,與以往電力監(jiān)測儀系統(tǒng)處理性能力得到明顯提高,同時也降低程序算法復雜度。

原理圖(提供PDF):
在這里插入圖片描述

模塊底板原理圖(提供PDF):

在這里插入圖片描述

PCB(提供PDF):

在這里插入圖片描述

模塊底板PCBS(提供PDF):

在這里插入圖片描述

源程序:

//
///文件:main.c
///說明:
///用途:系統(tǒng)入口函數
///版本:Alpha0.0
/
/
#include “sys.h”
#include “delay.h”
#include “db_timer.h”
#include “db_init.h”
#include “db_usart.h”
#include “includes.h”
#include “db_amme.h”
#include “ucos_ii.h”
#include “sd_lcd.h”

OS_MEM * ptr;
//u8 ReadAmmeterData_sec; //

u32 CpuID[3];
u32 OldID[3]={0x05DCFF30,0x3132594D,0x51048325};//u32 OldID[3]={0x05D9FF37,0x33325943,0x43228423}
/*******/
//說 明:UCOSII任務函數聲明區(qū)
/
/
//SingleBurner:創(chuàng)建UCOSII的啟動任務
#define START_TASK_PRIO 30 //開始任務的優(yōu)先級,最低
#define START_STK_SIZE 128 //開始任務堆棧的長度
OS_STK START_TASK_STK[START_STK_SIZE]; //開始任務堆??臻g
void start_task(void *pdata); //開始任務的聲明

//SingleBurner:創(chuàng)建UCOSII的主任務
#define MAIN_TASK_PRIO 6 //主任務的優(yōu)先級
#define MAIN_STK_SIZE 1024 //主任務堆棧的長度
OS_STK MAIN_TASK_STK[MAIN_STK_SIZE]; //主任務堆??臻g
void main_task(void *pdata); //主任務的聲明
//SingleBurner:創(chuàng)建UCOSII的RTC任務
#define RTC_TASK_PRIO 4 //RTC任務的優(yōu)先級
#define RTC_STK_SIZE 512 //RTC任務堆棧的長度
OS_STK RTC_TASK_STK[RTC_STK_SIZE]; //RTC任務堆??臻g
void rtc_task(void *pdata); //RTC任務的聲明
OS_EVENT * sem_rtc; //RTC信號量指針

/****************************/
//函數名:main()
//說 明:主函數
//參 數:系統(tǒng)入口
//返回值:無返回
/
/

int main(void)
{
SCB->VTOR = FLASH_BASE;
System_Init(); //底層初始化
OSInit(); //UCOSII初始化
OSTaskCreate(start_task,(void *)0,(OS_STK *)&START_TASK_STK[START_STK_SIZE-1],START_TASK_PRIO); //創(chuàng)建開始任務

OSStart();                                                                                         //啟動UCOSII多任務管理	  			

}
/****************************/
//函數名:start_task()
//說 明:起始函數
//參 數:UCOSII函數入口
//返回值:無返回
/
/
void start_task(void *pdata)
{
OS_CPU_SR cpu_sr=0;
pdata=pdata;
sem_rtc =OSSemCreate(0); //創(chuàng)建一個信號量用于RTC時鐘
OSStatInit(); //初始化統(tǒng)計任務
OS_ENTER_CRITICAL(); //進入臨界區(qū)

OSTaskCreate(main_task,(void *)0,(OS_STK *)&MAIN_TASK_STK[MAIN_STK_SIZE-1],MAIN_TASK_PRIO);        			//創(chuàng)建主任務

// OSTaskCreate(rtc_task,(void *)0,(OS_STK *)&RTC_TASK_STK[RTC_STK_SIZE-1],RTC_TASK_PRIO); //創(chuàng)建RTC任務
OSTaskSuspend(START_TASK_PRIO); //掛起起始任務
OS_EXIT_CRITICAL(); //退出臨界區(qū)
}

/****************************/
//函數名:main_task()
//說 明:UCOSII主函數,處理雜事
//參 數:無參數
//返回值:無返回
/
/
void main_task(void *pdata)
{
while(1)
{
DisposeKey(); //讀取按鍵

  key_scan();                                                                                             //按鍵掃描處理
    
	if(TimingMark == 10)																						//500ms定時標志位
	{
		TimingMark=0;
     
     ReadAmmeterData();															//讀取內部電表數據
     
     UpdateLcdMark = 1;         
	}
  
  if(UpdateLcdMark == 1)																							//判斷是否要更新數據
  {

     clear_screen();																						//清屏

     Display_lcd();                                  													//更新顯示數據	
     
     UpdateLcdMark = 0;
  }

	
}

}
/****************************/
//函數名:rtc_task()
//說 明:UCOSII的RTC任務,處理時間
//參 數:無參數
//返回值:無返回
/
/
void rtc_task(void *pdata)
{
u8 err;
while(1)
{
OSSemPend(sem_rtc,0,&err); //請求信號量

	delay_ms(20);												   				   						    //延遲一下
}

}

/****************************/
//函數名:RTC_IRQHandler()
//說 明:RTC中斷服務函數
//參 數:無參數
//返回值:無返回
/
/
void RTC_IRQHandler(void)
{
if(RTC_GetITStatus(RTC_IT_SEC) != RESET) //秒鐘中斷
{
OSSemPost(sem_rtc); //發(fā)送信號量
}

RTC_ClearITPendingBit(RTC_IT_SEC);		                                  		          //清秒鐘中斷
RTC_WaitForLastTask();	  	                                              		          //等待最近一次對RTC操作完成						 	   	 

}

在這里插入圖片描述

在這里插入圖片描述

  • 設計資料獲取聯(lián)系方式.doc
    下載

推薦器件

更多器件
器件型號 數量 器件廠商 器件描述 數據手冊 ECAD模型 風險等級 參考價格 更多信息
74LVT245MTC 1 Texas Instruments LVT SERIES, 8-BIT TRANSCEIVER, TRUE OUTPUT, PDSO20, 4.40 MM, PLASTIC, TSSOP-20
$1.03 查看
74LVC1G08SE-7 1 Diodes Incorporated AND Gate, LVC/LCX/Z Series, 1-Func, 2-Input, CMOS, PDSO5, ROHS COMPLIANT, SOT-353, 5 PIN

ECAD模型

下載ECAD模型
$0.17 查看
NC7S08M5X 1 Rochester Electronics LLC HC/UH SERIES, 2-INPUT AND GATE, PDSO5, 1.60 MM, MO-178AA, SOT-23, 5 PIN
$0.3 查看
意法半導體

意法半導體

意法半導體(ST)集團于1987年6月成立,是由意大利的SGS微電子公司和法國Thomson半導體公司合并而成。1998年5月,SGS-THOMSON Microelectronics將公司名稱改為意法半導體有限公司。意法半導體是世界最大的半導體公司之一,公司銷售收入在半導體工業(yè)五大高速增長市場之間分布均衡(五大市場占2007年銷售收入的百分比):通信(35%),消費(17%),計算機(16%),汽車(16%),工業(yè)(16%)。 據最新的工業(yè)統(tǒng)計數據,意法半導體是全球第五大半導體廠商,在很多市場居世界領先水平。例如,意法半導體是世界第一大專用模擬芯片和電源轉換芯片制造商,世界第一大工業(yè)半導體和機頂盒芯片供應商,而且在分立器件、手機相機模塊和車用集成電路領域居世界前列.

意法半導體(ST)集團于1987年6月成立,是由意大利的SGS微電子公司和法國Thomson半導體公司合并而成。1998年5月,SGS-THOMSON Microelectronics將公司名稱改為意法半導體有限公司。意法半導體是世界最大的半導體公司之一,公司銷售收入在半導體工業(yè)五大高速增長市場之間分布均衡(五大市場占2007年銷售收入的百分比):通信(35%),消費(17%),計算機(16%),汽車(16%),工業(yè)(16%)。 據最新的工業(yè)統(tǒng)計數據,意法半導體是全球第五大半導體廠商,在很多市場居世界領先水平。例如,意法半導體是世界第一大專用模擬芯片和電源轉換芯片制造商,世界第一大工業(yè)半導體和機頂盒芯片供應商,而且在分立器件、手機相機模塊和車用集成電路領域居世界前列.收起

查看更多

相關推薦

浦江县| 新建县| 突泉县| 延长县| 呼图壁县| 安塞县| 镇安县| 无为县| 伊川县| 巴马| 托克托县| 藁城市| 铅山县| 浮梁县| 景东| 东兰县| 康乐县| 施甸县| 无为县| 文登市| 勐海县| 舒兰市| 寿光市| 西城区| 秦皇岛市| 岚皋县| 平远县| 南郑县| 碌曲县| 恩平市| 镇安县| 达拉特旗| 伊吾县| 宜兰市| 保康县| 浏阳市| 建阳市| 潼南县| 定结县| 青海省| 峡江县|