導航:首頁 > 編程語言 > 電動車儀表單片機程序

電動車儀表單片機程序

發布時間:2023-03-27 15:40:52

㈠ 誰能提供一份PIC16F72電動車控制器源程序

PIC16F72單片機控制的電動自行車C源程序,原理圖及設計說明

[table=98%][tr][td][color=black][u]PIC16F72單片機控制的電動自行車C源程序,原理圖及設計說明[/u][/color][/td][/tr][tr][td]
[table=95%][tr][td]PIC16F72單片機控制的電動自行車驅動系統C程序
PIC單片機控制的電動自行車驅動系統C程序
.46.
#include <肢旅pic.h>
//電動車雙閉環程序,採用雙閉環方式控制電機,以得到最好的zh 轉速性能,並且可以
//限制電機的最大電流。本應用程序用到兩個CCP 部件,其中CCP1 用於PWM 輸出,以控
//制電機電壓;CCP2 用於觸發AD,定時器TMR2、TMR1,INT 中斷,RB 口電平變化中斷,
//看門狗以及6 個通用I/O 口
#define AND 0xe0 //狀態採集5,6,7 位
#define CURA 0X0a //電流環比例和積分系數之和
#define CURB 0X09 //電流環比例系數
#define THL 0X6400 //電流環最大輸出
#define FULLDUTY 0X0FF //占空比為1 時的高電平時間
#define SPEA 0X1d //轉速環比例和積分系數之和
#define SPEB 0X1c //轉速環比例系數
#define GCURHILO 0X0330 //轉速環最大輸出
#define GCURH 0X33 //最大給定電流
#define GSPEH 0X67 //最大轉速給定
#define TSON 0X38 //手柄開啟電壓1.1 V,TSON*2 為剎車後手柄開啟電壓,即
//2.2 V
#define VOLON 0X4c //低電壓保護重開電壓穗猛3.0 V 即33 V
#define VOLOFF 0X49 //低電壓保護關斷電壓2.86 V 即31.5 V
volatile unsigned char DELAYH,DELAYL,oldstate,speed,
speedcount,tsh,count_ts,count_vol,gcur,currenth,
voltage; //寄存器定義
static bit sp1,spe,ts,volflag,spepid,lowpower,
off,shutdown,curpid; //標志位定義
static volatile unsigned char new[10]={0xaf,0xbe,0xff,0x7e,0xcf,
0xff,0xd7,0x77,0xff,0xff}; //狀態寄存器表
//------------PIC16F877 初始化子程序------------
void INIT877()
{
PORTC=0X0FF; //關斷所有MOSFET
TRISC=0X02; //設置C 口輸出
PIE1=0X00; //中斷寄存器初始化,關斷所有中斷
TRISA=0XCF; //設置RA4,RA5 輸出
TRISB=0XEF; //RB 口高三位輸入,採集電機三相的霍爾信號
PORTC=new[(PORTB&AND)>>5]; //採集猜飢橋第一次霍爾信號,並輸出相應的信號,導通
//兩個MOS 管
T2CON=0X01; //TMR2 4 分頻
CCPR1L=0X0FF; //初始時PWM 輸出全高
CCP1CON=0X0FF; //CCP1 設置為PWM 方式
CCP2CON=0X0B; //CCP2 設置為特殊方式,以觸發AD
ADCON0=0X81; //AD 時鍾為32 分頻,且AD 使能,選擇AN0 通道採集手
//柄電壓
TMR2=0X00; //TMR2 寄存器初始化
TMR1H=0X00; //TMR1 寄存器初始化
TMR1L=0X00;
T1CON=0X00; //TMR1 為1 分頻
CCPR2H=0X08;
CCPR2L=0X00; //電流采樣周期設置為TAD=512 μs
PR2=0XC7; //PWM 頻率設置為5 kHz
ADCON1=0X02; //AD 結果左移
OPTION=0XFB; //INT 上升沿觸發
TMR2ON=1; //PWM 開始工作
INTCON=0XD8; //中斷設置GIE=1,PEIE=1,RBIE=1
ADIE=1; //AD中斷使能
speedcount=0x00; //轉速計數寄存器
speed=0x7f; //轉速保持寄存器
spe=1; //低速標志位
sp1=1; //低速標志位
oldstate=0x0ff; //初始狀態設置,區別於其他狀態
count_ts=0x08; //電流采樣8 次,採集1 次手柄
count_vol=0x00; //采樣256 次手柄,採集1 次電池電壓
ts=1; //可以採集手柄值的標志位
ADGO=1; //AD采樣使能
TMR1ON=1; //CCP2 部件開始工作
}
//------------延時子程序---------------
#pragma interrupt_level 1
void DELAY1(x)
char x;
{
DELAYH=x; //延時參數設置
#asm
DELAY2 MOVLW 0X06
MOVWF _DELAYL
DELAY1 DECFSZ _DELAYL
GOTO DELAY1
DECFSZ _DELAYH
GOTO DELAY2
#endasm
}
//-----------狀態採集子程序----------------------
void sample()
{
char state1,state2,state3,x;
do {
x=1;
state1=(PORTB&AND); //霍爾信號採集
DELAY1(x);
state2=(PORTB&AND);
}while(state1-state2); //當三次采樣結果不相同時繼續採集狀態
if(state1-oldstate!=0) //看本次采樣結果是否與上次相同,不同
//則執行
{oldstate=state1; //將本次狀態設置為舊狀態
state1=(oldstate>>5);
PORTC=new[state1]; //C 口輸出相應的信號觸發兩個MOS 管
if(sp1==1){spe=1;sp1=0;}
else { //如果轉速很低,則spe 置1
spe=0;sp1=0;
speedcount<<=1;
state3=(TMR1H>>2); //否則,spe=0,計轉速
speed=speedcount+state3; //speed 寄存器為每256 μs 加1
}
speedcount=0;
}
}
//-----------------AD 采樣子程序----------------------
void AD()
{
char x;
ADIF=0; //清AD 中斷標志位
if(ts==1){ //如果為手柄采樣,則采樣手柄值
CHS0=1; //選擇電流采樣通道
count_vol=count_vol+1; //電池采樣計數寄存器
spepid=1; //置轉速閉環運算標志
ts=0;tsh=ADRESH; //存手柄值
if(count_vol==0) { //如果電池采樣時間到,則選擇AN2 通道,採集電池電壓
CHS0=0;CHS1=1;volflag=1;x=1;DELAY1(x);ADGO=1;
}
}
else if(volflag==1) { //電池采樣完畢,進行相應的處理
CHS1=0;CHS0=1;volflag=0;voltage=ADRESH;lowpower=1;
}
else { //否則,中斷為采樣電流中斷
speedcount=speedcount+1; //speedcount 寄存器加1,作為測量轉速用
if(speedcount>0x3d) sp1=1; //如果轉速低於1 000 000 μs/(512 μs*3eh*3)
// 則認為為低速狀態
currenth=ADRESH;
curpid=1;
count_ts=count_ts-1;
if(count_ts==0) { //如果手柄時間到,則轉入手柄采樣通道
CHS0=0;count_ts=0x08;ts=1;x=1;DELAY1(x);ADGO=1;
}
}
}
//-------------剎車處理子程序------------------
void BREAKON()
{
char x;
off=0; //off清零,如果是干擾則不復位
shutdown=0;
if(RB0==1) { //如果剎車信號為真,則停止輸出電壓
ADIE=0; //關AD 中斷
INTE=0; //關剎車中斷
CCPR1L=FULLDUTY; //輸出電壓0
TMR1ON=0; //關CCP2,不再觸發AD
for(;ADGO==1;) continue;//如正在采樣,則等待采樣結束
ADIF=0; //ADIF 位清零
CHS0=0; //選擇通道0 采樣手柄
CHS1=0;
x=1;
DELAY1(x);
do {
ADGO=1;
for(;ADIF==0;)continue;
ADIF=0;
CCPR1L=FULLDUTY;
asm("CLRWDT");
tsh=(ADRESH>>1);
}while(tsh>TSON||RB0==1); //當手柄值大於2.2 V 或剎車仍舊繼續時,執行以
//上語句
off=1; //置復位標志
}
}
//---------欠保護子程序-------------------
void POWER()
{
char x;
lowpower=0;
voltage>>=1; //電壓值換為7 位,以利於單位元組運算
if(voltage<VOLOFF) { //電池電壓小於3*k(V)時保護
ADIE=0;
INTE=0;
TMR1ON=0;
CCPR1L=FULLDUTY;
for(;ADGO==1;)continue;
ADIF=0;
CHS0=0;CHS1=1;
x=1;
DELAY1(x);
do{ADGO=1;
for(;ADIF==0;)continue;
ADIF=0;
voltage=(ADRESH>>1);
CCPR1L=FULLDUTY;
asm("CLRWDT");
}while(voltage<VOLON); //電池電壓小於35 V 時繼續保護
off=1; //置復位標志
}
}
//------------電流環運運算元程序-----------------
void CURPI()
{ static int curep=0x00,curek=0x00,curuk=0x00;
union data{int pwm;
char a[2];}b; //定義電流環運算寄存器
curpid=0; //清電流運算標志
curep=curek*CURB; //計算上一次偏差與比例系數的積
if(currenth<2)currenth=2; //如果采樣電流為零,則認為有一個小電流以利於
//使轉速下降
currenth>>=1;
curek=gcur-currenth; //計算本次偏差
curuk=curuk+curek*CURA-curep; //按閉環PI 運算方式得到本次輸出結果,下
//面對結果進行處理
if(curuk<0x00) { //如果輸出小於零,則認為輸出為零
curuk=0;CCPR1L=FULLDUTY;CCP1X=0;CCP1Y=0;
}
else if(curuk-THL>=0) { //如果輸出大於限幅值,則輸出最大電壓
curuk=THL;CCPR1L=0;CCP1X=0;CCP1Y=0;
}
else { //否則,按比例輸出相應的高電平時間到CCPR1 寄存器
b.pwm=THL-curuk;
b.pwm<<=1;
CCPR1L=b.a[1]; //CCPR1L=(b.pwm>>8)&0x0ff;將PWM 寄存器的高半位元組
if(b.pwm&0x80!=0) CCP1X=1;
else CCP1X=0;
if(b.pwm&0x40!=0) CCP1Y=1;
else CCP1Y=0;
}
}
//---------------轉速環運運算元程序-----------------------
void SPEPI()
{ static int speep=0x00,speek=0x00,speuk=0x00;
int tsh1,speed1; //轉速寄存器定義
spepid=0; //清轉速運算標志
if(spe==1) speed1=0x00; //若轉速太低,則認為轉速為零
else speed1=0x7f-speed; //否則計算實際轉速
if(speed1<0) speed1=0;
speep=speek*SPEB;
tsh1=tsh-0x38; //得到計算用的手柄值
speek=tsh1-speed1;
if(tsh1<0) {speuk=0;gcur=0;} //當手柄值低於1.1 V 時,則認為手柄給定為零
else { //否則,計算相應的轉速環輸出
if(tsh1>=GSPEH) //限制最大轉速
tsh1=GSPEH;
speuk=speuk+speek*SPEA-speep; //計算得轉速環輸出
if(speuk<=0X00) {speuk=0x00;gcur=0x00;}//轉速環輸出處理
else if(speuk>GCURHILO) { //轉速環輸出限制,即限制最大電流約12 A
speuk=GCURHILO;gcur=GCURH;}
else { //調速狀態時的輸出
gcur=(speuk>>4)&0x0ff;
}
}
}
//-----------主程序-------------------------
main()
{
for(;;){
INIT877(); //單片機復位後,先對其進行初始化
off=0; //清復位標志
for(;off==0;) { //復位標志為零,則執行下面程序,否則復位
if(curpid==1) CURPI(); //電流PI 運算
else if(spepid==1) SPEPI(); //轉速PI 運算
else if(lowpower==1) POWER();
else if(shutdown==1) BREAKON();
asm("CLRWDT");
}
}
}
//---------中斷服務子程序---------------------
#pragma interrupt_level 1
void interrupt INTS(void)
{
if(RBIF==1) {RBIF=0;sample();}
else if(ADIF==1) AD();
else if(INTF==1) {shutdown=1;INTF=0;} //剎車中斷來,置剎車標志

設計思路:
目 的
目前電動車市場各種功能無刷控制器琳琅滿目,種類繁多。普通模擬專用晶元已是窮途末路,而利用單片機控制則能做到「只有想不到,不怕做不到」地步,五花八門的單片機紛紛推向電動車這個新興的行業。我公司根據電動車市場的流行趨勢,制定了無刷控制器的設計方案。
功能概述
目前電動車市場上的控制器分有刷控制器和無刷控制器兩大類,由於有刷電機輸出扭距小,效率低,需要定期更換炭刷等諸多缺點而逐步被輸出扭距大、效率高、使用壽命長的無刷電機取代。根據電動車車型分簡易車和豪華車型以及電動摩托車,簡易車功率一般在250W以下,而豪華車都在350W以上,設計時必須考慮。簡易車的常用功能有1:1助力、巡航、電量及工作狀態顯示。
工作模式有自動和手動切換兩種。豪華車型根據客戶的隨意性有很多功能,主要有飛車保護、軟ABS剎車、反充電、雙動力(檔位切換)、電機鎖(關閉電源電機鎖定)等。
為方便調試和防止非法解密,設計採用專用調試工具,外接一個帶有鍵盤和顯示器(數碼管)的工具來設定一些基本參數,如欠壓値、限流、相位選擇和工作電壓選擇等。可以利用單片機內部或外接EEPROM保存設置參數。通過該調試工具達到系列產品的通用性。

主要技術參數
1 基本功能
1.1 工作電壓
鍵盤設定,分12、24、36、48、60、72V檔,根據輸入電壓采樣值,確定欠壓保護值,單節電池保護電壓為10.5V±0.5V,低於該值關閉輸出。由於取樣電壓有相應的誤差,用鍵盤應可以微調。欠壓工作方式:當電源電壓低於設定值時,關閉輸出,當電源電壓滯回到大於設定值2V時,開啟輸出。另一種方式為當電源電壓低於電池容量的50%時,相應縮減輸出脈寬,以10個百分點逐減,到設定值時減為零即關閉輸出,滯回則相反。
1.2 調速電壓
調速把輸出電壓范圍為1~4.2V,控制器起點電壓應高於1V,控制器的脈寬調制范圍應設定為1.38~3.8V,大於3.8V輸出為全打開。
1.3 剎車斷電
分高電平、低電平和ABS三種方式,高、低電平控制方式由鍵盤設定,ABS單獨引腳控制,該功能如不用時,I/O口可以指定其它功能。
1.4 限流
當取樣信號到達設定點時,採用對PWM進行遞減的方法,來減小電機電流,使輸出電流不超過設定值。即最大輸出電流恆定在設定點。設定值由鍵盤設定,以便調試。
1.5 過流保護:
由於MCU單片機A/D采樣速度的因素造成輸出電流大於設定值,在這種情況下,設定一個保護值,關閉輸出,一般設定為大於限流值2~3A。此值應由鍵盤設定。
1.6 堵轉保護
限流值保持1~3秒後,關閉輸出。
1.7 相角選擇
60度/120度選擇,鍵盤設定。
1.8 1:1助力
輸入3:2占空比的開關信號1~5.5Hz對應調速把的電壓信號為2~3.8V,根據輸入頻率的變化,改變輸出PWM的占空比,以控制騎行速度。
1.9 巡航
手動/自動選擇由鍵盤設定,手動按鈕低電平有效,按鈕按下2秒進入手動巡航方式;自動巡航方式為調速把恆定在某一點8S後(信號電壓必須大於啟動電壓),控制器自動進入巡航方式。
1. 10限速
採用減小PWM脈寬的方法,此值由鍵盤微調,初始值定義為PWM最大值的45%。低電平為限速方式。
1.11 故障指示
閃1正常、閃2剎車、閃3 RAO、 RBO、閃4 下驅動、閃5上驅動、閃6缺相、閃7 RBO、閃8欠壓。故障狀態指示利用專用調試器的指示燈指示。
1.12 飛車保護
調速電壓>4.5V,上電調速電壓>1.5V關閉輸出保護。即當調速把地線開路和打開電門鎖前調速把已轉動時。
1.13 反充電
滑行充電、EBS剎車充電、滑行充電選擇,用I/O埠選擇,低電平為滑行充電。輸出一個指示信號,指示燈亮為充電狀態。
2 附加功能
2.1 動態顯示
1、故障顯示2、電量及騎行狀態顯示3、速度顯示(發光管)
2.2 雙動力
根據電機的轉速設定一個切換點,該切換點的值由鍵盤設定。
2.3 檔位切換
由一個按鈕開關設定三檔的速度,初始狀態為最低速,按鈕的工作方式為按下按鈕開關,松開後進入檔位狀態,檔位為循環方式。檔位速度可由鍵盤微調。
2.4 指針儀表
速度分相線輸出、霍爾信號、單片機輸出。
2.5 防盜鎖
輸入一個信號鎖定電機,推動越快阻力越大(此功能或做成電機鎖,電鎖關閉後實現)。
2.6 參數設定
顯示窗由兩部分組成第一部分為功能序號,第二部分為參數值,按鍵由三個按鈕分別代表模式、加、減,設置的參數保存在EEPROM存儲器中。設定器與單片機的通訊採用I2 C方式。

㈡ 電動車儀表的維修方法與秘訣

很多人都會騎行電動車,因為電動車十分的方便使用操作,那麼對於電動車的儀表如果壞了應該怎麼去進行維修才好呢?以下是我為你整理的電動攔晌培車儀表的維修方法,希望能幫到你。

電動車儀表的維修方法

一、 指針儀表

1. 結構與原理

這類儀表包含:累計行駛公里數通過6位數字碼盤表顯示、整車速度指針表指示(公里/小時)時速、電池電壓指針表指示電池電壓(伏特)、大燈指示、左右轉向燈指示等內容。

累計行駛里程數字表是6個"十進制"的齒輪計數器,整車速度指針表是個阻尼轉速表,它們共用一個轉速輸入信號進行換算通過機械傳動實現各自的指示功能。

電壓指針表是普通的50伏直流電壓表頭。

2. 故障檢測與維修

指針類儀表的集成度比較低,電路的接線比較簡單,儀表電路不依賴於控制器電路,能獨立工作。

機械類儀表的故障主要是引線或儀表頭故障。謹肢在拆裝儀表的時候,需要特別注意的是電源的正負極不能搞錯。閃光器是提供轉向燈泡間隙電壓,以便能使轉向燈泡閃爍。閃光器外殼的引腳標注B表示正極(Battery)L表示負極(Light),接線時不能接錯。

二、 液晶儀表

1. 結構與原理

通過專用的霍耳感測器的開關信號,傳輸給液晶顯示儀表總成上的單片機,對單位時間內車輪轉動圈數的計數,能算出整車的行駛時速,對行駛時速和行駛時間相乘,能計算出整車行駛累計里程。

也有的無刷電機控制器內部選用單片機作為解碼晶元,能對電機運行時速和累計行駛里程直接計算出來,輸送到液晶顯示儀表,這種液晶顯示儀表總成內部就沒有單片機了。

液晶顯示儀表最擅長的就是對各種數據(如時速、電池電壓、行駛里程、騎行時間、環境溫度等)的數字化精確顯示,使操作人員能一目瞭然地看見精確的數值,但是這種儀表的缺點就是抗陽光紫外線輻射能力差,對使用環境溫度要求高,所以液晶顯示儀表不能長時間放在太陽光底下曬,只能在-10--40℃的環境溫度下使用。長時間在高溫或低溫環境下使用,將導致液晶屏的不可逆損傷,這樣液晶屏的顯示數值就會模糊,直至無法顯示。

2. 故障檢測與維修

此種儀表的電路復雜,故障率相對也高。有的液晶儀表電路可以不依賴於控制器電路,能獨立工作,有的液晶儀表必須依賴控制器裡面的單片機的數字信號才能工作。由於涉及到顯示驅動程序的軟體與單片機的型號,這種儀表一旦出現故障,只能更換儀表總成。在應急情況下,可以將轉把與閘把的引線直接供給控制器使用。

三、 發光二極體儀表

1. 結構與原理

發光二極體指示類儀表的電路屬於電子電路,與整車燈具電路分離。

發光二極體模擬指示電池電壓的高、中、低和電池是否欠壓。其精度比較高,價格便宜,目前在電動車儀表中被廣泛採用。

2. 故障檢測與維修

發光二極體儀表的信號採集與信號處理採用數字數字邏輯晶元,電路不依賴於控制器電路,能獨立工作。有的電動車轉把和閘把的信號經過儀錶板過渡,然後輸出給控制器。在應急情況下,可以將轉把與閘把的引線直接供給控制器使用。

四、 智能顯示儀表

1. 結構與原理

智能顯示儀表必須要和相應的智能控制器匹配使用,儀錶板上發光二極體的亮和滅的狀態受智能控制器的控制。其顯示的內容比較多,不但能顯示電池電壓的高、中、低與欠壓,還能顯示整車的處於何種騎行模式。智能型電動車一般具有三種騎行模式:"1:1助力"、"電動"、"定速",控制器將目前的整車狀態簡唯數據傳送給儀表電路的驅動晶元,動態刷新點亮相應的發光二極體。

發光二極體智能顯示儀表,顯示功能多,接線簡單,價格低,目前在電動車行業使用比較多。

除了這些正常的顯示功能之外,它和控制器配合使用還能顯示整車電氣控制部件的故障。用智能儀錶板對整車進行故障檢測時,各發光二級管對應的顯示含義為:

①各指示燈閃3次,檢測指示燈是否能正常工作。

②電量指示燈順序指示三個霍耳元件的通電情況與電機磁鋼的位置關系。用手轉動電機時,三個指示燈順序點亮,如果指示燈點亮的順序是100、110、111、011、001、000(其中1代表亮,0代表滅),則說明該無刷電機的相角是60度,如果指示燈點亮的順序是100、110、010、011、001、101,則說明該無刷電機的相角是120度。

③緩慢轉動轉把,"欠壓"指示燈的閃爍頻率與轉把的轉動角度呈對應關系。轉把在原始位置,指示燈不閃;轉把轉動角度越大,指示燈閃得越快,則表示轉把信號正常。如果沒有此對應關系,則可能是轉把損壞或引線接觸不良。

④按下智能模式轉換按扭時,"助力"指示燈亮,表示斷電閘把有效。

⑤分別捏左右閘把,"電動"指示燈亮,松開則不亮。

⑥緩慢轉動腳蹬輪盤一圈,"定速"指示燈閃爍5次,指示助力感測器工作正常。

2. 故障檢測與維修

智能顯示儀錶板的顯示內容依賴於控制器的數據信號,如果儀錶板出現故障,應更換儀錶板總成。應急修理時,可以將轉把與閘把信號直接與控制器相連。

五、 儀錶板的拆裝儀表

板拆裝時,一定要注意各引線的顏色與位置,參照各種儀表的電路原理,了解各引線的功能。由於儀表電路沒有專門的封閉外殼密封,屬於開放式電路。絕大多數儀表電路上也同時集成了喇叭電路、轉向和蜂鳴電路、有的儀表還有各種燈具的過渡電路,這些電路的電壓一般就是電池組的24V或36V電壓,但是儀表的顯示信號電路電壓一般是15V以下電路,這樣在顯示儀錶板上就形成了高低壓電路並存的情況,而且儀表電路常常就是各種引線的匯合處,因此拆裝過程中,務必將電池拆卸掉,等連接好各種引線後,將各種開關全部置於"關"的位置,用萬用表的二極體檔測量+36V線、+15V線、+12V線與地線。測得沒有短路現象以後,才能裝上電池通電。

六、 儀錶板的代換

由於電動車使用的是車載電池的有限能源,他們的共同之處是都有電池電壓顯示,而且他們一般都和轉把與閘把等控制信號分離。因此,在應急情況下,我們只要檢測出儀表電路的電源正、負極電池接線、+15V、+12V、+5V地線,將這些線對應接好,就可以實現儀表的代換,完成基本顯示功能了。

電動車檢測霍爾的方法

電動車有以下三地方有霍爾(壞了一般直接換霍爾,霍爾是沒辦法修的,),霍爾分別有3根電線,您用萬用表測試除去電源正(一般正為紅線)的另外兩根是否有電壓輸出(開關的如果是好的就兩的值:接近0V或5V左右;線性的輸出0.8-4.2V連續值),無輸出或其它就壞了。當然在測試時要剎車和放開兩的動作,轉把和電機要讓它手動轉起來。

一、剎把,如果是電子剎把的話壞了電機是不工作的,電子剎把有兩種,一種是霍爾式的,如OH44E,是一種開關信號,另一種是微動開關。就是平時剎車的時候加速電機是不轉的。

二、轉把:裡面用的是線性霍爾:OH49E等,轉把壞了一般不加速,或直接加速(飛車)。

三、電機霍爾壞了,建議非專業人士不要打開,特別不要撬開,因為會破壞電機的防水等,如果一定要打開就要摜開(因為電機里有很強的磁力,利用慣性一次打開。)修自行車的一般都會打開,最好找他們。

打開後會看到線圈上有3隻霍爾,一般是開關霍爾,如:OH44E,OH41,或OH41F等。最好3隻全換。

電動車的維修技巧

1、整車有莫名異響

① 檢查前輪輪廓上計數器(又稱米尺或渦輪)或碼表線接頭部分是否缺油,如有,加黃油

② 檢查前後輪擋泥板是否松動導致行駛時貼合輪胎

③ 檢查減震彈簧部分有無接觸並摩擦減震內筒

④ 檢查車架後平叉(就是安裝固定電機的鋼架)與車架連接處螺桿是否缺油,如有,加黃油

補充:加油時必須松開個接觸點、螺桿、螺帽,加在外面是沒有用的

2、剎車時有異常響聲

① 檢查前後輪碟剎片是否磨損完或將近磨損完,部分地方剎車片完全磨損露鐵

② 檢查碟剎盤是否磨損(經常與剎車片接觸部分是否明顯低於未接觸面)

③ 檢查是否有因安裝調整不當導致剎車片不均勻(拆下剎車皮目測是否有明顯一邊高或一邊低)

④ 重新打磨兩片剎車片成中間部分稍高於兩頭

⑤ 如果是鼓剎,檢查制動性能是否明顯下降,制動行程是否明顯超過新車狀態,如是,更換新鼓剎

⑥ 如果是新車鼓剎有異響,需要重新調整鼓剎與電機蓋、電機軸與車架固定位置或鼓剎蓋與車架定位鐵片位置

3、騎行時明顯感覺方向把彎向一面

① 如是新車,檢查前後輪軸向是否在同一直線

② 確認有無因為長時間負重過載或意外撞車、摔倒導致車架、前叉、立桿、方向把變形

③ 檢查前輪輪廓是否位於減震正中心、無明顯歪斜

④ 嘗試用大電鑽加大方向把與立桿連接孔徑,重新微調手把方向

4、起步或轉彎時明顯感覺車身發抖

① 檢查方向把與立桿連接螺桿螺母是否松動

② 檢查立桿與車架套筒連接處定位大螺母(很薄的,兩個,俗稱前叉九件套)是否松動,如有,適當擰緊

③ 根據使用時長,判斷是否因為九件套上下滾珠磨損

④ 檢查前輪定位軸兩端螺母是否松動

5、騎行時感覺整車有不明原因顫抖(速度越快、震感越強)

① 檢查前後輪胎是否氣壓過高

② 檢查前後減震是否有良好回彈性

③ 空轉前後輪,仔細確認是否有明顯軸向串動性(左右擺動),如有,更換軸承

④ 檢查前後輪胎是否有明顯跑偏(左右胎面與輪轂不對稱),如有,放氣後重新定位安裝。

並對因為長時間畸形受壓導致已經變形的輪胎予以更換。

6、儀表盤電源指示燈不亮,電機運轉正常

重新插接表盤正負極引線,無法解決的話需要更換正負極線或者更換發光管。

7、電機不轉

① 打開電門鎖向前轉動,輪子轉動順利,就說明電動車控制器功率管沒有損壞,這樣就能基本斷定控制器沒有損壞。向後轉有阻力,說明剎車電路故障。

② 若以上方法還是沒能解決故障,則需要檢查電機霍爾線,整理插件,排查是否接觸不良。

③ 若霍爾線正常,檢測電門鎖線對地線之間的電壓,若沒有電壓,則判定保險管熔絲斷,應換保險管,電線脫落,焊斷頭或者應換新線。

8、打開電門鎖接通電源後,電機立即旋轉

判斷是否為調速手柄損壞,需要更換新的調速手柄。

9、電機時轉時停

① 這種情況一般是因為電池觸頭接觸不良,或者是電池盒內保險座間接觸不良,造成供電不正常,去掉電源插件讓電源線與控制器直接相連。

② 如果不是供電問題則有可能是電動車控制器故障,需要更換控制器。

10、電機噪音大

㈢ 誰知道單片機電動車控制器原理和程序

使單片機輸出PWM波就行啦。

㈣ 純電動汽車儀表

一般汽車的常規儀表有車速里程錶、轉速表、機油壓力表、水溫表、燃油表、充電表等。
1,速度里程錶
速度里程錶布置在儀錶板的最顯著位置,指示汽車當前速度,單位為km/h,以及總里程和短程里程,單位為km,其中總里程不可更改,單程里程可以根據需要清零設定。速度里程錶分為磁感應式車速里程錶和電子式車速里程錶。
車速表和里程錶通常安裝在同一個殼體中,並由同一根軸驅動,或使用同一個感測器。車速表以一個磁電式電流表作為指示表。汽車以不同的車速運行時,信號處理電路將車速感測器輸入的脈沖信號,轉變為與車速成比例的電流信號,使電流表的指針偏轉,指示出相應的車速。里程錶由步進式電動機、六位十進制計數器及傳動齒輪等組成,。
2,發動機轉速表
發動機轉速表指示當前發動機轉速,單位為rpm,即每分鍾轉數。發動機轉速表有機械式和電子式兩種。機械式轉速表的結構和工作原理與上述磁感應式車速表基本相同。電子式轉速表由於結構簡單、指示准確、安裝方便等優點在現代車輛中應用廣泛。
通過指示的轉速,可以了解發動機是否在最佳經濟區工作,便於駕駛員選擇發動機的最佳速度范圍,把握好換檔時機,以及充分利用經濟車速等。
3,機油壓力表
機油壓力表是顯示機油壓力的儀表,單位是kPa(千帕)。機油壓力表感測器是一種壓阻式感測器,用螺紋固連在發動機機油管路上。由機油壓力推動接觸片在電阻上移動,使阻值變化從而影響到通過儀表到地的電流量,驅動指針擺動。
由於機油壓力有一定的壓力范圍,為了清晰明了,有許多汽車的機油壓力表用指示燈表示,如果發動機運轉時它仍然亮著,就表示發動機潤滑系統可能不正常了。
4,水溫表
水溫表是顯示冷卻水溫度的儀表,單位是℃(攝氏度)。它的感測器是一種熱敏電阻式感測器,用螺紋固定在發動機冷卻水道上。熱敏電阻決定了流經水溫表線圈繞組的電流大小,從而驅動表頭指針擺動。以前汽車發動機的冷卻水都是用自水充當,很多汽車發動機冷卻系統都用門的冷卻液,因此也稱為冷卻液鏈拿溫度表。
5,燃油表
燃油表是顯示油箱的油量的儀表,單位是L(升),指針指向「F」,表示滿油,指向「E」,表示無油;也有用1/1、1/2、0分別表示滿油、半箱油和無油。燃油表有兩個線圈,分別在「F」與「E」一側,感測器是一個由浮子高度控制的可變電阻,阻值變化決定兩個線圈的磁力線強弱,也就決定了指針的偏轉方向。
6,充電表
充電表顯示發電機與蓄電池之間的充放電狀態,有電流表和電壓表之分。以前的汽車多數是用電流表,它有一塊永久磁鐵,使固定在支點上的指針保持中間位置,有線圈環繞在支點手燃周圍,當有電流通過線圈時會感應出磁場,指針在磁場作用下左右擺動,擺動方向決定於電流流經線圈的方向。
因此電流表串聯在蓄電池與發電機之間,當發電機向蓄電池充電時,儀表顯示正(+)極,若蓄電池向負載放電量大於發電機的充電量,則顯示負(-)極。
由於電流表接線柱承受電流比較大,不太安全,當發動機運轉時,充電燈接地線路聯通,充電燈發亮;當發動機未運轉時,充電燈接地線路被斷開,充畢喚虛電燈熄滅;如果充電燈仍然亮時,說明充電系統有故障。

㈤ 利用電動車的電機相線進行測速(實現儀表盤功能),請提供51單片機電路圖和C代碼!!

電動車採用的是無刷直流電正穗機,測速的敗芹話,電機有Hall檢測線,單片機的話可以通過外部中斷進行脈寬檢測,舉枯卜從而測出電機的轉速,硬體的話可以通過簡單的分壓就行了

㈥ 求助各位,介紹一下電動車控制器,單片機F9234B的引腳功能

1、主電源引腳Vss和Vcc① Vss接地② Vcc正常物穗納操作時為+5伏電源2、外接晶振引腳XTAL1和XTAL2① XTAL1內部振盪電路反相放大器的輸入端,是外接晶體的一個引腳。當採用外部振盪器時,此引腳接地。 ② XTAL2內部振盪電路反相放大器的輸出端。是外接晶體的另一端。當採用外部振盪器時,此引腳接外部振盪源。3、控制或與其它電源復用引腳RST/VPD,ALE/ , 和 /Vpp① RST/VPD 當振盪器運行時,在此引腳上出現兩個機器周期的高電平(由低到高跳變),將使單片機復位在Vcc掉電期間,此引腳可接 圖2-9 8051引腳排列圖上備用電源,由VPD向內部提供備用電源,以保持內部RAM中的數據。② ALE/ 正常操作時為ALE功能(族態允許地址鎖存)提供把地址的低位元組鎖存到外部鎖存器,ALE 引腳以不變的頻率(振盪器頻率的 )周期性地發出正脈沖信號。因此,它可用作對罩沒外輸出的時鍾,或用於定時目的。但要注意,每當訪問外部數據存儲器時,將跳過一個ALE脈沖,ALE 端可以驅動(吸收或輸出電流)八個LSTTL電路。 對於EPROM型單片機,在EPROM編程期間,此引腳接收編程脈沖( 功能)③ 外部程序存儲器讀選通信號輸出端,在從外部程序存儲取指令(或數據)期間, 在每個機器周期內兩次有效。 同樣可以驅動八LSTTL輸入。④ /Vpp 、 /Vpp為內部程序存儲器和外部程序存儲器選擇端。當 /Vpp為高電平時,訪問內部程序存儲器,當 /Vpp 為低電平時,則訪問外部程序存儲器。對於EPROM型單片機,在EPROM編程期間,此引腳上加21伏EPROM編程電源(Vpp)。4、輸入/輸出引腳P0.0 - P0.7,P1.0 - P1.7,P2.0 - P2.7,P3.0 - P3.7。① P0口(P0.0 - P0.7)是一個8位漏極開路型雙向I/O口,在訪問外部存儲器時,它是分時傳送的低位元組地址和數據匯流排,P0口能以吸收電流的方式驅動八個LSTTL負載。② P1口(P1.0 - P1.7)是一個帶有內部提升電阻的8位準雙向I/O口。能驅動(吸收或輸出電流)四個LSTTL負載。。③ P2口(P2.0 - P2.7)是一個帶有內部提升電阻的8位準雙向I/O口,在訪問外部存儲器時,它輸出高8位地址。P2口可以驅動(吸收或輸出電流)四個LSTTL負載。④ P3口(P3.0 - P3.7)是一個帶有內部提升電阻的8位準雙向I/O口。能驅動(吸收或輸出電流)四個LSTTL負載 回答人的補充 2009-12-04 15:19

㈦ 我的電動車的液晶里程錶想清零,請問怎麼做

電動車的液晶里程錶清零方法:把電動車拆開,把碼輪拔掉逗棗激就行了。

閱讀全文

與電動車儀表單片機程序相關的資料

熱點內容
maya粒子表達式教程 瀏覽:84
抖音小視頻如何掛app 瀏覽:283
cad怎麼設置替補文件 瀏覽:790
win10啟動文件是空的 瀏覽:397
jk網站有哪些 瀏覽:134
學編程和3d哪個更好 瀏覽:932
win10移動硬碟文件無法打開 瀏覽:385
文件名是亂碼還刪不掉 瀏覽:643
蘋果鍵盤怎麼打開任務管理器 瀏覽:437
手機桌面文件名字大全 瀏覽:334
tplink默認無線密碼是多少 瀏覽:33
ipaddgm文件 瀏覽:99
lua語言編程用哪個平台 瀏覽:272
政采雲如何導出pdf投標文件 瀏覽:529
php獲取postjson數據 瀏覽:551
javatimetask 瀏覽:16
編程的話要什麼證件 瀏覽:94
錢脈通微信多開 瀏覽:878
中學生學編程哪個培訓機構好 瀏覽:852
榮耀路由TV設置文件共享錯誤 瀏覽:525

友情鏈接