- введена защита от помех искры; - версия переработана на одноцилиндровую.
Испытания проведенные Altium показали существование помех искры на входном датчике, из-за этого срабатывали ложные расчеты ячеек графика, и не корректно работал режим отсечки. Для защиты после искры вход отключается, примерно на 250мкс. Так же в связи работами по двух импульсах и вакууму, было принято решение разделить версии одно и двух котловок, наступил момент когда наличие второго сигнала начало мешать общей работе схемы. При наличии двух независимых датчиков желательно использовать две платы ФУОЗ, двухкотловка с одним датчиком, это крайний случай, когда иначе никак, она работоспособна но по эффективности уступает двум датчикам.
Обе версии работают с программой графиков. Если вы запутались в версиях, программа графиков умеет определять подстроечный резистор.
Краткая инструкция по употреблению: копируем файл CDI.ASM в папку с программой графиков, открываем, правим, сохраняем, прошиваем.
Вложения:
Комментарий к файлу: версия с подстроечным резистором CDI_resistor.rar [450.43 KiB]
Скачиваний: 318
Комментарий к файлу: двухкотловка, 180° CDI_two.rar [38.86 KiB]
Скачиваний: 293
Flash.#13 А где в программе строчка, что " Для защиты после искры вход отключается, примерно на 250мкс." добавлен только "flyback" Надо для защиты ВО Время искры!! Судя по программе. Раньше вход тоже был ослеплен на время выходного импульса МК? Если вводим в программу "flyback", то логично его запускать до импульса на искру. И так же прописать в программе, что б не запутываться. Хотя судя по логике, и импульсом искры с МК можно и запрещать генератор. Еще. Уберите "искру перед датчиком"!! (все плюшки добавляются на нормальную рабочую программу потом...) Очередной баг? Если устанавливаем угол в графике на 1-3 градуса больше, то что? Датчик ослеплен? Кому надо , пусть "мучается" с ней. Еще. Строчка "коррекция предсказания оборота". Насколько я понимаю, это расчет конечной скорости маховика в точке начала отсчета задержки, который начинает вращаться с ускорением. И на основе запоминания предыдущей средней скорости маховика, рассчитываем ускорение. И самой величины ускорения можно еще больше добавить величину угла искры. Если это все правильно, тогда почему плохо работало на двухкотловке? Другого варианта с одним датчиком нет. Эта подпрограмма тоже "глючная". Надо для начала тестить прогу без нее , а потом с ней. И надо считать хотя бы три оборота, для расчета ускорения. Почему? А если просто был пропуск искры по "техническим" причинам (карбратор, свеча плохая), и падает скорость? А МК это понимает как уменьшение оборотов и еще больше увеличивает задержку. И система идет в "разнос". (теория - системы автоматического регулирования).
Наверно снова забьйли как назьйваеться етот режим - предсказание. А режим предсказание, как я писал в много раз, нужен в ситуации когда датчик находиться в ВМТ: Так чтоб никто не будет убрать етого режима! Кроме того, он вьйбираеться автоматически от МК только когда нужен.
Для этого есть программа графиков, ассемблер ненужен.
asel писал(а):
Раньше вход тоже был ослеплен на время выходного импульса МК?
Да, и за 3 года эксплуатации это было незаметно, Altium первый кто обратил на это внимание, и провел тест подтверждающий это. После чего вышел данный патч.
asel писал(а):
Уберите "искру перед датчиком
Зачем? Не ни единой причины убирать этот блок кода, программно это реализовано нормально, нет никакого ущерба работе схемы, более того искра "до датчика" возникает только когда "пользователь" ставит эту самую искру в таблице! Не поставили ее в таблице, она не возникнет, можете считать что ее нет и никогда не было.
"Коррекция предсказания оборота" работает только в режиме предсказания, этот блок сильно улучшает характеристику работы двухкотловки, там идет сравнение двух оборотов, с выдержкой разницы между ними. Основная сложность в том что у МК атмела не реализована гадалка 100-го уровня, нет технической возможности знать заранее, динамику изменения текущего оборота. Уже следующий оборот может отличатся от текущего на 30%, механизмы типа "среднее арифметическое" только мешают динамике изменения оборота, поэтому возникают погрешности порядка 5-15% на предсказаниях оборотов, но на практике это не ощущается. Я бы не назвал двухкотловку "глючной", она не совершенна, но отнють не глючна. Испытания на "Яве" еще небыли произведены...
Основная причина разделения версий не "глючность", а куча предстоящий плюшек типа вакуума, двух импульсов, самообучения МК, монитора UART(СОМ). Очень трудно все это вешать на двухкотловку сразу.
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
alexhr приятно это слышать, жаль что раньше не знал о проблемах.
asel если вас интересует конкретный код:
Код:
//каждая выдача искры сопровождается отключением flyback sbi PortC,0 ;лог"1"на выход "искра",цилиндр один cbi PortD,2 ;лог"0"на выход "flyback" reti
//подпрограмма обработки сигнала проверяет состояние flyback ;====импульс вмт датчика==== impuls: sbis PinD,2 ;выполнить если бит порта "0" ret ;если искра активна,вых.
Ну и сам блок флайбека делает задержку не отнимая ресурсов схемы, по факту копия блока опускания искры, его работа никак не отягощает схему. Задержки "влоб" методом "delayXX" отнимают время ЦП на бесполезный счет, и допустимы только в некритичных ко времени схемах, в ФУОЗ и особенно главном блоке программы, это крайне нежелательно. Сам флайбек лишняя фича, но пока не выяснится что можно менее 200мкс он удобен, и никому не мешает.
Цитата:
Если вы в проге графика ставите угол раньше датчика. На 1, 2 или 5 град. ТО !! Этот импульс ослепляет вход или нет?
Мертвая зона для 250мкс составляет 3 градуса при 2тис., при этом длительность импульса датчика много больше длительности искры, позднее мертвая зона сузится, еще идут испытания. МК понимает мертвые зоны, пропуска не будет. Коррекция "предсказания" работает и для однокотловки.
Цитата:
Потестируйте "пацаны". Если ОК, плывем дальше.
Как видите 3 года не знали о шуме на входе. Пацаны тестируют... Серьезно, сами пишете что "не программист", и при этом рьяно выступаете против режима "предсказание", чем он так мешает? Он никак не отягощает роботу схемы, и никогда не выдаст ничего лишнего без указаний в таблице. Это как запаска в багажнике, на расход не влияет и места занимает мало, а бывает полезна. Вот вы выступаете чтобы выбросить "запаску", потому что она вам ненужна.
Двухкотловка жива, никто ее не хоронит, сейчас в расчете стоит 2 оборота. Расчет с 3мя оборотами более инертен, от него отказался ранее. Сказать что таких мото много нельзя, у 99% техники нормальные двойные датчики, не видел схем примитивного зажигания с "китая", где 1 датчик дает 2 импульса.
Справедливости ради уточню, товарищ которому сломало ногу, использовал иной(не мой) ФУОЗ.
Flash.#13 Ваш "flyback" тоже что и вых. на искру. Сделайте вых на искру 250мкс и используйте его как flyback. Придется опять чистить программу от лишнего.
"МК понимает мертвые зоны, пропуска не будет." Этой фразы я совсем не понял. То мы "ослепили вход" МК на-во время искры или нет?
А вот (Мой пост от 16.02.2017 2. Насколько защищена программа от помех. Когда между задающими импульсами проскакивает помеха. Может это не критично и я придираюсь. ПС. На лодочных моторах, при установке катушки генератора и регулятора напряжения имеют место помехи на зажигание.)
Я не против режима "предсказания". но я хочу попробовать с и без. И я хочу знать его математический алгоритм., чтобы понимать...... если ..... Потому что эта подпрограмма наоборот может делать хуже, если есть пропуски искры и нестабильная работа карбюратора. (И возможно, что эта "запаска" выпала из багажника и на веревке сзади машины )
Еще раз о "предсказании" в двух и однокотловке. Дело не в инертности. Какая инертность в +1 =3 оборота.? ПС. Мир двухтактных моторов не ограничен только мотыками. Вам показать примеры с примитивным зажиганием японские!! двухкотловые лодочные моторы вообще без датчика!! (А почему примитивность? Завел, на полный газ и поехал. Другой вариант не предусмотрен) И еще о "предсказании" и его надежности и стабильности....(в смысле предсказуемости и понимании его работы) Вот вам простой ответ. Вы бы поставили на мотор дельтаплана ваш Фуоз с предсказанием и полетели. И тут порыв ветра.... Там "ногами" не отделаешься.
Хотите знать "точный" алгоритм, исходники лежат тут, изучайте... Будут реальные предложения, организуем, но удалять работающие куски кода только потому что "кажется", неразумно.
Flash.#13 Придется изучать. Сам писать не смогу, а вот понять написанное все таки надо. Зима долгая. Надо собрать "стенд" на столе. Не для себя стараюсь, так же как и вы. Выкладывать свои "творения" сюда не могу, т.к. не программист. ПС. Хотя в программе , я "забил" в таблице значения констант оборотов от 500 до 6000 через 100-200 оборотов еще давно. И после последней вашей программы построения графиков сравнил. Ошибся только на одну единицу в одной строке. ПС. Я почему спросил об алгоритме "предсказаний" . Например, при повышении оборотов, вычисляется предсказанная величина оборота и по ней выбирается из таблицы задержка на искру. А может надо чуть еще уменьшить задержку.(т.е. добавить 1 градус). ?
Есть вопрос. Есть мотор. Два котла. Зажигание простейшее. Одна вв катушка на тиристор, и одна катушка сразу на две свечи. Принцип работы простейший - ВВ катушка заряжает, на обратном импульсе "стреляет" , и в две свечи сразу. Датчика нет. Если поставить датчик и две метки. Одна на 30град, другая на 180-30=150град. Программу переписываем из расчета, что считаем не 360град, а 180. Ну и наверно еще что-то надо поменять, константы..... Флэш, как такая идея? Возможно легко переписать-дописать прогу? Моторов таких много, и народ мучается. Идея не бизнесовая.
Хорошая задача для начала. Попробуйте сами. -Подайте сигнал на специально предназначенный для этих целей вход ICP1/PB0 -Переведите камень в режим SLEEP IDLE, чтобы не болтаться в main -Используйте вычислительные возможности ассемблера и задача упростится до простого табличного выбора ПЕРИОД-УГОЛ без программных преобразований.
Код:
.equ Fo=4000000 .equ N_angle_500=60*Fo/8/3600/500; угол 0,1 градуса в отсчетах таймера .equ N_angle_600=60*Fo/8/3600/600; угол 0,1 градуса в отсчетах таймера
.equ A_500=220; угол 22,0 градуса в отсчетах таймера .equ A_600=200
.org $100 MIN_OBOR: ;460/мин .DB HIGH(Fo*60/460/8-1),LOW(Fo*60/460/8-1) TABL2: ;соответствие периода углам в отсчётах таймера .DB HIGH(Fo*60/500/8-1),LOW(Fo*60/500/8-1) .DB HIGH(A_500*N_angle_500-1),LOW(A_500*N_angle_500-1)
asel две катушки от одного импульса делают на Ява'х, для 2т движка второй импульс на оба горшка не страшен и едет. Но это считается однокотловка, там просто таблицу переписывают и все. Для того чтобы не делать с одного датчика две платы существует двухкотловка, с этим она справляется. Но расчет на пол оборота является грубым из-за динамики двигателя.
akl, "что русскому хорошо - немцу смерть". Команда SLEEP нужна для экономии питания батарейных девайсов, за рулем это полный бред, времени МК не так много, чтобы спать. Схема выбора без расчета была у Шкильменского, на свое время красиво и просто, но он писал на ПИК'ах, там все очень плохо при вводе вакуума, и еще хуже при работе с углами. Зачем делать еще один ФУОЗ Шкильменского?
Не один десяток лет занимаюсь оборудованием для регулировки ТНВД. При определении угла и длительности впрыска ТНВД в диапазоне частот вращения, расчет нужен. При задании углов - нет. Всё сводится к табличным значениям. Лучше сосредоточьтесь на повышении помехоустойчивости камня более строгой установкой лап контроллера. Сейчас половина лап висит в воздухе, хотя камень должен работать в весьма напряженной помеховой обстановке.
Вложения:
Комментарий к файлу: Сейчас. Плохо!!! init_m8.PNG [22.61 KiB]
Скачиваний: 291
Комментарий к файлу: Предлагается и будет гораздо лучше. init_m8_3.PNG [15.35 KiB]
Скачиваний: 583
akl хардварная реакция на ногу не всегда удобна, не привык так делать, не вижу особого преимущества. Если вы прочитаете хотя бы последние 2-3 сообщения, увидите что давно стоит задание на вакуум, а это еще одна ось по расчету, без математики это топорно. К тому же зачем делать клон того что уже есть? Проще просто взять табличный ФУОЗ. Сон для МК ненужен в принципе, ему будет что делать в мейне, при добавлении новых плюбшек, и стоит помнить он не греется. Выводы в воздухе? Не критично, и легко поправимо.
Если вы не один десяток лет занимаетесь подобными штуками, может зря вся эта тема? Может у вас есть готовые решения, как ни как куча опыта.
Flash.#13 Приехали наконец-то с китая atmega8L. Начну потихоньку паять. Оставить место для второго оптрона на входе? Насчет AKL. Процесс пошел? Можно его картинку дописать в программу? Может он еще "пройдется" по программе для улучшения .....
Зарегистрирован: Вт дек 28, 2010 20:57:08 Сообщений: 17 Откуда: Україна Київ
Рейтинг сообщения:0
Здравствуйте, а есть опыт установки данной системы на 50 кубовый 2Т двигатель, эффект будет заметен на таком объеме. Хочу поставить на скутер хонду дио , и может кто знает, на сколько градусов стоит заводской датчик чтобы не измерять.
Саша, у меня для Honda Dio 50cc 2T 2002, получаеться чтоб второй сигнал находиться точно в ВМТ, а первьй что-то вроде на 29 градуса. Я изпользую программа-транспортир Screen Protractor v4.0 и поставляю ее поверх фотки маховика, только есть одно условие: коленвал должен находиться точно в положение ВМТ. В етой программе работаем с правой кнопки мьйши, я там убираю галочка Sticky angles, чтоб угльй могли перемещаться свободно. Здесь фото очень плохое, потому чтоб я не являюсь его автором. Маркер слишком толстьй, фото не сфокусированно и вообще ничего не видно.
Пожалуйста сделайте более грамотньйе фотки, например такие:
Но нужно измерить и полярность сигнала датчика. Метод измерения: 1. Подключаем активной щуп мултиметра к активного (зелено-желтого) конца обмотки датчика. И соответно черньй щуп к корпус мотоцикла (или к другото конца обмотки датчика). 2. Залипаем отвертка к датчику и резко вытащиваем отвертку, тоест симулируем получения второго сигнала, ето фактически процесс когда кусок металла вьйходить из область датчика. 3. Смотрим во время вытащивания что показьйвает мультиметр - минус или плюс. И конечно знаем, чтоб оба сигналов всегда с разная полярность. Но мьй меряем именно второго сигнала, потому чтоб вытащиванивание отвертки всегда делаеться равномерно. Я так часто делаю измерения амплитуда датчика, если он вне мотоцикла и нет возможности крутить коленвала и мерять на месте.
Пожалуйста измеряйте угол и полярность сигнала. Вообще не сложно удалить крьйшка мотоцикла, поставить коленвала точно в ВМТ, сфоткать правильно и мерять с программой.
Последний раз редактировалось Altium Пн ноя 13, 2017 17:29:31, всего редактировалось 17 раз(а).
Зарегистрирован: Вт дек 28, 2010 20:57:08 Сообщений: 17 Откуда: Україна Київ
Рейтинг сообщения:0
Спасибо за подсказку, доберусь до скутера сфотаю. Родной комутатор собран похоже по такой схеме, когда читал о хонде AF27 то на данную схему ссылались. По ней можно понять какой полярностью работает?
Последний раз редактировалось СашаЖ Пн ноя 13, 2017 16:50:18, всего редактировалось 2 раз(а).
Да, Honda Dio работает с "первьй положительньй", но я прошу настойчиво: ВСЕГДА меряйте с мультиметр и отвертка. Етот способ дает точность 100%, а смотря на "родньй" коммутатор, то есть и такие моделей, в которьйе изпользуеться оба сигнала датчика и на каждьйе иномарки они по разному.
Так чтоб лучше знать поляритет с большой точности во избежание ошибки с подключения датчика. Ошибки на большие моторцикльй (400-600 кубиков) водят до неприятности с ноги.
Попробуйте функция Хостинг изображения радиокота: http://img.radiokot.ru/ Там качаете фото и система дает ссьлка, которая вставляете здесь как текст. Просто, удобно и фото отображаеться директно в поста.
изучаю. всетаки да. пишут , что при инициализации 1. очистить память 2. все ригистры очистить 3. неиспользуемые порты включить на выход и "1" на выход. 4. также отключить питание компаратора. 5. использовать команды cli и sei при работе с таймером 6. очень аккуратно с землей (общим проводом ) , что бы не "пересекались" земля МК и земля силовой части CDI. Т.е , имея исходящую точку "массы". от нее должны уходить два провода (дорожки). Один провод на CDI (где по этой дорожке "летают" импульсы под 400в), другой на МК. 7. ну и хорошие конденсаторы, емкости и экранирование. И всетаки я считаю, что надо сделать небольшой программный антидребезг. Лишним не будет. При том что если использовать датчик опто или Холла. Этим сейчас и занимаемся.
1. очистить память 2. все ригистры очистить 3. неиспользуемые порты включить на выход и "1" на выход вывод 0 или 1. 4. также отключить питание компаратора. 5. использовать команды cli и sei при работе с таймером 6. очень аккуратно с землей (общим проводом ) , что бы не "пересекались" земля МК и земля силовой части CDI. Т.е , имея исходящую точку "массы". от нее должны уходить два провода (дорожки). Один провод на CDI (где по этой дорожке "летают" импульсы под 400в), другой на МК. 7. ну и хорошие конденсаторы, емкости и экранирование. И всетаки я считаю, что надо сделать небольшой программный антидребезг. Лишним не будет. При том что если использовать датчик опто или Холла. Этим сейчас и занимаемся.
Добавлю. Лапу RESET подтянуть к +5V резистором 4к7!!!, а ещё лучше после программирования джампером к +5V.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения