




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、實踐形式: 校內(nèi)實踐基地實踐 校外實踐基地 導師聯(lián)系校外實踐 自行聯(lián)系校外實踐 其他_起止日期:2015.12.14-2015.12.25實踐總結(jié)(要求寫明實踐地點、實踐時間、指導教師、實踐目的、實踐內(nèi)容和完成情況,字數(shù)及其它具體要求由各學院根據(jù)學科情況自行制定。)實踐地點實踐目的1. 利用所學過的基礎知識,通過本次電子實習培養(yǎng)獨立解決實際問題的能力。2. 鞏固本課程所學習的理論知識和實驗技能。3. 了解循跡小車構成的設計方法。4. 掌握常用電子電路的一般設計方法,提高設計能力和實驗、動手能力,為今后從事電子電路的設計、研制電子產(chǎn)品打下基礎。5. 培養(yǎng)團隊的協(xié)作和溝通能力。實踐內(nèi)容:一、 智能
2、小車配置本次實訓中所用到的智能小車如圖1所示,其主要配置包括:圖1 智能小車1、 小車底盤小車底盤是機器人最重要的載體,相當于人體的驅(qū)干,ZK-4WD小車平臺采用差速轉(zhuǎn)彎非常靈活可以實現(xiàn)原地打轉(zhuǎn)。小車平臺大小剛好可以承載一些如驅(qū)動器控制器、控制器、電池、傳感器等。圖2 小車底盤2、驅(qū)動器小車直流電機工作電流一般是200-400MA,有些更大,如果一個小車是二個輪子,那么總的電流在400-800MA左右,這些電機輪子都是要接受單片機指令執(zhí)行相應的動作,而市面有的單片機IO 口一般只能提供5MA到10MA的電流,直接驅(qū)動不了電機,所以需要一個驅(qū)動模塊,放大電流。驅(qū)動采用專業(yè)的L298N驅(qū)動芯片。圖
3、3 L298N驅(qū)動芯片3、控制器圖4為控制器STM32核心板,STM32平臺采用核心板+外圍板方式。核心板主要包括STM32F103VET6最小系統(tǒng)、按鍵、LED燈、TF卡、串口和JTAG電路??梢酝瓿蒘TM32內(nèi)部資源的大部分開發(fā)應用。外圍板包括數(shù)碼管電路、存儲器電路、紅外、光敏電阻、溫度傳感器、ULN2003電路、步進電機、蜂鳴器、DS1302時鐘電路和CAN總線等電路設計,基本包括了STM32的所有資源、同時又對IIC、單總線、SPI總線、CAN總線等協(xié)議進行了硬件設計。圖4 控制器STM32核心板4、小車所需的能源一般采用低內(nèi)阻的充電電池套裝。圖5 小車所需的充電電池5、尋跡傳感器用來
4、識別黑白線,小車沿著黑白線行走,就需要尋跡傳感器。原理:尋跡傳感器通常采用紅外的方式,紅外管發(fā)射出來的紅外光通過地面(白色)反射回來,在接收管里收到信號,一旦碰到黑線,那么紅外光都被吸收,接收管沒有接收到信號,從而得知傳感器是否壓線,從而調(diào)整小車運行方向。圖6 尋跡傳感器二、 硬件接口電路設計圖7 硬件接線圖三、 軟件編程實現(xiàn)在空的Demo中打開軟件編程界面編寫程序,如圖8所示。圖8 軟件編程界面小車尋跡控制程序包括主程序和中斷程序如下:主程序:#include "stm32f10x.h" void GPIO_Config()GPIO_InitTypeDef GPIO_In
5、itStruct;GPIO_InitStruct.GPIO_Pin=GPIO_Pin_All;GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF_PP;GPIO_Init(GPIOB, &GPIO_InitStruct);void HW_Config()GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3;GPIO_InitS
6、truct.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOC, &GPIO_InitStruct);GPIO_EXTILineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource0);GPIO_EXTILineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource1);GPIO_EXTILineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource2);GP
7、IO_EXTILineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource3);void CAR_Config()GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.GPIO_Pin=GPIO_Pin_All;GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_Init(GPIOD, &GPIO_InitStruct);void EXIT_Config()EXTI_InitTy
8、peDef EXTI_InitStruct;EXTI_InitStruct.EXTI_Line=EXTI_Line0;EXTI_InitStruct.EXTI_Mode=EXTI_Mode_Interrupt;EXTI_InitStruct.EXTI_Trigger=EXTI_Trigger_Rising;EXTI_InitStruct.EXTI_LineCmd=ENABLE;EXTI_Init(&EXTI_InitStruct);EXTI_InitStruct.EXTI_Line=EXTI_Line1;EXTI_InitStruct.EXTI_Mode=EXTI_Mode_Inter
9、rupt;EXTI_InitStruct.EXTI_Trigger=EXTI_Trigger_Rising;EXTI_InitStruct.EXTI_LineCmd=ENABLE;EXTI_Init(&EXTI_InitStruct);EXTI_InitStruct.EXTI_Line=EXTI_Line2;EXTI_InitStruct.EXTI_Mode=EXTI_Mode_Interrupt;EXTI_InitStruct.EXTI_Trigger=EXTI_Trigger_Rising;EXTI_InitStruct.EXTI_LineCmd=ENABLE;EXTI_Init(
10、&EXTI_InitStruct);EXTI_InitStruct.EXTI_Line=EXTI_Line3;EXTI_InitStruct.EXTI_Mode=EXTI_Mode_Interrupt;EXTI_InitStruct.EXTI_Trigger=EXTI_Trigger_Rising;EXTI_InitStruct.EXTI_LineCmd=ENABLE;EXTI_Init(&EXTI_InitStruct);void NVIC_Config()NVIC_InitTypeDef NVIC_InitStruct;NVIC_InitStruct.NVIC_IRQCha
11、nnel=EXTI0_IRQn;NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=0;NVIC_InitStruct.NVIC_IRQChannelSubPriority=0;NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_InitStruct);NVIC_InitStruct.NVIC_IRQChannel=EXTI1_IRQn;NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=0;NVIC_InitStruct.NV
12、IC_IRQChannelSubPriority=0;NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_InitStruct);NVIC_InitStruct.NVIC_IRQChannel=EXTI2_IRQn;NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=0;NVIC_InitStruct.NVIC_IRQChannelSubPriority=0;NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NV
13、IC_InitStruct);NVIC_InitStruct.NVIC_IRQChannel=EXTI3_IRQn;NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=0;NVIC_InitStruct.NVIC_IRQChannelSubPriority=0;NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_InitStruct);void TIM_Config()TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;TIM_OCI
14、nitTypeDef TIM_OCInitStruct;TIM_TimeBaseInitStruct.TIM_Prescaler=360-1;TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up;TIM_TimeBaseInitStruct.TIM_Period=200-1;TIM_TimeBaseInit(TIM4,&TIM_TimeBaseInitStruct);TIM_OCInitStruct.TIM_OCMode=TIM_OCMode_PWM1;/YSTIM_OCInitStruct.TIM_OutputState=
15、TIM_OutputState_Enable;TIM_OCInitStruct.TIM_Pulse=80;TIM_OCInitStruct.TIM_OCPolarity=TIM_OCPolarity_High; /有效值賦值TIM_OC1Init(TIM4,&TIM_OCInitStruct);TIM_OCInitStruct.TIM_OCMode=TIM_OCMode_PWM1;/YXTIM_OCInitStruct.TIM_OutputState=TIM_OutputState_Enable;TIM_OCInitStruct.TIM_Pulse=85;TIM_OCInitStruc
16、t.TIM_OCPolarity=TIM_OCPolarity_High; TIM_OC2Init(TIM4,&TIM_OCInitStruct);TIM_OCInitStruct.TIM_OCMode=TIM_OCMode_PWM1;/ZSTIM_OCInitStruct.TIM_OutputState=TIM_OutputState_Enable;TIM_OCInitStruct.TIM_Pulse=80;TIM_OCInitStruct.TIM_OCPolarity=TIM_OCPolarity_High; /有效值賦值TIM_OC3Init(TIM4,&TIM_OCIn
17、itStruct);TIM_OCInitStruct.TIM_OCMode=TIM_OCMode_PWM1;/ZXTIM_OCInitStruct.TIM_OutputState=TIM_OutputState_Enable;TIM_OCInitStruct.TIM_Pulse=85;TIM_OCInitStruct.TIM_OCPolarity=TIM_OCPolarity_High; /有效值賦值TIM_OC4Init(TIM4,&TIM_OCInitStruct);TIM_OC1PreloadConfig(TIM4,TIM_OCPreload_Enable);TIM_OC2Pre
18、loadConfig(TIM4,TIM_OCPreload_Enable);TIM_OC3PreloadConfig(TIM4,TIM_OCPreload_Enable);TIM_OC4PreloadConfig(TIM4,TIM_OCPreload_Enable);TIM_ARRPreloadConfig(TIM4,ENABLE);TIM_Cmd(TIM4,ENABLE);int main()RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOB|RCC_APB2Periph_G
19、PIOD,ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE);GPIO_Config();HW_Config();TIM_Config();CAR_Config();EXIT_Config();NVIC_Config();while(1)GPIO_Write(GPIOD,0x0066); 中斷程序:void delay(uint16_t z) uint16_t i = 0; while(z-) for(i=0;i<1;i+); void EXTI0_IRQHandler(void) EXTI_ClearITPendingB
20、it(EXTI_Line0); GPIO_Write(GPIOD,0x0069); if (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_0)=SET) while (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_0)=SET)void EXTI1_IRQHandler(void) EXTI_ClearITPendingBit(EXTI_Line1); GPIO_Write(GPIOD,0x0069); if (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_1)=SET) while (GPIO_Read
21、InputDataBit(GPIOC, GPIO_Pin_1)=SET) void EXTI2_IRQHandler(void) EXTI_ClearITPendingBit(EXTI_Line2); GPIO_Write(GPIOD,0x0096); if (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_2)=SET) while (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_2)=SET) void EXTI3_IRQHandler(void) EXTI_ClearITPendingBit(EXTI_Line3); GPIO_Write(GPIOD,0x0096); if (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_3)=SET)while (GPIO_ReadInputDataBit(GPIOC, GPI
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年制冷與空調(diào)作業(yè)特種作業(yè)操作證考試試卷(制冷設備安全操作規(guī)程解讀)
- 2025年注冊測繪師考試測繪地理信息工程合同管理試卷
- 金屬表面處理工藝優(yōu)化方案
- AIGC應用實踐(電子活頁式)課件 旅程
- 工程現(xiàn)場管理與協(xié)調(diào)方案
- 2025版酒店股權投資與經(jīng)營管理咨詢協(xié)議
- 二零二五年度光伏發(fā)電工程材料供貨及安裝合同
- 二零二五年度海洋工程船舶建造與維護服務合同
- 人防審批課件模板
- 人行報表課件
- 2025年重慶市公務員考試行測試卷歷年真題及一套參考答案詳解
- 2025年標準股權無償轉(zhuǎn)讓合同范本
- 2025年艾梅乙理論知識考核試題(附答案)
- 消防監(jiān)管員面試題庫及答案
- 核心素養(yǎng)目標統(tǒng)編版語文六年級上冊 14窮人第二課時教案
- 2025年電氣自動化專業(yè)考生考試試卷及答案
- 2024-2025學年江蘇省數(shù)學七年級第一學期期末考試試題含解析
- 縱隔子宮超聲診斷
- 蘭州彤輝商貿(mào)有限公司肅南縣博懷溝一帶銅鐵礦礦產(chǎn)資源開發(fā)與恢復治理方案專家組審查意見
- 天然氣管道輸送技術課件
- 物流員工健康管理制度
評論
0/150
提交評論