как выдавать импульсы
- Войдите на сайт для отправки комментариев
Пнд, 19/09/2016 - 10:37
Здравствуйте всем,на три входа ардуино подается импульсы с 2-20мс.Нужно чтобы на выходе ардуино точно такие импульсы выдавать.Заранее спасибо
Yer, зачем тут ардуина нужна? Подавайте свои импульсы напрямую.
Нужно немножко прибавлять заданным импульсам например если подается на вход 4мс нужно прибавит и подать 8мс или 6мс на выходе ардуино
Нужно немножко прибавлять заданным импульсам например если подается на вход 4мс нужно прибавит и подать 8мс или 6мс на выходе ардуино
Вы ничего не разъясняете, нужно вытягивать из вас по слову.
Этот раздел для готовых проектов или почти.
Шли бы вы в раздел "Ищу исполнителя" и пусть там с вас вытягивают желаемое но хоть за деньги.
У меня такое подозрение, что скоро пойдут вопросы типа "Привет ребзя, ну как у вас тут чё, ну и эта ваще светодиод как мне ну туда?"
на три входа ардуино подается импульсы с 2-20мс.Нужно чтобы на выходе ардуино точно такие импульсы выдавать.
если подается на вход 4мс нужно прибавит и подать 8мс или 6мс на выходе ардуино
Задача принципиально невыполнима в силу противоречивости требований ТЗ.
ЕвгенийП, вспомнилось юморное видео про семь красных линий :))
Там есть ключевая фраза "не идиоты же здесь собрались" :))))))))))
С помощю pulseIn считаю прямоугольные имплуьсы которые приходит к ардуино но никак не получается выдавать их с ардуино немножко изменив ихние длительности.Пробую использовать millis() пока не получается вот и хотел спросит у знатаков как можно реализовать проект.Извеняюсь что подробно не рассказал о проблеме просто голова уже не работает
Можно это делать, но только по факту, то есть когда импульс закончился. Приходит - отмеряем, решаем, выдаём. По ходу - невозможно, нет способа предсказать будущее.
у меня ощущение что человек делает блочок для спидометра у которого датчик выдает допустим 6 импульсов на оборот вала, а приборка считает 8 импульсов на оборот... и ему это нужно состыковать дабы не было погрешности в скорости
можно ли вообще использовать на три входа функцию pulseIn для каждого входа свой pulseIn
Yer, вы не написали о технических условиях практически ничего. Что это? , для чего это?. Что вам можно советовать с таким исходным материалом? -ничего. Ибо ничего не ясно что нужно получить. Почему три входа, нужно ли их дублировать на разные выходы. Могут ли на эти входы прийти импульсы одновременно. Далее импульсы бывает разные, спадающие или нарастающие, какие промежутки между импульсами "от и до", должна ли начальная фаза выходящего импульса совпадать с фазой входящего, если не обязательно, то какие временные допуски на сдвиг. Каким образом определяется "надбавка" к длительности выходящего импульса, будет ли она постоянной или переменной. После всех этих параметров можно будет подумать о возможном алгоритме программы, какие аппаратные ресурсы задействовать.
спасибо большое Dimax,хочу реализовать проект для управления ГБО.Импульсы приходят на бензиновые форсунки с электричекий части все подготовил для управления газовой форсунки с выхода ардуино.Теперь нужно рассчитать импульс которые приходит на бензиновые форсунки(кол форсунок 6-6цилиндров),для того чтобы нормально работали газовые форсунки нужно немножко добавлять или убавлять сигналы
так как КПД пропана ниже чем у бензина АИ92
Можно это делать, но только по факту, то есть когда импульс закончился. Приходит - отмеряем, решаем, выдаём. По ходу - невозможно, нет способа предсказать будущее.
Чушь! Это на ардуине невозможно, на СТМ32 - нет проблем, никаких. В случае для 3-х входов - три любых таймера с двумя каналами ССР, режимом ОРМ и запуском таймера по перепаду входного сигнала.
Чушь! Это на ардуине невозможно, на СТМ32 - нет проблем, никаких.
:-)))))))))))))
Перед выборами (ещё прошлыми - 11 года) по радио слышал далог (можете не верить, я бы тоже не поверил, если бы не слышал сам). Некий кандидат (К) заливается соловьём, что мол выберите нас и зарплата у учителей, врачей, полицейских будет выше, чем средняя по региону. Журналист долго слушал, а потом срашивет:
(Ж) - Вот вы говорите, что з/п медиков, учителей, полицейских будет выше средней по региону. А у кого будет ниже средней?
(К) - Ни у кого, у всех будет выше!
(обалделый Ж) - Ну, это же невозможно, она же на то и средняя, не может быть у всех выше средней!
(К) - это при нунешней воровской власти невозможно, а вот вы проголосуйте за нас - увидите!
Чушь! Это на ардуине невозможно, на СТМ32 - нет проблем, никаких.
:-)))))))))))))
Вам смешно что ардуина не сможет? Или что на СТМ32 это решается как два пальца? )))))))))))))))))))
Всё в пределах одного такта. Для таких длительностей это так, тьфу!
Не, вы можете конечно со мной поспорить, но а5021 может ненавязчиво вам рассказать, сколько у меня в рукаве козырей. ))))))))))
Да, нет - просто Вы смешной.
Не, вы можете конечно со мной поспорить
Я??? С Вами??? Кто Вам сказал, что я могу??? Боже упаси!
Да, нет - просто Вы смешной.
Рано вам ещё смеяться. Не доросли ешё. )))))))))))))))
Ну что ж, начнём! Что вас так поразило в моём высказывании? Хардварный старт таймера по перепаду входного сигнала это обычная фишка для СТМ32. А вы не знали? По захвату входного импульса одним каналом таймера попадаем в прерывание, добавляем-не добавляем время в другой канал который рулит ШИМ. По отработке другого канала таймер останавливается сам, хардварно. И что не так? Три входных сигнала на трёх таймерах обработаются аж со свистом!
Это навскидку. Если подумать, то можно ещё чего намутить.
Ну что ж, начнём!
И тут же закончим.
Впрочем, если Вам нравится - начинайте что хотите, мне пофигу.
мне пофигу.
Да мне тоже, по большому счёту. Просто зачем голословно выстреливать типа "невозможно, нет способа предсказать будущее."? Да вы ещё со своим непонятным смехом?
Для меги это может и невозможно, для других камней вполне очень даже возможно. Даже если все три входных сигнала придут одновременно.
Чушь! Это на ардуине невозможно, на СТМ32 - нет проблем, никаких. В случае для 3-х входов - три любых таймера с двумя каналами ССР, режимом ОРМ и запуском таймера по перепаду входного сигнала.
Вы чего человека пугаете!
Пока нет исходных данных таких как максимальная длинна импульса и максимальная частота подачи импульсов. Я точно сказать не могу!!! но даже на глазок одного МК Atmega работающего на частоте 16МГц хватит, чтоб программно читать состояние трех пинов на вход и управлять тремя на выход добавляя задержку.
Конечно с условием что он больше ничем занят не будет! И код писать на C++ или Asme, без Ардуиносвских digitalRead.
Автор где конкретные данные по работе форсунок?
На сколько открываются при бензине и сколько хотите чтоб было на газ?
С какой частотой они делают впрыск?
Желательно осциллограмму на максимальных оборотах двигателя и на минимальных, с курсорными замерами времени импульса.
Тогда конкретно подскажут успеет мега или нет.
Можно и на Wiring:
Подтверждаю. В рукаве у него три крапленые колоды, состоящие исключительно из шестерок одной масти в количестве ста восьми штук. Если никто не заметит и припасенная масть выпадет козырем, иногда он ими ухитряется даже сыграть.
Вот и сейчас он пытается мухлевать. Вообще задача решается элементарнейшим образом на ардуине. Пришел импульс, в обработчике внешнего прерывания запускаем таймер с нужной длительностью в регистре сравнения выходного канала. Канал сравнения в режиме PWM или CTC формирует выходной импульс. В обработчике сработавшего прерывания по совпадению таймер останавливаем. Профит.
Вообще задача решается элементарнейшим образом на ардуине. Пришел импульс, в обработчике внешнего прерывания запускаем таймер с нужной длительностью в регистре сравнения выходного канала. Канал сравнения в режиме PWM или CTC формирует выходной импульс. В обработчике сработавшего прерывания по совпадению таймер останавливаем. Профит.
Осталось только на Вангу сброситься, чтобы узнать значение "с нужной длительностью в регистре сравнения выходного канала". )))))))))))))))))))))
Песши ысчо! )))))))))))))
Вы всегда к окультистам бегаете? Даже в совсем простых ситуациях? Стыдоба то какая!
Подозреваю, что для решения задачи ТС достаточно три ждущих мультивибратора... Это и надёжнее выйдет, с газом шутки плохи...
У ждущих мультивибраторов, если мы говорим о схемах на дискретной логике, есть времязадающие цепи, которые могут хорошо "гулять" от температуры. Не оказалось бы это еще более гадкой проблемой, чем вопрос обеспечения надежного функционирования МК.
в совсем простых ситуациях
Угу, осталось только ещё пару входов обслужить. Хватит таймеров и ожиданий в цикле? ))))))))))))))
А на СТМ32Ф0 ещё и ТФТ прикрутить можно, пусть графики рисует, время импульсов показывает, лог на СД-карточку скидывает. )))))))))))
Ожидания в цикле я нарисовал, чтобы не тащить в код обработчики прерываний, как предлгал сначала. Если использовать внешние прерывания, то никого в цикле ждать не надо. Таймеров тоже хватит. Да и загрузки особой тут не предвидится, чтобы и на ТФТ не порисовать или на сд не поскладывать. Все ваши возражения -- надуманные.
обработчики прерываний тут видимо принципиально нужны из-за перекрытий фаз газораспредления
Да можно и без прерываний. Все-таки лаги от них (уж не знаю, насколько в данном применении это критично). Если взять мегу, то там таймеров хватит, чтобы на каждой линии свой канал захвата использовать. Если задача имеет жесткие требования по быстродействию, то этот вариант будет предпочтительней.
Желтый сигнал идет на первый цилиндр а синий на второй цилиндр форсунки
Все с таким рвением начали обсуждать каким образом регулировать ширину импульса. И дураку понятно что с помощью шим, хоть софтовым, хоть хардварным. Как я понимаю импульсы - это импульсы сформированные из сигналов обратной связи. Так вот Yer, если вы не хотите чтобы ваш дом, дача, машина взлетели на воздух. Прежде всего надо вывести формулу зависимости ширины входного импульса и на основании нее формировать ширину выходного импульса с учетом коэффициэнта актанового числа. Иначе воспользовавшись советами данными вам вы рискуете, очень рискуете.
Возможно вы лучше знаете, что там будет понятно дураку, но это не шим. Ни о какой модуляции в данной задаче речь не идет. Целью обработки внешнего сигнала является увеличения длительности поступившего импульса и только.
Не правильно вы понимаете. Это управляющие импульсы. В противоположность обратной связи, их можно назвать прямым действием.
Да-да. Выведите ее скорее. Нет сил больше ждать. И "коэффициэнт актанового числа" достал тут уже всех.
В принципе, частоты низкие, с быстродействием проблем быть не должно. Если ширина импульса будет подбираться в ходе испытаний, то можно на ардуину повесить переменник и крутя его менять эту самую ширину.
Уж не УОЗ или около того это смахивает?..
И смысл подгонять под каждый цилиндр?
Пусть за один оборот коленвала все 6 импульсов, каждый на свой цилиндр, пройдут одинаковой длинны.
А на следующем обороте коленвала - можно и поменять длинну импульса. Чай не двиг из F1.
Или настолько нужно точно форсировать двиг? :-)
Я так понимаю, что чисто из того, что газ -- это немного другое топливо, форсунки должны запускать его в цилиндры немного дольше. Вот и вся недолга.
идея хорошая но как его реализовать на деле не подскажете
Берите ардуину, пробуйте написать. Что не будет получаться, спрашивайте.
идея хорошая но как его реализовать на деле не подскажете
Привет.
По вашему скрину, я правильно посчитал что сигнал длится 3mS я так понял для газа вы будете пробовать подавать 4, 5, 6, 7, 8mS?
Но непонятно какая длительность фронта включения и выключения. Если есть возможность померяйте. На осциллографе нужно сделать развертку быстрее до тех пор пока эти фронты не будут пологими склонами.
Это нужно чтоб понять сколько наносекунд есть на реакцию чтоб включаться внутри фронта, это сделать можно и сторожевой таймер естественно нужно настроить, чтоб в случае зависания МК не было проблем у двигателя и у пилота!)
И еще один вопрос почему вы не сделаете как все, загружается прошивка в мозги авто которая понимает что вы перешли на газ и корректирует подачу и углы опережения и еще там много чего, все эти прошивки есть у установщиков ГБО.
Замерил скорость реакции такой конструкции, получилос 18nS точнее мои приборы не позволяют.,
Код подробно комментирован, вам как пример пойдет.
Возможно вы лучше знаете, что там будет понятно дураку, но это не шим. Ни о какой модуляции в данной задаче речь не идет. Целью обработки внешнего сигнала является увеличения длительности поступившего импульса и только.
Не правильно вы понимаете. Это управляющие импульсы. В противоположность обратной связи, их можно назвать прямым действием.
Да-да. Выведите ее скорее. Нет сил больше ждать. И "коэффициэнт актанового числа" достал тут уже всех.
Закрыл бы ты рот недоумок. Может в гавнокодерстве ты и "мАСТЕР", но в системах безопасности твои знания ниже плинтуса. Насмотрелся я на результаты таких самоделкиных.
Даже интересно, как вы так все определяете. Паранормальные способности открылись?
И еще один вопрос почему вы не сделаете как все, загружается прошивка в мозги авто которая понимает что вы перешли на газ и корректирует подачу и углы опережения и еще там много чего, все эти прошивки есть у установщиков ГБО.
Единственная здравая мысль за всю тему. И еще Yer как совет, если вы принципиально хотите сами разобраться, то сначала поискали бы ответ на форумах соответствующего профиля. А накатить код всегда можно, вот только какой результат на выходе получите?
идея хорошая но как его реализовать на деле не подскажете
Советую вместо loop использовать while, как показали мои замеры она в 2,6раза быстрее.
Код на loop инвертирует порт с частотой 1МГц
В то время ка код с while делает тоже за 2,6МГц
Единственная здравая мысль за всю тему. И еще Yer как совет, если вы принципиально хотите сами разобраться, то сначала поискали бы ответ на форумах соответствующего профиля. А накатить код всегда можно, вот только какой результат на выходе получите?
Думаю да, если в двигателе есть форсунки, значит он управляется электроникой.
Надежнее будет копать в сторону перепрошивки родной авто электроники, у меня например есть шнурок в ноутбук, позволяет читать и стирать ошибки и если нужно считать прошивку и накатить новую, а на форуме по вашему авто в разделе электроника наверное есть прошивки.
Даже интересно, как вы так все определяете. Паранормальные способности открылись?
Если вы считаете что импульсы управляющие впрыском живут своей жизнью и ни как не зависят от сигналов обратной связи, сигналов лямдозондов итд то я вам сочувствую.!.!.!.!