МПСЗ+БК+PC/продолжение [Печать]
Выбрать сообщения с # по # FAQ
AUTOLADA.RU -> Семейство "Самара" |

#1001:  Автор: Бармалей_GMNОткуда: Минск СообщениеДобавлено: 21 Сентября 2007 12:06
Turok писал(а):


Стоп ! Получается, что и файл OP_Z разный для версий 4 и 16 МГц Confused Если это так, то в этом то вся и проблемма моя не соответсвия заложенных графиков и получаемым углам в итоге ...


Нет. Не разная. Просто алгоритм пересчёта углов в задержки для 4 и 16 МГц разный - поправка на "сорость".
Turok писал(а):


А что если методом научного тыка, т.е. ставим в 16 графиках единый УОЗ, смотрим, потом меняем значение и снова смотрим ...


Научный тык, в данном случае вряд ли поможет т.к. его результаты очень неточны. А это не есть хорошо.
Давайте подключать коллективный разум, у кого есть, пусть поможет калькоулятором Smile. Где там алгоритм был, продублируйте шоб "на виду" был.

#1002:  Автор: kipsОткуда: Украина Кременчуг СообщениеДобавлено: 21 Сентября 2007 12:07
Бармалей_GMN писал(а):

Сам себе думаю, что графики разные. Кроме того, у меня в настройках (ДАД, ХХ, НАклон) в прошивку забиты на старте.


Получается я всё делаю правильно, спасибо.

#1003:  Автор: TurokОткуда: Ташкент СообщениеДобавлено: 21 Сентября 2007 14:14
Бармалей_GMN писал(а):

Нет. Не разная. Просто алгоритм пересчёта углов в задержки для 4 и 16 МГц разный - поправка на "сорость".


Стоп ! Как я понимаю программа берёт уже готовые значения из выдранной прошивки ? А они там уже представленны в формате "время". Так что 4 и 5 версии это время ещё делят с поправкой на скорость ? Или мы на разных языках говорим :-D

#1004:  Автор: jhmОткуда: Украина, Львов СообщениеДобавлено: 21 Сентября 2007 15:21
Алгоритм op_z для 4 и 16МГц должен быть одинаковым. Разница только в рассчетах задержки для разной частоты. То есть формула для 4МГц будет работать и для 16. А поправка на разную частоту сидит в прошивке.
#1005:  Автор: paratruperОткуда: Belarus/Gomel СообщениеДобавлено: 21 Сентября 2007 16:19
Я похоже нашёл в прошивке куски отвечающие за преобразование данных из времени как они забиты в прошивка в градусы, но так как в асме пика я вообще нуль, то превевести их в формулу не могу Sad хотя если бы был отладчик и эмулятор под пики можно было реверсировать и поглядеть како оно работает, но я таких прог на знаю Sad
#1006:  Автор: TurokОткуда: Ташкент СообщениеДобавлено: 21 Сентября 2007 16:30
jhm писал(а):

Алгоритм op_z для 4 и 16МГц должен быть одинаковым. Разница только в рассчетах задержки для разной частоты. То есть формула для 4МГц будет работать и для 16. А поправка на разную частоту сидит в прошивке.


Я уже тоже так подумал ...
Формула для задержки следующая (если не прав поправьте)

Vz=(Umax-Uoz)*1/((Od/60)*360)
Где
Vz-время задержки
Umax-максимальный угол
Uoz-угол опережения
Od-обороты двигателя

т.е зависимость от оборотов линейная

Тепер же в что я сделал, посчитал с какой зависимостью уменьшать УОЗ чтобы при увеличение оборотов время задержки осталось примерно одинаковым, поставил в графики, выдрал OP_Z и в итоге как и предпологалось значения одинаковые примерно ... Но !
Если мы берём угол одинаковый скажем на 600 и 720 оборотах то изменения по времени задержки равны обратному отношению изменнения оборотов т.е 1 к 1,2 . А вот в выдранной при помощи OP_Z отношение значений ~ 2.45555 Значит в той формуле по которой считает OP_z есть ещё какие то константы ...
Вот если сейчас бы это PAUL прочитал, ржал бы Smile

#1007:  Автор: TurokОткуда: Ташкент СообщениеДобавлено: 21 Сентября 2007 16:32
paratruper писал(а):

Я похоже нашёл в прошивке куски отвечающие за преобразование данных из времени как они забиты в прошивка в градусы, но так как в асме пика я вообще нуль, то превевести их в формулу не могу хотя если бы был отладчик и эмулятор под пики можно было реверсировать и поглядеть како оно работает, но я таких прог на знаю


Давай куски я тоже погляжу ....
Эмулятор Proteus возми ...

#1008:  Автор: jhmОткуда: Украина, Львов СообщениеДобавлено: 21 Сентября 2007 16:32
Есть отладчик от производителя - MPLAB, качается с microchip.com
Я немного копал прошивку, вот только забыл файлы на работе Sad С математикой рассчетов я не разбирался, но она мне не очень понравилась, там есть перевод времени в обороты, а потом с оборотов опять время рассчитывается. То есть двойное преобразование. Не проще ли было работать только с задержкой, причем с 16-битной точностью? Тогда бы не было ограничения оборотов до 5100, да и вариант для 2-6-8-цилиндровых двигателей решался бы переносом графиков на соответствующий диапазон задержек искрообразования.
И кажется мне, что Zhpaul так и сделал в новых версиях(там диапазон оборотов до 15000)

Последний раз редактировалось: jhm (21 Сентября 2007 16:41), всего редактировалось 1 раз

#1009:  Автор: jhmОткуда: Украина, Львов СообщениеДобавлено: 21 Сентября 2007 16:40
Turok писал(а):

Если мы берём угол одинаковый скажем на 600 и 720 оборотах то изменения по времени задержки равны обратному отношению изменнения оборотов т.е 1 к 1,2 . А вот в выдранной при помощи OP_Z отношение значений ~ 2.45555 Значит в той формуле по которой считает OP_z есть ещё какие то константы ...
Вот если сейчас бы это PAUL прочитал, ржал бы Smile



Константа видимо загоняет диапазон значений в 8 или 16 бит

#1010:  Автор: jhmОткуда: Украина, Львов СообщениеДобавлено: 21 Сентября 2007 16:43
Кстати... рабочий Proteus подкиньте Smile
#1011:  Автор: Бармалей_GMNОткуда: Минск СообщениеДобавлено: 21 Сентября 2007 16:58
jhm писал(а):

Есть отладчик от производителя - MPLAB, качается с microchip.com
Я немного копал прошивку, вот только забыл файлы на работе Sad С математикой рассчетов я не разбирался, но она мне не очень понравилась, там есть перевод времени в обороты, а потом с оборотов опять время рассчитывается. То есть двойное преобразование. Не проще ли было работать только с задержкой, причем с 16-битной точностью? Тогда бы не было ограничения оборотов до 5100, да и вариант для 2-6-8-цилиндровых двигателей решался бы переносом графиков на соответствующий диапазон задержек искрообразования.
И кажется мне, что Zhpaul так и сделал в новых версиях(там диапазон оборотов до 15000)


Дык если разбираешься, давай попробуем. Пиши, что и как видишь с примерами. На Турке "проэкспиремнтируем" Smile его не жалко Smile Может и получится что. "Дорогу осилит идущий" ? не помню кто и когда.

#1012:  Автор: TurokОткуда: Ташкент СообщениеДобавлено: 21 Сентября 2007 16:59
jhm писал(а):

Константа видимо загоняет диапазон значений в 8 или 16 бит


Помоги добить заразу ! :-D
jhm писал(а):

Кстати... рабочий Proteus подкиньте


Млин Нет тоска, а то бы скинул, погляжу может ссылка осталась ...

#1013:  Автор: TurokОткуда: Ташкент СообщениеДобавлено: 21 Сентября 2007 17:02
Народ может новую ветку создадим, а то чё то подглюкивает уже ...
Измышлизмы ... Может RUSO попросил PAUL остановится Smile
Не может же человек вот так взять и пропасть ? И что ни кто не знает его мыло ?

#1014:  Автор: TurokОткуда: Ташкент СообщениеДобавлено: 21 Сентября 2007 17:04
Бармалей_GMN писал(а):

На Турке "проэкспиремнтируем" его не жалко Может и получится что.


Спасибо и тебе на добром слове Smile
А так я всеми руками за !

#1015:  Автор: AVKОткуда: РБ Благовещенск СообщениеДобавлено: 21 Сентября 2007 17:07
jhm писал(а):

Кстати... рабочий Proteus подкиньте


kazus.ru однако

#1016:  Автор: jhmОткуда: Украина, Львов СообщениеДобавлено: 21 Сентября 2007 17:16
AVK писал(а):

jhm писал(а):

Кстати... рабочий Proteus подкиньте


kazus.ru однако


Да качал когда-то, в каждой версии свои глюки.. Sad потому и спрашиваю, уможет есть у кого рабочая?

#1017:  Автор: paratruperОткуда: Belarus/Gomel СообщениеДобавлено: 21 Сентября 2007 17:51
Turok писал(а):


Давай куски я тоже погляжу ....
Эмулятор Proteus возми ...


Вот куски из оригинальной прошивки от 4 версии, где как мне кажется идёт пересчёт (да там так и написано Smile) Собственно говоря главное сейчас найти "волшебную формулу персчёта градусов в задержку".

ob_min ;перевод tmr в обороты
;вход: ob1:tmr
;выход: W
movfw ob1
bank2
movwf EEADRH
movlw 6
addwf EEADRH,F
bank0
movfw tmr
bank2
movwf EEADR

bank3
bsf EECON1,EEPGD
bsf EECON1,RD
nop
nop
bank2
movfw EEDATA
bank0
return
;---------------------------------------------------------
op_z ;перевод оборотов в задержку зажигания (!!!!!Обратите внимание у Павла прямо так и написано!!!!)
;вход: vak:W
;выход: CCPR1H:CCPR1L
bank2
movwf EEADR
bank0
movfw vak
bank2
movwf EEADRH
op_z1 bank3
bsf EECON1,EEPGD
bsf EECON1,RD
nop
nop
bank2
movfw EEDATA
bank0
movwf CCPR1L
bank2
movfw EEDATH
bank0
movwf CCPR1H
return

#1018:  Автор: TurokОткуда: Ташкент СообщениеДобавлено: 21 Сентября 2007 18:02
paratruper писал(а):

Собственно говоря главное сейчас найти "волшебную формулу персчёта градусов в задержку".


Формула есть, а вот как соотвествуют этим значениям задержек, мистические значения после OP_Z тут загвоздка ...

#1019:  Автор: paratruperОткуда: Belarus/Gomel СообщениеДобавлено: 21 Сентября 2007 18:12
jhm писал(а):

Не проще ли было работать только с задержкой, причем с 16-битной точностью? Тогда бы не было ограничения оборотов до 5100, да и вариант для 2-6-8-цилиндровых двигателей решался бы переносом графиков на соответствующий диапазон задержек искрообразования.
И кажется мне, что Zhpaul так и сделал в новых версиях(там диапазон оборотов до 15000)



Не факт. Обороты формируются исходя из формулы Об=Знач*20
Где Знач- это значение хранящееся в Пике таким образом можно просто увеличить множитель к примеру до 40 тогда у нас МахОб=10200, другое дело что дискретность возрастёт в 2 раза, то есть шаг будет не 20 об/мин а 40 об/мин. Но прошивка правится практически мгновенно Smile Кстати двойной перевод идёт ещё с родительской прошивки Павла, и Русо по моему его не трогал, он подправлял только подпрограммы деления,умножения, и т.д.

#1020:  Автор: jhmОткуда: Украина, Львов СообщениеДобавлено: 21 Сентября 2007 18:17
Собсно и первая и вторая подпрограмма читает данные с таблицы.
Первая возвращает значение оборотов/20. Почему именно так? Потому что значение 8-битное. Итого максимум 255*20=5100 об.мин.
А вторая берет это значение оборотов и переменную vak - по видимому разрежение, и из таблицы читает значение задержки.

#1021:  Автор: jhmОткуда: Украина, Львов СообщениеДобавлено: 21 Сентября 2007 18:29
paratruper писал(а):


Не факт. Обороты формируются исходя из формулы Об=Знач*20
Где Знач- это значение хранящееся в Пике таким образом можно просто увеличить множитель к примеру до 40 тогда у нас МахОб=10200, другое дело что дискретность возрастёт в 2 раза, то есть шаг будет не 20 об/мин а 40 об/мин. Но прошивка правится практически мгновенно Smile Кстати двойной перевод идёт ещё с родительской прошивки Павла, и Русо по моему его не трогал, он подправлял только подпрограммы деления,умножения, и т.д.


Вот мои размышления:
1. Сначала мы измеряем задержку между импульсами. Tвх
2. Задержка импульса зажигания Твых равна Твх-Задержка опережения.
3. Все. Больше математики нет.

Я конечно сильно упростил, но идея такова. Привязку до оборотов нужно делать только в программе редактирования графиков УОЗ

#1022:  Автор: paratruperОткуда: Belarus/Gomel СообщениеДобавлено: 21 Сентября 2007 18:31
Turok писал(а):


Формула есть, а вот как соотвествуют этим значениям задержек, мистические значения после OP_Z тут загвоздка ...



Давайте думать вместе Smile
OPZ выдирает графики из прошивки от ВАЗа, у ВАЗа в характристике "экономичный режим без ДК" (откуда ОПЗ выдирает прошивки) 16 "расходов" по 16 отсчётов, плюс есть Уоз при пуске, правда там 40 отсчётов, а у нас 19. Возможно если взять отсчёты из ВАЗ прошивки и совместить их с нашими, то мы получим искомые графики УОЗ. Правда у нас в прошивке таких графиков не 16, а 16 по 16 тоесть 256 не считая пускового Wink так вот что делают остальные 15 надо смотреть прошивку.

#1023:  Автор: paratruperОткуда: Belarus/Gomel СообщениеДобавлено: 21 Сентября 2007 18:38
jhm писал(а):


Вот мои размышления:
1. Сначала мы измеряем задержку между импульсами. Tвх
2. Задержка импульса зажигания Твых равна Твх-Задержка опережения.
3. Все. Больше математики нет.
Я конечно сильно упростил, но идея такова. Привязку до оборотов нужно делать только в программе редактирования графиков УОЗ



Вся эта канитель именно для этого и затевается, что бы перевести задержку в Уоз для редактирования графиков УОЗ на компьютере, потому что ОПЗ их как-то не совсем правильно выдирает. Понятно что пику УОЗ в градусах не очень то и нужен ему время надо, через которое сигнал подать на катушку.

В общем на данный момент имеем: Формулу Турка, и некоторые измышления по поводу правильности расшифровки формата файла создаваемого ОПЗ. Но нет четкой уверенности что всё это коррретно Smile

#1024:  Автор: jhmОткуда: Украина, Львов СообщениеДобавлено: 21 Сентября 2007 18:55
paratruper писал(а):

Правда у нас в прошивке таких графиков не 16, а 16 по 16 тоесть 256 не считая пускового Wink так вот что делают остальные 15 надо смотреть прошивку.



Это все промежуточные рассчеты. Павел только в новых версиях ввел интерполяцию. Потому у него и умещается 16 характеристик УОЗ. А у нас - только одна, без интерполяции.
Значит op_z рассчитывает промежуточные значения.

Значение оборотов/20 - это младший байт адреса в таблице задержек.
Вакуум - старший байт адреса.

#1025:  Автор: paratruperОткуда: Belarus/Gomel СообщениеДобавлено: 21 Сентября 2007 19:10
jhm писал(а):


Это все промежуточные рассчеты. Павел только в новых версиях ввел интерполяцию. Потому у него и умещается 16 характеристик УОЗ. А у нас - только одна, без интерполяции.
Значит op_z рассчитывает промежуточные значения.

Значение оборотов/20 - это младший байт адреса в таблице задержек.
Вакуум - старший байт адреса.



А поподробнее можно? Меня интересует каким образом из тех цифр которые есть в файле ОПЗ получить углы, желательно с привязкой к оборотам. Smile




AUTOLADA.RU -> Семейство "Самара" |
Страница 41 из 64
Часовой пояс: GMT + 4
AUTOLADA.RU