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