wiki.js/ru/Code_overview.md

33 lines
4.1 KiB
Markdown
Raw Permalink Normal View History

2021-01-05 03:03:14 -08:00
---
title: Обзор кода Code_overview
description:
published: true
2022-03-20 16:15:41 -07:00
date: 2021-01-05T11:05:18.179Z
2021-01-05 03:03:14 -08:00
tags:
2022-03-20 16:15:41 -07:00
editor: undefined
2021-01-05 03:03:14 -08:00
dateCreated: 2021-01-05T11:03:02.376Z
---
# Обзор кода
Описание кода низкого уровня каждого файла и его назначение можно найти на странице Doxygen: https://speeduino.github.io/speeduino-doxygen/files.html
## Высокоуровневое описание контура управления Speeduino
Основной цикл в файле "speeduino.ino" работает постоянно и имеет 2 основных функций, определяя требования к двигателю и устанавливая графики зажигания/впрыска в соответствии с этими требованиями.
Ниже приведено описание функций высокого уровневня, выполняемых в основном цикле:
- Проверка наличия запроса в последовательном буфере для обработки
- Посмотрите, поворачивается коленвал двигателя, глядя в последний раз, когда был замечен зуб реперного диска
- Считывание значений со всех аналоговых датчиков (TPS, IAT, CLT, MAP, O2, напряжение батареи). Не все датчики считываются каждый раз, так как они не меняются достаточно часто, чтобы гарантировать это
- Следующие функции выполняются только в том случае, если модуль синхронизации 'sync':
- Проверьте, не превышает ли частота вращения минимальную частоту прокрутки (При прокрутке двигателя значения топлива и зажигания регулируются)
- Выполните все функции корректировки (см. раздел corrections.ino ниже). Результатом этого является %, на который будет регулироваться ширина пульса (100% = без регулировки, 110% = 10% больше топлива, 90% = 10% меньше топлива).
- Поиск VE из основной топливной таблицы
- Преобразование VE в значение ширины импульса в мс
- Поиск требуемого опережения из таблицы зажигания
- Рассчитать текущий угол коленвала
- Рассчитать угол поворота коленвала, при котором каждый инжектор должен открываться, исходя из текущей частоты вращения двигателя
- Рассчитать угол выдержки на основе требуемого времени выдержки и текущей частоты вращения двигателя
2021-01-05 03:05:18 -08:00
- Рассчитать угол начала зажигания для каждого цилиндра путем вычитания угла опережения и угла задержки из угла ВМТ - Набор 'график' для каждого инжектора, преобразовывая вышеупомянутое расчетное начало поворачивает во много нас в будущем (Например, если инжектор должен начать открываться при 45 после ВМТ, а угол поворота кривошипа в настоящее время составляет 10 перед ВМТ, сколько времени потребуется для перемещения этих 55 градусов)
- Выполнить одну и ту же настройку графика для каждого выхода зажигания