тимвал

Инжектор По Цене Карбюратора

697 сообщений в этой теме

Sheleh    4

@hc13nx2 , в общем почитал я за расширенный 51 по периферии проц января. Он так то нифигово там расширен. AVR нервно курит. А мои попытки перенести код на 8052 вероятно обречены на провал. Уж очень мало там RAM всего 256байт. Половина очень необходимых переменных уже не помещается. Здесь только на чистом ассемблере если писать, и по какой-то совсем упрощенной логике.

А вот AVR 8535 наоборот радует. Тут 512байт ОЗУ, запас пока есть. Сам код программы подходит к 65% объема Flash. В оставшиеся 35 надо уместить управление ХХ и обмен данными с ПК, а вот коррекция по лямбде уже вероятно не поместится. Но тут можно взять Atmega16 с такой же архитектурой и распиновкой, и карты перенести в RAM( 1кб ). А значит можно реализовать автонастройку карт силами самого контроллера, как сделано у этого товарища - https://www.drive2.ru/users/avtoelektron/#blog

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
sr86    7

Sheleh, обычно в блоках эбу с 8051 уже стоит от 4 кб рамы.

Только стоит вопрос обращения к ней.

Можешь взять готовый проект megatronic на 32 меге и допилить под себя.Емнип там написан и протокол обмена по can.

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Sheleh    4

@sr86 , да нашел. Благодарю за наводку. В этом проекте меня интересует только кан, точнее k-line. Подсмотрю реализацию.

Посмотрел внимательнее. Сам проект какой то странный. Много кода при минимуме функций. Впрыск одновременный. Зажигания нет.

Изменено пользователем Sheleh

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
22580    44

@DJ_DыM Привет, хочу плату твою на жигули поставить, сделать моновпрыск. как думаешь взлетит?) 

Или может кто что посоветует по впрыску. сейчас собираю зажигание "статику" с сайта зажигалка там есть ДАД от газели 45.3829. Так же на шкиве ставится 2 магнита определенным образом (2 магнита обращенные к датчику холла разными полюсами, датчик холла не простой. имеет внутри триггер, вкючается одной полярностью 1, другой в 0 лог. уровень), в общем знаем ВМТ 1 и 4 цилиндра. Вообще реально настроить мегасквирт моновпрыск на классический ВАЗ мотор? Форсунки расположить во флянце карбюратора, от карбюратора отключит топливо совсем, объединить обе заслонки карбюратора. Использовать дроссели карбюратора в общем, или лучше поставить другой? 

Изменено пользователем 22580

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UTSource

Найдите миллионы труднодоступных

электронных компонентов

Sheleh    4

@22580 , ну карб я бы в первую очередь убрал, что бы двигателю легче дышалось. А не проще найти инжекторный коллектор?

По поводу "зажигания", оно таки вам надо? Собирать чью то конструкцию, автор которой даже про лазерный утюг не в курсе. Еще и без возможности полноценно настраивать уоз. Я понимаю, что автор применил мега прием разработчика - супер-коррекцию в виде человека. Но-походу вам так и придется самостоятельно постоянно подкручивать этот резистор в зависимости от самых разнообразных факторов.

Дождитесь мою игрушку. И зажигание и впрыск в одной консткрукции. Плюс еще и LPG! Проект открытый, детали копеешные.

Бензин кстати удобнее делать ввиде моно-впрыска, ибо он нужен будет лишь для запуска и до АГЗС доехать, а вот газ очень легко ставить как распределенный. В таком случае вообще можно карб оставить, пущай бензин мешает, как умеет. Проще поставить газовый балон и редуктор, чем переделывать карбюраторную систему в инжекторную.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
22580    44

LPG это Liquified Petroleum Gas? 

Меня интересует только бензин. Точно не знаю но с установкой ГБО щас вроде все слодно.. тем более самодельного) Как продвигаются дела по поводу блока? Может нужна помощь какая? Правда я даже не знаю чем могу помочь.. 

 кстати найти коллектор не так уж и сложно, просто его цена будет несколько тысяч (видел за 4000р с датчиками проводами топливной рампой и форсунками) хочется дёшево и сердито)

 

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Sheleh    4

@22580 , да нету в газе ничего сложного. Любой может дома в гараже поставить. Либо готовый новый комплект, либо б/у, что обходится значительно дешевле. В своем блоке я планирую изначальную поддержку как бензина так и газа с мгновенным переходом между настройками. Т.е. уже отпадает потребность в одном из самых дорогих компонентов ГБО-контроллере. И собственно стоимость сводится практически к двум деталям - подходящий баллон и газовый редуктор, ну и форсунки. На жигули не более 100 баксов.

Дела продвигаются. Но пока в симуляторе. Но думаю уже очень скоро таки система заведет свой первый ДВС.  https://www.drive2.ru/l/456991943071629809/

Она уже сей час способна завести, но еще много чего не хватает, что бы полноценно ехать.

По поводу помощи. Сможете плату собрать? Вот эту ver2.PNG

 

injector8535.lay6

Изменено пользователем Sheleh
Дополнил

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
22580    44

Хорошо, соберу. У меня в наличие только мега16 и 32 есть. А по поводу сложности газа, я имел в виду с юридической точки зрения.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
22580    44

Изучил вопрос по ГБО, как я понял из КоАП, ГБО конкретно не выделяется. И является "неисправностью" авто, равно неисправности тормозов (кроме ручника) фар и тд. А следовательно штраф 500р (250р со скидкой) или 15 суток. Статья 12.5 часть 1, КоАП РФ очень интересно выглядит, присутствуют слова "условия при которых эксплуатация транспортного средства запрещена" нужно будет эвакуатор вызывать?) Если остановит техническая машина ДПС, скорее всего снимут с регистрации в ГИБДД. Возможное решение? Снять ГБО пройти сверку, поставить обратно и до следующей остановки технического экипажа ДПС...

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
leshasoft    2
22 часа назад, Sheleh сказал:

А мои попытки перенести код на 8052 вероятно обречены на провал. Уж очень мало там RAM всего 256байт.

К  8052 можно же внешнюю память приделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Sheleh    4

@22580

28 минут назад, 22580 сказал:

Изучил вопрос по ГБО, как я понял из КоАП, ГБО конкретно не выделяется. И является "неисправностью" авто

Вы оказывается многое пропустили. Наверстывайте!

 

Скрытый текст

 

А то, что у ГИБДДшников нет доверенностей, сами ГИБДД ликвидированы. Закон "О Полиции" Медведев не подписал. Не уже ли еще кто-то этого не знает? Да не имеют права они вас нагибать, это противозаконно с их стороны. Есть еще куча ЗАКОННЫХ оснований посылать данных товарищей в пешее эротическое путешествие.

Давайте так. Законодательство у нас запретительное. Т.е. все, что не запрещено, то можно. А теперь назовите закон, запрещающий мне ездить на газе? Прямо об этом ничего не сказано. Значит притянуто за уши, и толкуется как им вздумается. А кодексы всякие, ПДД - законами не являются. Написано, что он принят государственной думой в 2001году. Ок. Тогда где этот основной документ, который дума приняла. Кто из лиц, имеющих соответственные полномочия, подписал? Где копия с подписью? Мне вот щас на вскидку даже не удается найти номер постановления, этой госдумы, не говоря уже об скане этого документа. И вот такие вопросы надо уметь задавать этим полицейским. Если они ссылаются на какой то документ, будьте добры, предоставьте заверенную копию. Гражданин по закону имеет право требовать любые документы, непосредственно затрагивающие его права.

Вот, наверстывайте, пока есть шанс. Скоро все очень сильно изменится.

https://www.youtube.com/results?search_query=в+россии+нет+подписанных+законов

Далее https://www.youtube.com/results?search_query=гибдд+нет+доверенностей

https://www.youtube.com/results?search_query=гибдд+частная+организация

 

 

Изменено пользователем Sheleh
  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Sheleh    4

@22580 , немного изменил плату(injectorMega16.lay6). А то была уж очень размашистой. Плюс сделал ее таким образом, что бы можно было по максимуму задействовать ноги контроллера.

NewLay.thumb.PNG.cfa771684f5a40dc5c2dffd392e6f41f.PNG

Планы по функциональности расширились. Данный девайс можно будет использовать как:

1. Субкомпьютер или функциональный расширитель имеющейся ЭСУД. Например, если уже стоит старый с одновременным или попарным впрыском, то можно будет его преобразовать в фазированный, выкинуть трамблер поставив катушки. Ну и с он-лайн настройкой карт. Только в этом режиме в картах будут хранится не абсолютные значения, а относительные. Может даже получится (если это кому-нибудь будет нужно) реализовать функционал для перевод атмосферы на турбо.

2. Контроллер ГБО.

3. Самостоятельная ЭСУД.

Завтра буду травить, собирать, и начинать испытания на реальном авто. Хотя нет. Сначала на столе с осциллографом, а уже потом на авто.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
22580    44

@Sheleh Кстати у меня же тоже трамблер есть, если убрать коррекцию по вакууму и центробежную, то получу импульсы такие же как у тебя. Плати красивая, но местами зазор между соседними дорожками ~170 микрон)

Изменено пользователем 22580

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
DJ_DыM    133

что за прошивка и что за софт для настройки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Sheleh    4

@22580 , у меня CA18 тоже изначально был карбюраторный и зажигание с центробежным регулятором и вакуумным корректором, в общем классическая схема. Потом я заметил что на тоетах, точнее именно на 3S-FE до 94 кажись года стоял впрыск с точно таким же простым датчиком, всего 4 импульса на 2 оборота коленвала. Так я прикрутил на ниссан комп от тоеты, вместе с тоетовским дадом, датчиками температуры, клапаном ХХ и ДПДЗ. Да, и из трамблера выкинул механические регуляторы. Родные форсунки от 3S не подошли, заливало конкретно. Подобрал другие форсы, меньшей производительностью (от эскудика), и видимо неплохо угадал. Так уже больше года ездил вынашивая план по созданию своего ЭБУ, потому-что настройки не идеальные, а тоетовский во-первых не настроишь, все зашито намертво в ПЗУ процессора. Там стоит расширенный аналог мотороловского 6801. Их чипуют - переводят в режим работы с внешней памятью, а занятые ноги как то эмулируют, и все это при помощи FPGA. Вариант интересный, но секретный и узконаправленный. Во-вторых из одновременного впрыска таким образом фазированный не получить. А фазированный гораздо лучше для газа, из-за того что впрыски длиннее.

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

Примерный план такой:

1. Подать на INT0 сигнал с выхода на инжекторы со своего ЭБУ. Подключить форсунки раздельно уже к своей плате. Запустить без пересчета - пришло прерывание - открыл/закрыл форсунки.

2. Запустить простую математику. Импульсы с ЭБУ измерять и пересчитывать в фазированные. Нужен ДФ.

3. Если все хорошо. То ввести объемную коррекцию. Отладить ее он-лайн редактирование.

4. Проделать тоже самое с зажиганием.

5. Реализовать ХХ и прочие управления.

Только после всего этого можно будет задуматься, о том, что бы выкинуть штатный комп.

По поводу платы. Спасибо за комплимент ). Да узкие места есть, но как показывает практика они хорошо протравливаются. Поэтому стараюсь где только можно делать дорожки пошире, тонкие могут исчезнуть. Совсем без узких мест не обойтись, но на крайний случай есть острое шило. И мультиметр в режиме прозвонки. Да и исходник платы нате пожалуйста. Предложите свое видение.

@DJ_DыM , прошивка своя, в разработке. Пока работает в протеусе. Умеет выдавать фазированные впрыск и зажигание по сигналу 4-1. Значение длительности впрыска и УОЗ берет из таблиц 16х16. Других коррекций пока нет, как и связи с ПК.

Скрытый текст

'$Regfile = "m16def.dat"
$Regfile = "m8535.dat"
$Crystal=16000000
$hwstack=40
$swstack = 16
$framesize = 32

'----------------------------------------------------------------------------------------------
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0
Config Lcdmode = Port
Cls
Cursor Off
'----------------------------------------------------------------------------------------------


'----------------------------------------------------------------------------------------------
Config Timer0 = Timer , Prescale = 8                        'таймер для PWM HOLD форсунок
On Timer0 OnTimer0:
Enable Timer0

Config Timer1 = Timer , Prescale = 256 , Clear Timer = 0    'основной таймер
Enable Timer1
Compare1a = 100                                             'конфигурируем по сравнению
On Compare1A OnTimer1
Enable Compare1a


'Config Timer2 = Timer , Prescale = 8
'On Timer2 OnTimer2:
'Enable Timer2
'----------------------------------------------------------------------------------------------

Enable Interrupts                                           'конфигурируем прерывание с ДПКВ
Config Pind.2 = Input
On Int0 Onint0
Config Int0 = Rising
Enable Int0

'------------------конфигурация АЦП-------------------------
Config Adc = Single , Prescaler = 128 , Reference = Aref
Config Pina.5 = Input
Config Pina.0 = Input
Start Adc
'----------------------------------------------------------------------------------------------

'------------------конфигурация USART-----------------------
$baud = 57600
Config Pind.1 = Output
Config Pind.0 = Input
Echo Off
'-----------------------------------------------------------

Config Pind.7 = Output                                      'форсунки
Config Pind.6 = Output
Config Pind.5 = Output
Config Pind.4 = Output


Config PIND.0 = Output

Declare Sub SetPortState(byval F As Byte , byval S As Byte)

Const CylindersCount = 4                                    'количество цилиндров в данной конфигурации

Dim Rx As String * 100

Dim H As Bit , Pulseflag As Bit

Dim N As Byte , J As Byte , I As Byte , Cycle As Byte , Port As Byte , EventEnable(5) As Byte
Dim X1 As Byte , X2 As Byte , X3 As Byte , X4 As Byte , EventShift(5) As Byte , PortState(5) As Byte
Dim TimeIgtCharge As Byte , InjLagTime As Byte


Dim D As Integer , X As Integer , Y As Integer , EventTime(5) As Integer , AFS As Integer

Dim Interspace As Word , PhaseInjShift As Word
Dim Kx As Word , Ky As Word , C as Word , G As Word , RPM As Word
Dim IgtAngle As Word , InjTime As Word


'Dim HN(260) As Byte

Cycle = 1                                                   'счетчик наступления рабочтей точки МВТ
PhaseInjShift = 10                                          'за какое количество тиков таймера до ВМТ дожна зыкрыться форсунка
TimeIgtCharge = 255                                         'время включения катушки перед моментом зажигания
InjLagTime = 62

Do
   If Pulseflag = 1 Then                                     'если сработало предывание от ДПКВ
      Pulseflag = 0
      PortB.0 = 0
      C = TIMER1


      AFS = GetADC(0) - 254                                   '259                                   'обрезаем все что ниже нижней работчей границы ДАД

      if AFS < 1 then AFS = 1                                 'Убираем отрицательные значения
      AFS = AFS * 10                                          'Масштабируем в Byte
      AFS = AFS / 32

      RPM = 37600 / Interspace                                'Масштабируем обороты. при частоте 16МГц значению 255 будет соответствовать 10000об/мин
      X = RPM / 16                                          'Вычисляем положение в таблице
      Y = AFS / 16
      I = Y * 16 : I = I + X                                'Вычисляем N соответсвубщего значения в массиве
      h = 0
      Kx = X * 16                                             'находим коэффициент для интерполяции по оборотам
      Kx = RPM - Kx
      Kx = Kx * 10                                          'Для того что бы не работать с дробными числами
      Kx = Kx / 16                                            '
      Ky = Y * 16                                           'находим коэффициент для интерполяции по давлению
      Ky = AFS - Ky
      Ky = Ky * 10                                          'Для того что бы не работать с дробными числами
      Ky = Ky / 16                                          '
      X1 = Lookup(I , Saturation)                           'Заносим в X1
      incr I                                                'Следующий
      X2 = Lookup(I , Saturation)
      I = I + 16                                            'переходим на следующую строку
      X4 = Lookup(I , Saturation)
      decr I
      X3 = Lookup(I , Saturation)                           'И так у нас есть 4 искомых значения для того что бы из них интерполировать искомое
      goto L3
      L2:
      H = 1
      I = I - 16
      X1 = Lookup(I , AngleTable)                           'Заносим в X1
      incr I                                                'Следующий
      X2 = Lookup(I , AngleTable)
      I = I + 16                                            'переходим на следующую строку
      X4 = Lookup(I , AngleTable)
      decr I
      X3 = Lookup(I , AngleTable)                           'И так у нас есть 4 искомых значения для того что бы из них интерполировать искомое

      L3:
      X = X2 - X1
      X = X * 10
      X = X * Kx
      X = X / 100                                           'Что бы не работать с дробью, ранее мы умножали на 100 и на 10. Настала пора делить обатно
      X = X + X1
      Y = X4 - X3
      Y = Y * 10
      Y = Y * Kx
      Y = Y / 100                                           'Что бы не работать с дробью, ранее мы умножали на 100 и на 10. Настала пора делить обатно
      Y = Y + X3
      X = Y - X
      X = X * Ky
      X = X / 100                           'искомое интерполированное значение
                                             
      if h = 0 then
        InjTime = X1 + X         'для времени впрыска         
        goto L2
      End If

      IgtAngle = X1 + X         'для угла

      InjTime = InjTime * 5
      InjTime = InjTime + InjLagTime

      Disable Compare1a                                     'Отключем "ядро", для исключения совместных запросов в буферные переменные
      EventTime(2) = Interspace - PhaseInjShift             'Время закрытия форсунки
      EventTime(4) = Interspace - IgtAngle                  'Момент зажигания
      EventTime(1) = EventTime(2) - InjTime                 'Время открытия форсунки
      EventTime(3) = EventTime(1) + InjLagTime              'время включения PWM
      EventTime(5) = EventTime(4) - TimeIgtCharge           'Заряд катушки зажигания
      for i = 1 to 5 : EventShift(i) = 0 : next             'сбросим сдвиги
      for i = 1 to CylindersCount -1
         for j = 1 to 5
            if EventTime(j) < 0 then                        'расчитаем сдвиги событий. Например, если форсунка должна закрыться в текущем
               EventTime(j) = EventTime(j) + Interspace     'такте, но время ее открытия не "влезает" в текущий такт, т.е. идет перкрытие
               incr EventShift(j)                           'Т.е. если время открытого состояния форсунки больше времени между соседними
            end if                                          'работчими МВТ, то вычисляем сдвиг, на какую фазу придется данное событие
         next
      next
      if EventTime(1) < 0 then EventTime(1) = 1
      if EventTime(3) < 0 then EventTime(3) = 1
      D = Compare1a - TIMER1                                'перед запуском прерванного ядра проверяем
      if D < 2 then Compare1a = TIMER1 + 2                  'не пропустили ли мы какое-нибудь событие
      Enable Compare1a                                      'запускаем ядро

      C = TIMER1 - C
      PortB.0 = 1
      C = 50 * RPM

      if C > 0 then
         Locate 1 , 1
         lcd "         "
         locate 1 , 1
         Lcd C
         Locate 2 , 1
         lcd "         "
         locate 2 , 1
         Lcd IgtAngle                                       '
      end if


    'Print Hex(interspace)

      If Ischarwaiting() = 1 Then                             'проверка наличия команды в буфере UART
         Input "" , Rx
         If Len(rx) = 5 Then                                   '
        'S=mid(Rx,1,2)
        'T=HEXVAL(S)
        'S=mid(Rx,3,2)
        'dd=HEXVAL(S)
            Print Hex(interspace)
            Rx = ""
         End If
      End If


   End If
Loop

Sub SetPortState(byval F As Byte , byval S As Byte)
   if S < 4 then
      if S = 3 then S = 1
      if S = 2 then S = 0
      if F = 1 then Portd.7 = S                               '1. форсунки в порядке их работы
      if F = 2 then Portd.6 = S                               '2.
      if F = 3 then Portd.5 = S                               '3.
      if F = 4 then Portd.4 = S                               '4.
    'if F = 5 then PortB.7 = S
    'if F = 6 then PortB.6 = S
    'if F = 7 then PortB.5 = S
    'if F = 8 then PortB.4 = S
      else
      S = S - 4
      if F = 1 or F = 3 then PortB.7 = S                      '1-3 зажигание DIS-2
      if F = 2 or F = 4 then PortB.6 = S                      '2-4
'    if F = 3 then PortB.5 = S
'    if F = 4 then PortB.4 = S
   end if
End Sub


OnTimer0:
   if PortState(1) = 3 then Toggle Portd.7                   'тут по таймеру происходит непрерывная инверсия
   if PortState(2) = 3 then Toggle Portd.6                   'выходов форсунок, находящихся в режиме PWM HOLD
   if PortState(3) = 3 then Toggle Portd.5                   '
   if PortState(4) = 3 then Toggle Portd.4                   '
  'if PortState(5) = 3 then Toggle PortB.7
  'if PortState(6) = 3 then Toggle PortB.6
  'if PortState(7) = 3 then Toggle PortB.5
  'if PortState(8) = 3 then Toggle PortB.4
Return

OnTimer1:                                                   'таймер с самозагузкой. Выполняет очередь событий
L:
   Port = EventShift(n) + Cycle : if Port > CylindersCount then Port = Port - CylindersCount       'вычисляе порт, на котором должно произойти событие
   Call SetPortState(Port , n)                              'выполняем событие
   if n < 4 then PortState(Port) = n                        'если событие не связано с зажиганием, изменяем статус порта форсунки(если n=3 то HOLD PWM)
   EventEnable(n) = 0                                       'помечаем событие, как исполненное

   n = 0
   D = interspace                                           'ищем следующие событие.
   for j = 1 to 5
      if EventEnable(j) = 1 and EventTime(j) < D then          'выбираем ближайшее по времени событие. Они не отсортированы
         D = EventTime(j)
         n = j                                                  'запоминаем его номер
      end if
   next

   if n <> 0 then                                           'если события не закончились
      D = EventTime(n) - TIMER1                             'записываем разницу между текущим временем таймера и планируемым
      if D < 5 then goto L                                     'если осталось мало времени до его исполнения,
      Compare1a = EventTime(n)                                 'или вообще мы его успели просахатить, то отправляемся на его немедленное исполнение
   end if                                                    'если время еще есть, грузим планируемое премя следующего события в регистр сравнения.
Return                                                      'как только подойдет время таймера все повторится


Onint0:                                                     'обработчик прерывания датчика в трамблере
   Interspace = Timer1                                      'запомнили сколько тиков натикало с момента предыдущего прерывания. Почти RPM
   Timer1 = 0                                               'обнуляем счетчик
   Pulseflag = 1
   Compare1a = Interspace                                   'загружаем в регистр сравнения максимальное время периода RPM
   for j = 1 to 5                                           'прогоним очереь сообщений на предмет неисполненых. Такое возможно, если обороты увеличились
      if EventEnable(j) = 1 then
         Port = EventShift(j) + Cycle : if Port > CylindersCount then Port = Port - CylindersCount
         Call SetPortState(Port , j)                          'выполняем немедлянно все неисполненные.
         if j < 4 then PortState(Port) = j
      end if

      if EventTime(j) < Compare1a then                       'перебираем очередь сообщений
         Compare1a = EventTime(j)                             'загружаем ближайщее событие
         n = j
      end if
      EventEnable(j) = 1                                     'настал новые период, помечаем все сообщения как неисполненные
   next

   Incr Cycle : If Cycle > CylindersCount Then Cycle = 1    'увеличиваем счетчик периода
   if Compare1a < 4 then Compare1a = 4                      'если событие дишит в затылок. Отодвинем его чуть-чуть. В начале цикла это не зажигание. Значит не страшно

   'Start Timer1
Return

End


Saturation: 
   Data 26 , 27 , 28 , 28 , 28 , 28 , 29 , 30 , 31 , 32 , 33 , 33 , 32 , 32 , 31 , 30
   Data 30 , 31 , 32 , 32 , 32 , 32 , 34 , 35 , 36 , 37 , 38 , 38 , 37 , 37 , 36 , 35
   Data 35 , 36 , 37 , 37 , 37 , 37 , 39 , 41 , 42 , 43 , 44 , 44 , 43 , 43 , 42 , 41
   Data 41 , 42 , 43 , 43 , 43 , 43 , 45 , 48 , 49 , 50 , 51 , 51 , 50 , 50 , 49 , 48
   Data 48 , 49 , 50 , 50 , 50 , 50 , 52 , 56 , 57 , 58 , 59 , 59 , 58 , 58 , 57 , 56
   Data 56 , 57 , 58 , 58 , 58 , 58 , 60 , 65 , 66 , 67 , 68 , 68 , 67 , 67 , 66 , 65
   Data 65 , 66 , 67 , 67 , 67 , 67 , 70 , 75 , 77 , 78 , 79 , 79 , 78 , 78 , 77 , 75
   Data 75 , 77 , 78 , 78 , 78 , 78 , 81 , 87 , 89 , 90 , 92 , 92 , 90 , 90 , 89 , 87
   Data 87 , 89 , 90 , 90 , 90 , 90 , 94 , 101 , 103 , 104 , 107 , 107 , 104 , 104 , 103 , 101
   Data 101 , 103 , 104 , 104 , 104 , 104 , 109 , 117 , 119 , 121 , 124 , 124 , 121 , 121 , 119 , 117
   Data 117 , 119 , 121 , 121 , 121 , 121 , 126 , 136 , 138 , 140 , 144 , 144 , 140 , 140 , 138 , 136
   Data 136 , 138 , 140 , 140 , 140 , 140 , 146 , 158 , 160 , 162 , 167 , 167 , 162 , 162 , 160 , 158
   Data 158 , 160 , 162 , 162 , 162 , 162 , 169 , 183 , 186 , 188 , 194 , 194 , 188 , 188 , 186 , 183
   Data 183 , 186 , 188 , 188 , 188 , 188 , 196 , 212 , 216 , 218 , 225 , 225 , 218 , 218 , 216 , 212
   Data 212 , 216 , 218 , 218 , 218 , 218 , 227 , 246 , 251 , 253 , 255 , 255 , 253 , 253 , 251 , 246
   Data 246 , 251 , 253 , 253 , 253 , 253 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255

AngleTable:
   Data 184 , 188 , 192 , 197 , 201 , 205 , 210 , 214 , 219 , 224 , 229 , 234 , 239 , 244 , 250 , 255
   Data 130 , 133 , 136 , 139 , 142 , 145 , 148 , 151 , 155 , 158 , 162 , 165 , 169 , 172 , 176 , 180
   Data 92 , 94 , 96 , 98 , 100 , 102 , 105 , 107 , 109 , 112 , 114 , 117 , 119 , 122 , 125 , 127
   Data 65 , 66 , 68 , 69 , 71 , 72 , 74 , 76 , 77 , 79 , 81 , 82 , 84 , 86 , 88 , 90
   Data 46 , 47 , 48 , 49 , 50 , 51 , 52 , 53 , 55 , 56 , 57 , 58 , 59 , 61 , 62 , 63
   Data 32 , 33 , 34 , 35 , 35 , 36 , 37 , 38 , 39 , 39 , 40 , 41 , 42 , 43 , 44 , 45
   Data 23 , 23 , 24 , 24 , 25 , 25 , 26 , 27 , 27 , 28 , 28 , 29 , 30 , 30 , 31 , 32
   Data 16 , 16 , 17 , 17 , 18 , 18 , 18 , 19 , 19 , 20 , 20 , 21 , 21 , 21 , 22 , 22
   Data 11 , 12 , 12 , 12 , 12 , 13 , 13 , 13 , 14 , 14 , 14 , 14 , 15 , 15 , 15 , 16
   Data 8 , 8 , 8 , 9 , 9 , 9 , 9 , 9 , 10 , 10 , 10 , 10 , 10 , 11 , 11 , 11
   Data 6 , 6 , 6 , 6 , 6 , 6 , 6 , 7 , 7 , 7 , 7 , 7 , 7 , 8 , 8 , 8
   Data 4 , 4 , 4 , 4 , 4 , 4 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 6
   Data 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 4 , 4 , 4 , 4 , 4 , 4
   Data 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 3 , 3 , 3 , 3 , 3
   Data 1 , 1 , 1 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2
   Data 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1

Софт так же еще в стадии наработок.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
DJ_DыM    133

мне понравилась идея портировать январь 5.1 под мегасквирт, в этом есть смысл

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Sheleh    4

А что в этом январе плохого, и чем сквирт лучше?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
DJ_DыM    133

Sheleh, спасибо большое, но есть немного неясностей по пинам на январе, а так задумка классная

то что в мегасквирте можно онлайн настроить под любой двигатель

Изменено пользователем DJ_DыM

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
hc13nx2    1
В 06.09.2018 в 10:57, leshasoft сказал:

К  8052 можно же внешнюю память приделать.

Так 256кб должно хватить, главное аккуратно использовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сообщения

    • 1)Explay Tornado- 55х65х3,8мм  1550мА/ч_3,7V.  75р. наличие менее 50шт



      Explay Cinema-TV- 105х138х3,5мм  6000мА/ч_3,7V .175р. наличие м8 шт.

      4)84х103,5х3,5мм  4000мА/ч - 120р.

      5)Explay Hit 3g(универсальный) 71х98Х3,25мм 2800мА/ч_3,7V  60р.
      за шт... наличие  60шт.


      BT60-21   7.4V 2800мА/ч. 150р. менее 10 шт.  Размеры с корпусом-69х198х29мм. Внутри два элемента 2800мА/ч_3,7V, размерами по 160х29х6мм.   Плата  BMS + PCM.


      Платы МР3 плеера с памятью на борту 4Гб. Можно использовать, как флешку. Или SD ридер. Через миниUSB. Выход аудио - через мини джек. Размеры 29Х50Х5,5мм
      Питание 3,7V Новые. Рабочие 100%. Цена 150р
      Наличие 15шт.
    • А частота работы старой и новой схем совпадают? Трансформатор ведь был рассчитан на "родную".
    • Кто бы спорил. Но это если заниматься одной темой. А если приходится заниматься всем на свете, как устроена наша жизнь, то приходят в голову всякие хитрые мысли.  Вот все пытаюсь отремонтировать ИБП 35 В, 5 Вт от кттайского увлажнителя воздуха. Вместо полевика и отдельного айватовского драйвера поставил ТОРик. При включении ТОРик блокируется. Если поднимать напряжение от нуля до 315 В, то начиная с 7-8 В запускается и нормально работает до примерно 80 В. Потом блокируется. При напряжении выше 20-30 В не запускается, но запущенный при более низком напряжении тянет до 80 В. Что может быть? Может быть КЗ в трансформаторе? Как проверить трансформатор? Обратная связь без оптрона с отдельной обмотки трансформатора. Пробовал и делителем понижать напряжение с этой обмотки, пробовал и результирующее постоянное напряжение с нее делить. Опять же не может же управляющее напряжение быть завышено в 30 раз. Айватовскому драйверу вроде надо примерно 12 В, а ТОРику только 6. Ну значит по идее должно получиться вдвое меньшее напряжение на выходе ИБП, но на запуск вроде не должно повлиять?
    • Постараюсь сегодня скинуть.
    • Нет нету ее живьём. Почему сомневаетесь? Вариант на 60в надо
    • Это я знаю, но регулятор я нашел такой и кстати на данном двигателе максимальные обороты не большие они достигаются при 50 Гц, все что выше на двигатель не оказывает никакого влияния, так вот, при выставленной максимальной частоте 50 Гц, когда на вход подается 10 вольт, на инверторе только 40 Гц, поэтому приходится максимальную частоту ставить 60Гц, тогда все четко, грешу на дешевый Китайский инвертор. Да и зачем обходиться 5ю вольтами если схема рассчитана на такой диапазон, при чем детали стоят копейки.