Select language:

Вопросы по установке SECU на Audi 100 5 цилиндров

<<

STC

Аватара пользователя

Сообщения: 6206

Зарегистрирован: 30 апр 2013, 23:41

Откуда: Ukraine

Машина: AZLK 2140

Версия SECU: самодельная SECU-3


Благодарил (а): 755 раз.
Поблагодарили: 1231 раз.

Сообщение 04 сен 2013, 12:32

Re: Вопросы по установке SECU на Audi 100 5 цилиндров

При использовании прошивок для синхронизации от ДХ, ДХ можно подключать как на вход PS, так и на вход ДПКВ (нужно поставить галочку "вход ДХ на ДПКВ"). Но текущие прошивки для ДХ (последний релиз) не позволяют использовать датчик скорости даже если ДХ подключен к ДПКВ, а датчик скорости к PS. В будущем я попробую сделать специальные версии прошивок для ДХ с поддержкой датчика скорости.
Author of the SECU-3™ project http://SECU-3.org. An open source engine control unit / Ignition control system, (C) 2007.
Клуб проекта в Facebook https://www.facebook.com/groups/secu3club
Клуб проекта ВКонтакте https://vk.com/secu3club (вступаем!)
<<

Sergey_A100

Аватара пользователя

Сообщения: 51

Зарегистрирован: 22 авг 2013, 13:58

Откуда: Киев

Машина: Ауди Авант 100 44Q

Версия SECU: официальная SECU-3T


Благодарил (а): 1 раз.
Поблагодарили: 10 раз.

Сообщение 06 сен 2013, 17:24

Re: Вопросы по установке SECU на Audi 100 5 цилиндров

Где в коде менеджера зашиты значения по оси Х или У таблиц? Подкинули таблицы на мой мотор, там сетка оборотов другая, в прошивке вроде как нашел где править: файл funconv.c

.......................

//данные массивы констант задают сетку по оси оборотов, для рабочей карты и карты ХХ.
/**Array which contains RPM axis's grid bounds */
PGM_DECLARE(int16_t f_slots_ranges[16]) = {852,987,1120,1400,1590,1850,2070,2360,2800,3100,3528,4092,4535,5000,5583,6345};
/**Array which contains RPM axis's grid sizes */
PGM_DECLARE(int16_t f_slots_length[15]) = {135,133, 280, 190, 260, 220, 290, 440, 300, 428, 564, 443, 465, 583,762};

...................................

Пересобрал прошивку с новыми константами - а в менеджере все по старому - он эти данные берет из прошивки или где-то в исходниках прописаны константы ?
<<

STC

Аватара пользователя

Сообщения: 6206

Зарегистрирован: 30 апр 2013, 23:41

Откуда: Ukraine

Машина: AZLK 2140

Версия SECU: самодельная SECU-3


Благодарил (а): 755 раз.
Поблагодарили: 1231 раз.

Сообщение 06 сен 2013, 20:05

Re: Вопросы по установке SECU на Audi 100 5 цилиндров

Вот тут в менеджере.
https://github.com/ashabelnikov/secu3ma ... /SECU3IO.h

С прошивкой это еще не все. Нужно еще поменять константу в коде функции work_function()
Вот код. Значение 600
  Код:
if (f < 0) {f = 0; rpm = 600;}
  fp1 = f + 1;


Аналогично для dling_function(), там тоже вбито значение из 0-й ячейки массива.

Если вас не затруднит, то вы можете выложить кривые для своего мотора тут, а мы добавим их на сайт (и на форум).
Author of the SECU-3™ project http://SECU-3.org. An open source engine control unit / Ignition control system, (C) 2007.
Клуб проекта в Facebook https://www.facebook.com/groups/secu3club
Клуб проекта ВКонтакте https://vk.com/secu3club (вступаем!)
<<

Sergey_A100

Аватара пользователя

Сообщения: 51

Зарегистрирован: 22 авг 2013, 13:58

Откуда: Киев

Машина: Ауди Авант 100 44Q

Версия SECU: официальная SECU-3T


Благодарил (а): 1 раз.
Поблагодарили: 10 раз.

Сообщение 07 сен 2013, 13:30

Re: Вопросы по установке SECU на Audi 100 5 цилиндров

Понял, теперь делаем разную разбивку по оборотам для рабочей карты и карты холостого хода:

PGM_DECLARE(int16_t f_slots_ranges[16]) = {852,987,1120,1400,1590,1850,2070,2360,2800,3100,3528,4092,4535,5000,5583,6345};
PGM_DECLARE(int16_t f_slots_length[15]) = {135,133, 280, 190, 260, 220, 290, 440, 300, 428, 564, 443, 465, 583,762};

//данные массивы констант задают сетку по оси оборотов, для карты ХХ.
PGM_DECLARE(int16_t f_slots_ranges_idle[16]) = {300,700,735,770,800,840,950,1180,1500,1800,2400,3200,4100,4500,5000,6345};
PGM_DECLARE(int16_t f_slots_length_idle[15]) = {400, 35, 35, 30, 40,110,230, 320, 300, 600, 800, 900, 400, 500,1345};

ну и в функциях:

int16_t idling_function(struct ecudata_t* d)
{
int8_t i;
int16_t rpm = d->sens.inst_frq;

//находим узлы интерполяции, вводим ограничение если обороты выходят за пределы
for(i = 14; i >= 0; i--)
if (d->sens.inst_frq >= PGM_GET_WORD(&f_slots_ranges_idle[i])) break;

if (i < 0) {i = 0; rpm = f_slots_ranges_idle[0];}

return simple_interpolation(rpm,
_GB(&d->fn_dat->f_idl[i]), _GB(&d->fn_dat->f_idl[i+1]),
PGM_GET_WORD(&f_slots_ranges_idle[i]), PGM_GET_WORD(&f_slots_length_idle[i]));
}

и

//находим узлы интерполяции, вводим ограничение если обороты выходят за пределы
for(f = 14; f >= 0; f--)
if (rpm >= PGM_GET_WORD(&f_slots_ranges[f])) break;

//рабочая карта работает на 854-х оборотах и выше
if (f < 0) {f = 0; rpm = f_slots_ranges[0];}
fp1 = f + 1;

return bilinear_interpolation(rpm, discharge,
_GB(&d->fn_dat->f_wrk[l][f]),
_GB(&d->fn_dat->f_wrk[lp1][f]),
_GB(&d->fn_dat->f_wrk[lp1][fp1]),
_GB(&d->fn_dat->f_wrk[l][fp1]),
PGM_GET_WORD(&f_slots_ranges[f]),
(gradient * l),
PGM_GET_WORD(&f_slots_length[f]),
gradient);

а вот с менеджером проблемма - установил боланд компилятор, установил сМаке - но СМаке компилятор не видет - перекомпилировать немогу :( и если для АВР среду настроить - более менее понятно как, то для Боланда - тяжко - где копать?

Понял надо одновременно и студия и боланд и сМаке. Пересобрал поменяв рад в файле. но при запуске все осталось как было :(
<<

STC

Аватара пользователя

Сообщения: 6206

Зарегистрирован: 30 апр 2013, 23:41

Откуда: Ukraine

Машина: AZLK 2140

Версия SECU: самодельная SECU-3


Благодарил (а): 755 раз.
Поблагодарили: 1231 раз.

Сообщение 08 сен 2013, 23:42

Re: Вопросы по установке SECU на Audi 100 5 цилиндров

Borland тебе не нужен для твоей задачи. Borland нужен только чтобы собрать 2 DLL, исходные файлы которых находятся в каталогах Chart2d, Chart3d. В этих каталогах есть Makefile-ы для сборки.
Если в системе установлено несколько разных сред разработки или компиляторов, то они могут друг-другу мешать. Для этого при запуске make нужно либо указывать полный путь к нему, или запускать его из консоли от соответствующей среды разработки/компилятора.
Author of the SECU-3™ project http://SECU-3.org. An open source engine control unit / Ignition control system, (C) 2007.
Клуб проекта в Facebook https://www.facebook.com/groups/secu3club
Клуб проекта ВКонтакте https://vk.com/secu3club (вступаем!)
<<

Sergey_A100

Аватара пользователя

Сообщения: 51

Зарегистрирован: 22 авг 2013, 13:58

Откуда: Киев

Машина: Ауди Авант 100 44Q

Версия SECU: официальная SECU-3T


Благодарил (а): 1 раз.
Поблагодарили: 10 раз.

Сообщение 11 сен 2013, 14:58

Re: Вопросы по установке SECU на Audi 100 5 цилиндров

Сделал указанные изменения - перекомпилировал менеджер - изменения значений сетки оборотов не происходит.

Тоже вроде как понял - в файле ButtonsPanel.cpp есть функция OnViewWorkMap. В ней вызывается окошко рабочей карты. Так вот в параметрах вызова значение сетки оборотов задает функция:

float* CButtonsPanel::GetRPMGrid(void)
{
return m_rpm_grid_values;
}

а где в эту переменную прописывается сетка - ХЗ.

Решилось заменой вызова функции на прямую ссылку на SECU3IO::work_map_rpm_slots.
<<

Sergey_A100

Аватара пользователя

Сообщения: 51

Зарегистрирован: 22 авг 2013, 13:58

Откуда: Киев

Машина: Ауди Авант 100 44Q

Версия SECU: официальная SECU-3T


Благодарил (а): 1 раз.
Поблагодарили: 10 раз.

Сообщение 13 сен 2013, 08:40

Re: Вопросы по установке SECU на Audi 100 5 цилиндров

Еще вопрос - при редактировании таблиц расположенных в RAM - шкала оборотов определяется константой work_map_rpm_slots из файла SECU3IO.h. А при работе с таблицами на закладке "данные прошивки" - подставляется стандартный ряд от 600 до 7500. Что надо поправить? Эта шкала берется из файла прошивки или еще откуда то?
<<

STC

Аватара пользователя

Сообщения: 6206

Зарегистрирован: 30 апр 2013, 23:41

Откуда: Ukraine

Машина: AZLK 2140

Версия SECU: самодельная SECU-3


Благодарил (а): 755 раз.
Поблагодарили: 1231 раз.

Сообщение 14 сен 2013, 16:32

Re: Вопросы по установке SECU на Audi 100 5 цилиндров

Посмотри в файле FirmwareDataMediator.cpp есть глобальная переменная-массив rpmGrid
Я забыл про него.
Author of the SECU-3™ project http://SECU-3.org. An open source engine control unit / Ignition control system, (C) 2007.
Клуб проекта в Facebook https://www.facebook.com/groups/secu3club
Клуб проекта ВКонтакте https://vk.com/secu3club (вступаем!)
<<

Sergey_A100

Аватара пользователя

Сообщения: 51

Зарегистрирован: 22 авг 2013, 13:58

Откуда: Киев

Машина: Ауди Авант 100 44Q

Версия SECU: официальная SECU-3T


Благодарил (а): 1 раз.
Поблагодарили: 10 раз.

Сообщение 13 янв 2014, 12:51

Re: Вопросы по установке SECU на Audi 100 5 цилиндров

В какую структуру будет грамотно добавить статичную переменную delay из модуля hall.c? Необходимо для реализации формирования задержки искры от любого фронта шторки.
<<

STC

Аватара пользователя

Сообщения: 6206

Зарегистрирован: 30 апр 2013, 23:41

Откуда: Ukraine

Машина: AZLK 2140

Версия SECU: самодельная SECU-3


Благодарил (а): 755 раз.
Поблагодарили: 1231 раз.

Сообщение 13 янв 2014, 13:14

Re: Вопросы по установке SECU на Audi 100 5 цилиндров

В файле hall.c есть структура hallstate_t представленная глобальной переменной hall. Эта структура содержит все переменные состояния, используемые в прерываниях. Добавляйте свои переменные в эту структуру.
Author of the SECU-3™ project http://SECU-3.org. An open source engine control unit / Ignition control system, (C) 2007.
Клуб проекта в Facebook https://www.facebook.com/groups/secu3club
Клуб проекта ВКонтакте https://vk.com/secu3club (вступаем!)
Пред.След.

Вернуться в AUDI

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Powered by phpBB® Forum Software © phpBB Group.