Меню

Система питания сат 3116



Автобусный дизель Cat 3116

Компания Caterpillar поставляет в нашу страну дизели для установки на автобусы и грузовые автомобили с 1994 г. Больше 1 000 автобусов с двигателем Cat 3116 успешно работают во многих городах России, а некоторые из них прошли 600 тыс. км без какого-либо ремонта. Только в 2001 г. свыше 500 автобусов ЛиАЗ-5256 были оснащены этим мотором.

Cat 3116

Шестицилиндровый рядный дизель 3116 рабочим объемом 6,6 л был выбран из гаммы двигателей компании Caterpillar для установки на российские автобусы как мотор, уже на стадии проектирования рассчитанный на особо тяжелые условия работы. Кстати, создавался он по заказу и при участии специалистов концерна General Motors для грузовиков и автобусов крупнейшего автостроителя мира. Под особо тяжелыми условиями подразумевалась продолжительная работа с максимальной нагрузкой в «рваном» режиме городского движения, когда частые остановки автобуса сопровождаются быстрым набором скорости. При этом тепловой режим двигателя постоянно является напряженным.

К важнейшим требованиям, поставленным перед конструкторами, можно отнести достижение максимальной эластичности (или приспособляемости), когда максимум крутящего момента достигается на малых и средних оборотах коленвала, в сочетании с минимальными массой двигателя и объемом его технического обслуживания. Долговечность дизеля до капитального ремонта должна была составлять не менее 900 тыс. км при установке его на грузовой автомобиль средней грузоподъемности или автобус.

Следящие ролики толкателя

Основные детали мотора носят явный отпечаток перечисленных требований. Блок цилиндров представляет собой очень прочную конструкцию, отлитую из легированного чугуна. Удлиненная нижняя часть картера, а также увеличенная толщина поперечных перемычек, передней и задней стенок обеспечивают длительную работу при перегреве без какой-либо деформации. Коленчатый вал из кованой стали с индивидуальной закалкой отличает значительно больший, чем у многих дизелей-конкурентов, диаметр коренных опор, что снизило износ и повысило надежность мотора, а также и его долговечность.

Cat 3116 комплектуют компактными насос-форсунками, изготовленными с высокой точностью. Отсутствие наружных топливопроводов высокого давления повысило надежность дизеля и точность регулирования режима и дозы впрыскивания топлива.

Форсунки размещаются в специальных латунных втулках, которые изолируют их от выхлопных газов и охлаждающей жидкости. Это решение также повышает долговечность мотора и облегчает его обслуживание.
Охлажденные маслом поршни снабжены эксцентричной выточкой, изготавливают их из алюминия. Они разработаны специально для тяжелых условий эксплуатации и комплектуются тремя кольцами, из которых два компрессионные и одно маслосъемное.

форсунка

Более мощные модификации дизеля (250 и даже 275 л.с.) снабжаются поршнями, состоящими из двух частей. Верхняя часть (или днище) изготавливается из кованой стали, а юбка отливается из алюминиевого сплава. Прочность такого комбинированного поршня выше, а его конструкция полностью исключает возможность появления трещин на закраинах, иногда возникающих на алюминиевых поршнях при высоких внутренних температурах, сопровождающих особо тяжелые режимы эксплуатации автомобиля.

На моторе применяют шатуны из кованой стали со скошенной верхней частью. Увеличенные контактные поверхности подшипников скольжения способствуют повышению долговечности, поскольку снижают износ. Замену шатунов производят через снятую головку дизеля.

В газораспределительном механизме дизеля конструкторы применили следящие ролики, которые обкатывают кулачки распредвала, снижая трение, износ и повышая экономичность. Расположение распредвала в средней части блока цилиндров позволило укоротить штанги привода клапанов, уменьшить инерционные нагрузки механизма. В результате даже на больших оборотах время открытия и закрытия клапанов соблюдается точно. Боковые крышки обеспечивают легкий доступ к следящим роликам, осмотр кулачков и замену штанг без демонтажа распредвала.

Малая масса дизеля модели 3116, составляющая всего 540 кг, является дополнительным его достоинством с точки зрения размещения мотора в задней части автобуса. Диапазон возможных исполнений по мощности выглядит следующим образом: 170, 185, 200, 215, 230, 250 и 275 л.с. Двигатель, выпускаемый на бельгийском моторном заводе компании, отлично зарекомендовал себя на автобусах, эксплуатирующихся в Москве, Московской обл., Санкт-Петербурге, Перми, Тольятти, Сургуте и Ульяновске.

Дальнейшее развитие конструкции мотора связано с требованиями норм Euro-3, что недостижимо, с точки зрения специалистов компании, без электронного управления впрыском. Недалек тот день, когда дизель 3116 уступит место на конвейере двигателю модели Cat 3126В, также рекомендованному к установке на российские автобусы. Новый дизель будет поставляться с диапазоном по мощности от 175 до 330 л.с. и по максимальному крутящему моменту от 569 до 1 166 Нм.

Шатуны

Рабочий объем нового мотора увеличен до 7,2 л. Его 32-битовый электронный модуль и 24 МГц процессор в составе электрогидравлической системы управления дизелем, включающей взаимодействие с АБС, системой управления гидромеханической трансмиссией и тормозом-замедлителем, облегчают проведение диагностики, тем самым, сокращая время, отводимое на техническое обслуживание и ремонт силового агрегата. Поставки первых партий дизелей Cat 3126 планируются уже в 2002 г.

То обстоятельство, что ЛиАЗу потребовалось четыре года на адаптацию зарубежного дизеля к своему автобусу, наводит на мысль, что Caterpillar оставил российского покупателя без инженерной поддержки. Если и Cat 3126 будет приспосабливаться к автобусу столько времени, то как бы и он не оказался устаревшим.

Источник

Система питания сат 3116

ЛиАЗ-5256. СИСТЕМА ПИТАНИЯ ТОПЛИВОМ двигателя CAT 3116

Топливный насос низкого давления 3 (рис 3-9), расположенный в одном блоке с регулятором частоты вращения, подает топливо из бака

11 через электромагнитный клапан 13, фильтр грубой очистки 14 (при наличии), влагоотделитель — фильтр грубой очистки 15 и сетчатый фильтр 1, встроенный в топливопровод Электромагнитный клапан 13 служит для отсечения подачи топлива при останове двигателя Из топливного насоса топливо поступает в фильтр тонкой очистки 6, а затем в отверстие в головке блока 8 Это отверстие выходит в топливный канал в головке блока, который подходит ко всем форсункам 12, обеспечивая непрерывный приток топлива к ним В форсунку встроен насос высокого давления, впрыскивающий топливо в камеру сгорания в заданный момент времени Избыточное топливо отводится из головки блока и перед возвратом в топливный бак 11 проходит через дроссель 9, регулирующий давление, и обратный клапан 10 Дроссель 9 находится в сливном топливопроводе, он создает в топливном канале головки блока такое давление потока топлива, которое необходимо для работы двигателя на малой частоте вращения холостого хода Обратный клапан 10 не позволяет топливу стекать из головки блока, когда двигатель выключен

Если на вход топливной системы попал воздух, то с помощью ручного подкачивающего насоса 5 можно перед пуском двигателя заполнить топливом из бака фильтр и топливный канал в головке блока Воздух из топливопроводов и других узлов при этом удаляется и на-правляется обратно в топливный бак. Ручной топливоподкачивающий насос может располагаться на левой стороне двигателя у топливного фильтра (рис. 3-10, поз. 1) или в передней части двигателя около шкива (см. рис. 3-2, поз. 2).

В варианте, показанном на рис. 3-10, ручной насос имеет выключатель с флажком 4. Насос 2, показанный на рис. 3-2, не имеет выключателя. О пользовании насосом см. главу 1, раздел «Пуск двигателя из мотоотсека».

Читайте также:  Производитель здоровье через питание

Расположение элементов системы питания топливом на двигателе показано на рис. 3-11.

Рис. 3-9. Схема системы питания топливом:
1 — сетчатый фильтр, 2 — впускной обратный клапан, 3 — топливный насос низкого давления, 4 — выпускной обратный клапан, 5 — ручной топливоподкачивающий насос,
6 — фильтр тонкой очистки топлива, 7 — перепускной клапан, 8 — головка блока,
9 — дроссель (регулятор давления), 10 — обратный клапан, 11 — топливный бак, 12 — топливная форсунка со встроенным насосом высокого давления, 13 — отсечной электромагнитный клапан, 14 — фильтр грубой очистки (при наличии), 15 — влагоотделитель-фильтр грубой очистки

Рис. 3-10. Ручной топливоподкачивающий насос:
1 — ручной топливоподкачивающий насос; 2 — фильтр тонкой очистки топлива; 3, 5 — фиксаторы; 4 — флажок выключателя; 6 — ручка насоса

Рис. 3-11. Расположение элементов системы питания топливом на двигателе:

1 — заборный фланец топливного насоса низкого давления; 2 — топливный насос низкого давления (в одном блоке с регулятором частоты вращения); 3 — основание фильтра тонкой очистки топлива; 4 — штуцер для измерения давления отфильтрованного топлива; 5 — трубопровод от основания фильтра тонкой очистки топлива к каналу в головке блока; 6 — фильтр тонкой очистки топлива; 7 — перепускной клапан фильтра тонкой очистки топлива; 8 — перепускной шланг; 9 — трубопровод от топливного насоса низкого давления к основанию фильтра тонкой очистки топлива; 10 — головка блока; 11 — дроссель (регулятор давления);
12 — обратный клапан; 13 — выпускное отверстие для слива остатков топлива в бак; 14 — трубопровод от топливного канала в головке блока к обратному клапану слива топлива

Источник

Система питания сат 3116

«.$strColumnName]; > > if($strUpdate!=»») $strUpdate = substr($strUpdate, 2); > return $strUpdate; > function Insert($table, $arFields, $error_position=»», $DEBUG=false, $EXIST_ID=»», $ignore_errors=false) < if(is_array($arFields)) < $str1 = ""; $str2 = ""; foreach($arFields as $field =>$value) < $str1 .= $field.", "; if(strlen($value) 0) < $strSql = "INSERT INTO ".$table."(ID,".$str1.") VALUES ('".$this->ForSql($EXIST_ID).»‘,».$str2.»)»; > else < $strSql = "INSERT INTO ".$table."(".$str1.") VALUES (".$str2.")"; >if ($DEBUG) echo «
«.$strSql.»
«; $this->Query($strSql, $ignore_errors, $error_position); if (strlen($EXIST_ID)>0) < $ID = $EXIST_ID; >else < $ID = $this->LastID(); > return $ID; > else return false; > function Update($table, $arFields, $WHERE=»», $error_position=»», $DEBUG=false, $ignore_errors=false, $additional_check=true) < $rows = 0; if(is_array($arFields)) < $str = ""; foreach($arFields as $field =>$value) < if (strlen($value) Query($strSql, $ignore_errors, $error_position); $rows = $w->AffectedRowsCount(); if ($DEBUG) echo «affected_rows = «.$rows.»
«; if (intval($rows) Query(«SELECT ‘x’ FROM «.$table.» «.$WHERE, $ignore_errors, $error_position); if ($w->Fetch()) $rows = $w->SelectedRowsCount(); if ($DEBUG) echo «num_rows = «.$rows.»
«; > > return $rows; > function Add($tablename, $arFields, $arCLOBFields = Array(), $strFileDir=»», $ignore_errors=false, $error_position=»») < global $DB; $arInsert = $DB->PrepareInsert($tablename, $arFields, $strFileDir); $strSql = «INSERT INTO «.$tablename.»(«.$arInsert[0].») «. «VALUES(«.$arInsert[1].»)»; //echo $strSql.» «; //die(); $DB->Query($strSql, $ignore_errors, $error_position); return $DB->LastID(); > function ForSql($strValue, $iMaxLength=0) < if(!defined("BX_USE_ESCAPE_FUNC")) < if(function_exists("mysql_real_escape_string")) define("BX_USE_ESCAPE_FUNC", 1); else define("BX_USE_ESCAPE_FUNC", 2); >if($iMaxLength>0) $strValue = substr($strValue, 0, $iMaxLength); if(BX_USE_ESCAPE_FUNC==1) < if(!is_object($this) || !$this->db_Conn) < global $DB; $DB->DoConnect(); return mysql_real_escape_string($strValue, $DB->db_Conn); > else < $this->DoConnect(); return mysql_real_escape_string($strValue, $this->db_Conn); > > elseif(BX_USE_ESCAPE_FUNC==2) return mysql_escape_string($strValue); //unreachable return str_replace(«‘», «\'», str_replace(«\\», «\\\\», $strValue)); > function ForSqlLike($strValue, $iMaxLength=0) < if(!defined("BX_USE_ESCAPE_FUNC")) < if(function_exists("mysql_real_escape_string")) define("BX_USE_ESCAPE_FUNC", 1); elseif(BX_USE_ESCAPE_FUNC==2) define("BX_USE_ESCAPE_FUNC", 2); >if($iMaxLength>0) $strValue = substr($strValue, 0, $iMaxLength); if(BX_USE_ESCAPE_FUNC==1) < if(!is_object($this) || !$this->db_Conn) < global $DB; $DB->DoConnect(); return mysql_real_escape_string(str_replace(«\\», «\\\\», $strValue), $DB->db_Conn); > else < $this->DoConnect(); return mysql_real_escape_string(str_replace(«\\», «\\\\», $strValue), $this->db_Conn); > > else return mysql_escape_string(str_replace(«\\», «\\\\», $strValue)); //unreachable return str_replace(«‘», «\'», str_replace(«\\», «\\\\\\\\», $strValue)); > function InitTableVarsForEdit($tablename, $strIdentFrom=»str_», $strIdentTo=»str_», $strSuffixFrom=»», $bAlways=false) < $this->DoConnect(); $db_result = mysql_list_fields($this->DBName, $tablename, $this->db_Conn); if($db_result > 0) < $intNumFields = mysql_num_fields($db_result); while(--$intNumFields >= 0) < $strColumnName = mysql_field_name($db_result, $intNumFields); $varnameFrom=$strIdentFrom.$strColumnName.$strSuffixFrom; $varnameTo=$strIdentTo.$strColumnName; global $$varnameFrom, $$varnameTo; if((isset($$varnameFrom) || $bAlways)) < if(is_array($$varnameFrom)) < $$varnameTo = array(); foreach($$varnameFrom as $k=>$v) $$varnameTo[$k] = htmlspecialchars($v); > else $$varnameTo = htmlspecialchars($$varnameFrom); > > > > function &GetTableFieldsList($tablename) < $this->DoConnect(); $arRes = array(); $db_result = mysql_list_fields($this->DBName, $tablename, $this->db_Conn); if ($db_result > 0) < $intNumFields = mysql_num_fields($db_result); while (--$intNumFields >= 0) < $arRes[] = mysql_field_name($db_result, $intNumFields); >> return $arRes; > function LockTables($str) < register_shutdown_function(array(&$this, "UnLockTables")); $this->Query(«LOCK TABLE «.$str); > function UnLockTables() < $this->Query(«UNLOCK TABLES», true); > function Concat() < $str = ""; $ar = func_get_args(); if (is_array($ar)) $str .= implode(" , ", $ar); if (strlen($str)>0) $str = «concat(«.$str.»)»; return $str; > function IsNull($expression, $result) < return "ifnull(".$expression.", ".$result.")"; >function Length($field) < return "length($field)"; >function ToChar($expr, $len=0) < return $expr; >function TableExists($tableName) < $tableName = preg_replace("/[^A-Za-z0-9%_]+/i", "", $tableName); $tableName = Trim($tableName); if (strlen($tableName) Query("SHOW TABLES LIKE '".$this->ForSql($tableName).»‘»); if ($arResult = $dbResult->Fetch()) return True; else return False; > function IndexExists($tableName, $arColumns) < if(!is_array($arColumns) || count($arColumns) Query("SHOW INDEX FROM `".$this->ForSql($tableName).»`», true); if(!$rs) return false; $arIndexes = array(); while($ar = $rs->Fetch()) $arIndexes[$ar[«Key_name»]][$ar[«Seq_in_index»]-1] = $ar[«Column_name»]; $strColumns = implode(«,», $arColumns); foreach($arIndexes as $Key_name => $arKeyColumns) < ksort($arKeyColumns); $strKeyColumns = implode(",", $arKeyColumns); if(substr($strKeyColumns, 0, strlen($strColumns)) === $strColumns) return true; >return false; //echo » «; > > class CDBResult extends CAllDBResult < function CDBResult($res=NULL) < parent::CAllDBResult($res); >//После запроса делает выборку значений полей в массив function Fetch() < if($this->bNavStart || $this->bFromArray) < if(!is_array($this->arResult)) return false; if($tmp=current($this->arResult)) next($this->arResult); return $tmp; > elseif(!$this->arUserMultyFields) < return mysql_fetch_array($this->result, MYSQL_ASSOC); > else < $res = mysql_fetch_array($this->result, MYSQL_ASSOC); if($res) foreach($this->arUserMultyFields as $FIELD_NAME=>$flag) if($res[$FIELD_NAME]) $res[$FIELD_NAME] = unserialize($res[$FIELD_NAME]); return $res; > > function SelectedRowsCount() < if($this->nSelectedCount !== false) return $this->nSelectedCount; return mysql_num_rows($this->result); > function AffectedRowsCount() < global $DB; $DB->DoConnect(); return mysql_affected_rows($DB->db_Conn); > function AffectedRowsCountEx() < if (intval(@mysql_num_rows($this->result))>0) return 0; else return mysql_affected_rows(); > function FieldsCount() < return mysql_num_fields($this->result); > function FieldName($iCol) < return mysql_field_name($this->result, $iCol); > function DBNavStart() < //общее количество записей $this->NavRecordCount = mysql_num_rows($this->result); if($this->NavRecordCount NavShowAll) $this->NavPageSize = $this->NavRecordCount; //Определяем число страниц при указанном размере страниц. Счет начиная с 1 $this->NavPageCount = floor($this->NavRecordCount/$this->NavPageSize); if($this->NavRecordCount % $this->NavPageSize > 0) $this->NavPageCount++; //Номер страницы для отображения. Отсчет начинается с 1 $this->NavPageNomer = ($this->PAGEN PAGEN > $this->NavPageCount? ($_SESSION[$this->SESS_PAGEN] SESS_PAGEN] > $this->NavPageCount? 1:$_SESSION[$this->SESS_PAGEN]):$this->PAGEN); //Смещение от начала RecordSet $NavFirstRecordShow = $this->NavPageSize * ($this->NavPageNomer-1); $NavLastRecordShow = $this->NavPageSize * $this->NavPageNomer; mysql_data_seek($this->result, $NavFirstRecordShow); $temp_arrray = array(); for($i=$NavFirstRecordShow; $i result, MYSQL_ASSOC))) < if($this->arUserMultyFields) foreach($this->arUserMultyFields as $FIELD_NAME=>$flag) if($res[$FIELD_NAME]) $res[$FIELD_NAME] = unserialize($res[$FIELD_NAME]); $temp_arrray[] = $res; > else < break; >> $this->arResult=$temp_arrray; // print_r($temp_arrray); > function NavQuery($strSql, $cnt, $arNavStartParams) < if(is_set($arNavStartParams, "SubstitutionFunction")) < $arNavStartParams["SubstitutionFunction"]($this, $strSql, $cnt, $arNavStartParams); return; >if(is_set($arNavStartParams, «bShowAll»)) $bShowAll = $arNavStartParams[«bShowAll»]; else $bShowAll = true; if(is_set($arNavStartParams, «iNumPage»)) $iNumPage = $arNavStartParams[«iNumPage»]; else $iNumPage = false; if(is_set($arNavStartParams, «bDescPageNumbering»)) $bDescPageNumbering = $arNavStartParams[«bDescPageNumbering»]; else $bDescPageNumbering = false; $this->InitNavStartVars($arNavStartParams); $this->NavRecordCount = $cnt; if($this->NavShowAll) $this->NavPageSize = $this->NavRecordCount; //Определяем число страниц при указанном размере страниц. Счет начиная с 1 $this->NavPageCount = ($this->NavPageSize>0 ? floor($this->NavRecordCount/$this->NavPageSize) : 0); if($bDescPageNumbering) < $makeweight = ($this->NavRecordCount % $this->NavPageSize); if($this->NavPageCount == 0 && $makeweight > 0) $this->NavPageCount = 1; //Номер страницы для отображения. //if($iNumPage===false) // $this->PAGEN = $this->NavPageCount; $this->NavPageNomer = ( $this->PAGEN PAGEN > $this->NavPageCount ? ($_SESSION[$this->SESS_PAGEN] SESS_PAGEN] > $this->NavPageCount ? $this->NavPageCount : $_SESSION[$this->SESS_PAGEN] ) : $this->PAGEN ); //Смещение от начала RecordSet $NavFirstRecordShow = 0; if($this->NavPageNomer != $this->NavPageCount) $NavFirstRecordShow += $makeweight; $NavFirstRecordShow += ($this->NavPageCount — $this->NavPageNomer) * $this->NavPageSize; $NavLastRecordShow = $makeweight + ($this->NavPageCount — $this->NavPageNomer + 1) * $this->NavPageSize; > else < if($this->NavPageSize && ($this->NavRecordCount % $this->NavPageSize > 0)) $this->NavPageCount++; //Номер страницы для отображения. Отсчет начинается с 1 $this->NavPageNomer = ($this->PAGEN PAGEN > $this->NavPageCount? ($_SESSION[$this->SESS_PAGEN] SESS_PAGEN] > $this->NavPageCount? 1:$_SESSION[$this->SESS_PAGEN]):$this->PAGEN); //Смещение от начала RecordSet $NavFirstRecordShow = $this->NavPageSize*($this->NavPageNomer-1); $NavLastRecordShow = $this->NavPageSize*$this->NavPageNomer; > if(!$this->NavShowAll) $strSql .= » LIMIT «.$NavFirstRecordShow.», «.($NavLastRecordShow — $NavFirstRecordShow); global $DB; $res_tmp = $DB->Query($strSql); /* for($i=$NavFirstRecordShow; $i result, MYSQL_ASSOC); */ while($ar = mysql_fetch_array($res_tmp->result, MYSQL_ASSOC)) < if($this->arUserMultyFields) foreach($this->arUserMultyFields as $FIELD_NAME=>$flag) if($ar[$FIELD_NAME]) $ar[$FIELD_NAME] = unserialize($ar[$FIELD_NAME]); $temp_arrray[] = $ar; > $this->result = $res_tmp->result; // added for FieldsCount and other compartibility $this->arResult = $temp_arrray; $this->nSelectedCount = $cnt; $this->bDescPageNumbering = $bDescPageNumbering; $this->bFromLimited=true; > > ?>

Читайте также:  Спорт питание без посредников

Источник