基于傾角傳感器的傾角測量系統(tǒng)設計
系統(tǒng)的整體硬件電路如圖4所示。系統(tǒng)采用SCA100T的SPI接口來讀取輸出信息,可避免額外的A/D采樣。由于ATmega8具有1路SPI中斷,因此可直接將傳感器作為從器件接到單片機的SPI接口上。系統(tǒng)通過控制三極管的開通與關閉來控制蜂鳴器和LED指示燈的導通與關閉,從而達到報警的功能。把ATmega 8單片機的PD2引腳接到三極管的基極,正常工作時將PD2置低電平。當發(fā)生報警時,將PD2置高電平,此時三極管導通,蜂鳴器發(fā)出響聲,LED指示燈變亮。
系統(tǒng)采用LCD1602字符型液晶模塊來顯示傾角信息,該模塊可同時顯示兩行字符,分別為X軸與Y軸傾角信息。模塊通常采用HD44780芯片具有標準的16條引腳線。對于串口傳輸,系統(tǒng)采用TTL電平和RS232兩種輸出方式,單片機輸出的TTL,電平可經過MAX232芯片轉換后變?yōu)镽S 232信號,通過標準串口線與上位機通信。
采用哪種串口輸出方式取決于工作方式。當采用串口超級終端對系統(tǒng)進行預置時,需要用短路塊將ATmega8單片機的TTL輸出接到MAX232芯片的TTL輸入端;當采用軟件編程方式時,可直接將ATmega8單片機的TTL輸出接到其他電路的TX/RX端,作為其外圍電路使用,此時需要注意波特率的設置。
另外,系統(tǒng)設計了模式選擇功能,將ATmega8單片機的PB0和PB1引出,前者用于選擇是否采用LCD顯示,后者用于選擇是否進入串口超級終端配置模式。正常工作時,這兩個引腳為高電平,表示選擇串口超級終端配置模式,允許通過串口軟件編程;當用短路塊將PB0接地時,表示選擇LCD顯示方式;當PB1接地時,表示進入串口超級終端,并對系統(tǒng)進行預置。
4 系統(tǒng)軟件設計
系統(tǒng)整體的軟件流程如圖5所示。系統(tǒng)上電后,單片機首先對引腳初始化,設置SPI模式,開SPI和串口中斷。如果選擇了LCD顯示功能,還需要對LCD控制引腳進行初始化,顯示初始化信息。然后根據是否選擇了串口超級終端配置功能,決定下一步操作。
當該功能被選中時,系統(tǒng)進入超級終端處理程序,首先向PC端超級終端發(fā)送提示字符,等待用戶選擇和輸入預設數據,收到相關數據后,將其反饋給PC端顯示,同時進行預設處理,并將預設的數值寫入EEPROM。當未選中該功能時,系統(tǒng)進入正常的工作狀態(tài),如果發(fā)生串口中斷,則進入串口處理程序,根據收到串口數據幀是預設命令還是請求數據進行不同的處理。前者則將預設數值寫入EEPROM,若是后者則將傾角信息上傳給上層控制器。如果沒有發(fā)生串口中斷,則主程序通過SPI接口采集傳感器輸出的加速度數字量,并將其轉換為實際傾角信息,判斷傾角是否超過預設角度值。如果超過則開始報警,同時如果選中了LCD顯示功能,還需要通過并口將數值輸出到LCD1602顯示。
蜂鳴器相關文章:蜂鳴器原理 傾角傳感器相關文章:傾角傳感器原理
評論