Автор Тема: DIY EFI MegasquirtAVR управление на впръскването  (Прочетена 211363 пъти)

avr

  • Гост
Re: DIY EFI MegasquirtAVR управление на впръскването
« Отговор #15 -: Декември 05, 2012, 07:49:44 pm »
Целта на цялото това занимание е да се направи евтин и достъпен универсален компютър управляващ ДВГ. Може да се използва ако е дефектирал оригиналния компютър, ако се добави газово устройство да го управлева със съответните корекции на впръсването и ъгъла на запалване в съответните режими. Може да се направи по-икономично управление на ДВГ. Може и други неща които ще измислим :)
Съжалявям че ще дам отрицателно мнение, но може и да ти е полезно.
Хардуера е много стар и слаб, не си струва труда  да се репликира. Още повече, че има готови и страшно евтини неща.
Например STM32F4DISCOVERY  или дори STM32F0DISCOVERY  са много по бързи, да не говорим за изчисления с плаваща запетая.STM32F4 е 32 битов, 168 МНц, 1М флаш, 192 кБт РАМ но е и много други предвимства - например аналоговите преобразеватели са 16, 12 битови,много по бързи, и с много екстри - четене чред ДМА, демек процесора няма грижа да ги чете, дирекно ги сваляш в накой масив. И т.н.

http://bg.farnell.com/jsp/search/browse.jsp;jsessionid=ZSTX143AJHIVWCQLCIPJNFQ?N=0&Ntk=gensearch&Ntt=stm32f4-discovery&Ntx=mode+matchallpartial&exposeLevel2Refinement=true&suggestions=false&ref=globalsearch&_requestid=60125

Та ако идеята е за порулярно цпу, нещо такова трябва според мен. На такива платки /тя STM32F0DISCOVERY даже има в комплекта/ си правиш и  куплираш интерфейната /универсална/ и тогава бая народ ще може да го повтори и да се включи.
На тях има и втори чип, stm32f103,  st-link-a, койта също е сериозен е може да помага - на 72 Мхц е.
--------------------
PP.
При мен твоя код се компилира ама съм с убунту ,
добавих в маке файла  #C Compiler flags -D__AVR_LIBC_DEPRECATED_ENABLE__    щото новите 1.8 avr-libc ревът, а също после искаше 'const' за променливи във флаша , което ми се вижда резонно.
actuators.c линия 117       const uint8_t PROGMEM STEP_PINS[] =......
---
fuelcalc.c  - 36 пак,/ ама и където са дефинирани трябва/
extern const uint8_t PROGMEM KPAFACTOR4250[];
extern const uint8_t PROGMEM KPAFACTOR4115[];
extern const uint8_t PROGMEM BAROFAC4250[];
extern const uint8_t PROGMEM BAROFAC4115[];
extern const uint8_t PROGMEM THERMFACTOR[];
extern const uint8_t PROGMEM AIRDENFACTOR[];
extern const uint8_t PROGMEM AFRFACTOR[];
------
gcc version 4.7.0 (GCC)
« Последна редакция: Декември 05, 2012, 09:57:25 pm от avr »

Неактивен valex

  • Специалист
  • Много Напреднал
  • ***
  • Публикации: 1 512
  • Пол: Мъж
  • изчислителна техника
Re: DIY EFI MegasquirtAVR управление на впръскването
« Отговор #16 -: Декември 05, 2012, 10:40:44 pm »
Има и още по-мощни неща :).
Тази платка я взех понеже има добър софт за PC и е удобна за експерименти, има някаква история проекта, а после на каква база ще се направи - друг въпрос. Доколкото съм виждал сериозни и сигурни  неща се правят на Моторола и Атмел. И атмелите имат специализирани микро контролери за автомобилната промишленост. Не мисля, че въпроса е в бързината на сметките.
Софтуера явно е за Linux. Оказа се, че всяка версия под Windows се  държи различно. Досега не ми се беше случвало такъв куцуз :(.

АVR става въпрос за друг софт kойто не мога да компилирам. Ако имаш желание мога да ти го пратя.
« Последна редакция: Декември 07, 2012, 01:49:38 pm от valex »

a_panov

  • Гост
Re: DIY EFI MegasquirtAVR управление на впръскването
« Отговор #17 -: Февруари 17, 2013, 09:44:06 am »
Hello  на всички тука!
Много сме тия дето подслушваме като лалугери форума, аз съм един от тях. И да се похваля съм един от малкото хора в България с Megasquirt. Предисторията е такава: Исках Мерцедес, и се бях ориентирал към модел 190 защото е по прост по поддържане от 180. Обаче това е кола вече на 24 години и механичния инжекцион беше разбрицан и затова прежалих едни пари и ми сложиха мега. Мегата управлява впръскването на газ и на бензин, но не управлява запалването. Колата е с токово запалване и лошото е че е със 6 цилиндъра. Ако се прави управление на запалването от Мега може да се използва и дистрибутора, а може да се направи и отделно управление на запалването на всеки цилиндър.
Последното е желано, но е доста скъпо защото всичко трябва да се умножи по 6, 6 бобини, 6 комутатора. Но в този случай може да се експериментира в широки граници. Не че когато се използва дистрибутор не може да се експерементира, но се ограничаваме от възможностите на механичния комутатор.
Склонен съм да експериментирам с плазмено запалване, дистрибутор, бобина. Но в този случай таблиците с предварението трябва да са в Мегата, защото текущия комутатор съдържа заводските настройки на предварението. А като го елиминираме ще трябва да се направят нови таблици.
Отворен съм за мнения и предложения. Колата е в София на х-л Плиска.
« Последна редакция: Февруари 17, 2013, 10:58:17 am от Maistora52 »

Неактивен valex

  • Специалист
  • Много Напреднал
  • ***
  • Публикации: 1 512
  • Пол: Мъж
  • изчислителна техника
Re: DIY EFI MegasquirtAVR управление на впръскването
« Отговор #18 -: Февруари 17, 2013, 10:47:52 am »
Здрасти a_panov ,
В момента довършвам доработката на МegasquirtAVR  да бачка с една бобина (самия хардуер не позволява да се сложат повече от един инжектор и една бобина ). Ако излезе успешно тогава ще мисля за повече бобини.
Срещал съм из българските форуми 2-3 ма, които разбират от Megasquirt и активно слагат и настройват. Не съм се свързвал с тях.
« Последна редакция: Февруари 17, 2013, 10:59:11 am от Maistora52 »

a_panov

  • Гост
Re: DIY EFI MegasquirtAVR управление на впръскването
« Отговор #19 -: Февруари 17, 2013, 11:36:59 am »
Май съм с Megasquirt II, не знам точно с коя съм но знам че искам и оптимизация на запалването. Когато са проектирали този модел кола е било 1979 - 1982, тогава още е нямало IGBT транзистори! Имало ги е като патент но в магазините ги е нямало. Бих искал нещо като CDI+TCI запалване. Най-вероятно сега запалването ми е TCI - един мощен транзистор управлява бобината. Чета из интернет схеми на CDI-та и там има много които изработват сигнал към бобината на 300-350 волта но има и схеми с 600 волта и добавяне на енергия при цикъла на разреждане на високоволтовия кондензатор - увеличават му продължителността на разряд което е минуса при CDI-тата.

До края на месеца имам смяна на ламбда сонда и комплект нови свещи. След това ще мога да погледна за оптимизация на запалването.

Неактивен valex

  • Специалист
  • Много Напреднал
  • ***
  • Публикации: 1 512
  • Пол: Мъж
  • изчислителна техника
Re: DIY EFI MegasquirtAVR управление на впръскването
« Отговор #20 -: Март 20, 2013, 08:25:15 am »
Написах  към 80% от софтуера за управление на запалването. Но не съм слагал системата на автомобила. Имам проблем който ще споделя.
С megatune  се  управляват и настройват таблиците на  инжектора и запалването както си искаш в зависимост от оборотите и налягането на датчика, корекция спрямо напрежението на акумулатора, температурата на двигателя и въздуха.
Още не съм написъл  новите алгоритми за управление понеже има следния кофти ефект: при ускорение и спиране се получава така, че всеки следващ импулс за обороти има голяма разлика от предходния. От там се получава разлика в сметките за следващия ъгъл на запалване и пускане на инжектора. Това за избягва при Megasquirt i Vems чрез слагане на зъбчато колело с по-вече зъби (4-1, 32-1, 62-1). А аз се опитвам да го избегна. Използвам Alpha-Beta-Gamma алгоритъм, който да предскава с голяма точност следващия импулс. За сега нещо не ми излизат сметките :(
Ако някой има идеи за решаване на проблема моля да сподели!

Неактивен valex

  • Специалист
  • Много Напреднал
  • ***
  • Публикации: 1 512
  • Пол: Мъж
  • изчислителна техника
Re: DIY EFI MegasquirtAVR управление на впръскването
« Отговор #21 -: Март 27, 2013, 03:28:24 pm »
Напредвам по малко ! :)
Ще пусна софтуера за управлението на контролера. Ако някой иска да разгледа какви са възможностите на системата. Това е орязана версия само за моите цели. Има оставени някои неща, които са в повече  при настройките на инжекторите.
Инсталира се с mt25_setup.exe. И се стартира като се кликне на "last8" запис.
« Последна редакция: Март 28, 2013, 06:44:33 am от valex »

Неактивен valex

  • Специалист
  • Много Напреднал
  • ***
  • Публикации: 1 512
  • Пол: Мъж
  • изчислителна техника
Re: DIY EFI MegasquirtAVR управление на впръскването
« Отговор #22 -: Април 25, 2013, 01:07:48 pm »
Преди два дена пуснах най-после компютъра да управлява впръскването и запалването. Добре работи, но трябват доста настройки в MEGATUNE за да се настрои към конкретния двигател. MEGATUNE е страшно удобен за настройки. Трябва да се знаят параметрите на дюзата и бобината на запалването. Другия вариянт е да се настройва на слух :)
Имах проблеми първоначално с определянето на фронта на работа на датчика на Хол. Проблем ми създаде и този комутатор http://www.t.ua/auto/761g.htm , който смятах да ползвам. Наложи се да си направя сам комутатор и той излезе доста добър. Само му трябва свястна алуминиево кутия  за добро охлаждане. Ползвах само едим специален транзистор за управление на бобина.
Действам нататък с подобренията.
« Последна редакция: Април 25, 2013, 01:09:22 pm от valex »

Неактивен valex

  • Специалист
  • Много Напреднал
  • ***
  • Публикации: 1 512
  • Пол: Мъж
  • изчислителна техника
Re: DIY EFI MegasquirtAVR управление на впръскването
« Отговор #23 -: Август 07, 2013, 07:11:27 pm »
Следващата стъпка : управлението вече си има и подходяща алуминиева кутия.
Работя по оптимизацията. За сега едната платка съм я дал да се изпитва в реални условия, но с оптимизация само по гориво.
Тия дни ще добавя и оптимизациата по ъгъл на запалване.

Неактивен valex

  • Специалист
  • Много Напреднал
  • ***
  • Публикации: 1 512
  • Пол: Мъж
  • изчислителна техника
Re: DIY EFI MegasquirtAVR управление на впръскването
« Отговор #24 -: Декември 14, 2013, 05:23:11 pm »
Направих преди 2 месеца нацяло оптимизацията. РАБОТИ !!! :)
Но не можахме да изтестваме изцяло понеже колегата катастрофира с колата :( За радост на него нищо му няма! А от колата нищо не става. Прехвърлихме се на една бричка , която и беше полускапан двигателя и не 'издържа' много време да работи.
Сега ще преработвам малко нещата понеже имам на разположение едно Pegeot, който е с две сдвоени бобини и по-различен датчик на оборотите.
Пускам малко снимки от MEGATUNE за груба ориентация какво съм написал. Някои от таблиците са нулирани понеже ресетнах наново процесора и ги затрих. Просто трябва да ги кача от отхивите :)
« Последна редакция: Декември 14, 2013, 07:02:34 pm от valex »

elektros

  • Гост
Re: DIY EFI MegasquirtAVR управление на впръскването
« Отговор #25 -: Декември 14, 2013, 08:26:10 pm »
Усещам как някой ще прави стари бараки на EVRO  4 ....... Правете замервания на газ-анализатор,  скоро ще влязат драстични мерки за изгорели газове и повече от половина ни парк ще остане на трупчета....  Успех, ако има нужда от съдействие, тук сме! ;)

Неактивен valex

  • Специалист
  • Много Напреднал
  • ***
  • Публикации: 1 512
  • Пол: Мъж
  • изчислителна техника
Re: DIY EFI MegasquirtAVR управление на впръскването
« Отговор #26 -: Декември 15, 2013, 09:28:42 am »
elektros
Добра идея :)
Сега само ламбдата гледаме като иформация за горивовъздушната смес.

Неактивен valex

  • Специалист
  • Много Напреднал
  • ***
  • Публикации: 1 512
  • Пол: Мъж
  • изчислителна техника
Re: DIY EFI MegasquirtAVR управление на впръскването
« Отговор #27 -: Януари 16, 2014, 03:58:25 pm »
От две седмици работя върху една идея, която ни споходи в края на миналата година. Да се опрости управлението на оптимизирането:
Вкарва се в процесор информацията за импулсите към бобината и инжектора, и на базата на времената им се формират нови импулси към бобината и инжектора вече формирани  с оптимизация. Така се спестяват доста неща за настройка, които си ги поема като сметки стандартния компютър на автомобила. Евентуално ще трябва да се добавят симулатори на Ламбдата, бобината или инжектора за да се  'лъже' оригиналния компютър.
Първоначално си мислех да използвам аванспроцесора на Румен,  като му сменя само PIC процесора с ATMEGA88 примерно. Но след като му разгледах хардуера не ми хареса и се върнах на MеgasquirtAVR.
Добавих към платката ми допълнителен вход (оптроноизолиран) свързан с едно от външните прекъсвания. Драснах софтуер и за сега на стенда нещата работят. Проблем имам при анализа на времето на сигнала към нискоомна бобина на инжектор понеже там има формиран част от сигнала за инжектора с PWM.  Друг проблем е, че на Pegeote сигнала към инжектора НЯМА никаква синхронизация с оборотите. Момчетата от BOSH пускат кагато се сетят еднакви порции с гориво, а количеството се определя с бройките впръсквания.
Остава само да се тества на живо как работи :)

Както съм направил системата може да се използва за:
1. като универсален компютър за управление на бензинов/газов двигател с едина бобина и един инжектор (един за сега)
2. като газов инжекцион
3. като TAP
4. като Lambda Control с вградения драйвер за стъпков мотор (като си има входове и от TPS, MAP и може да се вкарат и ускоренията)
5. като Оптимизатор (економайзер) на горивния процес на бензин/газ
6. като управление на газов котел


« Последна редакция: Януари 16, 2014, 04:17:06 pm от valex »

Неактивен valex

  • Специалист
  • Много Напреднал
  • ***
  • Публикации: 1 512
  • Пол: Мъж
  • изчислителна техника
Re: DIY EFI MegasquirtAVR управление на впръскването
« Отговор #28 -: Март 18, 2014, 03:14:40 pm »
Днес правихме тестове с оптимизатора. Много добри резултати :) Като направим по-продължителни изпитания ще мога да съобщя и количествени оценки на икономията.
Естествено има още за дооправяне по софтуера.

Неактивен mzk

  • Много Напреднал
  • *****
  • Публикации: 1 622
  • Пол: Мъж
  • http://analogov.com
    • analogov.com
Re: DIY EFI MegasquirtAVR управление на впръскването
« Отговор #29 -: Март 18, 2014, 04:20:41 pm »
Здрасти Валекс, реално погледнато си направил газово ЕКУ с управление и на предварението и логика, честито! За съжаление 'проксирането' на стандартния комп според мен винаги ще доведе до грешка, в този смисъл просто бих го сменил с новия, но вероятно има причина да не го правиш.

Стискам палци и чакам резултати.

Поздрави!