Nghiên cứu, thiết kế hệ thống phanh ôtô 12 chỗ có ABS và mô hình mô phỏng

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA CƠ KHÍ MỤC LỤC Trang Lời nói đầu 0 Phần I : Tính toán thiết kế cơ cấu phanh 1 I. Công dụng phân loại yêu cầu của hệ thống phanh 1 II. Tính toán thiết kế cơ cấu phanh 13 Phần II :Tính toán thiết kế dẫn động phanh 38 I. Chọn phương án dẫn động phanh 38 II. Tính toán dẫn động phanh 41 Phần III : Tổng quan về thệ thống ABS 62 I. Hệ thống ABS 62 Phần IV : Thiết kế chế tạo mô hình 113 I. Đặt vấn đề 113 II. Thiết kế mô hình 115 III. Xây dựng chương trình điều khiển 115 Phần V: Công nghệ gia công chi tiết xilanh phanh sau 134 I. Gia công xi lanh phanh sau 134

doc146 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2347 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Nghiên cứu, thiết kế hệ thống phanh ôtô 12 chỗ có ABS và mô hình mô phỏng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ransistor lµm phototransistor thay ®æi tr¹ng th¸i ®ãng, më. Ng­êi ta sö dông 2 cÆp ®Ìn LED vµ phototransistor. Tæ hîp t¹o bëi 2 cÆp ®Ìn LED vµ phototransistor chia møc ®é gi¶m tèc thµnh 4 kho¶ng vµ göi tÝn hiÖu vÒ ABS ECU. ABS ECU dïng nh÷ng tÝn hiÖu nµy ®Ó x¸c ®Þnh chÝnh x¸c t×nh tr¹ng mÆt ®­êng vµ thùc hiÖn c¸c biÖn ph¸p ®iÒu khiÓn thÝch hîp. Trªn mét vµi kiÓu xe gia tèc ngang còng ®­îc ®o nh»m x¸c ®Þnh xem xe cã ph¶i ®ang quay vßng hay kh«ng, v× trong qu¸ tr×nh quay vßng, c¸c b¸nh xe phÝa trong cã xu h­íng bÞ nhÊc lªn khái mÆt ®Êt do lùc ly t©m nh­ vËy ph¶n lùc ph¸p tuyÕn gi÷a mÆt ®­êng t¸c dông lªn b¸nh xe nhá lµ cho c¸c b¸nh xe phÝa trong cã xu h­íng bÞ bã cøng dÔ dµng h¬n trong khi c¸c b¸nh phÝa ngoµi l¹i bÞ t× m¹nh xuèng mÆt ®­êng lµm t¨ng ph¶n lùc gi÷a mÆt ®­êng t¸c dông lªn b¸nh xe nh­ vËy c¸c b¸nh xe phÝa ngoµi khã bÞ bã cøng h¬n. V× vËy sau khi x¸c ®Þnh xem cã ph¶i xe ®ang quay vßng hay kh«ng, ¸p suÊt dÇu ®Õn c¸c b¸nh phÝa ngoµi ®­îc t¨ng lªn cao h¬n b¸nh phÝa trong ®Ó t¨ng hiÖu qu¶ phanh. §Ó ®o gia tèc ngang th× mét c¶m biÕn kiÓu phototransistor ®­îc dïng nh­ng ®­îc g¾n theo trôc ngang cña xe, ngoµi ra còng cã thÓ dïng mét c¶m biÕn kiÓu b¸n dÉn ®Ó do gia tèc däc vµ ngang. 7.1.4 Bé chÊp hµnh ABS - NhiÖm vô: Bé chÊp hµnh ABS cã nhiÖm vô cÊp hay ng¾t ¸p suÊt dÇu tõ xi lanh phanh chÝnh ®Õn mçi xi lanh b¸nh xe hoÆc gi¶m ¸p suÊt trong xi lanh phanh b¸nh xe theo tÝn hiÖu tõ ABS ECU ®Ó ®iÒu khiÓn m« men phanh b¸nh xe. - CÊu t¹o: Cã nhiÒu kiÓu bé chÊp hµnh ABS tuú thuéc vµo kiÓu xe, ®êi xe còng nh­ h·ng xe nh­ng bé chÊp hµnh ABS th­êng bao gåm c¸c van ®iÖn, b¬m dÇu b×nh dÇu tÝch n¨ng vµ c¸c van 1 chiÒu. H×nh 2-3 Cho biÕt cÊu t¹o cña bé chÊp hµnh víi lo¹i 4 van 3vÞ trÝ. Cã thÓ chia bé chÊp hµnh theo chøc n¨ng thµnh 2 côm sau Côm Chøc n¨ng Van ®iÖn 3 vÞ trÝ Trong qu¸ tr×nh ho¹t ®éng cña hÖ thèng (côm ®iÒu khiÓn) ABS, ABS ECU lùa chän mét trong ba chÕ ®é t¨ng ¸p, gi¶m ¸p hoÆc gi÷ ¸p suÊt ë xi lanh b¸nh xe b»ng viÖc thay ®æi gi¸ trÞ dßng ®iÖn cÊp cho van ®Ó ®ãng më c¸c van B×nh chøa vµ b¬m Khi cÇn gi¶m ¸p suÊt van ®iÖn ®­îc ®Æt (côm gi¶m ¸p) ë chÕ ®é gi¶m ¸p ®ång thêi mét b¬m cã nhiÖm vô hót dÇu tõ c¸c xi lanh b¸nh xe vµ ®­îc ®­a trë l¹i xi lanh chÝnh ®Ó s½n sµng cho chÕ ®é t¨ng ¸p mµ kh«ng lµm x©u ch©n phanh - Ho¹t ®éng: + Khi phanh b×nh th­êng (ABS kh«ng ho¹t ®éng) ABS kh«ng ho¹t ®éng trong qu¸ tr×nh phanh b×nh th­êng vµ ABS ECU kh«ng göi dßng ®iÖn ®Õn cuén d©y cña van. Do ®ã van 3 vÞ trÝ bÞ ®Èy xuèng d­íi t¸c dông cña lß xo håi vÞ vµ cöa "A" vÉn më trong khi cöa "B" vÉn ®ãng. Khi ®¹p phanh b×nh th­êng, ¸p suÊt dÇu trong xi lanh phanh chÝnh t¨ng, dÇu phanh ®i tõ xi lanh chÝnh ®Õn cöa "A" råi ®Õn cöa "C" trong van ®iÖn 3 vÞ trÝ råi tíi xi lanh b¸nh xe. DÇu phanh kh«ng vµo ®­îc b¬m bëi van mét chiÒu sè 1 g¾n trong m¹ch b¬m. Khi nh¶ ch©n phanh, ¸p suÊt trong xi lanh chÝnh gi¶m lµm dÇu phanh ®­îc håi tõ xi lanh b¸nh xe vÒ xi lanh chÝnh qua cöa "C" ®Õn cöa "A" vµ mét phÇn qua van mét chiÒu sè 3 trong van ®iÖn 3 vÞ trÝ. Tªn chi tiÕt Ho¹t ®éng Cöa "A" më Van ®iÖn 3 vÞ trÝ Cöa "B" ®ãng M« t¬ b¬m Kh«ng ho¹t ®éng Khi phanh gÊp (ABS ho¹t ®éng) NÕu cã bÊt kú b¸nh xe nµo gÇn bÞ bã cøng khi phanh gÊp, bé chÊp hµnh ABS sÏ ®iÒu khiÓn ¸p suÊt dÇu phanh t¸c dông lªn xi lanh b¸nh xe ®ã theo tÝn hiÖu tõ ECU. V× vËy b¸nh xe kh«ng bÞ bã cøng. ChÕ ®é gi¶m ¸p: Tªn chi tiÕt Ho¹t ®éng Van ®iÖn 3 vÞ trÝ Cöa "A" ®ãng Cöa "B" më M«t¬ b¬m Ho¹t ®éng Khi mét b¸nh xe gÇn bÞ bã cøng, ECU göi dßng ®iÖn 5A ®Õn cuén d©y cña van ®iÖn, lµm sinh ra mét lùc tõ m¹nh. Van 3 vÞ trÝ chuyÓn ®éng lªn phÝa trªn. cöa "A" ®ãng trong khi cöa "B" më. KÕt qu¶ lµ dÇu phanh tõ xi lanh b¸nh xe qua cöa "C " tíi cöa "B" trong van ®iÖn 3 vÞ trÝ vµ ch¶y vÒ b×nh dÇu.Cïng lóc ®ã,m«t¬ b¬m ho¹t ®éng nhê tÝn hiÖu tõ ECU, dÇu phanh ®­îc håi tr¶ vÒ xi lanh phanh chÝnh tõ b×nh chøa. MÆt kh¸c cöa "A" ®ãng ng¨n kh«ng cho dÇu phanh tõ xi lanh chÝnh vµo van ®iÖn 3 vÞ trÝ, ®ång thêi van mét chiÒu sè 1 vµ van mét chiÒu sè 3 còng ng¨n kh«ng cho dÇu qua.KÕt qu¶ lµ ¸p suÊt dÇu bªn trong xi lanh b¸nh xe gi¶m, ng¨n kh«ng cho b¸nh xe bÞ bã cøng. Møc ®é gi¶m ¸p suÊt dÇu ®­îc ®iÒu chØnh b»ng c¸ch lÆp l¹i c¸c chÕ ®é "gi¶m ¸p" vµ "gi÷". ChÕ ®é gi÷: Tªn chi tiÕt Ho¹t ®éng Van ®iÖn 3 vÞ trÝ Cöa "A" ®ãng Cöa "B" ®ãng M« t¬ b¬m Ho¹t ®éng Khi ¸p suÊt bªn trong xi lanh b¸nh xe gi¶m hay t¨ng, c¶m biÕn tèc ®é b¸nh xe göi tÝn hiÖu b¸o r»ng tèc ®é b¸nh xe ®· ®¹t ®Õn gi¸ trÞ mong muèn. ABS ECU sÏ cÊp dßng ®iÖn 2A ®Õn cuén d©y cña van ®iÖn ®Ó gi÷ ¸p suÊt trong xi lanh b¸nh xe kh«ng ®æi. Khi dßng ®iÖn cÊp cho cuén d©y cña van bÞ gi¶m tõ 5A (ë chÕ ®é gi¶m ¸p) xuèng cßn 2A(ë chÕ ®é gi÷), lùc ®iÖn tõ sinh ra trong cuén d©y còng gi¶m. Van ®iÖn 3 vÞ trÝ dÞch chuyÓn xuèng vÞ trÝ gi÷a nhê lùc cña lß xo håi vÞ lµm cöa "B" ®ãng. ChÕ ®é t¨ng ¸p: Tªn chi tiÕt Ho¹t ®éng Van ®iÖn 3 vÞ trÝ Cöa "A" më Cöa "B" ®ãng M« t¬ b¬m Ho¹t ®éng Khi th«ng tin ®­îc ®­a vÒ ABS ECU tõ c¸c c¶m biÕn b¸nh xe nÕu ABS ECU nhËn thÊy tåc ®é b¸nh xe t¨ng lªn th× ABS ECU sÏ quyÕt ®Þnh t¨ng ¸p suÊt trong xi lanh b¸nh xe ®Ó t¹o lùc phanh lín ABS ECU sÏ ng¾t dßng ®iÖn cÊp cho cuén d©y van ®iÖn. V× vËy cöa "A" cña van ®iÖn 3 vÞ trÝ sÏ më cßn cöa "B" cña van ®iÖn 3 vÞ trÝ ®ãng. Nã cho phÐp dÇu trong xi lanh phanh chÝnh ch¶y qua cöa "A" ®Õn cöa "C" trong van ®iÖn 3 vÞ trÝ ®Õn xi lanh b¸nh xe, møc ®é t¨ng ¸p suÊt cÇn ®­îc ®iÒu khiÓn nhê lÆp l¹i c¸c chÕ ®é t¨ng ¸p vµ gi÷. PhÇn IV ThiÕt kÕ chÕ t¹o m« h×nh m« pháng §Æt vÊn ®Ò HiÖn nay, c¸c nghiªn cøu lý luËn vÒ hiÖu qña phanh, tÝnh æn ®Þnh ®éng häc cña qu¸ tr×nh phanh còng nh­ ®éng häc cña qu¸ tr×nh chuyÓn ®éng nãi chung ®· ®­îc rÊt nhiÒu c¸c c«ng tr×nh nghiªn cøu trong vµ ngoµi n­íc ®Ò cËp tíi vµ cã thèng nhÊt chung vÒ c¸c c«ng tr×nh lý luËn nµy, tøc lµ sö dông hÖ thèng ABS ®Ó n©ng cao hiÖu qu¶ phanh. C¸c vÊn ®Ò vÒ kÕt cÊu còng nh­ ®iÒu khiÓn ®· ®­îc c¸c h·ng xe næi tiÕng trªn thÕ giíi ®­a vµo ¸p dông tõ nh÷ng n¨m 1970 vµ ph¸t triÓn cho ®Õn ngµy nay ®· cã nh÷ng b­íc ph¸t triÓn v­ît bËc mang l¹i hiÖu qu¶ rÊt cao. Tuy nhiªn, ë ViÖt Nam mÆc dï ®· cã nh÷ng nghiªn cøu tõ kh¸ sím nh­ng do nÒn c«ng nghiÖp «t« ph¸t triÓn cßn chËm nªn hÇu hÕt c¸c vÊn ®Ò nghiªn cøu vÒ vÊn ®Ò nµy míi chØ dõng ë nh÷ng nghiªn cøu vÒ lý luËn mµ rÊt Ýt nghiªn cøu øng dông trong thùc tÕ. HiÖn nay trªn thÕ giíi cã c¸c thøc m« pháng hÖ thèng hoµn toµn trªn m¸y tÝnh víi c¸c phÇn mÒm chuyªn dông. Ph­¬ng ph¸p nµy cho phÐp thiÕt lËp m« h×nh vµ ho¹t ®éng cña hÖ thèng ABS mét c¸ch nhanh chãng. Tuy nhiªn, ë n­íc ta hiÖn nay c«ng nghÖ phÇn mÒm øng dông chuyªn dïng cho thiÕt kÕ ch­a ph¸t v× thÕ chi phÝ ®Ó mua phÇn mÒm rÊt tèn kÐm, c¸c phÇn mÒm cã trªn thÞ tr­êng chØ lµ c¸c b¶n Demo nªn ®é tin c©y kh«ng cao. Ph­¬ng ph¸p m« pháng trªn m« h×nh thùc th«ng qua lËp tr×nh ®iÒu khiÓn b»ng m¸y tÝnh dï cã nhiÒu tèn kÐm vµ còng cÇn ®Õn nhiÒu gi¶ thiÕt. Song ph­¬ng ph¸p nµy cho ta kÕt qu¶ trùc quan, cã thÓ thÊy râ hiÖu qu¶ cña ch­¬ng tr×nh ®iÒu khiÓn th«ng qua giao diÖn cña m¸y tÝnh. ThiÕt kÕ m« h×nh 1. S¬ ®å nguyªn lý ho¹t ®éng H×nh 4.1 S¬ ®å nguyªn lý ho¹t ®éng cña m« h×nh Nguån khÝ 10. C¶m biÕn ¸p suÊt dÇu Van ph©n phèi. 11. B¸nh xe Xi lanh lùc 12. Xi lanh b¸nh xe §ång hå ¸p suÊt 13. C¶m biÕn tèc ®é Bµn ®¹p 14. B¸nh chñ ®éng C«ng t¾c ®Ìn phanh 15. D©y ®ai Bé trî lùc ch©n kh«ng 16. Puli Tæng phanh 17. Khèi l­îng qu¸n tÝnh 9. C¬ cÊu chÊp hµnh 18. M«t¬ 19. M¸y tÝnh ®iÒu khiÓn Nguyªn lý ho¹t ®éng Khi cÊp ®iÖn cho m«t¬, m«t¬ quay sÏ kÐo khèi l­îng qu¸n tÝnh 17 quay, nhê puli 16 vµ ®ai 15 nªn lµm quay b¸nh chñ ®éng 14, do ma s¸t gi÷a b¸nh chñ ®éng 14 vµ b¸nh xe nªn b¸nh xe còng quay theo. Trong m« h×nh nµy, b¸nh chñ ®éng ®ãng vai trß lµ mÆt ®­êng vµ ta cã thÓ thay ®æi hÖ sè b¸m cña nã víi b¸nh xe b»ng mét c¬ cÊu c¨n chØnh b»ng lß xo. Khi phanh, m¸y tÝnh nhËn ®­îc tÝn hiÖu qua c«ng t¾c ch©n phanh, khi ®ã m¸y tÝnh sÏ thùc hiÖn c¸c c«ng viÖc sau: + Göi tÝn hiÖu ®iÒu khiÓn ®Õn r¬le ngõng cÊp ®iÖn cho ®éng c¬, khi ®ã c¸c b¸nh xe chuyÓn ®éng nhê khèi l­îng qu¸n tÝnh 17 vµ c¸c khèi l­îng qu¸n tÝnh ®­îc g¾n trùc tiÕp trªn c¬ cÊu phanh. + M¸y tÝnh liªn tôc nhËn ®­îc tèc ®é tõng b¸nh xe tõ c¸c c¶m biÕn tèc ®é. NÕu tèc ®é cña b¸nh xe v­ît qu¸ tèc ®é tiªu chuÈn. M¸y tÝnh sÏ göi tÝn hiÖu ®iÒu khiÓn tíi c¬ cÊu chÊp hµnh phanh ABS theo c¸c chÕ ®é “t¨ng ¸p”, “gi÷ ¸p” vµ “gi¶m ¸p” nh­ ®· tr×nh bµy trong phÇn trªn do ®ã ng¨n c¸c b¸nh xe kh«ng bÞ bã cøng. S¬ ®å ®iÖn vµ m¹ch giao tiÕp víi m¸y tÝnh §Ó 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 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ã/kh«ng hoÆc phÐp so s¸nh nhá h¬n/lín h¬n. Cæng giao tiÕp víi thÕ giíi bªn ngoµi ®­îc më réng 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¸c kh¶ n¨ng ghÐp nèi sau: Sö dông card më réng 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 giao diÖn bªn ngoµi. GhÐp nèi m¸y tÝnh víi mét bé vi 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 sö 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æ xung. 3.1 S¬ ®å ®iÖn cña m« h×nh ®­îc thÓ hiÖn trªn h×nh 4.2 H×nh 4.2 S¬ ®å ®iÖn cña m« h×nh C¸c c¶m biÕn hång ngo¹i C¬ cÊu chÊp hµnh ABS C¸c Transitor Dièt 5, 6. C¸c ®iÖn trë 7. C«ng t¾c ®iÖn C«ng t¾c ch©n phanh R¬le Giao tiÕp cña m¹ch ®iÖn víi m¸y tÝnh ®­îc th«ng qua cæng LPT. M« h×nh sö c¬ cÊu chÊp hµnh kiÓu 8 van 2 vÞ trÝ. 8 van nµy ®­îc ®iÒu khiÓn bëi c¸c Transitor. C¸c ®ièt 4 cã t¸c dông ng¨n dßng ®iÖn ng­îc. R¬le dïng ®Ó ®ãng ng¨t m«t¬ 8. C«ng t¾c ®iÖn 7 cã ba vÞ trÝ: ON, OFF, START Nguyªn lý ho¹t ®éng TÝn hiÖu ®Çu vµo: C¸c c¶m biÕn hång ngo¹i 1 göi tÝn hiÖu tèc ®é vßng quay cña b¸nh xe vÒ m¸y tÝnh. TÝn hiÖu ®Çu ra: M¸y tÝnh göi tÝn hiÖu ®iÒu khiÓn tíi c¬ cÊu chÊp hµnh th«ng qua c¸c Transitor. II. X©y dùng ch­¬ng tr×nh ®iÒu khiÓn Giao diÖn cña ch­¬ng tr×nh ®iÒu khiÓn M· nguån cña ch­¬ng tr×nh object Form1: TForm1 Left = 0 Top = 0 Width = 1024 Height = 738 Caption = 'Form1' Color = clBtnFace Font.Charset = ANSI_CHARSET Font.Color = clTeal Font.Height = -16 Font.Name = 'VNI-Times' Font.Style = [fsBold] Menu = MainMenu1 OldCreateOrder = False WindowState = wsMaximized OnCreate = FormCreate OnPaint = FormPaint PixelsPerInch = 96 TextHeight = 21 object PaintBox1: TPaintBox Left = 84 Top = 80 Width = 641 Height = 425 end object Label1: TLabel Left = 132 Top = 43 Width = 525 Height = 32 Caption = #167#229' th'#222' bi'#213'n '#174#230'i gia t'#232'c b'#184'nh xe theo th'#234'i gian' Font.Charset = ANSI_CHARSET Font.Color = clTeal Font.Height = -27 Font.Name = '.VnTime' Font.Style = [fsBold] ParentFont = False end object Label10: TLabel Left = 325 Top = 533 Width = 135 Height = 21 Caption = 'Th'#244#248'i gian phanh (s)' Font.Charset = ANSI_CHARSET Font.Color = clTeal Font.Height = -16 Font.Name = 'VNI-Times' Font.Style = [fsBold] ParentFont = False end object Label11: TLabel Left = 122 Top = 502 Width = 7 Height = 17 Caption = '1' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label12: TLabel Left = 142 Top = 502 Width = 7 Height = 17 Caption = '2' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label13: TLabel Left = 163 Top = 503 Width = 7 Height = 17 Caption = '3' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label14: TLabel Left = 182 Top = 503 Width = 7 Height = 17 Caption = '4' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label15: TLabel Left = 203 Top = 503 Width = 7 Height = 17 Caption = '5' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label16: TLabel Left = 224 Top = 503 Width = 7 Height = 17 Caption = '6' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label17: TLabel Left = 243 Top = 504 Width = 7 Height = 17 Caption = '7' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label18: TLabel Left = 264 Top = 504 Width = 7 Height = 17 Caption = '8' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label19: TLabel Left = 283 Top = 504 Width = 7 Height = 17 Caption = '9' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label20: TLabel Left = 418 Top = 505 Width = 14 Height = 17 Caption = '16' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label21: TLabel Left = 438 Top = 505 Width = 14 Height = 17 Caption = '17' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label22: TLabel Left = 458 Top = 505 Width = 14 Height = 17 Caption = '18' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label23: TLabel Left = 378 Top = 504 Width = 14 Height = 17 Caption = '14' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label24: TLabel Left = 361 Top = 504 Width = 14 Height = 17 Caption = '13' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label25: TLabel Left = 399 Top = 504 Width = 14 Height = 17 Caption = '15' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label26: TLabel Left = 339 Top = 504 Width = 14 Height = 17 Caption = '12' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label27: TLabel Left = 321 Top = 504 Width = 14 Height = 17 Caption = '11' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label28: TLabel Left = 299 Top = 504 Width = 14 Height = 17 Caption = '10' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label29: TLabel Left = 599 Top = 505 Width = 14 Height = 17 Caption = '25' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label30: TLabel Left = 618 Top = 505 Width = 14 Height = 17 Caption = '26' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label31: TLabel Left = 638 Top = 505 Width = 14 Height = 17 Caption = '27' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label32: TLabel Left = 558 Top = 505 Width = 14 Height = 17 Caption = '23' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label33: TLabel Left = 539 Top = 505 Width = 14 Height = 17 Caption = '22' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label34: TLabel Left = 578 Top = 505 Width = 14 Height = 17 Caption = '24' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label35: TLabel Left = 520 Top = 505 Width = 14 Height = 17 Caption = '21' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label36: TLabel Left = 500 Top = 505 Width = 14 Height = 17 Caption = '20' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label37: TLabel Left = 477 Top = 505 Width = 14 Height = 17 Caption = '19' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label38: TLabel Left = 659 Top = 505 Width = 14 Height = 17 Caption = '28' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label39: TLabel Left = 733 Top = 502 Width = 3 Height = 17 Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label40: TLabel Left = 677 Top = 505 Width = 14 Height = 17 Caption = '26' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label41: TLabel Left = 697 Top = 505 Width = 14 Height = 17 Caption = '27' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label42: TLabel Left = 716 Top = 505 Width = 14 Height = 17 Caption = '28' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label43: TLabel Left = 91 Top = 501 Width = 7 Height = 17 Caption = '0' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label44: TLabel Left = 92 Top = 473 Width = 7 Height = 17 Caption = '1' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label45: TLabel Left = 92 Top = 452 Width = 7 Height = 17 Caption = '2' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label46: TLabel Left = 92 Top = 430 Width = 7 Height = 17 Caption = '3' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label47: TLabel Left = 92 Top = 411 Width = 7 Height = 17 Caption = '4' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label48: TLabel Left = 92 Top = 390 Width = 7 Height = 17 Caption = '5' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label49: TLabel Left = 92 Top = 369 Width = 7 Height = 17 Caption = '6' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label50: TLabel Left = 84 Top = 290 Width = 14 Height = 17 Caption = '10' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label51: TLabel Left = 84 Top = 271 Width = 14 Height = 17 Caption = '11' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label52: TLabel Left = 84 Top = 250 Width = 14 Height = 17 Caption = '12' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label53: TLabel Left = 92 Top = 330 Width = 7 Height = 17 Caption = '8' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label54: TLabel Left = 92 Top = 312 Width = 7 Height = 17 Caption = '9' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label55: TLabel Left = 92 Top = 349 Width = 7 Height = 17 Caption = '7' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label56: TLabel Left = 84 Top = 231 Width = 14 Height = 17 Caption = '13' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label57: TLabel Left = 84 Top = 211 Width = 14 Height = 17 Caption = '14' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label58: TLabel Left = 84 Top = 192 Width = 14 Height = 17 Caption = '15' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label59: TLabel Left = 84 Top = 169 Width = 14 Height = 17 Caption = '16' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label60: TLabel Left = 84 Top = 151 Width = 14 Height = 17 Caption = '17' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label61: TLabel Left = 84 Top = 133 Width = 14 Height = 17 Caption = '18' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label62: TLabel Left = 84 Top = 111 Width = 14 Height = 17 Caption = '19' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object Label63: TLabel Left = 84 Top = 93 Width = 14 Height = 17 Caption = '20' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -13 Font.Name = 'VNI-Times' Font.Style = [] ParentFont = False end object GroupBox1: TGroupBox Left = 736 Top = 117 Width = 233 Height = 169 Caption = 'Va'#228'n to'#225'c(km/h)' Font.Charset = ANSI_CHARSET Font.Color = clTeal Font.Height = -16 Font.Name = 'VNI-Times' Font.Style = [fsBold] ParentFont = False TabOrder = 0 object Label3: TLabel Left = 8 Top = 50 Width = 80 Height = 21 Caption = 'Ba'#249'nh tr'#246#244#249'c' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -16 Font.Name = 'VNI-Times' Font.Style = [fsBold] ParentFont = False end object Label4: TLabel Left = 8 Top = 82 Width = 95 Height = 21 Caption = 'Ba'#249'nh sau tra'#249'i' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -16 Font.Name = 'VNI-Times' Font.Style = [fsBold] ParentFont = False end object Label5: TLabel Left = 8 Top = 114 Width = 100 Height = 21 Caption = 'Ba'#249'nh sau pha'#251'i' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -16 Font.Name = 'VNI-Times' Font.Style = [fsBold] ParentFont = False end object Edit2: TEdit Left = 160 Top = 48 Width = 49 Height = 27 Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -16 Font.Name = '.VnTime' Font.Style = [fsBold] ParentFont = False TabOrder = 0 Text = 'Edit2' end object Edit3: TEdit Left = 160 Top = 80 Width = 49 Height = 27 Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -16 Font.Name = '.VnTime' Font.Style = [fsBold] ParentFont = False TabOrder = 1 Text = 'Edit3' end object Edit4: TEdit Left = 160 Top = 112 Width = 49 Height = 27 Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -16 Font.Name = '.VnTime' Font.Style = [fsBold] ParentFont = False TabOrder = 2 Text = 'Edit4' end end object GroupBox2: TGroupBox Left = 736 Top = 325 Width = 233 Height = 153 Caption = 'Gia to'#225'c(m/s2)' Font.Charset = ANSI_CHARSET Font.Color = clTeal Font.Height = -16 Font.Name = 'VNI-Times' Font.Style = [fsBold] ParentFont = False TabOrder = 1 object Label7: TLabel Left = 8 Top = 42 Width = 80 Height = 21 Caption = 'Ba'#249'nh tr'#246#244#249'c' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -16 Font.Name = 'VNI-Times' Font.Style = [fsBold] ParentFont = False end object Label8: TLabel Left = 8 Top = 74 Width = 95 Height = 21 Caption = 'Ba'#249'nh sau tra'#249'i' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -16 Font.Name = 'VNI-Times' Font.Style = [fsBold] ParentFont = False end object Label9: TLabel Left = 9 Top = 109 Width = 100 Height = 21 Caption = 'Ba'#249'nh sau pha'#251'i' Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -16 Font.Name = 'VNI-Times' Font.Style = [fsBold] ParentFont = False end object Edit6: TEdit Left = 160 Top = 43 Width = 49 Height = 29 Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -16 Font.Name = 'VNI-Times' Font.Style = [fsBold] ParentFont = False TabOrder = 0 Text = 'Edit6' end object Edit7: TEdit Left = 160 Top = 76 Width = 49 Height = 29 Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -16 Font.Name = 'VNI-Times' Font.Style = [fsBold] ParentFont = False TabOrder = 1 Text = 'Edit7' end object Edit8: TEdit Left = 160 Top = 109 Width = 49 Height = 29 Font.Charset = ANSI_CHARSET Font.Color = clRed Font.Height = -16 Font.Name = 'VNI-Times' Font.Style = [fsBold] ParentFont = False TabOrder = 2 Text = 'Edit8' end end object GroupBox3: TGroupBox Left = 80 Top = 574 Width = 641 Height = 105 Color = clBtnFace ParentColor = False TabOrder = 2 end object Button1: TButton Left = 115 Top = 602 Width = 113 Height = 41 Cursor = crHandPoint Caption = '&Kh'#244#251'i '#241'o'#228'ng' Font.Charset = ANSI_CHARSET Font.Color = clTeal Font.Height = -16 Font.Name = 'VNI-Times' Font.Style = [fsBold] ParentFont = False TabOrder = 3 OnClick = Button1Click end object Button2: TButton Left = 266 Top = 602 Width = 113 Height = 41 Caption = '&In ke'#225't qua'#251 Font.Charset = ANSI_CHARSET Font.Color = clTeal Font.Height = -16 Font.Name = 'VNI-Times' Font.Style = [fsBold] ParentFont = False TabOrder = 4 OnClick = Button2Click end object Button3: TButton Left = 418 Top = 602 Width = 113 Height = 41 Caption = 'Kh'#244#251'i &'#241'o'#228'ng la'#239'i' Font.Charset = ANSI_CHARSET Font.Color = clTeal Font.Height = -16 Font.Name = 'VNI-Times' Font.Style = [fsBold] ParentFont = False TabOrder = 5 OnClick = Button3Click end object Button4: TButton Left = 570 Top = 602 Width = 113 Height = 41 Caption = '&Thoa'#249't' Font.Charset = ANSI_CHARSET Font.Color = clTeal Font.Height = -16 Font.Name = 'VNI-Times' Font.Style = [fsBold] ParentFont = False TabOrder = 6 OnClick = Button4Click end object MainMenu1: TMainMenu OwnerDraw = True Left = 752 Top = 16 object File1: TMenuItem Caption = '&File' OnDrawItem = File1DrawItem OnMeasureItem = File1MeasureItem object Open1: TMenuItem Caption = '&Open' OnClick = Open1Click OnDrawItem = Open1DrawItem OnMeasureItem = Open1MeasureItem end object Exit1: TMenuItem Caption = '&Save' OnClick = Exit1Click OnDrawItem = Exit1DrawItem OnMeasureItem = Exit1MeasureItem end object N1: TMenuItem Caption = 'C&lose' OnClick = N1Click OnDrawItem = N1DrawItem OnMeasureItem = N1MeasureItem end end object help1: TMenuItem Caption = '&Cong cu' OnDrawItem = help1DrawItem OnMeasureItem = help1MeasureItem object About1: TMenuItem Caption = 'About' OnDrawItem = About1DrawItem OnMeasureItem = About1MeasureItem end end end object Timer1: TTimer Interval = 20 OnTimer = Timer1Timer Left = 960 Top = 16 end object OpenDialog1: TOpenDialog Left = 832 Top = 16 end object SaveDialog1: TSaveDialog Left = 872 Top = 16 end object PrintDialog1: TPrintDialog Copies = 1 Left = 912 Top = 16 End; end. unit DATN; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Buttons, Menus,Printers; type TForm1 = class(TForm) PaintBox1: TPaintBox; Label1: TLabel; MainMenu1: TMainMenu; File1: TMenuItem; Open1: TMenuItem; Exit1: TMenuItem; help1: TMenuItem; About1: TMenuItem; N1: TMenuItem; GroupBox1: TGroupBox; Label3: TLabel; Label4: TLabel; Label5: TLabel; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Timer1: TTimer; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; PrintDialog1: TPrintDialog; GroupBox2: TGroupBox; Label7: TLabel; Label8: TLabel; Label9: TLabel; Edit6: TEdit; Edit7: TEdit; Edit8: TEdit; GroupBox3: TGroupBox; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Label10: TLabel; Label11: TLabel; Label12: TLabel; Label13: TLabel; Label14: TLabel; Label15: TLabel; Label16: TLabel; Label17: TLabel; Label18: TLabel; Label19: TLabel; Label20: TLabel; Label21: TLabel; Label22: TLabel; Label23: TLabel; Label24: TLabel; Label25: TLabel; Label26: TLabel; Label27: TLabel; Label28: TLabel; Label29: TLabel; Label30: TLabel; Label31: TLabel; Label32: TLabel; Label33: TLabel; Label34: TLabel; Label35: TLabel; Label36: TLabel; Label37: TLabel; Label38: TLabel; Label39: TLabel; Label40: TLabel; Label41: TLabel; Label42: TLabel; Label43: TLabel; Label44: TLabel; Label45: TLabel; Label46: TLabel; Label47: TLabel; Label48: TLabel; Label49: TLabel; Label50: TLabel; Label51: TLabel; Label52: TLabel; Label53: TLabel; Label54: TLabel; Label55: TLabel; Label56: TLabel; Label57: TLabel; Label58: TLabel; Label59: TLabel; Label60: TLabel; Label61: TLabel; Label62: TLabel; Label63: TLabel; procedure Button1Click(Sender: TObject); procedure FormPaint(Sender: TObject); procedure Open1MeasureItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer); procedure Open1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean); procedure Exit1MeasureItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer); procedure Exit1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean); procedure help1MeasureItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer); procedure help1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean); procedure File1MeasureItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer); procedure File1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean); procedure About1MeasureItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer); procedure About1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean); procedure N1MeasureItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer); procedure N1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean); procedure N1Click(Sender: TObject); procedure Open1Click(Sender: TObject); procedure Exit1Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; lg: boolean; i:Integer; h:Integer; x,y:Integer; Giatoc: Array[1..1000] of Integer; implementation {$R *.dfm} procedure RotateText(Canvas:TCanvas; X,Y: Integer; Text:Pchar; Angle: Integer); var LogRec:TLOGFONT; OldFont,NewFont:HFONT; begin GetObject(Canvas.Font.Handle,SizeOf(LogRec),@LogRec); LogRec.lfEscapement:=Angle*10; LogRec.lfOutPrecision:=OUT_TT_ONLY_PRECIS; StrPCopy(LogRec.lfFaceName,Canvas.Font.Name); NewFont:=CreateFontIndirect(LogRec); OldFont:=SelectObject(Canvas.Handle,NewFont); Canvas.TextOut(X,Y,Text); NewFont:=SelectObject(Canvas.Handle,OldFont); DeleteObject(NewFont); end; function doix(bienx:integer):integer; begin doix:=20+bienx*20; end; function doiy(bieny:integer):integer; begin doiy:=420-bieny*20; end; procedure TForm1.Button1Click(Sender: TObject); begin if h=0 then begin h:=1; Button1.Font.Name:='Vni-Times'; Button1.Font.Style:=[fsBold]; Button1.Font.Size:=12; Button1.Caption:='&Döøng'; Timer1.Enabled:=true; end else begin h:=0; Button1.Font.Name:='Vni-Times'; Button1.Font.Style:=[fsBold]; Button1.Font.Size:=12; Button1.Caption:='&Khôûi ñoäng'; Timer1.Enabled:=False; end; end; procedure TForm1.FormPaint(Sender: TObject); var n:Integer; begin with Paintbox1.Canvas do begin Pen.Color:=ClBlack; Brush.Color:=ClWhite; Rectangle(19,19,641,420); Pen.Color:=ClLtGray; Pen.Style:=psDot; for n:=0 to 20 do begin MoveTo(19,20+n*20); LineTo(650,20+n*20); end; for n:=0 to 30 do begin MoveTo(20+n*20,418); LineTo(20+n*20,19); end; end; Canvas.Font.Name:='VNI-Times'; Canvas.Font.Style:=[fsBold]; Canvas.Font.Size:=12; RotateText(Canvas,25,380,'Gia toác phanh (m/s2)',90); end; procedure TForm1.Open1MeasureItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer); begin Width:=60; Height:=20; end; procedure TForm1.Open1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean); begin ACanvas.Font.Name:='VNI-Times'; ACanvas.Font.Size:=10; if selected then begin ACanvas.Brush.Color:=clGray; ACanvas.Font.Style:=[fsBold]; end else begin Canvas.Brush.Color:=clGray; ACanvas.Font.Style:=[fsBold]; end; ACanvas.FillRect(ARect); ACanvas.TextOut(ARect.Left,Arect.Top,'Môû taäp tin!'); end; procedure TForm1.Exit1MeasureItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer); begin Width:=40; Height:=20; end; procedure TForm1.Exit1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean); begin ACanvas.Font.Name:='VNI-Times'; ACanvas.Font.Size:=10; if selected then begin ACanvas.Brush.Color:=clGray; ACanvas.Font.Style:=[fsBold]; end else begin Canvas.Brush.Color:=clGray; ACanvas.Font.Style:=[fsBold]; end; ACanvas.FillRect(ARect); ACanvas.TextOut(ARect.Left,Arect.Top,'Löu laïi'); end; procedure TForm1.help1MeasureItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer); begin Width:=20; Height:=20; end; procedure TForm1.help1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean); begin ACanvas.Font.Name:='VNI-Times'; ACanvas.Font.Size:=10; if selected then begin ACanvas.Brush.Color:=clLtGray; ACanvas.Font.Style:=[fsBold]; end else begin Canvas.Brush.Color:=clBtnFace; ACanvas.Font.Style:=[fsBold]; end; ACanvas.FillRect(ARect); ACanvas.TextOut(ARect.Left,Arect.Top,'Trôï giuùp'); end; procedure TForm1.File1MeasureItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer); begin Width:=20; Height:=20; end; procedure TForm1.File1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean); begin ACanvas.Font.Name:='VNI-Times'; ACanvas.Font.Size:=10; if selected then begin ACanvas.Brush.Color:=clLtGray; ACanvas.Font.Style:=[fsBold]; end else begin Canvas.Brush.Color:=clGray; ACanvas.Font.Style:=[fsBold]; end; ACanvas.FillRect(ARect); ACanvas.TextOut(ARect.Left,Arect.Top,'File'); end; procedure TForm1.About1MeasureItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer); begin Width:=60; Height:=20; end; procedure TForm1.About1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean); begin ACanvas.Font.Name:='VNI-Times'; ACanvas.Font.Size:=10; if selected then begin ACanvas.Brush.Color:=clHighlight; ACanvas.Font.Style:=[fsBold]; end else begin Canvas.Brush.Color:=clBtnFace; ACanvas.Font.Style:=[fsBold]; end; ACanvas.FillRect(ARect); ACanvas.TextOut(ARect.Left,Arect.Top,'Giôùi thieäu'); end; procedure TForm1.N1MeasureItem(Sender: TObject; ACanvas: TCanvas; var Width, Height: Integer); begin Width:=40; Height:=20; end; procedure TForm1.N1DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean); begin ACanvas.Font.Name:='VNI-Times'; ACanvas.Font.Size:=10; if selected then begin ACanvas.Brush.Color:=clGray; ACanvas.Font.Style:=[fsBold]; end else begin Canvas.Brush.Color:=clGray; ACanvas.Font.Style:=[fsBold]; end; ACanvas.FillRect(ARect); ACanvas.TextOut(ARect.Left,Arect.Top,'Thoaùt'); end; procedure TForm1.N1Click(Sender: TObject); begin Close; end; procedure TForm1.Open1Click(Sender: TObject); begin if OpenDialog1.Execute then begin end; end; procedure TForm1.Exit1Click(Sender: TObject); begin with SaveDialog1 do if Execute then begin end; end; procedure TForm1.Button4Click(Sender: TObject); begin Close; end; procedure TForm1.Button2Click(Sender: TObject); begin Print; end; procedure TForm1.Timer1Timer(Sender: TObject); begin With PaintBox1.Canvas do if i<32then begin Pen.Color:=clRed; Pen.Style:=psSolid; MoveTo(x,y); x:=doix(i); y:=doiy(3); LineTo(x,y); Edit2.Text:=inttostr(i); Edit3.Text:=inttostr(i); Edit4.Text:=inttostr(i); Edit6.Text:=inttostr(i); Edit7.Text:=inttostr(i); Edit8.Text:=inttostr(i); i:=i+1; end else begin Pen.Color:=clLtGray; Pen.Style:=psDot; LineTo(doix(0),doiy(3)); x:=doix(i-32); y:=doiy(3); LineTo(x,y); i:=0; end; end; procedure TForm1.FormCreate(Sender: TObject); begin Edit2.Text:='0'; Edit3.Text:='0'; Edit4.Text:='0'; Edit6.Text:='0'; Edit7.Text:='0'; Edit8.Text:='0'; Timer1.Interval:=100; Timer1.Enabled:=False; x:=20;y:=360; end; procedure TForm1.Button3Click(Sender: TObject); begin Timer1.Enabled:=False; Edit2.Text:='0'; Edit3.Text:='0'; Edit4.Text:='0'; Edit6.Text:='0'; Edit7.Text:='0'; Edit8.Text:='0'; With PaintBox1.Canvas do begin Pen.Color:=clLtGray; Pen.Style:=psDot; LineTo(doix(0),doiy(3)); end; end; procedure dem; var hrFreq, hrT1, hrT2, T:int64; cu1,cu2,cu3,loivao1,loivao2,loivao3 :WordBool; begin bodem1:=0; bodem2:=0; bodem3:=0; cu1:=getportbit(ba+1,5); cu2:=getportbit(ba+1,4); cu3:=getportbit(ba+1,3); PerformanceFrequency(hrFreq); PerformanceCounter(hrT1); if hrFreq>0 then repeat loivao1:=getportbit(ba+1,5); loivao2:=getportbit(ba+1,4); loivao3:=getportbit(ba+1,3); if loivao1>cu1 then bodem1:=bodem1+1; if loivao2>cu2 then bodem2:=bodem2+1; if loivao3>cu3 then bodem3:=bodem3+1; cu1:=loivao1; cu2:=loivao2; cu3:=loivao3; PerformanceCounter(hrT2); T:=(hrT2-hrT1)*1000000 div hrFreq; // microsecond until T > 100000 ; end; procedure tangap1; begin setportbit(ba,1); setportbit(ba,2); end; procedure tangap2; begin setportbit(ba,8); setportbit(ba,16); end; procedure tangap3; begin setportbit(ba,32); setportbit(ba,64); end; procedure giuap1; begin ClrPortBit(ba,1); ClrPortBit(ba,2); end; procedure giuap2; begin ClrPortBit(ba,8); ClrPortBit(ba,16); end; procedure giuap3; begin ClrPortBit(ba,32); ClrPortBit(ba,64); end; procedure giamap1; begin setportbit(ba,1); ClrPortBit(ba,2); end; procedure giamap2; begin setportbit(ba,8); ClrPortBit(ba,16); end; procedure giamap3; begin setportbit(ba,32); ClrPortBit(ba,64); end; procedure mainprog; var vb1t,vb2t,vb3t :int64; vb1s,vb2s,vb3s :int64; vb1,vb2,vb3,vx :real; hst1.hst2,hst3:real; begin dem; vb1t:=bodem1; vb2t:=bodem2; vb3t:=bodem3; delayms(100); dem; vb1s:=bodem1; vb2s:=bodem2; vb3s:=bodem3; vb1:=((vb1s-vb1t)/44)*0.4; vb2:=((vb2s-vb2t)/44)*0.4; vb3:=((vb3s-vb3t)/44)*0.4; vx:=(vb1+vb2+vb3)/3; hst1:=(vx-vb1)/vx; hst2:=(vx-vb2)/vx; hst3:=(vx-vb3)/vx; if hst1 <0.2 then tangap1 else if hst1=0.2 then giuap1 else giamap1; if hst2 <0.2 then tangap2 else if hst2=0.2 then giuap2 else giamap2; if hst3 <0.2 then tangap3 else if hst3=0.2 then giuap3 else giamap3; end; end. PhÇn V c«ng nghÖ gia c«ng chi tiÕt xilanh phanh sau I. Gia c«ng xi lanh phanh sau 1. Ph©n tÝch chøc n¨ng vµ ®iÒu kiÖn lµm viÖc cña chi tiÕt Xilanh phanh b¸nh xe lµ mét chi tiÕt quan träng cña hÖ thèng phanh. Khi lµm viÖc mÆt trong xilanh chÞu sù di tr­ît cña piston. Xilanh cã t¸c dông dÉn h­íng cho piston, ®ång thêi cïng víi piston t¹o thµnh buång ¸p suÊt, do vËy khi gia c«ng ®ßi hái chñ yÕu mÆt trong lßng xilanh ph¶i cã ®é chÝnh x¸c cao.Cßn c¸c bÒ mÆt kh¸c kh«ng yªu cÇu ®é chÝnh x¸c cao. Chi tiÕt ra c«ng 3. Ph­¬ng ph¸p chÕ t¹o ph«i Do chi tiÕt ®­îc s¶n suÊt hµng lo¹t víi sè l­îng lín nªn cã thÓ chän ph­¬ng ph¸p chÕ t¹o ph«i lµ ®óc trong khu«n c¸t. C«ng nghÖ gia c«ng xilanh bao gåm mét sè nguyªn c«ng chÝnh sau: Nguyªn c«ng 1: TiÖn phÇn trô ®Çu dÇu vµo Nguyªn c«ng 2: TiÖn hai ®Çu xilanh Nguyªn c«ng 3: KhoÐt lßng xilanh Nguyªn c«ng 4: Doa lßng xi lanh Nguyªn c«ng 5: Khoan, tar« ®­êng dÇu vµo, lç x¶ khÝ, lç b¾t vÝt Nguyªn c«ng 6: KiÓm tra ®é c«n, « van lßng xilanh 4. TÝnh to¸n c¸c chÕ ®é c¾t cña tõng nguyªn c«ng Nguyªn c«ng 1: TiÖn phÇn trô ®Çu dÇu vµo (Nguyªn c«ng t¹o mÆt ph¼ng tinh ®Ó gia c«ng c¸c mÆt kh¸c) · §Þnh vÞ vµ kÑp chÆt Chi tiÕt ®­îc ®Þnh vÞ trªn mÆt ph¼ng vµ kÑp chÆt b»ng hai ®ßn kÑp. Chi tiÕt ®­îc ®Þnh vÞ 6 bËc tù do. Nguyªn c«ng ®­îc thùc hiÖn trªn doa ngang nh­ vËy chi tiÕt sÏ cè ®Þnh, dao sÏ thùc hiÖn dÞch chuyÓn ®Ó lÊy kÝch th­íc. · Tra l­îng d­ gia c«ng - KÝch th­íc cÇn ®¹t ë nguyªn c«ng nµy: Ø30±0,1 , Rz = 80mm. Tra theo b¶ng 5 TK§ACNCTM, t­¬ng øng víi cÊp chÝnh x¸c 3. Nguyªn c«ng nµy ®­îc thùc hiÖn b»ng 1b­íc tiÖn th«. TiÖn víi l­îng d­ lµ Z = 2 (mm). · Tra chÕ ®é c¾t - Chän m¸y : Chän m¸y doa ngang v¹n n¨ng 262. + C«ng suÊt m¸y : N = 7 (KW). + HiÖu suÊt m¸y : h = 0,75. - Chän dao. Ta chän dao tiÖn mÆt ®Çu(16*20*25*150*90) cã g¾n m¶nh hîp kim cøng BK6. + Chän chiÒu s©u c¾t t = 2(mm) + L­îng ch¹y dao : Tra theo b¶ng (5-12) STCNCTM T2; S = 0,2 (mm/vßng). + Tèc ®é c¾t V : V=95(mm/p) Tèc ®é c¾t theo tÝnh to¸n lµ Vt = 95 (mm / phót ) Sè vßng quay cña trôc chÝnh theo tÝnh to¸n lµ : Theo c«ng thøc Chän sè vßng quay theo tiªu chuÈn cña m¸y lµ nm = 200 (v/p). VËy tèc ®é thùc tÕ lµ : Vt = Nguyªn c«ng 2: TiÖn hai ®Çu xilanh · §Þnh vÞ vµ kÑp chÆt Chi tiÕt ®­îc ®Þnh vÞ trªn mÆt ph¼ng cã lç ®ång thêi cã chèt t× chèng soay.chi tiÕt ®­îc kÑp chÆt b»ng ®ßn kÑp. Chi tiÕt ®­îc ®Þnh vÞ 6 bËc tù do. Nguyªn c«ng ®­îc thùc hiÖn trªn doa ngang nh­ vËy chi tiÕt sÏ cè ®Þnh, dao sÏ thùc hiÖn dÞch chuyÓn ®Ó lÊy kÝch th­íc + Chän dao : Dao tiÖn r·nh ®Þnh h×nh cã g¾n m¶nh hîp kim cøng ChÕ ®é c¾t ChiÒu s©u c¾t : t = 2 mm L­îng ch¹y dao S0 = 0,25 (mm/vßng) VËn tèc c¾t Vb = 70 (m/ph) Þ VËn tèc c¾t tÝnh to¸n Vtt = Vb * k1*k2*k3 (m/ph) Trong ®ã : k1, k2, k3 lµ c¸c hÖ sè ®iÒu chØnh vËn tèc c¾t k1 = 1 k2 = 0,85 k3 = 1 Vtt = 70*1*0,85*1 = 59,5 (m/ph) TÝnh tèc ®é quay trôc chÝnh : nt = nt = = 331 (v/ph) Chän sè vßng quay theo m¸y nm = 350 (v/ph) TÝnh l¹i vËn tèc c¾t V = = (m/ph) Nguyªn c«ng 3: KhoÐt lç F 20 · §Þnh vÞ vµ kÑp chÆt Chi tiÕt ®­îc ®Þnh vÞ trªn mÆt ph¼ng cã lç ®ång thêi cã chèt t× chèng soay.chi tiÕt ®­îc kÑp chÆt b»ng ®ßn kÑp. Chi tiÕt ®­îc ®Þnh vÞ 6 bËc tù do. Nguyªn c«ng ®­îc thùc hiÖn trªn doa ngang nh­ vËy chi tiÕt sÏ cè ®Þnh, dao sÏ thùc hiÖn dÞch chuyÓn ®Ó lÊy kÝch th­íc · Tra chÕ ®é c¾t - Chän m¸y. Chän m¸y doa ngang 262. + C«ng suÊt m¸y N = 7 (KW). - Chän dao khoÐt. Chän mòi khoÐt liÒn khèi thÐp giã, theo b¶ng (4-47) STCNCTM T1, chän dao cã c¸c th«ng sè : D = 19,8(mm); L = 180 (mm); l = 100 (mm). ChiÒu s©u c¾t t = 4,8/2 = 2,04mm) l­îng ch¹y dao vßng S = 0,7 (mm/vßng), (b¶ng 5-107) Tèc ®é c¾t lµ V = 26 (m/phót) . (Theo b¶ng 5-106 Sæ tay c«ng nghÖ chÕ t¹o m¸y tËp II ) Theo c«ng thøc tÝnh to¸n ta cã . Vt = Vb.k1.k2. Trong ®ã : Theo b¶ng 5-109 Sæ tay c«ng nghÖ chÕ t¹o m¸y tËp II ta cã . k1 lµ hÖ sè phô thuéc vµo chu kú tuæi bÒn cña dao k1 = 1,19. k2 lµ hÖ sè phô thuéc vµp tr¹ng th¸i bÒ mÆt gia c«ng k2 = 1. vËy Vt = 26.1,19.1 = 30,94 (m/phót) X¸c ®Þnh sè vßng quay theo tÝnh to¸n cña trôc chÝnh theo c«ng thøc sau : nt = Ta chän theo tiªu chuÈn cña m¸y n = 480 (v/phót). Vt = Nguyªn c«ng 4: Doa lßng xilanh F 20 · §Þnh vÞ vµ kÑp chÆt Chi tiÕt ®­îc ®Þnh vÞ trªn mÆt ph¼ng cã lç ®ång thêi cã chèt t× chèng soay.chi tiÕt ®­îc kÑp chÆt b»ng ®ßn kÑp. Chi tiÕt ®­îc ®Þnh vÞ 6 bËc tù do. Nguyªn c«ng ®­îc thùc hiÖn trªn doa ngang nh­ vËy chi tiÕt sÏ cè ®Þnh, dao sÏ thùc hiÖn dÞch chuyÓn ®Ó lÊy kÝch th­íc Ta tiÕn hµnh doa trªn m¸y doa ngang262. C¸c th«ng sè khi doa sÏ lµ : - Chän dao : Chän dao liÒn khèi ®u«i c«n (theo b¶ng 4-47 STCNCTM T1 chän ) d = 20; L = 138 (mm); l = 40 (mm). ChiÒu s©u c¾t t = 0,2/2 = 0,1 (mm) L­îng ch¹y dao theo b¶ng (5-112) STCNCTM T2 lµ S = 2 (mm/vßng). Theo b¶ng (5-114) ta cã Vb = 7,3 (m/p) Tèc ®é c¾t : Theo c«ng thøc tÝnh to¸n tèc ®é c¾t ta cã : Vt = Vb.k1 k1 lµ hÖ sè ®iÒu chØnh tèc ®é c¾t theo chu kú bÒn cña mòi khoan k1 = 0,85 VËy ta cã Vt = 7,3.0,81 = 5,913 (m/p). Tèc ®é trôc quay sÏ lµ : nt = Chän theo tiªu chuÈn cña m¸y lµ n = 120 (v/p). Vt = Nguyªn c«ng 5: Gia c«ng lç dÇu, x¶ khÝ vµ lç b¾t vÝt · §Þnh vÞ vµ kÑp chÆt. Chi tiÕt ®­îc ®Þnh vÞ b»ng chèt kiÓu bul«ng ®ång thêi cã chèt t× chèng soay.chi tiÕt ®­îc kÑp chÆt b»ng ®ai èc. Chi tiÕt ®­îc ®Þnh vÞ 6 bËc tù do. Nguyªn c«ng ®­îc thùc hiÖn trªn m¸y khoan cÇn · Khoan - Chän m¸y khoan 2A135. + C«ng suÊt m¸y : N = 6 kW. + HiÖu suÊt : h = 0,8. Gia c«ng lç dÇu f10 · Tra l­îng d­ + Khoan:víi l­îng d­ 1,5(mm) mçi bªn · Chän mòi khoan Chän mòi khoan ruét gµ, ®u«i c«n víi ®­êng kÝnh D = 8,5 (mm). ChiÒu dµi mòi khoan : L = 225 (mm). ChiÒu dµi lµm viÖc cña mòi khoan : L = 175 (mm). VËt liÖu mòi khoan lµ : ThÐp giã P18. · Tra chÕ ®é c¾t ChiÒu s©u c¾t : t = 8,5/2 = 4,25 (mm). Theo b¶ng (5-89) STCNCTM T2 cã l­îng ch¹y dao S = 0,26 (mm/vßng). Theo b¶ng (5-90) STCNCTM T2 cã tèc ®é c¾t : Vb = 35,5 (m/vßng). Tèc ®é c¾t : Theo c«ng thøc tÝnh to¸n tèc ®é c¾t ta cã : Vt = Vb.k1 k1 lµ hÖ sè ®iÒu chØnh tèc ®é c¾t theo chu kú bÒn cña mòi khoan k1 = 1. VËy ta cã Vt = 35,5.1 = 35,5 (m/phót). X¸c ®Þnh sè vßng quay cña trôc chÝnh. Theo c«ng thøc nt = Chän tèc ®é theo m¸y tiªu chuÈn n = 995(v/p). Vt = Khoan lç Ø 2 Khoan lç 7 · Chän mòi khoan Chän mòi khoan ruét gµ, ®u«i c«n víi ®­êng kÝnh D = 6 (mm). ChiÒu dµi mòi khoan : L = 225 (mm). ChiÒu dµi lµm viÖc cña mòi khoan : L = 175 (mm). VËt liÖu mòi khoan lµ : ThÐp giã P18. · Tra chÕ ®é c¾t ChiÒu s©u c¾t : t = 6/2 =3 (mm). Theo b¶ng (5-89) STCNCTM T2 cã l­îng ch¹y dao S = 0,26 (mm/vßng). Theo b¶ng (5-90) STCNCTM T2 cã tèc ®é c¾t : Vb = 35,5 (m/vßng). Tèc ®é c¾t : Theo c«ng thøc tÝnh to¸n tèc ®é c¾t ta cã : Vt = Vb.k1 k1 lµ hÖ sè ®iÒu chØnh tèc ®é c¾t theo chu kú bÒn cña mòi khoan k1 = 1. VËy ta cã Vt = 35,5.1 = 35,5 (m/phót). X¸c ®Þnh sè vßng quay cña trôc chÝnh. Theo c«ng thøc nt = Chän tèc ®é theo m¸y tiªu chuÈn n = 995(v/p). Vt = Khoan F6 · Chän mòi khoan + Chän mòi khoan ruét gµ, ®u«i trô, theo b¶ng (4-2) STCNCTM T1 ®­êng kÝnh mòi khoan lµ : d = 4 ; L = 85 (mm); l = 30 (m m) . Chän vËt liÖu cho mòi khoan lµ thÐp giã P18. · Tra chÕ ®é c¾t ChiÒu s©u c¾t : t = 4/2 = 2 (mm). L­îng ch¹y dao tra theo b¶ng (5-89) STCNCTM T2lµ S = 0,13 (mm/vßng). Theo b¶ng (5-90) tra ®­îc Vb = 48 (mm/phót) Tèc ®é c¾t : Theo c«ng thøc tÝnh to¸n tèc ®é c¾t ta cã : Vt = Vb.kx VËy ta cã Vt = 48.1,19 = 51,17 (m/phót). X¸c ®Þnh sè vßng quay cña trôc chÝnh. Theo c«ng thøc nt = Chän tèc ®é theo m¸y tiªu chuÈn n = 1360(v/p). Vt = Nguyªn c«ng 6: KiÓm tra KiÓm tra ®é c«n, ®é «van cña lßng xilanh. Yªu cÇu ®é c«n kh«ng qu¸ 0,1 mm. ®é «van kh«ng qu¸ 0,1 mm.

Các file đính kèm theo tài liệu này:

  • docphan chinh.doc
  • dwgBan0Noidunghthietke.dwg
  • dwgBan10Ncong.dwg
  • dwgBan11MhinhABS.dwg
  • dwgBan12SodoNguyenli.dwg
  • dwgBan13SodoDonghoc.dwg
  • dwgBan14So®omachdien.dwg
  • dwgBan1Guocphanh.dwg
  • dwgBan2Cocauphanh.dwg
  • dwgBan3PaTroluc.dwg
  • dwgBan4Bautroluc.dwg
  • dwgBan5PanABS.dwg
  • dwgBan6NliABS.dwg
  • dwgBan7TrangthaiABS.dwg
  • dwgBan8§iendk.dwg
  • dwgBan9Ctiet.dwg
  • docBia DATN.doc
  • docMucluc.doc
  • docs.doc
  • pdfTM22-5.pdf