ECU ABS/ASC

Một phần của tài liệu nghiên cứu vấn đề tăng hiệu quả phanh bằng các giải pháp kết cấu và điều khiển (Trang 67 - 83)

- Khi đặt ở chế độ chẩn đoán, nó hiển thị mỗi h hỏng bằng mã số

ECU ABS/ASC

Xây dựng mô hình hệ thống phanhTRC

ECU ABS/ASC

ABS/ASC Bộ điều khiển hộp số tự động ECU động cơ Điều khiển nhiên liệu Hộp số Đánh lửa Vị trí bướm ga Cơ cấu chấp hành Đ ộn g cơ Cảm biến tốc độ

dựng một chơng trình điều khiển hiện đang áp dụng trên thực tế đòi hỏi cả một quá trình nghiên cứu lâu dài của nhiều ngời mới hoàn thành đợc. Trong chơng trình xây dựng mô hình điều khiển TRC của luận văn này chỉ có thể xây dựng một mô hình hoạt động đơn giản của hệ thống TRC với một thông số đầu vào là tốc độ bánh xe và một thông số đầu ra tín hiệu điều khiển tốc độ của mô tơ đợc coi là bánh chủ động.

Sơ đồ của mô hình đợc trình bày trên hình 4-2.

Mô hình đợc xây dựng dựa trên cơ sở hệ thống phanh ABS/ASC-T, mô hình gồm có: - 2 cảm biến tốc độ bánh xe. - 2 cơ cấu phanh. - 2 mô tơ dẫn động. - Tổng phanh (có trợ lực). - Mạch vi xử lý (hình 4-3). Cảm biến tốc độ bánh xe Cảm biến tốc độ bánh xe Vi xử lý Mô tơ 1 Mô tơ 2

Hình 4-2. Sơ đồ mô hình đơn giản của hệ thống phanh có sử dụng TRC

Hình 4-3. Sơ đồ khối của mạch vi xử lý

60.000.000/n 60.000.000/n M Đếm KĐ PC Đếm KĐ So sánh Lấy mẫu KĐ M xung ~ ~ ~ KĐ 0,5V 220V 220V

Hoạt động của mô hình

Trong thực tế, ECU liên tục nhận đợc tín hiệu từ các cảm biến tốc độ bánh xe và nó liên tục tính tốc độ của từng bánh xe. Cùng lúc đó, ECU cũng - ớc lợng tốc độ xe trên cơ sở tốc độ của các bánh không chủ động và đặt ra một tốc độ tiêu chuẩn. Nếu tốc độ của bánh xe chủ động vợt quá tốc độ tiêu chuẩn ECU sẽ gửi tín hiệu đóng bớm ga đến cơ cấu chấp hành bớm ga. Cùng lúc đó, nó gửi tín hiệu đến cơ cấu chấp hành phanh TRC để cấp dầu cao áp đến các xylanh phanh bánh xe chủ động bị trợt.

Trong mô hình này chỉ có thể mô phỏng đợc quá trình giảm mô men của động cơ khi phát hiện bánh xe chủ động trợt. Trong mô hình có hai mô tơ dẫn động hai bánh xe, một đợc coi là bánh xe chủ động, mô tơ còn lại dẫn động bánh xe bị động và giả thiết rằng tốc độ của bánh xe này có tốc độ tiêu chuẩn. Mô tơ dẫn động bánh xe bị động đợc điều khiển thay đổi tốc độ. Hai bánh xe đợc gắn hai cảm biến đo tốc độ của hai bánh xe. Hai cảm biến này gửi tín hiệu về mạch vi xử lý, mạch vi xử lý tính toán tốc độ của hai bánh xe và so sánh tốc độ của bánh xe chủ động với bánh xe có tốc độ tiêu chuẩn. Nếu bánh xe chủ động có tốc độ lớn hơn tốc độ tiêu chuẩn mạch vi xử lý sẽ gửi tín hiệu xử lý đến mô tơ chủ động để giảm mô men dẫn động bánh xe chủ động đến khi nào bánh xe chủ động có tốc độ nhỏ hơn bánh xe tiêu chuẩn.

Chơng trình điều khiển mô hình mô phỏng của hệ thống bằng lập trình Delphi và lập trình ghép nối máy tính trong Windows.

Delphi là một ngôn ngữ lập trình Object Pascal. Delphi là một môi tr- ờng phát triển ứng dụng tức thời bao gồm các công cụ phát triển hệ thống và

cơ sở dữ liệu dành cho Microsoft Windows. Delphi cho phép lập trình hình ảnh, đồ hoạ, âm thanh, lập trình hệ thống, truy xuất cơ sở dữ liệu, lập trình mạng, Internet... Delphi kết hợp sự tiện dụng của môi trờng phát triển trực quan (Visual), tốc độ và sức mạnh của trình biên dịch 32-bit, khả năng quản lý cơ sở dữ liệu chặt chẽ với hạt nhân (th viện BDE) uyển chuyển có thể truy xuất nhiều loại cơ sở dữ liệu khác nhau. Delphi đã tích hợp các công nghệ riêng rẽ của các ngôn ngữ lập trình khác để phát triển một môi trờng toàn diện, cần thiết và hữu ích cho ngành công nghiệp phần mềm nói chung và ngời lập trình nói riêng.

Để có thể tiến hành điều khiển hoặc giám sát quá trình điều khiển bằng máy tính trớc hết phải có đợc mối liên hệ cần thiết giữa máy tính và thế giới bên ngoài. Một chơng trình điều hành hệ thống ghép nối phải có đủ khả năng đảm nhận việc thu thập thông tin từ bên ngoài và điều khiển các thiết bị ghép nối với máy tính. Các thông tin xử lý có thể dới dạng nhị phân cũng nh các quyết định có/ hoặc không hoặc phép so sánh nhỏ hơn/ lớn hơn. Cổng giao lu với thế giới bên ngoài đợc mở bằng giao diện. Đối với các máy tính PC tuân theo tiêu chuẩn công nghiệp có thể thực hiện các khả năng ghép nối sau:

- Sử dụng card mở rộng đợc cắm vào máy tính, theo cách này cho phép đạt đợc tốc độ truy cập lớn nhất.

- Các giao diện tiêu chuẩn hoá đóng vai trò ghép nối máy tính PC với các mạch điện bên ngoài.

- Ghép nối máy tính với một bộ xử lý riêng để thực hiện những bài toán khác mà không cần trao đổi dữ liệu với máy tính PC. Khi đó ngời xử dụng phải phân định rõ bài toán lập trình với hệ thống này.

- Các giao diện có trên máy tính PC, nh giao diện nối tiếp, giao diện song song cho phép sử dụng trực tiếp làm giao diện. Nhờ vậy, đối với rất nhiều ứng dụng không cần thiết phải có một phần cứng bổ sung.

Chơng trình điều khiển bằng lập trình Delphi và ghép nối máy tính trong Windows cho phép chạy trên nền Windows mà không cần phải chạy bằng phần mềm ứng dụng, một điều quan trọng là chơng trình này có thể chạy độc lập với máy tính thông qua phần cứng bổ sung. Hình 4-5 thể hiện hoạt động của chơng trình điều khiển trên nền Windows.

Chơng trình điều khiển

object Form1: TForm1 Left = 283 Top = 140 Width = 401 Height = 275 AutoSize = True Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText

Hình 4-4. Giao diện của chương trình điều khiển trên nền Windows.

Font.Height = -11

Font.Name = 'MS Sans Serif' Font.Style = []

Menu = MainMenu1 OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13

object Label1: TLabel Left = 32 Top = 8 Width = 249 Height = 29 Caption = 'T'#232'c '#174#233' motor ch'#241' '#174#233'ng' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -24

Font.Name = 'MS Sans Serif' Font.Style = []

ParentFont = False End

Object Label2: TLabel Left = 32

Top = 104 Width = 231 Height = 29

Caption = 'T'#232'c '#174#233' motor b'#222' '#174#233'ng' Font.Charset = DEFAULT_CHARSET (adsbygoogle = window.adsbygoogle || []).push({});

Font.Color = clWindowText Font.Height = -24

Font.Name = 'MS Sans Serif' Font.Style = []

ParentFont = False End

Object Label3: TLabel Left = 232 Top = 48 Width = 78 Height = 29 Caption = 'vg/ph'#243't' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -24

Font.Name = 'MS Sans Serif' Font.Style = []

ParentFont = False End

Object Label4: TLabel Left = 232

Top = 144 Width = 78

Height = 29

Caption = 'vg/ph'#243't'

Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText

Font.Height = -24

Font.Name = 'MS Sans Serif' Font.Style = []

ParentFont = False End

Object Bevel1: TBevel Left = 0

Top = 0 Width = 393 Height = 3 End

Object Label5: TLabel Left = 272

Top = 216 Width = 3 Height = 13 End

Object Edit1: TEdit Left = 32

Top = 48 Width = 177

Height = 37

Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText

Font.Height = -24

Font.Name = 'MS Sans Serif' Font.Style = []

ParentFont = False TabOrder = 0 Text = '0' End

Object Edit2: TEdit Left = 32 Top = 144 Width = 177 Height = 37 Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -24

Font.Name = 'MS Sans Serif' Font.Style = []

ParentFont = False TabOrder = 1 Text = '0' End

Left = 352 Top = 8

Object File1: TMenuItem Caption = 'File' (adsbygoogle = window.adsbygoogle || []).push({});

Object Ktni1: TMenuItem Caption = 'K'#213't n'#232'i' End

Object N1: TMenuItem Caption = '-'

End

Object Thot1: TMenuItem Caption = 'Tho'#184't' OnClick = Thot1Click End

End

Object Thitlpgitr1: TMenuItem

Caption = 'Thi'#213't l'#203'p gi'#184' tr'#222 Object Tcthpnht1: TMenuItem

Caption = 'T'#232'c '#174#233' th'#202'p nh'#202't' End

Object Tccaonht1: TMenuItem

Caption = 'T'#232'c '#174#233' cao nh'#202't' End

Object Thigiankimtrannh1: TMenuItem

End

Object rngxungiukhinmotorbng1: TMenuItem

Caption = #167#233' r'#233'ng xung '#174'i'#210'u khi'#211'n motor b'#222' '#174#233'ng'

End End

Object Gip1: TMenuItem

Caption = 'Gi'#243'p '#174#236 Object Phinbn1: TMenuItem Caption = 'Phi'#170'n b'#182'n' End

End End

Object Timer1: TTimer Left = 344 Top = 72 End End Unit Unit1; Interface Uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, ExtCtrls, PORTINC;

Type

TForm1 = class(TForm) Edit1: TEdit;

Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; MainMenu1: TMainMenu; File1: TMenuItem; Ktni1: TMenuItem; Thot1: TMenuItem; N1: TMenuItem; Thitlpgitr1: TMenuItem; Tcthpnht1: TMenuItem; Tccaonht1: TMenuItem; Thigiankimtrannh1: TMenuItem; rngxungiukhinmotorbng1: TMenuItem; Gip1: TMenuItem; Phinbn1: TMenuItem; Bevel1: TBevel; Label5: TLabel; Timer1: TTimer;

Procedure Thot1Click(Sender: TObject); Procedure Timer1Timer(Sender: TObject); Procedure FormCreate(Sender: TObject); Procedure Ktni1Click(Sender: TObject); Procedure Tcthpnht1Click(Sender: TObject); Procedure Tccaonht1Click(Sender: TObject);

Procedure Thigiankimtrannh1Click(Sender: TObject); Private { Private declarations } Public { Public declarations } end; const BA=$378; const oon=1; const off=0; Var Form1: TForm1;

du_lieu_gui, so, nmin, nmax, vi_tri_nmin, vi_tri_nmax, time_on_dinh: Integer;

du_lieu_nhan,toc_do_bi_dong1,toc_do_bi_dong2,toc_do_chu_dong1,toc_do_ chu_dong2: real;

toc_do_bi_dong, toc_do_chu_dong: real; implementation

{$R *.DFM}

Procedure TForm1.Thot1Click(Sender: TObject); Begin (adsbygoogle = window.adsbygoogle || []).push({});

Close; End;

Procedure gui_du_lieu(); Var e,f,y,i,b,j,x: integer; a,c,d: array [0..8] of integer; begin outport(BA, 231); x:=du_lieu_gui; for i:=1 to 8 do a[i]:=0; i:=1; while x>1 do begin b:=x mod 2; x:=x div 2; a[i]:=b; i:=i+1; end; if x=1 then a[i]:=x; j:=8; for i:=1 to 8 do begin c[j]:=a[i]; j:=j-1; end; for i:=1 to 8 do begin for j:=1 to 3000 do; e:=i-1; y:=c[i]; if y=0 then

begin outport(BA, 199); for j:=1 to 1000 do; outport(BA, 215); end; if y=1 then begin outport(BA, 231); for j:=1 to 1000 do; outport(BA, 247); end; for j:=1 to 1000 do; f:=inport(BA+1)and 64; if f=64 then d[e]:=1 else d[e]:=0; end; for i:=0 to 7 do a[i+1]:=d[7-i]; du_lieu_nhan:=a[8]*exp(7*ln(2))+a[7]*exp(6*ln(2))+a[6]*exp(5*ln(2)) +a[5]*exp(4*ln(2))+a[4]*exp(3*ln(2))+a[3]*exp(2*ln(2))+a[2]*exp(1*ln(2)) +a[1]*exp(0*ln(2)); end;

Procedure TForm1.Timer1Timer(Sender: TObject); begin outport(BA+2, 1); du_lieu_gui:=0; gui_du_lieu; toc_do_chu_dong1:=du_lieu_nhan; outport(BA+2, 0); du_lieu_gui:=0; gui_du_lieu; toc_do_chu_dong2:=du_lieu_nhan; toc_do_chu_dong:=(toc_do_chu_dong1*256)+toc_do_chu_dong2; outport(BA+2, 1); du_lieu_gui:=1; gui_du_lieu; toc_do_bi_dong1:=du_lieu_nhan; outport(BA+2, 0); du_lieu_gui:=0;

gui_du_lieu; toc_do_bi_dong2:=du_lieu_nhan; toc_do_bi_dong:=(toc_do_bi_dong1*256)+toc_do_bi_dong2; Edit1.Text:=FloatToStr(toc_do_chu_dong); Edit2.Text:=FloatToStr(toc_do_bi_dong); end;

Procedure TForm1.FormCreate(Sender: TObject); begin

OpenCom('LPT1:'); outport(BA, 231); end;

Procedure TForm1.Ktni1Click(Sender: TObject); begin

so:=STrToInt(Inputbox

('Nhập giá trị','Giá trị thay đổi khoảng thời gian truy cập',IntToStr(timer1.Interval)));

timer1.Interval:=so; end;

Procedure TForm1.Tcthpnht1Click(Sender: TObject); begin nmin:=STrToInt(Inputbox ('Nhập giá trị','Tốc độ thấp nhất',IntToStr(nmin))); outport(BA+2, 1); du_lieu_gui:=2; gui_du_lieu; toc_do_chu_dong1:=du_lieu_nhan; outport(BA+2, 0); du_lieu_gui:=0; gui_du_lieu; end;

Procedure TForm1.Tccaonht1Click(Sender: TObject); begin

nmax:=STrToInt(Inputbox

('Nhập giá trị','Tốc độ cao nhất',IntToStr(nmax))); end;

begin

time_on_dinh:=STrToInt(Inputbox

('Nhập giá trị','Giá trị thời gian kiểm tra ổn định',IntToStr(time_on_dinh))); end;

End.

Kết luận

ôtô ngày nay có tốc độ cực đại khá cao, khoảng 250 ữ 300 Km/h nên nó đợc trang bị những hệ thống điều khiển đảm bảo tính năng an toàn cao nh các hệ thống phanh điều khiển tự ổn định, có thể kết hợp với cả hệ thống lái 4WS. Một số xe còn trang bị hệ thống phanh tự động khi khoảng cách giữa ôtô và vật cản nằm trong vùng an toàn.

Đây là một mảng kỹ thuật cao và có liên quan đến nhiều vấn đề. Trong nội dung hạn chế của luận văn với đề tài “Nghiên cứu vấn đề nâng cao hiệu quả phanh thông qua kết cấu và điều khiển (Hệ thống ABS/ASC + T)”, bản luận văn đã đạt đợc một số kết quả sau:

1- Phân tích các mối quan hệ lý thuyết giữa ôtô và môi trờng hoạt động. Trong đó vấn đề rất quan trọng là mối quan hệ giữa lốp và mặt đờng, hiện t- ợng phanh và các chỉ tiêu đánh giá hiệu quả phanh.

2- Phân tích các tác động điều khiển quá trình phanh khi có hiện tợng bó cứng bánh xe hoặc có hiện tợng trợt quay bánh xe (điều khiển TRC).

3- Phân tích các giải pháp kết cấu và điều khiển phanh với các sơ đồ khác nhau, có sử dụng năng lợng tích luỹ và không sử dụng năng lợng tích luỹ kết hợp với chống bó cứng bánh xe và chống trợt quay. Đặc biệt là các giải pháp điều khiển tổng hợp phanh và lực kéo thông dụng đợc áp dụng trên các loại xe TOYOTA, BMW ..., trong đó có xét đến quá trình điều khiển ổn định quỹ đạo của xe khi xảy ra quay vòng thừa, quay vòng thiếu.

4- Thiết kế và xây dựng đợc một mô hình mẫu hoạt động theo chơng trình điều khiển vi xử lý mô phỏng quá trình điều khiển TRC với một số tình huống giả định. Chơng trình điều khiển của mạch vi xử lý có thể kết nối với Windows.

Tuy nhiên, bản luận văn cũng còn một số vấn đề liên quan khác cha có điều kiện đề cập tới hoặc mới chỉ đề cập đến ở mức độ tổng quát nh:

1- Quá trình quá độ trong điều khiển phanh và điều khiển lực kéo hay vấn đề điều khiển mạng nội bộ.

2- Phần chơng trình điều khiển mới dừng ở mức mô phỏng một số tình huống giả định mà cha có điều kiện thử nghiệm trên một ôtô thực.

(adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu nghiên cứu vấn đề tăng hiệu quả phanh bằng các giải pháp kết cấu và điều khiển (Trang 67 - 83)