Обсуждаем электронику на колесах. Нужен увлажнитель воздуха для Камаза? Вам сюда.
Ответить

Re: ФУОЗ на базе AC-CDI

Пт май 26, 2017 20:28:05

Flash.#13
я писал, ... ну может еще кто тестирует
но чет все хотят готовенького... :))
Завтра, по погоде по новой. Начну постепенно и "сначала". Наскоком не получилось . :( С пуска и холостых оборотов. :))

Re: ФУОЗ на базе AC-CDI

Вс май 28, 2017 14:05:26

Flash.#13 у меня вопрос , если я в прошивке угол превышаю 30 градусов , ставлю максимум 35 , а датчик на 30 градусов , мотор попёрдывает и не развивает мощности, когда меняешь прошивку нужно угол ставить в проге 35 ? или ставить родной в 30 градусов

Re: ФУОЗ на базе AC-CDI

Вс май 28, 2017 16:31:19

svich
Учи ассемлер. :))
Я вообще не понимаю, что это за "кусок" в программе

;проверим на нулевое значение, что
;соответствует оборотам более 4к
;при этом искра по датчику уоз,20°
cpi R25, 0x01 ;"1"
brlo iskra ;если задержка "0",искра без задержки

;проверим на значение более DD,уоз=154°
;соответствует опережению больше угла датчика
;при этом искра до датчика уоз
cpi R25, 0xDD ;221*0.7=154°
brlo raschet ;если меньше, то переходим на штатную
;проверим на первое срабатывание
sbrs R20, 3 ;if pinX,n='0' then do
sbi PortC,0 ;лог"1"на выход "искра",цилиндр один
;далее расчет на "предсказание" оборота
mov R5, R9 ;копируем счет 16-бит,H
mov R6, R10 ;копируем счет 16-бит,L
lsr R5 ;1/2,шаг смены
ror R6 ;угла 360°/512=0.7°
com R25 ;инверсия регистра

Re: ФУОЗ на базе AC-CDI

Пн май 29, 2017 18:55:06

svich 35 для угла датчика это многовато. А если датчик реально 35, то стоит помнить что для движка опережение в 20-25 это как бы предел раннего, ну дальше смысла задирать график нет.

asel вот для того чтобы не мучиться с кодингом существует та программа графиков. Так же думаю нарисовать вменяемую блок-схему работы программы. Она все больше и больше обрастает плюшками, и порой и смотреть ее становится не просто.

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

Re: ФУОЗ на базе AC-CDI

Пн май 29, 2017 21:32:10

Flash.#13
а можно нормальную программу и без плюшек. ?

а разные плюшки в отдельную программу, для любителей плюшек?
Как бы эти плюшки боком не вылазили.

тот же
;проверим на нулевое значение, что
;соответствует оборотам более 4к
;при этом искра по датчику уоз,20°
cpi R25, 0x01 ;"1"
brlo iskra ;если задержка "0",искра без задержки

а если у нас 30град? Как влияют эти две строчки ?


насчет угла 20-25град. Так датчик на моторе стоит 30град!! Плюс еще сигнал от датчика колоколом. Плюс на входе оптрон. Так что в реале импульс отсчета от датчика и получается под 35град. Это я уже допер, так как не мог добиться хх как на родном CDI. Т.е в проге графика ставим 35град и "рисуем" графики. Если пишем 30град, а в реале 35, то график придется загонять в "минус" 5град. Работать то будет, но это не правильная теоретически получается картинка графика.

Re: ФУОЗ на базе AC-CDI

Чт июн 01, 2017 20:28:53

Все "плюшки" тестируются, и баги устраняются, боком ничего не полезет. На надписи углов в тесте кода можно не обращать внимания, они там для общего понимания работы кода, и не связанны с данным, что вводятся с программы таблицы. И да, если задать угол графика неверно, то весь график будет поднят/опущен на этот угол. Для МК угол датчика это база отсчета, он отталкивается не от ВМТ а от этого "угла датчика", все остальные коэффициенты он сравнивает с ним, поэтому нужна практика и "жопомер".

Re: ФУОЗ на базе AC-CDI

Пт июн 02, 2017 21:31:59

Flash.#13
надо ввести "код" перезапуска-инициализации программы после выдачи искры. Опять было два раза, что не реагировал на тумблер и резистор, и угол как в тормозе непонятный

Re: ФУОЗ на базе AC-CDI

Пн июн 05, 2017 20:46:39

asel а вот это уже интересно, мне кажется, тут может быть два варианта: проблемы с питанием, либо баг в коде с резистором. Для теста питания достаточно припаять керамику в 0.1-0.2 мкф на ноги питания МК, и убедится что емкость 5В кондера 2000мкф, это гарантирует отсутствие любых пульсаций. Но есть вероятность что проблема с блоком кода переменного резистора, хоть я и тестил его, но шанс упустить что-то всегда есть. Лаги кода резитсора можно проверить если зашить обычный код без резистора, там он должен вменяемо реагировать на тумблер всегда. По сути эта проблема очень бредово выглядит, МК это цифровое устройство, он либо исполняет код, либо нет, но чтобы исполнять часть кода а часть нет это полный аут. Хотя если представить что какая-то величина улетела и перекосило часть проги, то вполне реально. Но такого никогда не возникало без резистора, если это подтвердится, придется пересматривать работу схемы замера.

Re: ФУОЗ на базе AC-CDI

Пн июн 05, 2017 21:45:28

Flash.#13
да я и сам себе уже не верю. Плюс еще две платы "отказали". :shock: Перепрошил. Все проверил. Все целое.
будем опять тестировать. и строить графики. без ноутбука под рукой плохо. :(

PC. А можно еще и полностью переписать программу и усложнить схему конечно, используя два импульса от датчика. Начинать отсчет от 5град и заканчивать 30град (у меня), и выдавать искру с задержкой. Ну помеха от искры. Но искра всеравно между 5 и 30 град. И счет начинаем все равно от импульса 5град. Надо еще один оптрон ну и переписаный код.
PC2 ну а пока начнем борьбу с помехами.
1. увеличим резистор перед оптроном.
2. все емкости в мах. и по мин напряжения
3. корпус кварца в землю.
4. Reset на плюс.
5. сверху на чип экран.
6. развести нормально "землю" по плате.

Re: ФУОЗ на базе AC-CDI

Вт июн 06, 2017 16:02:29

Flash.#13
PC2 ну а пока начнем борьбу с помехами.

Печатную плату проверьте, может неправильно разведена.

Re: ФУОЗ на базе AC-CDI

Чт июн 08, 2017 08:21:53

Flash.#13
Насчет помехозащищенности и "неубиваемости".
В простых CDI импульс искры всегда стабилен. Даже если CDI поймал помеху по входу, на след обороте будет искра от датчика.
Что у нас. У нас отсчет идет от импульса датчика. Потом задержка и искра. И если эта искра дала помеху на вход, то отсчет оборота пойдет от этой помехи и вся "система" расчета идет в сдвиг и ....
Смотрел другие схемы Фуоз.
Есть простая идея. Только надо реализовать программно и добавить еще один оптрон. И можно его на другой вход порта (или может на этот же, тогда и второго оптрона не надо, добавив только еще диоды по входу от датчика)
Идея.
Ждем импульс. ( Например 30град.) Есть импульс. Через приблизительно 25 градус приходит обратная волна импульса от датчика. Посчитали. Потом приходит опять 30град. Посчитали. Контролируем, что если угол между первым и вторым импульсом =25град (ну добавить +-2) , то все правильно, и дальше по программе. Если нет, то задержка по искре от предыдущего оборота (или вообще без искры) . Ну и потом и т.д.
Система будет неубиваема от помех.
Еще раз опишу по другому. У нас импульс искры между 30град и 5град. Если МК поймал помеху, то отсчет начнется от этой помехи. Но приходит еще один импульс от датчика в 5град. И МК посчитав, что этот промеуток не равен 25град, "забракует" этот оборот.
Я не умею писать проги. :(
Флэш , мож реализуешь? Вроде не так сложно для тебя
PC. И еще. Выкинуть разные предсказания, выдача искры "если" (лучше пропуск искры, чем подача ее невовремя), второй цилиндр (двухцилинр моторы разные есть и для них нужна отдельная прога)

Re: ФУОЗ на базе AC-CDI

Пт июн 09, 2017 00:32:23

asel глупости все это с помехозащищенностью. Эксплуатация показала что схема не особо чувствительна к этим наводкам, легко жует некачественное питание и вменяемо работает с разными движками. По поводу импульсов, большинство схем опережения на МК построено по этому принципу, "запаздывание искры" датчика. Тоже изучал другие проекты, когда делал это, тот же Шкильменский. От любых идей двух импульсов, и всяких развязок отказался сразу, идея состоит в том чтобы не пилить ничего в моторе, и использовать "стоковый датчик". Минимум перестановок, снял старый, подключил этот и едешь. Более того, версия на два цилиндра имеет всего один вход, одного датчика, тоесть даже в ней не нужны доп сигналы, и тест показал что оно нормально работает.
Контроль правильности импульса датчика довольно сложная и не эффективная процедура, в погоне за которой проматывается время МК которое предназначено для расчета опережения. Рассчет нового оборота по старому вдвойне рискованная идея, практические замеры показали что два оборота, при разгоне или торможении, могут отличатся на 20%! Любая помеха будет отчетливо слышна в виде "троения" движка, на практике этого не наблюдалось, вообще, не пойму почему вы так боитесь того чего нет. Сперва нужно поймать "баг", и затем бороться с ним, но менять пол программы для борьбы того чего нет, зачем? Кроме того брак целго оборота приведет к "троению" движка, и мы получим не "повышение стабильности", а дерьмово работающий ФУОЗ. Зажигание работает все время, каждый такт, не прерываясь, это устройство в режиме "реального времени", ему нельзя сказать "я подумаю", "подождите", свеча должна срабатывать каждый оборот, прерывания и лаги недопустимы.
"Предсказание" оправдало себя на стенде, выкидывать его смысла нет, оно сильно расширяет возможности схемы, но дорабатывать его еще нужно. Сама система никак не угрожает ничему, блок предсказания был еще в самой первой версии прошивки, но там он работал плохо. Чтобы оно не срабатывало, достаточно не записывать в график углов выше чем "угол датчика", и МК никогда и никак не полезет его считать.

Re: ФУОЗ на базе AC-CDI

Пт июн 09, 2017 07:50:26

Flash.#13
если бы я мог писать на ассемблере...
писал, потому что было , что завожу , а мотор чет не так работает. глушу, все нормально. не будешь же каждый раз слушать после заводки. И плюс, что я уже много раз писал , лодочный мотор и мото - одинаковы, но условия эксплуатации уж очень отличаются.
То что я хочу реализуется очень просто. И Фуоз можно ставить на конвейер :))

Всего лишь надо добавить подпрограммку.
Любой индуктивный датчик имеет на выходе положительный и отрицательный импульс. И угол между ними постоянный. Ну добавим +-2.
Что нужно.
Отриц импульс на вход (у нас есть). Добавим в схему положит импульс от датчика на другой вход. Подпрограмма timer2 считает время между этими импульсами, а timer1 программы считает как в программе. Потом 360 делим на 25 (это угол между импульсами датчика (у меня такие градусы. каждый может поставить свои) = 14.4 . Ну еще добавляем +-1. И все.
Если t=14.4+-1, то далее по программе. (ну или по другому сравнить, Флэш лучше знает свой код)
Если не равно, то или пропуск импульса, или выдача искры как кому захочется.
Без этой подпрограммы, импульс помехи от искры пойманый МК убивает программу.
Флэш. Если никому не надо, можешь написать кусок кода для меня? :(

Re: ФУОЗ на базе AC-CDI

Пт июн 09, 2017 12:32:48

Импульс помехи никак не может убивать программу, мне кажется дело в ином, и это иное нужно найти и исправить. Даже если МК поймает импульс помехи, это повлияет максимуму на один оборот. Каждый отсчет делается от сигнала текущего импульса, никакая помеха не может сбоить постоянно МК, а если помеха настолько сильная то скорее всего где-то брак. Кстати, двухполярный импульс не всегда удобен, сама идея кажется здравой и интересной, но у разных датчиков угол будет отличатся, и такая схема полностью лишает возможности подключения к датчику "холла" и оптическим.
Кроме того этот угол плавает от оборотов, хоть пики более менее постоянны, но амплитуда сигнала сильно меняется от оборотов, что влечет изменение времени срабатывания цепи, именно это используется в "стоке", когда аналоговые цепи делают переменный угол от оборотов.
Изначально затачивал все под счет полного оборота потому что это длительный процесс, и такой подсчет имеет точность, если считать те 15 градусов разности, МК будет давать гигантские погрешности. Сейчас там 0.7 градуса.

О моторных лодках думал, пришел к выводу что шаг угла таблицы хорошо будет изменить, никому не нужны 15тыс оборотов, а на низах вправду мало шагов.

Добавлено after 1 hour 35 minutes 45 seconds:
Для лучшего понимания процессов набросал блок-схему работы ФУОЗ. Схема сильно упрощена, но работает оно примерно как на ней.

Изображение

Re: ФУОЗ на базе AC-CDI

Пт июн 09, 2017 14:18:01

Flash.#13
ОК. сложновато сделать такой алгоритм.

Re: ФУОЗ на базе AC-CDI

Вс июн 11, 2017 15:55:50

Тестировал на выходных Фуоз. Погода жуть. Но результаты есть.
Все варианты плат работают. Ничего не греется. Те платы, что "отказали" , оказалось лопнули пайки в проводах под кембриком термоусадки. Много раз снимал крутил. Теперь все провода от Фуоз - в пучек и стяжкой.
Без переменных резисторов я вообще не знаю, можно ли построить график :shock:
Но еще будет много тестов, да и мотор еще на обкатке... С графиками немного есть проблемс. НО!!
Кто ездил на ФУОЗ, на обычный комутатор уже не сядет. Типа , после инжектора на карбюратор :))
Не колбасит, не плюется, не пиртит, нет провала . Основная работа мотора - 1000-3000об, потом ему все равно какой угол. :(

Flash.#13 Есть вопрос со стартом-пуском мотора. Есть отдача ..
Поясни, только подробно, какой процесс выдачи искры при пуске.
1. Когда "появляется" первая искра.?
2. Если Обороты пуска ниже 500...
На родном CDI мотор запускается "мягче".. легкой протяжкой.
Построил график на пуск 500об -2град. Отдача.. Переменным резистором делаю в -10, запускаю, но потом резко возвращаю в +5, чтобы не заглох.
Короче немного непонятно. Или график надо заваливать аж до -10 на 500об, или
Дело в том, что у нас, при пуске за "веревку" 3-4оборота наверно. Первый оборот, это запуск питания на МК. Остается два оборота для выдачи искры. Одна отдача "в руку", другая запускает.
Пока так. Но лучше понимать, как работает программа, чтобы строить график. :))

Re: ФУОЗ на базе AC-CDI

Вс июн 11, 2017 17:58:30

Первый оборот, это запуск питания на МК

Прикрутите аккумулятор и выпрямитель-регулятор.
А в лодке всегда найдутся потребители для аккумулятора - эхолот, навигатор, зарядные для телефонов...

Re: ФУОЗ на базе AC-CDI

Ср июн 14, 2017 10:55:19

asel "отдача" это сильно ранний угол на "холостых", в момент искры он до МВТ, и пытается дернуть назад, из-за малых оборотов. Увеличьте угол на первых трех ячейках в "поздний", и пропадет отдача. Если обороты пуска "ниже", первая искра будет по первой ячейке таблицы, там "500 об." написано.
Во время тестов прошивка лагала как ранее или нет? Это были сбои из-за проводов?

лЮбовский аккум ни причем, проверенно :)))

Re: ФУОЗ на базе AC-CDI

Чт июн 15, 2017 20:10:01

Flash.#13
Мотор обкатал. Теперь займемся конкретнее. То что писал выше, все было спонтанно.
Сидел с осциллографом. Пол дня дергал за веревку. И сравнивал с родным сди.
Итого.
1. У меня если верить паспорту, угол датчика 30 и 5 град. Я ставил в таблице 35. Думал, раньше срабатывает...
Поставил 30, и в график 5. Все четко по осцилографу совпало!! Так что при 35, угол был раньше.
Все возможные защиты от помех поставил. У меня пайка проводов на штыри и потом в термоусадке. Так вот. Постоянно фуоз крутиш, и провода отваливаются, а под термоусадкой не видно.
Платы с питанием "паровозом" - придется переделывать питание. Убирать шунт тиристором и ставить стаб на полевике. Реальные условия и Осциллограф показал ... очень плохо с питанием.... :( А тестировал я такую плату. Так что насчет сбоев пока ..... отложим.
Платы с имп. питанием ведут себя совсем по другому. Питание на МК появляется резко, после оборота. Попробуем пока эти платы.
Что показал осцилограф. Две проблемс.
Первая искра появляется с первым импульсом на 30 град. Как она повлияет на отдачу? Можно ли ее убрать из проги?
Вторая проблема. Пуск мотора за веревку. Если очень резко - это обороты можно до 600. Все искры нормально по осцилографу. Если слабее, ну еще так сяк. А если еще медленнее ... то. Не все заметил, но показалось, что до 500об угол искры в норме, а вот если обороты при пуске меньше 500, то искра уходит в +. И очень существенно. Это плохо. Как будет пуск легкой протяжкой?.
Ну попробую завтра на воде в реальных условиях.

Re: ФУОЗ на базе AC-CDI

Пт июн 16, 2017 00:20:17

"Отдача" при пуске это раннее, в программе первый импульс на самых низких сделан для антиотдачи. Он может быть только поздним. МК отталкивается от кик-старта в 400-500 об/мин., все испытания на реальном движке показали что первый импульс только в пользу запуска. Если поставить поздние углы на 500-600 то отдачи не должно быть, даже при сильно вялом вращении.
Ответить