Руководство по системе зарядки GM: Регулируемое управление напряжением (RVC) и управление электропитанием (EPM)

Руководство по системе зарядки GM: Регулируемое управление напряжением (RVC) и управление электропитанием (EPM) Данная статья представляет собой исчерпывающее руководство по устройству, логике работы, поколенческим различиям и диагностике систем зарядки автомобилей концерна General Motors (GM). В материале устранены неточности оригинальной документации, расшифрованы все аббревиатуры, добавлены структурные схемы и подробно описаны все режимы работы и типичные проблемы. 1. Введение в систему управления электропитанием (EPM) В современных автомобилях GM вместо классической схемы зарядки применяется интеллектуальная система EPM (Electrical Power Management — Управление электропитанием). Ее главная задача — непрерывный контроль энергобаланса автомобиля для оптимизации работы генератора, продления срока службы аккумуляторной батареи (АКБ), снижения нагрузки на двигатель и повышения топливной экономичности. Система EPM выполняет три ключевые функции: Мониторинг состояния АКБ: Оценивает степень заряда SOC (State of Charge) и температуру батареи как при включенном, так и при выключенном зажигании. Управление нагрузкой и генератором: Принимает корректирующие меры (например, повышает обороты холостого хода двигателя или изменяет заданное напряжение генератора) для компенсации дефицита энергии. Диагностика и информирование: Выявляет неисправности компонентов зарядной системы и выводит предупреждения для водителя на приборную панель. Алгоритм определения степени заряда (SOC) При выключенном зажигании (Key-Off): Оценка производится по напряжению разомкнутой цепи. Чтобы расчет был точным, автомобиль должен находиться в состоянии покоя (без нагрузок) в течение нескольких часов (обычно от 4 до 8 часов). За это время химические процессы в АКБ стабилизируются, а концентрация кислоты выравнивается. Измерения проводятся каждые 8 часов, а затем трижды каждые 24 часа для отслеживания тока утечки. При включенном зажигании (Key-On): Алгоритм непрерывно пересчитывает SOC на основе интегрирования тока (учитывается входящий и исходящий ампер-часовой баланс), емкости АКБ, начального уровня заряда и температуры. 2. Эволюция систем зарядки GM: Поколения и архитектура Внедрение регулируемого управления напряжением RVC (Regulated Voltage Control) происходило поэтапно. В зависимости от года выпуска и платформы автомобиля, архитектура управления делится на несколько поколений. ...

8 червня 2026 · 13 хвилин · 2584 слів · dimetrius

tcpdump: 50+ Прикладів Команд для Аналізу Трафіку

tcpdump — це найпотужніший інструмент командного рядка для перехоплення та аналізу мережевих пакетів у Linux, macOS та Unix-системах. У цьому посібнику зібрані найнеобхідніші команди та фільтри, які стануть вам у пригоді. 1. Базова Анатомія Команди Перш ніж перейти до прикладів, запам’ятайте базовий синтаксис: 1 tcpdump [опції] [фільтр] 2. Топ-5 Найважливіших Опцій (Майже завжди поруч) Ці прапорці варто використовувати майже завжди, щоб не перевантажити систему та отримати читабельний вивід. 1 2 3 4 5 6 7 # -i [інтерфейс] : Вказати мережевий інтерфейс (наприклад, eth0, enp0s3) # -n : НЕ перетворювати IP-адреси в імена хостів (працює швидше) # -nn : НЕ перетворювати IP-адреси та номери портів у назви сервісів # -X : Показувати вміст пакета в HEX та ASCII # -c [число] : Захопити тільки N пакетів і вийти # -w [файл] : Записати результат у файл (для Wireshark) # -r [файл] : Прочитати pcap-файл 3. Вибір Інтерфейсів Куди саме дивитися? 1 2 3 4 5 6 7 8 9 10 11 # Вивести список доступних інтерфейсів tcpdump -D # Слухати трафік на будь-якому доступному інтерфейсі tcpdump -i any # Слухати на конкретному дротовому інтерфейсі tcpdump -i eth0 # Слухати на loopback (localhost) tcpdump -i lo 4. Фільтрація за Хостами (IP-адресами) Основа аналізу — пошук пакетів між конкретними машинами. ...

7 червня 2026 · 6 хвилин · 1124 слів · dimetrius

Изменение кодировки MySQL-базы с latin1 на cp1251

Описание проблемы Допустим, у Вас есть база данных MySQL с кодировкой latin1. В ней не работает сортировка, русский текст не видно в phpMyAdmin и так далее. Вы хотите перевести её в правильную кодировку — cp1251, в которой фактически и находятся данные в базе. Однако простого способа это сделать нет. Решение Делаем полный бэкап базы. С помощью скрипта fixmyenc, текст которого приводится ниже, выполняем следующее: 1 perl fixmyenc HOST DATABASE USER PASSWORD >fixdb.sql Если не происходит никаких ошибок, создаётся файл fixdb.sql — скрипт на языке sql, которым мы и будем чинить базу. (необязательно) Просматриваем созданный файл. Выполняем содержащиеся в нём SQL-запросы: 1 mysql --host=HOST --database=DATABASE --user=USER --password=PASSWORD <fixdb.sql Если и на этом этапе нет никаких ошибок — значит наша база успешно перекодирована. Если ошибки были — восстанавливаем базу из бэкапа, созданного перед началом работы, и сообщаем об ошибке (с её полным текстом) например на страницу обсуждения. Важно: Скрипт fixmyenc написан так, что при малейшей проблеме останавливает свою работу с ошибкой и не создаёт sql-скрипта. Это сделано специально (и не составляет проблемы, поскольку в самой базе при этом ничего не меняется), однако о каждой такой проблеме тоже очень желательно сообщить. После сообщения об ошибке скрипт будет исправлен и новый текст выложен здесь же. Принцип работы Все полнотекстовые индексы (FULLTEXT KEY) удаляются и в конце пересоздаются. CHARACTER SET и COLLATION самой базы, всех таблиц и всех текстовых полей в таблицах меняются сначала с latin1 на binary, а затем с binary на cp1251_general_ci (если бы мы попытались изменить кодировку напрямую из latin1 в cp1251, то MySQL не нашёл бы символов, соответствующих верхней части latin1, в cp1251, и просто заменил бы их знаками вопроса, в результате чего все русские буквы были бы безвозвратно потеряны). Текст скрипта fixmyenc 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 #!/usr/bin/perl use warnings; use strict; use DBI; unless( 4 == @ARGV ) { print STDERR "Usage: $0 <host> <database> <user> <password>\n"; exit 1; } my ($host, $database, $user, $password) = @ARGV; die "bad host/db/user" unless $host =~ /^[\w\-\.]+$/ and $database =~ /^[\w_]+$/ and $user =~ /^[\w_]+$/; my $dbh = DBI->connect("DBI:mysql:database=$database;host=$host", $user, $password, {'RaiseError' => 1}); my (@pass0, @pass1, @pass2, @pass3) = (); my $sth = $dbh->prepare("SHOW CREATE DATABASE $database"); $sth->execute; my @arr = $sth->fetchrow_array; $arr[1] =~ /^CREATE DATABASE `$database` \/\*!\d+ DEFAULT CHARACTER SET latin1( COLLATE latin1_\w+)? \*\/$/ or die "bad database spec: $arr[1]"; push @pass1, "ALTER DATABASE `$database` DEFAULT CHARACTER SET binary"; push @pass2, "ALTER DATABASE `$database` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci"; $sth = $dbh->prepare("SHOW TABLES"); $sth->execute; my @tables = (); while( my @row = $sth->fetchrow_array ) { die "bad table name: $row[0]" unless $row[0] =~ /^[\w_]+$/; push @tables, $row[0]; } foreach my $table (@tables) { $sth = $dbh->prepare("SHOW CREATE TABLE `$table`"); $sth->execute; my @row = $sth->fetchrow_array; $row[1] =~ s/ COMMENT='[^'\\]*'$//s; $row[1] =~ /^CREATE TABLE `$table` \(.*\)([^)]+)$/s or die "bad table spec: $row[1]"; my $tail = $1; unless( $tail =~ /\bDEFAULT CHARSET=latin1\b/ ) { die "bad table $table spec tail: $tail"; } push @pass1, "ALTER TABLE `$table` DEFAULT CHARSET binary"; push @pass2, "ALTER TABLE `$table` DEFAULT CHARSET cp1251 COLLATE cp1251_general_ci"; my (%fulltext, %column_in_fulltext_indexes, %remove_fulltext_indexes) = (); $sth = $dbh->prepare("SHOW INDEX FROM `$table`"); $sth->execute; while( my $row = $sth->fetchrow_hashref ) { next unless $row->{Index_type} eq "FULLTEXT"; $fulltext{$row->{Key_name}} ||= []; $fulltext{$row->{Key_name}}[$row->{Seq_in_index}-1] = $row->{Column_name}; $column_in_fulltext_indexes{$row->{Column_name}} ||= []; push @{$column_in_fulltext_indexes{$row->{Column_name}}}, $row->{Key_name}; } $sth = $dbh->prepare("SHOW FULL COLUMNS FROM `$table`"); $sth->execute; while( my @row = $sth->fetchrow_array ) { my ($column, $type, $collation) = @row[0,1,2]; if( defined $collation and "NULL" ne $collation ) { die "bad collation in column $column of table $table: $collation" unless $collation =~ /^latin1_\w+$/; push @pass1, "ALTER TABLE `$table` MODIFY COLUMN `$column` $type CHARACTER SET binary"; push @pass2, "ALTER TABLE `$table` MODIFY COLUMN `$column` $type CHARACTER SET cp1251 COLLATE cp1251_general_ci"; foreach my $index (@{$column_in_fulltext_indexes{$column}}) { $remove_fulltext_indexes{$index} = 1; } } } foreach my $index (keys %remove_fulltext_indexes) { push @pass0, "ALTER TABLE `$table` DROP INDEX `$index`"; push @pass3, "ALTER TABLE `$table` ADD FULLTEXT INDEX `$index` (" . join( ",", map { "`$_`" } @{$fulltext{$index}} ) . ")"; } } print join ";\n", "USE `$database`", @pass0, @pass1, @pass2, @pass3, ""; Источник 1gb.ru

6 лютого 2022 · 4 хвилин · 732 слів · dimetrius

Подготовка образов для KVM/LibVirt

В качестве примера будет использован образ Ubuntu 16.04: подготовка рабочего окружения, настройка необходимых параметров, сборка и загрузка образа в облачный сервис. Также будут рассмотрены необходимые шаги для подготовки образа с полной совместимостью со всеми дополнительными возможностями сервиса «Виртуальное приватное облако». В качестве инструмента для сборки образа мы будем использовать diskimage-builder. Это набор компонентов для подготовки образов операционных систем, файловых систем, RAM-дисков с открытым исходным кодом, поддерживаемый сообществом OpenStack. Инструмент поддерживает создание образов большинства распространенных дистрибутивов GNU/Linux: Centos Debian Fedora RHEL Ubuntu Gentoo OpenSUSE По умолчанию diskimage-builder подготавливает образ cloud-версии операционной системы, поэтому в образе будут присутствовать пакеты cloud-init и cloud-utils, необходимые для автоматической настройки системы в облаке. Создание образа Ubuntu 16.04 Мы будем готовить образ на машине с ОС Ubuntu 14.04. Для начала установим необходимые зависимости: 1 2 sudo apt update sudo apt -y install python-pip curl Затем установим diskimage-builder: 1 sudo pip install diskimage-builder Создадим базовые директории для работы: 1 mkdir -p ~/diskimage-builder/{images,elements} Для настройки diskimage-builder нам необходимо указать несколько дополнительных параметров, значение которых хранится непосредственно в переменных окружения командной оболочки (таким образом, вы можете указывать их в командной строке): ARCH=“amd64” — архитектура образа. BASE_ELEMENTS=“ubuntu bootloader cloud-init-datasources” — здесь мы укажем используемые элементы diskimage-builder. Элементы представляют собой набор bash-скриптов, которые выполняют все рутинные действия по подготовке и изменению образа. Наиболее важным для нас является элемент ubuntu, который скачает и распакует стандартный официальный образ дистрибутива, проведет установку требуемых пакетов и обновления системы до актуального состояния внутри образа при помощи утилиты chroot, и соберет все обратно в образ, готовый к использованию. Элемент bootloader устанавливает загрузчик (в нашем случае GRUB2) в подготавливаемый образ системы, а cloud-init-datasources передаёт список источников данных для утилиты cloud-init, которая необходима для первоначальной настройки операционной системы при запуске. DIB_CLOUD_INIT_DATASOURCES=“ConfigDrive, Ec2” — источники данных для элемента cloud-init-datasources. DIB_RELEASE=“xenial” — версия операционной системы, на базе которой мы будем создавать образ. IMAGE_PATH="~/diskimage-builder/images/ubuntu-16.04" — имя и путь для образа. Сборка образа осуществляется с помощью команды: ...

5 листопада 2021 · 10 хвилин · 2092 слів · dimetrius

outlook.com не принимает нашу почту

Заметил в отлупах от почтовых серверов что моя почта не принимается серверами hotmail.com, live.com, msn.com, outlook.com. Ошибка выглядит примерно следующим образом: 1 2 SMTP error from remote mail server after MAIL FROM:<[email protected]> SIZE=3316: host mx4.hotmail.com [65.54.188.94]: 550 SC-001 (BAY004-MC2F18) Unfortunately, messages from 78.xxx.117.xxx weren't sent. Please contact your Internet service provider since part of their network is on our block list. You can also refer your provider to http://mail.live.com/mail/troubleshooting.aspx#errors. Для домена всё давно настроено, SPF, DKIM, DMARC. В интернете отыскал что можно перейти по ссылке https://support.live.com/eform.aspx?productKey=edfsmsbl3&ct=eformts http://go.microsoft.com/fwlink/?LinkID=614866 и заполнить её. По идее, после этого они должны рассмотреть заявку на исключение нашего IP адреса из своих блэк листов и будет ещё плюсик нашему почтовому серверу. Пока что пришло только автоматическое уведомление о принятом тикете. Ждём ответа.

30 липня 2021 · 1 хвилина · 125 слів · dimetrius

Подключение корректора высоты европейских оригинальных фар Chevrolet Malibu — TR6

Так как в автомобилях GM из США отсутствует хоть какой-то корректор фар, а в установленных после восстановления оригинальных европейских фарах двигатели присутствовали, хотелось и его подключить. Да, это будет обычный ручной корректор, как на Lanos, но он будет. Для подключения требуется: выключатель света с регулировкой корректора фар фары с корректорами пины для подключения к выключателю света пины для разъёмов фар (уже были после покупки этих разъёмов и установки фар) провода и много вашего времени. Схема подключения корректора фар Ради пинов мне пришлось искать разъёмы с Chevrolet Cruze, Opel Insignia, но они все разные )) Хотя пины после мелкой доработки всё же подошли в мой разъём. такие пины должны быть такие пины должны быть такие пины должны быть такой разъём на chevrolet malibu 2015 такой разъём на chevrolet malibu 2015 такой разъём на chevrolet malibu 2015 Блок управления светом с обратной стороны, он же выключатель Самым сложным было выделить время и совместить прокладку проводки с подключением ПТФ. в процессе Подключаемся к разъёмам блока предохранителей После подключения уровень высоты фар довольно сильно поднялся, из-за чего пришлось искать ровную площадку и регулировать фары. +1 опция на авто — TR6

4 липня 2021 · 1 хвилина · 186 слів · dimetrius

Подключение ПТФ Chevrolet Malibu — T3U

Сразу после покупки авто задумался о подключении передних и задних ПТФ. Подключение максимально по заводу, без доп выносных реле и так далее. Но чем дольше я изучал эту тему, тем сложнее было приблизиться к реализации. Установленные туманки Передние ПТФ: Туманки нужно купить Рамки туманок нужно купить Переключатель света с управлением туманками Первые три пункта самые простые В блоке предохранителей подкапотном должно быть внутреннее реле для ПТФ (его нет) Проводку нужно проложить от блока предохранителей до туманок. От блока предохранителей в салон к BCM. Активировать программно Туманки и рамки были куплены оригинальные на ebay. Туманки БУ, рамка одна БУ, вторая новая. Цены конечно не радуют глаз. В авто после 2014 года (как понял я) GM не оставляет дополнительную проводку и не оставляет что-то лишнее в блоках. Так в моём авто небыло проводки для ПТФ совсем никакой и в блоке предохранителей внутри отсутствовало реле и все контакты разъёмов и предохранителя. Для решения этой задачи я купил БУ блок предохранителей на ebay с Malibu 2013, отличий там не много. План чтоб перепаять нужные внутренности, не полностью менять блок. Он пришёл даже с несколькими разъёмами. Блок предохранителей — донор частичная схема ПТФ как разобрать блок предохранителей ничего не сломав Ниже фото уже после “операции”. Сложность в том что припой очень тугоплавкий, местами получалось добавить обычного припоя, а местами приходилось использовать дрель. ...

4 липня 2021 · 3 хвилин · 467 слів · dimetrius

Дополнительные вкладки приборки и частичное устранение сверчков

Конечно же и у меня было желание открыть дополнительные вкладки приборки. Тем более что MDI в наличии и всегда ждёт. В начале лета удалось выделить время и заняться этим. Очень хотелось температуру двигателя и коробки. Но, как оказалось, эта приборка не поддерживает вывод температуры коробки. Но, как оказалось, пользуюсь иногда только ограничением скорости и совмещенными температурой двигателя и напряжением АКБ. Так же удалось выделить время чтоб немного побороться со сверчками. Пищалки в передних стойках иногда гремели по неровными дорогам. Пришлось применить немного силикона и изоленты тряпичной. И болтающееся зеркало тоже было зафиксировано. Для этого нужно снять черную накладку и станет доступен шестигранник. Пробег: 74 186 км

4 червня 2021 · 1 хвилина · 106 слів · dimetrius

Контроль уровня масла в АКПП 6T40 и аналогичных

Предисловие На днях заменил масло в АКПП, заодно проконтролировал его уровень. Оказалось что масла было мало, возможно из-за этого оно перегревалось, так как запах горелого присутствовал. Ранее я уже публиковал запись как это делается, но видимо даже для меня та инструкция была не слишком логична, поэтому я совершил тогда ошибку. В этот раз решил сохранить для себя и для вас официальную инструкцию по контролю уровня масла в наших АКПП. Причём что интересно, инструкции по замене масла я не нашёл, только по контролю уровня. Так же сделал для себя вывод что даже если корпуса АКПП немного отличаются, сейчас я о размещении пробки контроля уровня масла, то уровень всё равно контролируется одинаково, по одной инструкции. Если вы планируете выполнять замену, знайте что сливается за раз 4-5 литров масла. Столько же и с небольшим запасом берите свежего масла. Очень важно контролировать температуру АКПП во время контроля уровня масла. Если этим пунктом пренебречь, можно очень много не долить масла, как это сделал я в первый раз. Эта процедура предназначена для проверки как уровня трансмиссионной жидкости, так и ее состояния на АКПП без использования измерительного щупа (при его изначальном отсутствии). Осторожно: Используйте только трансмиссионную жидкость Dexron VI. Использование нерекомендованной трансмиссионной жидкости может стать причиной повреждения внутренних механизмов коробки передач. Если вы только собрали АКПП после ремонта Убедитесь, что в коробке передач достаточно масла для того, чтобы она не получила повреждений при трогании автомобиля. На стоящем двигателе и при температуре трансмиссионной жидкости, равной приблизительно 20-25°C (68-77°F), жидкости должно быть достаточно для ее слива из отверстия для проверки уровня жидкости. Это покажет, что жидкости в поддоне коробки передач будет достаточно для заполнения компонентов, когда автомобиль начнет двигаться. ...

28 травня 2021 · 4 хвилин · 781 слово · dimetrius

PSA: Read this before you upgrade your firmware on your 12th Generation Dell Servers

I wanted to put together a guide for new owners of 12th Generation Dell servers. Over the course of owning few 12th Generation Dell Servers (Rx20), I have come across few common issues encountered during firmware upgrades and I wanted to share my advice on overcoming them. iDRAC Firmware It’s very important to observe caution while upgrading iDRAC Firmwares to prevent issues like this, this, this and this. When these 12th Generation servers were shipped, the iDRAC and LifeCycle controller had different firmware. In Late 2014, Dell has decided to integrate the iDRAC and LifeCycle Controller firmwares into a single package called “Dell iDRAC with LifeCycle Controller” and the firmware is now common across iDRAC 7 and iDRAC8. The partition layout for the iDRAC eMMC was changed, due to which upgrades across legacy firmwares and the latest firmwares were failing, which was causing iDRAC to be permanently bricked with no resolution except for a motherboard replacement as of now. 2.10.10.10,A00 was the first firmware release for Dell iDRAC with LifeCycle Controller. If your iDRAC version is higher than 2.10.10.10, then you could directly upgrade to the latest version of the iDRAC firmware without running into any issues. As of writing, 2.61.60.60 is the latest iDRAC firmware. If your iDRAC version is lower then 2.10.10.10, DON’T UPGRADE TO THE LATEST VERSION OF THE iDRAC. UPGRADE YOUR FIRMWARE TO 1.66.65,A00 (LAST STANDALONE FIRMWARE) AND THEN UPGRADE TO 2.10.10.10,A00 (FIRST RELEASE OF COMMON FIRMWARE) AFTER WHICH YOU COULD DIRECTLY UPGRADE TO THE LATEST FIRMWARE AVAILABLE. ...

7 березня 2021 · 3 хвилин · 541 слово · dimetrius