基于雙核多接口的智能汽車控制系統(tǒng)設(shè)計(jì)
控制系統(tǒng)與上位機(jī)的通信接口SCI
本文引用地址:http://www.ex-cimer.com/article/97039.htm車輛在行駛過程中的運(yùn)行狀況,是無法直接通過觀察來得到的,所以我們使用上位機(jī)系統(tǒng)來進(jìn)行實(shí)時(shí)監(jiān)控。使用wap200b無線串口模塊來發(fā)送數(shù)據(jù),模塊使用3.0V供電,內(nèi)置高速M(fèi)CU,數(shù)據(jù)傳輸準(zhǔn)確率高。單片機(jī)與模塊間通訊使用標(biāo)準(zhǔn)串口,將其設(shè)置為115200波特率、8位數(shù)據(jù)位、1位停止位、無奇偶校驗(yàn)。一次通訊共發(fā)送7個(gè)數(shù)據(jù)。首先發(fā)送兩個(gè)數(shù)據(jù)作為握手信號(hào)分別是0x00和0xFF,之后使用3個(gè)字節(jié)的數(shù)據(jù)發(fā)送傳感器信息,1個(gè)字節(jié)數(shù)據(jù)發(fā)送角度信息,1個(gè)字節(jié)數(shù)據(jù)發(fā)送速度信息,最后一位保留位做以后擴(kuò)展使用,發(fā)送0x00。
鍵盤與主控芯片的通信接口I2C
車輛在實(shí)際調(diào)試時(shí)有許多參數(shù)需要不停的調(diào)試,如PID參數(shù)車輛的轉(zhuǎn)角及速度等。設(shè)置不同的參數(shù)時(shí)如果每次都重新下載程序的話會(huì)費(fèi)時(shí)費(fèi)力,所以在這里我們使用鍵盤來輸入車輛行駛時(shí)的參數(shù)。鍵盤控制芯片HD7279是一片具有串行接口的,可同時(shí)驅(qū)動(dòng)8位共陰極數(shù)碼管(或64只獨(dú)立的LED)的智能顯示驅(qū)動(dòng)芯片,該芯片同時(shí)還可連接多達(dá)64鍵的鍵盤矩陣,單片即可完成LED顯示、鍵盤接口的全部功能。
我們使用單片機(jī)的4個(gè)I/O口來操作HD7279,分別為CS、CLK、DATA、KEY 。在這里我們可以通過鍵盤來設(shè)置一些參數(shù),如PID的Kp、Ki、Kd參數(shù),直線及彎道的速度等。
A/D模塊在采集角速度中的應(yīng)用
本系統(tǒng)中A/D轉(zhuǎn)換模塊主要用于采集陀螺儀的輸出值。由于模擬陀螺造價(jià)比較低,而在車模控制系統(tǒng)中對(duì)角度精度的要求不是很高,所以使用模擬陀螺對(duì)車身姿態(tài)進(jìn)行實(shí)時(shí)校正。MC9S08DZ60內(nèi)部集成了12位數(shù)模轉(zhuǎn)換通道。由于模擬陀螺輸出信號(hào)范圍為0~5V,這樣單片機(jī)的參考電壓為+5V,由高精度穩(wěn)壓模塊單獨(dú)供電,確保轉(zhuǎn)換的精度。對(duì)A/D轉(zhuǎn)換后的數(shù)據(jù)處理程序如下:
void Gyro_Process(void)
{
if(Gyro_Start == 1)
{
unsigned int Max,Min,i,Value;
signed long Sum;
Gyro_Data_Num = 0;
while(Gyro_Data_Num < 13)
{
Gyro_Collection();//AD轉(zhuǎn)換
后的數(shù)據(jù)采集函數(shù)
}
Gyro_Start = 0;
for(i=1,Max=0,Min=0xffff,Sum
=0;i<13;i++)
{
伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理
評(píng)論