Hodok
Кулибин
Мощность: 10
Местоположение: Украина. Донецкая область.
Сообщений: 1206
|
 |
« Ответ #675 : 16-04-13, 21:21 » |
|
Посмотрел высланную тобой прошивку. Это моя самая первая версия прошивки, я тогда был еще молодой, гарячий и глупый (я и щас не особо). Честно говоря не смог разобраться откуда взялись цифры. В общим в данный момент всеобще доступной является другая, более совершенная версия прошивки. Я ее скорректировал под 115 градусов металла, и 65 мм хода поршня и выслал тебе на мыло, и прошивку и эксель.
Такой вопрос, у тебя ДХ или Оптика? Искру на выход металла выставлял?
|
|
|
|
|
Записан
|
|
|
|
|
bobpol
Гость
|
 |
« Ответ #676 : 17-04-13, 19:30 » |
|
Спасибо за прошивку! Буду пробовать - потом отпишусь. У меня стоит ДХ и коммутатор от восьмёрки. Искра на выходе металла. Напрямую без ФУОЗа заводится и работает нормально. Опережение смотрю стробоскопом. Не мог бы ты объяснить алгоритм новой прошивки? Просто для себя хочу разобраться - а ума не хватает. Забыл спросить - Фузы остались прежние?
|
|
|
|
« Последнее редактирование: 17-04-13, 19:31 от bobpol »
|
Записан
|
|
|
|
Hodok
Кулибин
Мощность: 10
Местоположение: Украина. Донецкая область.
Сообщений: 1206
|
 |
« Ответ #677 : 18-04-13, 08:46 » |
|
Не мог бы ты объяснить алгоритм новой прошивки? Есть два числа X и Y. Когда через датчик проходит сектор правого цилиндра, время прохождения сохраняется в Х, когда проходит сектор левого сохраняется в Y. После каждой вспышки Х с Y складываются, полученная сумма сравнивается со значениями из массива "MassivOb", начиная с низких оборотов последовательно перебирая значения по направлению к высоким оборотам, с каждым сравнениям прибавляется на 1 еще один регистр, это будет номер текущей зоны. Как только значение суммы попадает между двумя значениями из массива сравнение прекращается. Согласно номеру текущей зоны из массива "MassivOts" загружается значение отставания искры от выхода металла согласно номеру. После очередного выхода металла происходит искра, отстающая от выхода металл на загруженное время отставания после последнего расчета. Объединено: 18-04-13, 09:06Забыл спросить - Фузы остались прежние? Фьюз биты остались прежними, настроены на тактирование от внешнего кварца.
|
|
|
|
« Последнее редактирование: 18-04-13, 09:06 от Hodok »
|
Записан
|
|
|
|
|
bobpol
Гость
|
 |
« Ответ #678 : 18-04-13, 17:39 » |
|
Понял.Спасибо! С нюансами разберусь. Вот только с практикой никак не получается. Прошил этой прошивкой - ФУОЗ вообще не работает, постоянное опережение 3.2 мм на всех оборотах. Наверное что-то с прошивальщиком. Шил через PonyProg, так как для этой проги был адаптер для паралельного порта. Буду собирать адаптер для AlgoritmBuilder. Спасибо за помощь. Об успехах напишу. В прошивке заметил- Massivob Int16 &1F32, &1765, &12B7, &0F99, &0D5E, &0BB2, &0A66, &O95B, &O882, &07CC, &0732, &06AF, &063D, &05D9, &0581, &0533, &04EC, &0000 , Для 5000 оборотов написано &0000, а Exel стоит &04AD. Как правильно?
|
|
|
|
« Последнее редактирование: 18-04-13, 18:08 от bobpol »
|
Записан
|
|
|
|
Hodok
Кулибин
Мощность: 10
Местоположение: Украина. Донецкая область.
Сообщений: 1206
|
 |
« Ответ #679 : 18-04-13, 19:30 » |
|
Для 5000 оборотов написано &0000, а Exel стоит &04AD. Как правильно? Правильно $0000. Это чтобы последняя зона была от 4750 об/мин до бесконечности. Такой вопрос, как ты определяешь наличие эффекта ФУОЗа? Угол же от максимума до минимума меняется всего на 3 градуса.
|
|
|
|
« Последнее редактирование: 18-04-13, 19:52 от Hodok »
|
Записан
|
|
|
|
|
bobpol
Гость
|
 |
« Ответ #680 : 19-04-13, 22:33 » |
|
Угол в 3гр хорошо видно стробоскопом, особенно на уменьшении оборотов. У меня вопрос по новой прошивке. По моему цифры в массиве отставания взяты со старого алгоритма - где они на заданных оборотах складывались с остальными, отвечающими за более высокие обороты. А в новой прошивке для каждого диапазона оборотов отставание есть уже определённая величина отраженная в MassivOts. По моему массив должен выглядеть так --
MassivOts Int16 &01E1, &016C, &011A, &00DD, &00AE, &0089, &006B, &0053, &003F, &002F, &0022, &0018, &0010, &000A, &0006, &0003, &0001, &0000,
Может я не прав - строго не ругайте, программированием я никогда не занимался. Насчет прошивальщика. Собрал программатор для AlgoritmBuilder, попробовал прошить новой и старой прошивкой-ничего не изменилось. Старая прошивка начинает работать после 1500 об/мин, с новой не заметно вообще отставания. Подскажите - где копать?
Объединено: 20-04-13, 00:26
Кажется я понял в чем проблема старой прошивки. Алгоритм пытается впихнуть в однобайтовый регистр r2 двухбайтовое число, которое получается при оборотах ниже 1250. В него влазит только младший байт и по этому опережение получается максимальным. Что ты думаешь по этому поводу?
Объединено: 20-04-13, 09:26
В старой прошивке заменил r2 на W. Сегодня прошью и попробую.
|
|
|
|
« Последнее редактирование: 20-04-13, 09:26 от bobpol »
|
Записан
|
|
|
|
KOT
Мощность: 4
Местоположение: Запорожье
Сообщений: 970
|
 |
« Ответ #681 : 20-04-13, 23:30 » |
|
Раньше уже писал, r0-r15 лучше не использовать, в виду ограниченности этих регистров. Лучше r16-r25, а для двубайтных величин XH:XL, YH:YL последние для этого и созданы. В первой прошивке с алгоритмом было вроде все ок, и с 16 битными переменными тоже. А вобще многое зависит от алгоритма программы, к примеру в моих последних программа r0-r32 вобще не содержат информации отвечающей за что либо, все они временные, данные храню в ОЗУ, так немного дольше работает микроконтроллер, но как показывает практика запаздывание с расчетами на пол оборота двигателя - никакой ощутимого воздействия не оказывает.
Ходок такой вопрос: помнится мне ты делал ограничения заряда катушки, как с условиями ускорения/запаздывания, по моим подсчетам выходит все печально, за пол оборота двигателя можно прогадать с временем когда нада катушку заряжать. На авто определяют пропуски зажигания меряя интервалы времени по 6 градусов. Склоняюсь все больше к многовырезной шторке.
|
|
|
|
|
Записан
|
|
|
|
|
bobpol
Гость
|
 |
« Ответ #682 : 21-04-13, 09:31 » |
|
В старой прошивке заменил r2 на W. Сегодня прошью и попробую.
Теперь работает как надо - на всех оборотах. В новой прошивке не знаю как изменить ведь двухбайтовые регистры все заняты, а программист из меня никакой
|
|
|
|
« Последнее редактирование: 21-04-13, 09:33 от bobpol »
|
Записан
|
|
|
|
KOT
Мощность: 4
Местоположение: Запорожье
Сообщений: 970
|
 |
« Ответ #683 : 21-04-13, 10:44 » |
|
Ну я в алгоритм билдере тож не разбираюсь, только асемблер, bobpol, а ты в первой прошивке все r2 заменил на W? что такое W? Двухбайтовые регистры X Y Z, их для переменных лучше не трогать, ими удобно работать с массивами ОЗУ ФЛЕШ. может просто вверху программы нужно обьявить перменную? Можно ссылку на вторую прошивку?
|
|
|
|
|
Записан
|
|
|
|
|
bobpol
Гость
|
 |
« Ответ #684 : 21-04-13, 17:45 » |
|
Да. Где в программе встречалось r2 я заменил на W. Это такой-же двухбайтовый регистр как X, Y и Z. (WL - r24, WH - r25). Ещё добавил где нужно нули (спереди) к числам которые заносятся в W. Например было - &05 стало - &0005, было &FF стало &00FF. Можно ссылку на вторую прошивку?
Программу выслал на мыло.
|
|
|
|
« Последнее редактирование: 21-04-13, 19:39 от bobpol »
|
Записан
|
|
|
|
KOT
Мощность: 4
Местоположение: Запорожье
Сообщений: 970
|
 |
« Ответ #685 : 21-04-13, 20:09 » |
|
Да. Где в программе встречалось r2 я заменил на W. Это такой-же двухбайтовый регистр как X, Y и Z. (WL - r24, WH - r25).
Ну W - это специфика алгоритм билдера, асемблер и даташит на микроконтроллер такого не знает. Объединено: 21-04-13, 20:10Объединено: 21-04-13, 20:32Кажется я понял в чем проблема старой прошивки. Алгоритм пытается впихнуть в однобайтовый регистр r2 двухбайтовое число, которое получается при оборотах ниже 1250. В него влазит только младший байт и по этому опережение получается максимальным.
А где эта строчка?
|
|
|
|
« Последнее редактирование: 21-04-13, 20:32 от KOT »
|
Записан
|
|
|
|
Hodok
Кулибин
Мощность: 10
Местоположение: Украина. Донецкая область.
Сообщений: 1206
|
 |
« Ответ #686 : 22-04-13, 11:48 » |
|
По моему цифры в массиве отставания взяты со старого алгоритма - где они на заданных оборотах складывались с остальными, отвечающими за более высокие обороты. А в новой прошивке для каждого диапазона оборотов отставание есть уже определённая величина отраженная в MassivOts. По моему массив должен выглядеть так --
MassivOts Int16 &01E1, &016C, &011A, ……… Добрый день Господа. Вижу пока меня не было вы мне уже все кости перемыли  (я шучу, я благодарен вам за участие). Рассмотрим новую прошивку, вот эту:  Давай посчитаем вместе значения для новой прошивки: У нас тактирование от внешнего кварца, и установлен кварц 10 МГц. т.е. 10000000 Гц. Тогда время одного такта 1/10000000=0,0000001 сек. Строчка $03 -> TCCR1B означает запуск таймера1 с пред делителем на 64. Тогда время одного тика таймера 0,0000001*64=0,0000064 сек. Берем ситуацию для 750 об/мин. 750/60=12,5 об/сек. Время одного оборота 1/12,5=0,08 сек. Время поворота на 1 градус 0,08/360=0,00022222 сек. Время прохождения сектора 115 градусов 0,00022222*115=0,02555 сек Определение зоны оборотов происходит по сумме времен двух последних секторов поэтому время следует умножать на 2. 0,02555*2=0,0511 сек. Переводим в тики счетчика: 0,0511/0,0000064=7984 Переводим в шестнадцатеричную систему исчисления: 1F30 Как мы видим это совпадает с первым значением «MassivOb», отличие в 2 единицы я думаю обусловлено тем что мы округляли а эксель нет. Движемся далее: Отставание искры от выхода металла на этой частоте должна быть 3,38 градуса. Переводим в секунды: 3,38*0,00022222=0,0007511 сек. Переводим в тики счетчика: 0.0007511/0.0000064=117 Переводим в шестнадцатеричную: 75 (см MassivOts) Как мы видим все совпадает. Мое мнение по поводу причин данного вопроса: У тебя неверное тактирование. Тактирование не от внешнего кварца в 10 МГц. Или кварц не тот, или ФЬЮЗы не верно прошиты. Такое бывает, что фьюзы не прошиваются с первого раза. Зайди в алгоритм билдер, в меню настройки фьюз битов, убедись что все так:  И нажми Write. Еще такой вопрос, провода высоковольтные силиконовые? Несиликоновые провода часто является причиной сбоя системы. Объединено: 22-04-13, 12:55Алгоритм пытается впихнуть в однобайтовый регистр r2 двухбайтовое число, Во новой прошивке (старую давайте не обсуждать, давайте доведем до ума новую, она успешно работает на многих явах), MassivOts однобайтный, и копируются из него значения в однобайтный регистр r2, так что все в норме. Объединено: 22-04-13, 14:32Вот испытания в протеусе:  Это обсуждаемая прошивка 115 градусов два лепестка. Вверху 1500 об/мин (время импульса 0,0127 сек), красный график это импульс с датчика, зеленый - импульс на катушку зажигания. Мы видим отставание искры, эффект ФУОЗ присутствует. Внизу это 5000 об/мин (импульс 0,0038 сек.) как и положено - отставания нет. Прошивка вполне работоспособная. Объединено: 22-04-13, 13:43Ходок такой вопрос: помнится мне ты делал ограничения заряда катушки, как с условиями ускорения/запаздывания, по моим подсчетам выходит все печально, за пол оборота двигателя можно прогадать с временем когда нада катушку заряжать. У меня обе границы диапазона включения катушки привязаны по двум условиям, например на низких оборотах, когда момент включения близок к выходу шторки: или наступит время, или выйдет шторка - катушка включиться. На высоких оборотах, когда включение катушки близко ко входу шторки, или войдет шторка или наступит время - катушка включиться. Так что в любом случае процесс не зависнет и отработает любые прострелы в импульсах с датчика, ускорения и торможения любой скорости.
|
|
|
|
« Последнее редактирование: 22-04-13, 13:43 от Hodok »
|
Записан
|
|
|
|
KOT
Мощность: 4
Местоположение: Запорожье
Сообщений: 970
|
 |
« Ответ #687 : 22-04-13, 15:37 » |
|
Спасибо, я забыл у тебя есть привязка к размеру шторки, у меня ее нет, поэтому попытался написать алгоритм предугадывающий когда снова придет импульс на искру. В общем надеюсь сегодня попробовать.
P.S. У меня несколько раз уже было что протеус не способен отобразить некоторые нюансы, а в живую они проявляются, в основном конечно обусловлено это помехами из вне и другими неидеальными условиями. Но все же до сих пор хочется испытать прошивку на стенде со шторкой, но думаю на яве будет достаточно.
Ходок твоя последняя прошивка для мото фуоза с учетом времени заряда катушки? Еще одно я ничего не навязываю но как идею сначала взял с чужого проекта и осуществил у себя. Очень удобно заставлять микроконтроллер рассчитывать время задержки а не эксель. У микроконтроллера в отличие от экселя есть реальные данные между импульсами, достаточно ж посчитать обороты и из таблицы обороты/угол, далее сам вычисляет задержку, очень экономит время и очень удобно.
|
|
|
|
|
Записан
|
|
|
|
Hodok
Кулибин
Мощность: 10
Местоположение: Украина. Донецкая область.
Сообщений: 1206
|
 |
« Ответ #688 : 22-04-13, 15:59 » |
|
Ходок твоя последняя прошивка для мото фуоза с учетом времени заряда катушки? Нет. Включение катушки строго по входу шторки. Объединено: 22-04-13, 16:04Очень удобно заставлять микроконтроллер рассчитывать время задержки а не эксель. Это конечно верно, у меня тоже многое считается на месте, силами контроллера. Но всеже я больше приверженец жестко заложенных цифр, обусловлено это тем что в реальном процессе присутствуют сбои и измеренные данные могут сильно отличаться от реальности, расчет поплывет.
|
|
|
|
« Последнее редактирование: 22-04-13, 16:04 от Hodok »
|
Записан
|
|
|
|
|
bobpol
Гость
|
 |
« Ответ #689 : 22-04-13, 20:46 » |
|
Здравствуйте. Спасибо за помощь. Многое разъяснили. Так-как программист из меня никакой
Просто я не вдавался в подробности с микросекундами и микроградусами, а взял цифры исходя из алгоритма первой прошивки. Но так-как (старую давайте не обсуждать, давайте доведем до ума новую, она успешно работает на многих явах)
то этот вопрос снят. Насчет значений в MassivOts в новой прошивке полностью согласен. Буду проверять свои Фузы. И надо все-таки поменять провода на силиконовые Объединено: 22-04-13, 23:13Прошил снова новой прошивкой. Прошил по новой фузы, проверил тактирование кварца,как было рекомендовано двумя постами выше, проверил надпись на кварце. Результата нет - опережение максимальное на всех оборотах. Осталось поменять провода. Подскажите - как проверить правильность залитой прошивки? Пробую сравнить залитый и слитый фал в HEX-редакторе - выдаёт несколько отличий. Разъясните пожалуйста как правильно перепрошить, может я что-то не так делаю? Только вот странность - старая то прошивка работает???
|
|
|
|
« Последнее редактирование: 22-04-13, 22:14 от bobpol »
|
Записан
|
|
|
|
Hodok
Кулибин
Мощность: 10
Местоположение: Украина. Донецкая область.
Сообщений: 1206
|
 |
« Ответ #690 : 22-04-13, 23:16 » |
|
1. Поменяй обязательно провода (или проверь силиконовые ли те что есть), очень часто у многих долгие мучения были из за помех от несиликоновых проводов. 2. У тебя есть резистор, конденсатор 0,1 и диод 1N4148 на 1й ноге? (как было добавлено в последней инжекторной схеме). 3. Вышли мне пожалуста свой последний вариант старой прошивки, тот что по странности работает у тебя сейчас.
|
|
|
|
|
Записан
|
|
|
|
KOT
Мощность: 4
Местоположение: Запорожье
Сообщений: 970
|
 |
« Ответ #691 : 23-04-13, 13:58 » |
|
bobpol н сколько я помню то у тебя есть LPT программатор, с ним отлично работает codevision, вот с ним залей и считай прошивку, и сравнивалка там есть, просто COM программатор не совсем правльная херь, в COM порту уровни -5 до +15 вольт, т.е там другие уровни срабатывания. К примеру логически ноль это от -15 до -3 вольт, логическая еденица от +3 до +15 вольт, а контроллер отрицательного дать не может, как оно работает непонятно. По хорошему нужно ставить микросхему max232 или виртуальный ком потрт на FT232, та схема с резисторами и диодами работает в народе, распространена благодаря дешевезне и простоте.
|
|
|
|
|
Записан
|
|
|
|
|
bobpol
Гость
|
 |
« Ответ #692 : 23-04-13, 20:34 » |
|
2. У тебя есть резистор, конденсатор 0,1 и диод 1N4148 на 1й ноге? (как было добавлено в последней инжекторной схеме).
Да. Такие детали добавил. Прошивку выслал. Про COM порт понял. http://ignition.bos.ru/http://www.forum.jawaold.su/viewtopic.php?t=18029Здесь есть графики опережения - может пригодятся. Объясните пожалуйста про EEPROM. Не могу понять куда он пишется и зачем нужен. Пытаюсь считать его с контроллера - считывается вся прошивка.
|
|
|
|
|
Записан
|
|
|
|
KOT
Мощность: 4
Местоположение: Запорожье
Сообщений: 970
|
 |
« Ответ #693 : 23-04-13, 22:19 » |
|
Сегодня покатался на прошивке с ограничением времеи заряда катушки, в теории должно было сильно снизится потребление эенергии но не мерял. ВРоде все успевает вычислить. У меня правда проблемы с левым цилиндром кажись катушка. Кто нибудь видел в живую катушки от Матиза? какая она по размерам, хочу себе в замен явошных втулить 2 шт.  ВТорой вариант втулить 2 шт наподобие двувыводных  или 1 двухвыводную но это не вариант))  Объясните пожалуйста про EEPROM. Не могу понять куда он пишется и зачем нужен. Пытаюсь считать его с контроллера - считывается вся прошивка.
Вот и ответ на твой вопрос почему одинаковый угол. Если я не ошибаюсь то Ходок зашивает табличные значения в еепром, он удобен но если честно капризен, я стараюсь его не использовать. Так вот если ты не зашьеш еепром то и опрежению взятся некуда, Есть 3 типа памяти контроллера ОЗУ ФЛЕШ и ЕЕПРОМ, вот последние 2 ты должен зашить с програматора. Ну лучше ответит Ходок все таки его программа.
|
|
|
|
|
Записан
|
|
|
|
PELZEWUR
Модератор
   
Мощность: 4
Местоположение: г. Воронеж
Сообщений: 3775
|
 |
« Ответ #694 : 24-04-13, 07:33 » |
|
У меня матиз Е3, 1.0 - 4 цылиндровый. Тамашняя катушка с 4 выводами. Мне кажется что большая. Если интересно, вечером могу фото выложить. На матизе 0.8 трехвыводная катушка, тоже не маленькая. Думаю стоит узнать про матизы до 2007 года выпуска , они были евро 2, и с трамблером. Может тамашняя катушка и маленькая. Но ценник на матизовские запчасти конский. Лучше рассмотреть альтернативы...
|
|
|
|
|
Записан
|
|
|
|
Hodok
Кулибин
Мощность: 10
Местоположение: Украина. Донецкая область.
Сообщений: 1206
|
 |
« Ответ #695 : 24-04-13, 08:36 » |
|
Если я не ошибаюсь то Ходок зашивает табличные значения в еепром, Обсуждаемая прошивка не использует ЕЕПРОМ.
|
|
|
|
|
Записан
|
|
|
|
KOT
Мощность: 4
Местоположение: Запорожье
Сообщений: 970
|
 |
« Ответ #696 : 24-04-13, 09:18 » |
|
Думаю стоит узнать про матизы до 2007 года выпуска , они были евро 2, и с трамблером. Может тамашняя катушка и маленькая. Но ценник на матизовские запчасти конский. Лучше рассмотреть альтернативы...
Вот как раз о таком матизе и говорю, верхняя фотография катушки с него, другой альтернативы найти не могу. Еще судя по внешнему виды искры, на родных явошных катушка она отвратительна в сравнении с автокатушкой даже на 6 вольтах. Хотя напряжение не играет роль этом случае. Хотя нет, альтернатива есть - это CDI и катушка со скутера, но как-то не хочется этим занимается. Объединено: 24-04-13, 09:19Обсуждаемая прошивка не использует ЕЕПРОМ.
Упс 
|
|
|
|
|
Записан
|
|
|
|
Hodok
Кулибин
Мощность: 10
Местоположение: Украина. Донецкая область.
Сообщений: 1206
|
 |
« Ответ #697 : 24-04-13, 13:16 » |
|
Прошивку выслал. Протестировал старую прошивку, корректированную Bobpolом. Вот 1500 об/мин :  Как мы видим есть отставание, причем феноменально большое по сравнению с новой прошивкой. Время отставания составляет примерно 10% от времени прохождения сектора 115 градусов, т.е. это 11,5 градусов. Это ненормально много, при том что нами принято максимальное смещение в 3,5 градуса. Причем на 5000 об/мин отставание в старой прошивке также как и в новой исчезает. Т.е. и старая, и новая прошивка дает эффект отставания при 1500 и не дает этого эффекта на 5000, т.е. определение оборотов в обоих прошивках происходит правильно, просто разный угол отставания. На основании вышеизложенного я всеже настаиваю на своем мнении: новая прошивка работает, просто отставание в 3 градуса почти невозможно заметить глазом на стробоскопе (причем на 2000 это гдето 2,3 градуса). Ну а отставание в 11 градусов видно явно получше и потому создается впечатление что старая прошивка работает а новая нет. Такой вопрос: Bobpol, ты новую прошивку только стробоскопом тестировал, ездить на ней не пробовал? Чтобы проверить прав я или нет предлагаю вот что: подключи вначале напрямую ДХ к коммутатору, проедься с оперижением 3,2. Затем подключи ФУОЗ с новой прошивкой, и по ощущениям определи есть ли эффект ФУОЗ, меняется ли тяга.
|
|
|
|
« Последнее редактирование: 24-04-13, 13:21 от Hodok »
|
Записан
|
|
|
|
|
bobpol
Гость
|
 |
« Ответ #698 : 24-04-13, 16:41 » |
|
просто отставание в 3 градуса почти невозможно заметить глазом на стробоскопе
Может быть ты прав. Буду тестировать. Но только стробоскопом видно даже малейшее отклонение, а метка стоит как приклеенная, только категорично настаивать не буду. Испытания покажут. Спасибо за участие.
|
|
|
|
|
Записан
|
|
|
|
Богдан Дименский
Мощность: 1
Местоположение: г.Кривой Рог
Сообщений: 165
|
 |
« Ответ #699 : 24-04-13, 19:11 » |
|
Я ее скорректировал под 115 градусов металла, и 65 мм хода поршня.
Привет Hodok, к чему было сделано такое изменение угла сектора? И чем новая прошивка лучше старой? И, да, сможешь ли ты глянуть мою прошивку и усовершенствовать ее?
|
|
|
|
|
Записан
|
|
|
|
|
|