版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
《電子綜合實(shí)訓(xùn)》報(bào)告班級(jí)學(xué)號(hào)學(xué)生姓名專業(yè)自動(dòng)化指導(dǎo)教師校內(nèi)教師和洪澤瑞特公司共同指導(dǎo)電子與電氣工程學(xué)院2014年1月課題一:基于單片機(jī)的電機(jī)控制器制作與調(diào)試一、實(shí)習(xí)目的1、學(xué)會(huì)使用AltiumDesigner進(jìn)行原理圖和PCB的繪制2、結(jié)合實(shí)際情況,掌握直插元件的焊接3、了解貼片機(jī)的工作過程4、學(xué)習(xí)51單片機(jī)的簡單編程5、掌握IIC總線的使用方法以及PCF8591、ZLG7290的工作原理,培養(yǎng)學(xué)生實(shí)際操作能力二、實(shí)習(xí)內(nèi)容1、學(xué)習(xí)電機(jī)實(shí)訓(xùn)板從原理—原理圖—PCB—貼片機(jī)貼片—直插元件焊接—整板調(diào)試—程序編寫的過程2、學(xué)習(xí)AltiumDesigner軟件的破解和安裝,學(xué)習(xí)AltiumDesigner軟件畫PCB板3、參觀機(jī)器焊接電路板芯片的一整條生產(chǎn)流水線4、學(xué)習(xí)單片機(jī)編程,學(xué)習(xí)貼片機(jī)工作過程,練習(xí)直插元件的焊接5、調(diào)試實(shí)習(xí)板三、實(shí)習(xí)過程及結(jié)果1、實(shí)訓(xùn)板原理講述1.1、電源模塊LM2576為了產(chǎn)生不同的輸出電壓,通常將比較器的負(fù)端接基準(zhǔn)電壓(1.23V),正端接分壓電阻網(wǎng)絡(luò),這樣可根據(jù)輸出電壓的不同選定不同的阻值,其中R1=1kΩ(可調(diào)-ADJ時(shí)開路),R2分別為1.7kΩ(3.3V)、3.1kΩ(5V)、8.84kΩ(12V)、11.3kΩ(15V)和0(-ADJ),上述電阻依據(jù)型號(hào)不同已在芯片內(nèi)部做了精確調(diào)整因而無需使用者考慮。將輸出電壓分壓電阻網(wǎng)絡(luò)的輸出同內(nèi)部基準(zhǔn)穩(wěn)壓值1.23V進(jìn)行比較,若電壓有偏差,則可用放大器控制內(nèi)部振蕩器的輸出占空比從而使輸出電壓保持穩(wěn)定。D10為了防止反接,D9為瞬態(tài)抑制二極管,U2為開關(guān)型降壓模塊。開關(guān)電源的工作過程在線性電源中,讓功率晶體管工作在線性模式,與線性電源不同的是,開關(guān)電源是讓功率晶體管工作在導(dǎo)通和關(guān)斷的狀態(tài),在這兩種狀態(tài)中,加在功率晶體管上的伏-安乘積是很小的(在導(dǎo)通時(shí),電壓低,電流大;關(guān)斷時(shí),電壓高,電流?。?功率器件上的伏安乘積就是功率半導(dǎo)體器件上所產(chǎn)生的損耗。開關(guān)電源調(diào)節(jié)器件則以完全導(dǎo)通或關(guān)斷的方式工作。因此,工作時(shí)要么是大電流流過低導(dǎo)通電壓的開關(guān)管、要么是完全截止無電流流過。因此,開關(guān)穩(wěn)壓電源的功耗極低,效率為70%-80%。1.2、單片機(jī)最小模塊串口通信模塊串行通信是最古老的溝通機(jī)制之一。從IBM個(gè)人電腦和兼容式電腦的時(shí)代開始,幾乎所有的計(jì)算機(jī)都配有一個(gè)或多個(gè)串行端口和一個(gè)并行端口。顧名思義,一個(gè)串行端口發(fā)送和接收串行數(shù)據(jù),一次一位數(shù)據(jù)。相反,一個(gè)并行端口一次送和接收8位數(shù)據(jù),使用8個(gè)單獨(dú)的線路。要使串行通信工作,只需要一根三根線的電纜——1根發(fā)送,1根用來接收,1根接地。開始傳輸時(shí),設(shè)備先發(fā)送一個(gè)起始位,其次是數(shù)據(jù)位。該數(shù)據(jù)位可以是五,六,七,或8位,基于商定而定。兩個(gè)發(fā)送方和接收器必須設(shè)置為相同的數(shù)據(jù)通信比特或正確的比特率。數(shù)據(jù)位被發(fā)送完后,就會(huì)發(fā)送一個(gè)停止位。一個(gè)停止位可以是一位,一個(gè)半位,或兩位。波特率是數(shù)據(jù)從一個(gè)設(shè)備到另一個(gè)的傳輸速度。波特率通常以每秒的位數(shù)(bps)來計(jì)量。1.3、電機(jī)驅(qū)動(dòng)模塊L298N可接受標(biāo)準(zhǔn)TTL邏輯電平信號(hào)VSS,VSS可接4.5~7
V電壓。4腳VS接電源電壓,VS電壓范圍VIH為+2.5~46
V。輸出電流可達(dá)2.5
A,可驅(qū)動(dòng)電感性負(fù)載。1腳和15腳下管的發(fā)射極分別單獨(dú)引出以便接入電流采樣電阻,形成電流傳感信號(hào)。L298可驅(qū)動(dòng)2個(gè)電動(dòng)機(jī),OUT1,OUT2和OUT3,OUT4之間可分別接電動(dòng)機(jī),本實(shí)驗(yàn)裝置我們選用驅(qū)動(dòng)一臺(tái)電動(dòng)機(jī)。5,7,10,12腳接輸入控制電平,控制電機(jī)的正反轉(zhuǎn)。EnA,EnB接控制使能端,控制電機(jī)的停轉(zhuǎn)。1.4、人機(jī)交互系統(tǒng)它采用I2C總線接口,與微控制器的連接僅需兩根信號(hào)線,硬件電路比較簡單。而且可以驅(qū)動(dòng)8位共陰數(shù)碼管或64只獨(dú)立LED、64只獨(dú)立按鍵,并可提供自動(dòng)消除抖動(dòng)、連擊鍵計(jì)數(shù)等功能。這對(duì)于傳統(tǒng)的鍵盤與數(shù)碼管解決方案,無疑是不可想象的。強(qiáng)大的功能,豐富的資源,良好的接口,使得ZLG7290比傳統(tǒng)的鍵盤與數(shù)碼管解決方案且有更大的優(yōu)越性。因此,在現(xiàn)代智能儀表的設(shè)計(jì)中,通過ZLG7290可為系統(tǒng)設(shè)計(jì)工程師設(shè)計(jì)出良好的人機(jī)對(duì)話通道,從而提供了一種理想的解決方案。1.5、電機(jī)溫度測量1.5、電機(jī)溫度測量PCF8591的功能包括多路模擬輸入、內(nèi)置跟蹤保持、8-bit模數(shù)轉(zhuǎn)換和8-bit數(shù)模轉(zhuǎn)換。PCF8591的最大轉(zhuǎn)化速率由I2C總線的最大速率決定,并單獨(dú)供電。PCF8591的操作電壓范圍2.5V-6V,低待機(jī)電流,通過I2C總線串行輸入/輸出。PCF8591通過3個(gè)硬件地址引腳尋址,采樣率由I2C總線速率決定,4個(gè)模擬輸入可編程為單端型或差分輸入,自動(dòng)增量頻道選擇。PCF8591的模擬電壓范圍從VSS到VDD,內(nèi)置跟蹤保持電路,8-bit逐次逼近A/D轉(zhuǎn)換器,通過1路模擬輸出實(shí)現(xiàn)DAC增益。1.6、頂層設(shè)計(jì)部分
原理圖在繪制中最后的頂層設(shè)計(jì)圖最后繪制。在繪制原理圖之前要先新建一個(gè)工程,再建一個(gè)文件夾,最后依次新建立各個(gè)原理圖,并按要求畫出相應(yīng)的原理圖。在畫原理圖時(shí),先將原理圖中所需的元器件找好,并按照相應(yīng)原理圖的位置排列好,再用線將這些器件連接好。最后按要求寫好相應(yīng)元器件的封裝號(hào)。畫好原理圖后,先檢查器件封裝有無錯(cuò)誤,再將畫好的所有原理圖生成PCB畫圖模式,根據(jù)給出的原理圖,找好每個(gè)元器件對(duì)應(yīng)的位置,并將其安置在相應(yīng)的位置上。緊接著取消元器件和板子之間的連線,隨后可對(duì)安置好元器件的PCB板自動(dòng)布線或者手動(dòng)布線。最后附銅。生成了如下的PCB板。2、原理圖的繪制過程、方法、要點(diǎn)2.1原理圖庫的繪制a.在已建立的工作空間下,File——New——Library——SchematicLibraryb.繪制元器件圖:繪制第一個(gè)元器件(Component1),以STC89C52為例:繪制一矩形;放置引腳,放下引腳前按下tap或通過雙擊引腳更改屬性。c.設(shè)置元器件屬性:點(diǎn)擊SCHLibrary——雙擊Component1更改屬性,將SymbolReference改為元器件名d.在原理圖庫中添加新的元器件Tools——NewComponent——設(shè)置元器件屬性e.保存原理圖庫:點(diǎn)擊右側(cè)Projects——右擊原理圖庫名——Saveas2.2原理圖的繪制a.設(shè)計(jì)步驟:File——New——Schematic,或通過Design——GeneralTemplates生成SchDoc文件模版。b.放置元器件原理圖——連線(placewire)c.連線完成后對(duì)元器件自動(dòng)標(biāo)號(hào)Tools——AnnotateSchematicsd.選擇或更改PCB封裝,雙擊元器件原理圖——在對(duì)話框的Models下——AddNewModel——footprints——輸入封裝名稱e.對(duì)原理圖進(jìn)行編譯Project——Compilef.向新建的PCB文件中導(dǎo)入PCB,Design——UpdatePCBDocument3、PCB的繪制過程、方法、要點(diǎn)3.1繪制原理圖庫a.設(shè)計(jì)步驟:在已建立的工作空間下,File——New——Library——PCBLibrary3.2繪制元器件PCB圖a.可以通過點(diǎn)擊PCBLibrary設(shè)置PCB各部分屬性b.在PCB庫中添加新的元器件Tools——NewBlankComponentc.保存PCB庫:點(diǎn)擊右側(cè)Projects——右擊PCB庫名——Saveas3.3繪制PCBa.新建PCB。File——New——PCB或右邊快捷欄system——Filesb.將(編譯后的)原理圖導(dǎo)入PCBc.放置元器件并進(jìn)行布線d.使用PCBFilter選中對(duì)象——PCB——PCBInspector注意事項(xiàng):1PCB2.板。34、貼片機(jī)的生產(chǎn)過程開始前準(zhǔn)備錫膏、鏟子、工具箱、酒精等物品,將外引氣管接頭接入氣壓,插入電源,打開操作面板開關(guān),并啟動(dòng)設(shè)備電腦,調(diào)整傳入導(dǎo)軌寬度與擋板位置,進(jìn)板--停板--夾板--相機(jī)識(shí)別MARK點(diǎn)對(duì)PCB板定位(調(diào)整參數(shù)注上升鋼網(wǎng)架上升到最高位置,以上限傳感器為準(zhǔn),下降鋼網(wǎng)位置由設(shè)置參數(shù)界面測定出來)--貼裝頭運(yùn)動(dòng)到喂料器位置由吸嘴吸取程序設(shè)定所需的元件—相機(jī)或激光或其他類型傳感器檢測元件信息(位置、大小、厚度、元件引腳數(shù)目等等)--貼裝頭運(yùn)動(dòng)到PCB相應(yīng)焊盤位置,吸嘴下降,以一定壓力把元件貼裝在有黏性的已經(jīng)印刷錫膏的焊盤。貼裝完成。
進(jìn)板停板出板由紅外傳感器觸發(fā),遮斷產(chǎn)生脈沖控制電動(dòng)機(jī)動(dòng)作,皮帶運(yùn)轉(zhuǎn),輸送PCB板。吸嘴吸取元件則由真空完成。真空有壓縮空氣產(chǎn)生。類似吸管喝牛奶的過程。
實(shí)訓(xùn)地的貼片機(jī)是由幾臺(tái)三星貼片機(jī)并例一排組成了自動(dòng)貼片生產(chǎn)線,它主要用于給主板PCB電路板上安裝芯片。內(nèi)部流程一般分為兩個(gè)步驟:1、自動(dòng)在PCB板上印刷錫膏;2、根據(jù)預(yù)定程序在PCB主板指定的位置的貼上元器件。
生產(chǎn)線末段是PCB板品檢環(huán)節(jié),以前是由人工通過放大鏡檢查焊接是否有問題的,這樣不僅效率低,而且容易檢查不出問題,導(dǎo)致不合格品流出,而現(xiàn)在都是自動(dòng)檢驗(yàn),這臺(tái)機(jī)器內(nèi)部是一部高速高精照像機(jī),它把PCB板拍照放大,然后自動(dòng)分析焊點(diǎn),發(fā)現(xiàn)問題屏幕上會(huì)顯示警告。由于現(xiàn)在的CPU多采用BGA封裝,焊點(diǎn)在芯片下方不可見,有的工廠還會(huì)準(zhǔn)備X光機(jī)一樣的透視設(shè)備來檢查焊點(diǎn)。5、直插元件焊接方法、要點(diǎn)1、首先依據(jù)設(shè)計(jì)圖紙檢驗(yàn)PCB面板是否符合設(shè)計(jì)要求:要求PCB面板表面光滑,無劃傷斷裂等現(xiàn)象存在;要求PCB面板平整無變形現(xiàn)象存在。2、裝插件前檢查電子元件表面有無氧化,保證裝插到線路板上的電子元件無氧化現(xiàn)象存在;嚴(yán)格檢驗(yàn)領(lǐng)取的電子元件型號(hào)、參數(shù)保證符合設(shè)計(jì)要求。3、根據(jù)設(shè)計(jì)要求進(jìn)行裝插件,裝插件遵循先低后高的原則進(jìn)行。4、裝插件時(shí)嚴(yán)格按照PCB圖進(jìn)行,保證裝插件正確無誤。5、電阻,二極管及其類似元件要將引腳彎成與元件成垂直狀再進(jìn)行裝插,元件與線路板平行。6、電容、三極管、電感、可控硅及類似元件要求引腳垂直安裝,元件與線路板垂直。7、集成電路、集成電路插座裝插件時(shí)注意引腳順序不能插反且安裝應(yīng)到位,元件與線路板平行。8、有極性的元件在裝插時(shí)要注意極性,不能將極性裝反。9、相同元件安裝時(shí)要求高度統(tǒng)一。10、安裝過程中,手只能拿電路板邊緣無電子元器件處,手不能接觸電子元器件引腳,防止靜電釋放造成元件損壞。11、焊接時(shí)要嚴(yán)格按照焊接工藝要求進(jìn)行操作。12、電烙鐵通電前先檢查是否漏電,確保完好在通電預(yù)熱。電烙鐵達(dá)到規(guī)定的溫度在進(jìn)行焊接。若焊接對(duì)靜電釋放敏感型器件,電烙鐵應(yīng)良好接地。13、焊接掌握好焊接時(shí)間,一般元件在2—3秒鐘的時(shí)間焊完,較大的焊點(diǎn)在3—4秒鐘的時(shí)間焊完。當(dāng)一次焊接不完時(shí)要等一段時(shí)間元件冷卻后再進(jìn)行二次焊接。14、焊點(diǎn)要求圓滑光亮,大小均勻呈圓錐形。不能出現(xiàn)虛焊、假焊、漏焊、錯(cuò)焊、連焊、包焊、堆焊、拉尖現(xiàn)象。15、表面氧化的元器件或電路板焊接前要將表面清楚干凈,上錫處理后再進(jìn)行焊接。導(dǎo)線焊接時(shí)表面要上錫處理。16、助焊劑不能使用過多,焊接表面應(yīng)清潔,不能有殘?jiān)嬖凇?7、PCB板焊接不允許有銅箔翹起斷裂現(xiàn)象,短接線焊接時(shí)要做好絕緣處理。防止出現(xiàn)短路現(xiàn)象。插針插頭與導(dǎo)線焊接時(shí)應(yīng)套好熱縮管。18、焊接集成電路時(shí)應(yīng)戴好防靜電手環(huán),以免損壞器件。19、焊接完必需認(rèn)證檢查,確保焊接正確。20、桌面工具、元器件、電路板擺放有序,禁止雜亂無章。21、注意人身安全和器件安全。小心被烙鐵燙傷或劃傷,小心電線被烙鐵燙壞造成短路,或線路外漏當(dāng)心觸電。6、整板調(diào)試方法1、接上7V~10V的直流電源,打開電源開關(guān),通過串口將編寫好的程序下載到實(shí)訓(xùn)板上的單片機(jī)內(nèi)。2、電機(jī)調(diào)試:將電機(jī)上的紅、藍(lán)、黑、黃、白線分別接到OUT3,、OUT4(或OUT1、OUT2)、GND、a、c端。按下S9、S10、S11、S12進(jìn)行電機(jī)的啟動(dòng)、停止、加速、減速。3、PT100調(diào)試:接上J13、J14、J12、J18跳線帽,調(diào)節(jié)R46電位器到100Ω,調(diào)節(jié)R44使J19、J20測試點(diǎn)電壓為0,然后將R44電位器阻值調(diào)到約138.51Ω,再調(diào)節(jié)R43,使得J24測試點(diǎn)電壓為5V。最后,拔下J14,接上J15開始進(jìn)行溫度測量。7、程序編寫(1)主函數(shù)部分#include“reg52.h”#include“Motor.h”#include“I2C.h”#include“ZLG7290.h”#include“Temperature.H”#include“Uart.h”externunsignedcharGetADFlag;unsignedintADResultTemp=0;unsignedcharKeyValue=2,I=0;unsignedintTimerCount=0;floatADResult_Float=0;unsignedintADResult_Int=0;#defineVREF 5.1#define DisNum100#define Resolution 256 voidTest_Display_Num();voidTest_Display();voidmain(){ SystemInit(); Timer1_init(); Uart1_Init(); IIC_Initial(); ClearAll(); while(1) { ZLG7290_ReadReg(ZLG7290_Key,&KeyValue); KeyValue=KeyValue_Deal(KeyValue); if(KeyValue==8) Motor_Start(); if(KeyValue==9) Motor_Stop(); if(KeyValue==10) Motor_Up(); if(KeyValue==11) Motor_Down(); if(KeyValue==12) Test_Display_Num(); if(KeyValue==13) Test_Display(); if(KeyValue==14) Test_KeyValue(); if(KeyValue==15) { ClearAll(); while(1) { TR1=1; ZLG7290_ReadReg(ZLG7290_Key,&KeyValue); KeyValue=KeyValue_Deal(KeyValue); if(GetADFlag==1) { GetADFlag=0; ADResultTemp+=ReadAD(CH1); i++; if(I==5) { TR1=0; I=0; ADResultTemp=ADResultTemp/5; ADResult_Float=(ADResultTemp*(VREF/Resolution))/0.025; ADResult_Int=ADResult_Float*DisNum; ADResultTemp=0; TR1=1; ZLG7290_Display(3,0,0,(ADResult_Int/1000)); ZLG7290_Display(2,1,0,(ADResult_Int/100%10)); ZLG7290_Display(1,0,0,(ADResult_Int/10%10)); ZLG7290_Display(0,0,0,(ADResult_Int%10)); } }if(KeyValue==12||KeyValue==13||KeyValue==14) { TR1=0; ClearAll(); break; } } } }}voidTest_Display_Num(){ unsignedcharI; for(i=0;i<8;i++) { ZLG7290_Display(I,0,0,i+1); }}voidTest_Display(){ unsignedcharI; for(i=0;i<8;i++) { ZLG7290_Display(I,1,1,8); }}(2)I2C部分/************************************************ I2C.c 標(biāo)準(zhǔn)80C51單片機(jī)模擬I2C總線的主機(jī)程序***********************************************/#include“I2C.h”//定義延時(shí)變量,用于宏I2C_Delay()unsignedchardataI2C_Delay_t;/*************************************************宏定義:I2C_Delay()功能:延時(shí),模擬I2C總線專用*************************************************/#defineI2C_Delay()\{\ I2C_Delay_t=(I2C_DELAY_VALUE);\ while(--I2C_Delay_t!=0);\}/*************************************************函數(shù):I2C_Init()功能:I2C總線初始化,使總線處于空閑狀態(tài)說明:在main()函數(shù)的開始處,通常應(yīng)當(dāng)要執(zhí)行一次本函數(shù)*************************************************/voidI2C_Init(){ I2C_SCL=1; I2C_Delay(); I2C_SDA=1; I2C_Delay();}/*********************************************************函數(shù):I2C_Start()功能:產(chǎn)生I2C總線的起始狀態(tài)voidI2C_Start(){ I2C_SDA=1; I2C_Delay(); I2C_SCL=1; I2C_Delay(); I2C_SDA=0; I2C_Delay(); I2C_SCL=0; I2C_Delay();}voidI2C_Write(chardat){ unsignedchart=8; do { I2C_SDA=(bit)(dat&0x80); dat<<=1; I2C_SCL=1; I2C_Delay(); I2C_SCL=0; I2C_Delay(); }while(--t!=0);}charI2C_Read(){ chardat; unsignedchart=8; I2C_SDA=1;//在讀取數(shù)據(jù)之前,要把SDA拉高 do { I2C_SCL=1; I2C_Delay(); dat<<=1; if(I2C_SDA)dat|=0x01; I2C_SCL=0; I2C_Delay(); }while(--t!=0); returndat;}/************************************************函數(shù):I2C_GetAck()功能:讀取從機(jī)應(yīng)答位返回: 0:從機(jī)應(yīng)答 1:從機(jī)非應(yīng)答說明:從機(jī)在收到每個(gè)字節(jié)的數(shù)據(jù)后,要產(chǎn)生應(yīng)答位從機(jī)在收到最后1個(gè)字節(jié)的數(shù)據(jù)后,一般要產(chǎn)生非應(yīng)答位*************************************************/bitI2C_GetAck(){ bitack; I2C_SDA=1; I2C_Delay(); I2C_SCL=1; I2C_Delay(); ack=I2C_SDA; I2C_SCL=0; I2C_Delay(); returnack;}/*************************************************函數(shù):I2C_PutAck()功能:主機(jī)產(chǎn)生應(yīng)答位或非應(yīng)答位參數(shù): ack=0:主機(jī)產(chǎn)生應(yīng)答位 ack=1:主機(jī)產(chǎn)生非應(yīng)答位說明:主機(jī)在接收完每一個(gè)字節(jié)的數(shù)據(jù)后,都應(yīng)當(dāng)產(chǎn)生應(yīng)答位主機(jī)在接收完最后一個(gè)字節(jié)的數(shù)據(jù)后,應(yīng)當(dāng)產(chǎn)生非應(yīng)答位*************************************************/voidI2C_PutAck(bitack){ I2C_SDA=ack; I2C_Delay(); I2C_SCL=1; I2C_Delay(); I2C_SCL=0; I2C_Delay();}/*************************************************函數(shù):I2C_Stop()功能:產(chǎn)生I2C總線的停止?fàn)顟B(tài)說明:SCL處于高電平期間,當(dāng)SDA出現(xiàn)上升沿時(shí)停止I2C總線不論SDA和SCL處于什么電平狀態(tài),本函數(shù)總能正確產(chǎn)生停止?fàn)顟B(tài) 本函數(shù)執(zhí)行后,I2C總線處于空閑狀態(tài)*************************************************/voidI2C_Stop(){ unsignedintt=I2C_STOP_WAIT_VALUE; I2C_SDA=0; I2C_Delay(); I2C_SCL=1; I2C_Delay(); I2C_SDA=1; I2C_Delay(); while(--t!=0); //在下一次產(chǎn)生Start之前,要加一定的延時(shí)}/*********************************************************函數(shù):I2C_Puts()功能:I2C總線綜合發(fā)送函數(shù),向從機(jī)發(fā)送多個(gè)字節(jié)的數(shù)據(jù)參數(shù): SlaveAddr:從機(jī)地址(7位純地址,不含讀寫位) SubAddr:從機(jī)的子地址 SubMod:子地址模式,0-無子地址,1-單字節(jié)子地址,2-雙字節(jié)子地址 *dat:要發(fā)送的數(shù)據(jù) Size:數(shù)據(jù)的字節(jié)數(shù)返回: 0:發(fā)送成功 1:在發(fā)送過程中出現(xiàn)異常說明: 本函數(shù)能夠很好地適應(yīng)所有常見的I2C器件,不論其是否有子地址 當(dāng)從機(jī)沒有子地址時(shí),參數(shù)SubAddr任意,而SubMod應(yīng)當(dāng)為0*********************************************************/bitI2C_Puts( unsignedcharSlaveAddr, unsignedintSubAddr, unsignedcharSubMod, char*dat, unsignedintSize){ unsignedcharI; //定義臨時(shí)變量 chara[3]; if(Size==0)return0; //檢查長度 a[0]=(SlaveAddr<<1); //準(zhǔn)備從機(jī)地址 if(SubMod>2)SubMod=2; //檢查子地址模式 switch(SubMod) //確定子地址 { case0: break; case1: a[1]=(char)(SubAddr); break; case2: a[1]=(char)(SubAddr>>8); a[2]=(char)(SubAddr); break; default: break; } SubMod++; //發(fā)送從機(jī)地址,接著發(fā)送子地址(如果有子地址的話) I2C_Start(); for(i=0;i<SubMod;i++) { I2C_Write(a[i]); if(I2C_GetAck()) { I2C_Stop(); return1; } } do //發(fā)送數(shù)據(jù) { I2C_Write(*dat++); if(I2C_GetAck())break; }while(--Size!=0); I2C_Stop(); //發(fā)送完畢,停止I2C總線,并返回結(jié)果 if(Size==0) { return0; } else { return1; }}/*********************************************************函數(shù):I2C_Gets()功能:I2C總線綜合接收函數(shù),從從機(jī)接收多個(gè)字節(jié)的數(shù)據(jù)參數(shù): SlaveAddr:從機(jī)地址(7位純地址,不含讀寫位) SubAddr:從機(jī)的子地址 SubMod:子地址模式,0-無子地址,1-單字節(jié)子地址,2-雙字節(jié)子地址 *dat:保存接收到的數(shù)據(jù) Size:數(shù)據(jù)的字節(jié)數(shù)返回: 0:接收成功 1:在接收過程中出現(xiàn)異常說明: 本函數(shù)能夠很好地適應(yīng)所有常見的I2C器件,不論其是否有子地址 當(dāng)從機(jī)沒有子地址時(shí),參數(shù)SubAddr任意,而SubMod應(yīng)當(dāng)為0*********************************************************/bitI2C_Gets( unsignedcharSlaveAddr, unsignedintSubAddr, unsignedcharSubMod, char*dat, unsignedintSize){ unsignedcharI; //定義臨時(shí)變量 chara[3]; if(Size==0)return0; //檢查長度 a[0]=(SlaveAddr<<1); //準(zhǔn)備從機(jī)地址 if(SubMod>2)SubMod=2; //檢查子地址模式 if(SubMod!=0) //如果是有子地址的從機(jī),則要先發(fā)送從機(jī)地址和子地址 { if(SubMod==1) //確定子地址 { a[1]=(char)(SubAddr); } else { a[1]=(char)(SubAddr>>8); a[2]=(char)(SubAddr); } SubMod++; //發(fā)送從機(jī)地址,接著發(fā)送子地址 I2C_Start(); for(i=0;i<SubMod;i++) { I2C_Write(a[i]); if(I2C_GetAck()) { I2C_Stop(); return1; } } }//這里的I2C_Start()對(duì)于有子地址的從機(jī)是重復(fù)起始狀態(tài)//對(duì)于無子地址的從機(jī)則是正常的起始狀態(tài) I2C_Start(); I2C_Write(a[0]+1); //發(fā)送從機(jī)地址 if(I2C_GetAck()) { I2C_Stop(); return1; } for(;;) //接收數(shù)據(jù) { *dat++=I2C_Read(); if(--Size==0) { I2C_PutAck(1); break; } I2C_PutAck(0); } I2C_Stop(); //接收完畢,停止I2C總線,并返回結(jié)果 return0;}(3)電機(jī)驅(qū)動(dòng)部分#include“reg52.h”#include“Motor.h”sbitMotor_Ctr_1=P1^2;sbitMotor_Ctr_2=P1^0;sbitL298_ENA=P1^4;sbitL298_ENB=P1^1;#defineFOSC11059200L#defineT1MS(65536-FOSC/12/100000) //unsignedintcount=0;unsignedintMotor_Duty=0;unsignedcharMotor_Start_Flag=0;unsignedcharGetADFlag=0;voidTimer1_init(){TMOD=0x00;//settimer0asmode1(16-bit)TL1=T1MS;//initialtimer0lowbyteTH1=T1MS>>8;//initialtimer0highbyteET1=1;//enabletimer0interruptEA=1;//openglobalinterruptswitch}voidTimer1_ISR()interrupt3using1{TL1=T1MS;//reloadtimer0lowbyteTH1=T1MS>>8;//reloadtimer0highbyte count++;if(count<=Motor_Duty)//1ms*1000->1s{Motor_Ctr_1=0;} elseif((count>Motor_Duty)&&(count<500)) { Motor_Ctr_1=1; GetADFlag=1; } else count=0;}voidMotor_Start(){ TR1=1;//timer0startrunning L298_ENA=1; L298_ENB=1; Motor_Ctr_2=1; Motor_Duty=200; Motor_Start_Flag=1;}voidMotor_Stop(){ TR1=0; L298_ENA=0; L298_ENB=0; Motor_Start_Flag=0;}voidMotor_Up(void){ if(Motor_Start_Flag) { Motor_Duty+=50; if(Motor_Duty>=500) Motor_Duty=500; }}voidMotor_Down(void){ if(Motor_Start_Flag) { if(Motor_Duty<=50) Motor_Duty=50; else Motor_Duty-=50; }}四、實(shí)習(xí)總結(jié)經(jīng)過此次的電子實(shí)訓(xùn),讓我從開始接觸電子實(shí)訓(xùn),到自己調(diào)試實(shí)習(xí)板,這段時(shí)間受益匪淺、收獲頗豐。首先我初步了解和學(xué)習(xí)會(huì)了AltiumDesigner軟件的操作,學(xué)會(huì)如何進(jìn)行一般電路的原理圖和PCB的繪制;進(jìn)一步學(xué)會(huì)了常用,如鋼絲鉗、萬用表、電烙鐵等電工工具的使用方法;在電子方面,熟悉了廠用電子器件類別,如電容、電器、二極管等型號(hào)、規(guī)格、性能、使用范圍及基本測量方法;在實(shí)際操作方面,我熟悉了電子產(chǎn)品貼片的焊接工藝和檢測方法。學(xué)習(xí)到了如何根據(jù)需要繪制元器件的原理圖和對(duì)應(yīng)的PCB封裝,懂得了搭建51單片機(jī)的最小系統(tǒng)、電橋、放大電路、減法電路等。實(shí)習(xí)中感觸最深的是實(shí)踐結(jié)合理論的重要性,當(dāng)遇到實(shí)際問題是,只要冷靜思考,用所學(xué)的知識(shí)一步步探索,是可以解決問題的,最后,通過實(shí)地操作學(xué)會(huì)了如何調(diào)試實(shí)習(xí)板到最佳狀態(tài)。課題二:SG1639A函數(shù)信號(hào)發(fā)生器制作與調(diào)試一、實(shí)習(xí)目的1、熟悉手工焊接的常用工具的使用及維護(hù)與修理。
2、基本掌握手工電烙鐵的焊接技術(shù),能夠獨(dú)立的完成簡單電子產(chǎn)品的焊接、安裝與調(diào)試,熟悉電子產(chǎn)品的安裝工藝的生產(chǎn)流程,熟悉SMT貼片生產(chǎn)工藝過程。3、熟悉印刷電路板設(shè)計(jì)的步驟和方法,熟悉手工制作印刷電路板的工藝流程,能夠根據(jù)電路原理圖,元器件實(shí)物設(shè)計(jì)并制作印刷電路板。
4、熟悉常用電子器件的類別、型號(hào)、規(guī)格、性能及其使用范圍,能查閱有關(guān)的電子器件圖書。
5、能夠正確識(shí)別和選用常用的電子器件。
6、熟悉掌握電子產(chǎn)品的焊接、調(diào)試與維修方法。7、熟悉掌握產(chǎn)品SG1639A函數(shù)信號(hào)發(fā)生器整個(gè)生產(chǎn)流程。8、進(jìn)一步熟悉電子電路常用調(diào)試、測試儀器儀表的使用。二、實(shí)習(xí)內(nèi)容17-18周在江蘇洪澤瑞特電子公司校外實(shí)習(xí),實(shí)訓(xùn)內(nèi)容:函數(shù)信號(hào)發(fā)生器制作與調(diào)試。實(shí)訓(xùn)形式:1、校外老師洪澤瑞特電子設(shè)備有限公司電子事業(yè)部的工程師指導(dǎo)整個(gè)實(shí)訓(xùn)過程,2、校內(nèi)老師負(fù)責(zé)系統(tǒng)培訓(xùn)、疑難答疑及后勤保障工作。三、實(shí)習(xí)過程及結(jié)果1、公司簡介江蘇瑞特電子設(shè)備有限公司位于洪澤縣工業(yè)園區(qū)東一道16號(hào),由原洪澤縣瑞特電子設(shè)備有限公司更名而成,公司廠區(qū)占地總面積8萬多平方米,建筑面積5.4萬平方米,具有30多年生產(chǎn)機(jī)械、電力、電子設(shè)備的歷史。
公司現(xiàn)有職工670人,各類專業(yè)技術(shù)人員100多人,中高級(jí)職稱26人。公司擁有先進(jìn)的激光切割機(jī)貳臺(tái)套,德國通塊、日本AMADA公司及臺(tái)灣產(chǎn)數(shù)控加工沖床、折彎機(jī)、剪板機(jī)19臺(tái)套,世界頂級(jí)柔性生產(chǎn)線、意大利薩瓦尼尼多邊折彎中心一臺(tái)。自動(dòng)表面處理生產(chǎn)線5條,裝配生產(chǎn)線4條,德國產(chǎn)數(shù)控雙組份定量混合點(diǎn)膠機(jī)一臺(tái),自動(dòng)波峰焊機(jī)一臺(tái),瑞士校平機(jī)一臺(tái),以及一整套的電力電子產(chǎn)品調(diào)試檢測設(shè)備。
公司主要生產(chǎn)電力控制柜、內(nèi)置空調(diào)戶外柜、鋁合金拼裝柜、圓弧門網(wǎng)絡(luò)柜、通信網(wǎng)絡(luò)柜、不銹鋼柜、高壓環(huán)網(wǎng)柜、中置開關(guān)柜、安檢機(jī)、醫(yī)療器械、等幾十個(gè)高檔機(jī)柜、箱及成套產(chǎn)品、系列電子測量儀器等品種,產(chǎn)品被廣泛應(yīng)用于全國各個(gè)領(lǐng)域,不少產(chǎn)品還成為上海F1國際賽場、國家氣象總局、南京地鐵、澳門三橋、青藏鐵路、三峽大壩、北京奧運(yùn)會(huì)鳥巢,酒泉衛(wèi)星發(fā)射基地、太原衛(wèi)星發(fā)射基地、我國大規(guī)模集成電路海力士工程、上海光源工程等國家典型工程的配套產(chǎn)品,大大提高了企業(yè)在同行業(yè)中的知名度。公司采用先進(jìn)的鎖相環(huán)技術(shù)以及當(dāng)今國際上流行的DDS數(shù)字合成技術(shù)研制出多款軟硬件有機(jī)結(jié)合的標(biāo)準(zhǔn)數(shù)字合成信號(hào)源,在國內(nèi)處于領(lǐng)先地位,并順利通過了歐共體的CE認(rèn)證。
公司連續(xù)多年被評(píng)為“AAA”級(jí)信用單位,是國家級(jí)高新技術(shù)企業(yè),江蘇省中小企業(yè)ERP工程示范單位?!敖K省勞動(dòng)保障誠信企業(yè)”公司于1998年6月就通過了中國方園委IS09002質(zhì)量體系認(rèn)證,2002年2月又通過ISO9001—2000質(zhì)量體系認(rèn)證,2005年通過了國家強(qiáng)制性產(chǎn)品3C認(rèn)證,2007年10月又通過了ISO14001環(huán)境管理體系認(rèn)證。2、函數(shù)信號(hào)發(fā)生器制作流程及要點(diǎn)
SG1639A組件裝配及線扎接線。
SG1639A整機(jī)裝配及面板裝配。
SG1639A數(shù)字信號(hào)發(fā)生器程序燒寫。
SG1639A數(shù)字信號(hào)發(fā)生器調(diào)試。
儀器老化。
SG1639A數(shù)字信號(hào)發(fā)生器復(fù)測、檢驗(yàn)、入庫。
3、SG1369A函數(shù)信號(hào)發(fā)生器電路原理及調(diào)試要點(diǎn)
調(diào)試所需儀器:
萬用表、100MHz示波器一臺(tái)、數(shù)字信號(hào)發(fā)生器一臺(tái)、失真度測量儀一臺(tái)。
先對(duì)整機(jī)進(jìn)行直觀檢查,電路應(yīng)該連接無誤,并且無斷線、無碰線等現(xiàn)象,電路板焊接應(yīng)無短路、無漏焊、無虛焊,緊固件等無松動(dòng),以防短路、開路等現(xiàn)象以后按照調(diào)試指標(biāo)進(jìn)行精確調(diào)試。此時(shí)才可以上電。
3.1、電源的調(diào)整:
通電后測量電源是否正常,如相差太大,應(yīng)立即關(guān)機(jī),并且按圖紙檢查有關(guān)電路以及接線。
3.2、穩(wěn)壓電源的調(diào)整
本機(jī)電源部分有三部分輸出:±17V、±5V、±25V。
(1)±17V的調(diào)整;
用數(shù)字萬用表測量LM317輸出端有17V電壓輸出。
(2)±5V、±25V的調(diào)整:
+5V電源是有
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年深圳市福田區(qū)景蓮幼兒園招聘備考題庫及一套完整答案詳解
- 2026年瀘州市龍馬潭區(qū)人民醫(yī)院招聘工作人員5人備考題庫及完整答案詳解1套
- 中共桑植縣委組織部2026年公開選調(diào)工作人員備考題庫附答案詳解
- 2026年隆平生物技術(shù)(海南)有限公司招聘備考題庫及參考答案詳解1套
- 2026年洛陽綠業(yè)備考題庫中等專業(yè)學(xué)校招聘教師49人備考題庫及完整答案詳解1套
- 2026年重慶聯(lián)交所集團(tuán)所屬單位招聘備考題庫及一套參考答案詳解
- 2026年牛頭山水利建設(shè)發(fā)展有限公司公開招聘臨時(shí)用工人員備考題庫參考答案詳解
- 中學(xué)班級(jí)管理制度完善
- 養(yǎng)老院入住老人醫(yī)療保健制度
- 中國熱帶農(nóng)業(yè)科學(xué)院熱帶作物品種資源研究所2026年第一批公開招聘工作人員備考題庫及答案詳解參考
- 2024年內(nèi)蒙古氣象部門招聘呼和浩特包頭鄂爾多斯等考試真題
- 機(jī)械制圖8套試題及答案
- 工程聯(lián)營協(xié)議書范本
- 《先兆流產(chǎn)中西醫(yī)結(jié)合診療指南》
- 醫(yī)保藥械管理制度內(nèi)容
- 商業(yè)地產(chǎn)投資講座
- 江西省贛州市2023-2024學(xué)年高三上學(xué)期期末考試化學(xué)試卷 附答案
- 機(jī)房動(dòng)力環(huán)境監(jiān)控系統(tǒng)調(diào)試自檢報(bào)告
- 國家職業(yè)技術(shù)技能標(biāo)準(zhǔn) 4-04-05-05 人工智能訓(xùn)練師 人社廳發(fā)202181號(hào)
- 電網(wǎng)勞務(wù)分包投標(biāo)方案(技術(shù)方案)
- 2023年北京第二次高中學(xué)業(yè)水平合格考化學(xué)試卷真題(含答案詳解)
評(píng)論
0/150
提交評(píng)論