freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

電動機械手控制系統(tǒng)設(shè)計(編輯修改稿)

2024-08-03 16:09 本頁面
 

【文章內(nèi)容簡介】 鍵信號后對機械結(jié)構(gòu)的運動的控制。 上位機程序設(shè)計根據(jù)設(shè)計的電路要求,圖41為 PC上位機操作界面的程序框圖,圖41上位機操作界面框圖根據(jù)流程圖的流程編寫上位機操作界面,,創(chuàng)建串口通信Msm控件及添加按鍵控件。一般用VB開發(fā)串行通信程序有兩種方法:一是利用Windows的通信API函數(shù)。另一種是采用VB標準控件Msm來實現(xiàn)。利用API編寫串口通信程序較為復雜,需要掌握大量通信知識,其優(yōu)點是可實現(xiàn)的功能更豐富、應用面更廣泛,更適合于編寫較為復雜的低層次通信程序。在本畢設(shè)中不需太多串口功能,故不使用該方法。采用Msm控件實現(xiàn)串口通信時,首先添加一Msm控件到窗體中,該控件一般不在通用工具窗口中,而是需通過菜單項工程(P)→部件(O)進入選擇窗口,此時工具窗口中出現(xiàn)Msm圖標,即可被使用。:Private Sub cmd打開串口_Click() = 4 39。打開COMM4口 If = False Then = 9600,n,8,1 39。9600波特率,無校驗,8位數(shù)據(jù)位,1位停止位 = True 39。打開串口 End If = 0 39。清除接收緩沖區(qū) End Sub在主窗體添加鍵盤按鍵觸發(fā)事件及鼠標按下放開事件,檢測按鍵及鼠標按鍵。以下是在鍵盤觸發(fā)事件中檢測按鍵的程序:Private Sub Form_KeyPress(KeyAscii As Integer)If KeyAscii = Asc(a) Then Call cmd1_Click 39。按 “a”鍵,按鍵1觸發(fā)事件If KeyAscii = Asc(d) Then Call cmd2_Click 39。按 “d”鍵,按鍵1觸發(fā)事件If KeyAscii = Asc(u) Then Call cmd3_Click 39。按 “u”鍵,按鍵1觸發(fā)事件If KeyAscii = Asc(j) Then Call cmd4_Click 39。按 “j”鍵,按鍵1觸發(fā)事件If KeyAscii = Asc(i) Then Call cmd5_Click 39。按 “i”鍵,按鍵1觸發(fā)事件If KeyAscii = Asc(k) Then Call cmd6_Click 39。按 “k”鍵,按鍵1觸發(fā)事件If KeyAscii = Asc(o) Then Call cmd7_Click 39。按 “o”鍵,按鍵1觸發(fā)事件If KeyAscii = Asc(l) Then Call cmd8_Click 39。按 “l(fā)”鍵,按鍵1觸發(fā)事件If KeyAscii = Asc(w) Then Call cmd9_Click 39。按 “w”鍵,按鍵1觸發(fā)事件If KeyAscii = Asc(s) Then Call cmd10_Click 39。按 “s”鍵,按鍵1觸發(fā)事件End Sub根據(jù)檢測到的按鍵信號發(fā)送機械手控制信號到串口數(shù)據(jù)發(fā)送區(qū)。圖42為程序框圖:圖42程序框圖在編寫的上位機操作界面添加編組框及退出鍵完善操作界面,使界面更友好。(上位機總程序詳見附錄一)。圖43為完成后的操作界面:圖43上位機操作界面 單片機總程序設(shè)計 根據(jù)設(shè)計的的要求,進行AVR單片機C語言編程,編程思路方框圖如圖44。(單片機程序詳見附錄二)開始初始化檢測矩陣按鍵按下串口中斷判斷鍵值發(fā)送指令接收數(shù)據(jù)輸出控制信號圖44單片機程序框圖使用WINAVR編程軟件進行編程。創(chuàng)建工程進入編程,首先調(diào)用頭文件:include avr/ include util/include avr/分別為單片機引腳定義頭文件、延遲頭文件、中斷函數(shù)頭文件。這三個頭文件在一般編程中常常用到,接著將IO口初始化和串口初始化。ATmega64單片機擁有2個串口中斷函數(shù),分別為串口中斷0(Usart0)和串口中斷1(Usart1)本次畢設(shè)使用串口中斷1。串口中斷1程序初始化如下:void Usart_Init(){ UCSR1A = 0X00。 UCSR1C amp。=~(1UMSEL1)。 //異步通信 UCSR1C |= (1 UCSZ11) | (1 UCSZ10)。 //數(shù)據(jù)格式8,N,1 //UCSRC寄存器與UBRRH寄存器共用相同的I/O地址,寫 UCSRC 時, URSEL 應設(shè)置為 1。 UBRR1L = (fosc / BAUD / 16 1) % 256。 //波特率設(shè)置 UBRR1H = (fosc / BAUD / 16 1) / 256。 UCSR1B |= (1 RXCIE1) | (1 RXEN1) | (1 TXEN1)。 //發(fā)送使能}串口程序還包括串口接收中斷函數(shù)、串口字節(jié)發(fā)送函數(shù)等。(詳見附錄二單片機程序)舵機主要是由外殼、電路板、無核心馬達、齒輪與位置檢測器所構(gòu)成。其工作原理是由接收機發(fā)出訊號給舵機,經(jīng)由電路板上的 IC判斷轉(zhuǎn)動方向,再驅(qū)動無核心馬達開始轉(zhuǎn)動,透過減速齒輪將動力傳至擺臂,同時由位置檢測器送回訊號,判斷是否已經(jīng)到達定位。 舵機是一種位置伺服的驅(qū)動器,適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。工作時,控制信號由接收機的通道進入信號調(diào)制芯片,獲得直流偏置電壓。它內(nèi)部有一個基準電路,產(chǎn)生周期為20ms,將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負輸出到電機驅(qū)動芯片決定電機的正反轉(zhuǎn)。當電機轉(zhuǎn)速一定時,通過級聯(lián)減速齒輪帶動電位器旋轉(zhuǎn),使得電壓差為0,電機停止轉(zhuǎn)動。 控制脈沖固定周期為20ms,當送出以下正脈沖寬度時,可以得到不同的控制結(jié)果:正脈沖寬度為 時,舵機會反轉(zhuǎn)(逆時針)。 正脈沖寬度為 時,舵機會正轉(zhuǎn)(順時針)。 正脈沖寬度為 時,舵機會回到中點。如圖45:圖45 舵機輸出轉(zhuǎn)角與輸入信號脈沖寬度的關(guān)系本畢設(shè)使用單片機計數(shù)/定時器0產(chǎn)生模擬PMW信號來控制舵機轉(zhuǎn)動。由于使用外部晶振為8MHz,便于精確計算定時時間,采用8分頻,定時50計數(shù)次后產(chǎn)生中斷。定時初值設(shè)置TCNT0 = 0xce,定時時間 = (256206)/8M*8=50us。每產(chǎn)生400次中斷后便可生成20ms的PWM舵機控制信號。以下為定時器0的初始設(shè)置:void init_devices(void) //初始配置{ //T/C0定時中斷設(shè)置 cli()。 //禁止所有中斷 TIMSK |= (1 TOIE0)。 //T/C0溢出中斷允許 TCCR0 |= (1 CS01)。 // T/C0工作于普通模式8分頻 TCNT0 = 0xce。 //定時初值設(shè)置,定時時間 = (256206)/8M*8=50us Counter50us = 0。 // 500us計時變量清零 sei()。 //使能全局中斷 }5 系統(tǒng)調(diào)試 在硬件和軟件都完成后,需要對硬件和軟件分別調(diào)試。只有當硬件中的各個模塊工作測試穩(wěn)定好后,才能進行系統(tǒng)總體調(diào)試。這里將調(diào)試的過程及在調(diào)試的過程中所遇到的問題提出來進行討論,以便能夠進一步的掌握設(shè)計工作的要領(lǐng),積累經(jīng)驗。 機械系統(tǒng)總裝調(diào)試在每個機械模塊都加工完成后,就把每個模塊安裝在主體骨架的相應位置,把電機接上相應的電源,調(diào)試電機帶動機械運動的效果,對不到位之處進行修改,從而確定電機裝配位置,和所提供電源電壓的大小,使系統(tǒng)運行達到設(shè)計效果。對模塊的機械系統(tǒng)調(diào)試,是以小體配合大體來進行調(diào)試,已修改小尺寸為主,以最簡單的修改方式來解決一些裝配上的問題。 硬件調(diào)試硬件調(diào)試主要是針對電路板調(diào)試,檢測它們的工作狀態(tài)是否到達電路設(shè)計要求,也是檢測電路板功能的實現(xiàn)情況。首先通過下載口寫入一個程序驗證板子的基本功能,可使一些IO管腳輸出不同高低電平,再用萬用表測量電壓來判斷電路好壞,由于本畢設(shè)電路的單片機PA口有發(fā)光二極管,可使PA口輸出流水燈,便于直觀的觀察電路情況,如下為測試程序:include avr/ //io端口寄存器配置文件,必須包含include util/ //GCC中的延時函數(shù)頭文件int main(void) //GCC中main文件必須為返回整形值的函數(shù),沒有參數(shù){ PORTA = 0X00。 //PORTB輸出低電平,使LED熄滅 DDRA = 0XFF。 //配置端口PB全部為輸出口 while(1) {unsigned char Flow_LED,Delay500ms。 //定義流水燈循環(huán)次數(shù)以及延時時間變量for(Flow_LED = 0。Flow_LED = 7。Flow_LED++) //流水燈從07總共循環(huán)8次 { PORTA = (1 Flow_LED)。 //每次循環(huán)中點亮一個LED for(Delay500ms = 0。Delay500ms 5。Delay500ms++) //延時500ms { _delay_ms(100)。 // }}}}然后拔掉下載線,以5V的電壓給單片機板供電,此時看看板子的工作狀態(tài),如果運行流水燈狀態(tài)則板子調(diào)試成功,可以寫入所需的程序;反之要檢測板子的電路原理圖和電路上的焊接點,從而找出錯誤并采取相應的措施修改。 打開串口調(diào)試助手軟件,然后燒入接收到數(shù)據(jù)并發(fā)送接收數(shù)據(jù)的串口程序給單片機,給電路提供5V的芯片工作電壓,打開串口調(diào)試助手并發(fā)送數(shù)據(jù),如果有信號返回則串口電路成功;反之要檢測反之要檢測板子的電路原理圖和電路上的焊接點,是否有無接反,從而找出錯誤并采取相應的措施修改。 軟件調(diào)試VB操作界面編程中,串口控件是難點,編好程序后可將串口連接線2和3腳短接,可不用外部硬件便可以進行數(shù)據(jù)發(fā)送接收調(diào)試。單片機控制程序是采用C語言編程,編程所采用的軟件是Keil 編程軟件。關(guān)于單片機C語言軟件調(diào)試,在語句中出現(xiàn)的語法錯誤,該軟件會提示出來,以便于更正。因此,軟件調(diào)試主要的工作是檢查頭文件是否正確,是否與單片機的端口地址相匹配。其次,就是檢查初始化程序的正確性。然后就是根據(jù)軟件實現(xiàn)步驟逐個檢查程序的可行性,以及程序的嵌套性是否都能達到設(shè)計的要求。單片機部分調(diào)試中的難點是舵機控制部分。PWM模擬信號判斷輸出需在每次定時中斷期間完成,若定時中斷時間過短,則在下一個中斷來臨時程序還在運行判斷,則會丟失中斷;如果中斷時間過長,則PWM模擬信號輸出粗糙,不能精確控制舵機轉(zhuǎn)動,更有可能會出現(xiàn)舵機抖動的情況。 最終作
點擊復制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1