Нет, ну, хорошо, плохие выбросы 13 микросекунд, а хорошие? Вот этот меандр - сколько? Я не вижу ничего на скрине. Это нужно чтобы так расчитать RC-цепочку, чтобы ненужные сигналы она съела, а нужные оставила в покое.
Хотя, защита есть в самом МК (диоды на землю и питание), так что можно просто поставить перед пином резистор на 10-100кОм, чтобы ток ограничнить и, думаю, этого будет достаточно.
Не знаю, надо знать что означают п=риски и клеточки. У меня например, всё только по клеточкам. А у Вас, если по рискам, то 70, а если по клеточкам, то 15.
диод моргает в нужное время, но проблема в том что он и потом периодически моргает, и мне надо что бы он раз моргнул, и замолчал до следующего падения оборотов до 0-я. если конкретно то нужно что бы он моргал при каждом числе оборотов равным 550-600
Напомните, пожалуйста чётко и ясно, что Вам нужно.
Правильно лия понимаю, что Вам нужно после включения питения , отсчитать нужное количество прилетевших импльсов, выдать ... (какой сигнал и куда?) и после этого забыть всё как кошмарный сон до следующего включения питания?
Напомните, пожалуйста чётко и ясно, что Вам нужно.
Правильно лия понимаю, что Вам нужно после включения питения , отсчитать нужное количество прилетевших импльсов, выдать ... (какой сигнал и куда?) и после этого забыть всё как кошмарный сон до следующего включения питания?
Или там что-то ещё? Неохота всю тему перерывать.
после включения питания, выдавать HIGH на любом пине, ТОЛЬКО при конкретном количестве импульсов, и неважно питание отключится или нет, нужно задать конкретный порог срабатывания, когда импульсы ниже или выше этого порога, тогда никакой реакции не должно быть
проблема в помехах которые появляются в момент когда на педаль газа давишь. двигатель с холостых начинает обороты набирать, и вот в этот момент помеха проскакивает, которая расценивается мц как импульс. варианта два: либо скетч затачивать что бы он только на конкретную длительность импульса реагировал, либо RC цепочкой. посоветуйте что лучше?
Неясно. Итак, допсутим мы задали порог - 100 импульсов.
Птиние включилось, считаем прилетающие имплульсы. На сотом поднимаем HIGH на некотором пине.
ЧТо мы делаем дальше? Продолжаем считать и поднимаем на 200-м? Или забиваем на всё и больше ничего не считаем?
При 100 импульсах поднимаем пин на пол секунды. Если прилетело допустим 110 или выше этого, то ничего не происходит, пин стоит на LOW. Тоже самое и вниз: прилетело 90- опять ничего не происходит, поднялось до 100 опять - HIGH на пол секунды.
Погодите, я может тупой, но счёчик-то не уменьтшается никогда! Или мы его србасываем в ноль в какой-то момент?
Вот включили питание, летят импульсы, мы исх считаем.
Вот прилетел сотый импульс, мы включили пин в HIGH на полсекунды. Счётчик не сбрасываем? Как после этого может прилететь 90-ый или там снова сотый? Для этого надо счётчик сбросить.
Погодите, я может тупой, но счёчик-то не уменьтшается никогда! Или мы его србасываем в ноль в какой-то момент?
Вот включили питание, летят импульсы, мы исх считаем.
Вот прилетел сотый импульс, мы включили пин в HIGH на полсекунды. Счётчик не сбрасываем? Как после этого может прилететь 90-ый или там снова сотый? Для этого надо счётчик сбросить.
Т.е.е я пока не могу понять логику работы
какой счетчик? Я не считаю количество импульсов, мне нужно посчитать об/мин, и на допустим, 500об/мин поднять пин, через полсекунды его опустить опять. Обороты выше 500об/мин - ничего не происходит, никакой пин не поднимается, обороты ниже 500об/мин, опять ничего не происходит. Щас поняли?
какой счетчик? Я не считаю количество импульсов, мне нужно посчитать об/мин, и на допустим, 500об/мин поднять пин, через полсекунды его опустить опять. Обороты выше 500об/мин - ничего не происходит, никакой пин не поднимается, обороты ниже 500об/мин, опять ничего не происходит. Щас поняли?
Почти.
Т.е. если мы сделаем порогом, скажем 500.
Всякий раз, когда обороты к порогу снизу, включаем пин в HIGH на заданное время. В любое другое время ничего не делаем.
какой счетчик? Я не считаю количество импульсов, мне нужно посчитать об/мин, и на допустим, 500об/мин поднять пин, через полсекунды его опустить опять. Обороты выше 500об/мин - ничего не происходит, никакой пин не поднимается, обороты ниже 500об/мин, опять ничего не происходит. Щас поняли?
Почти.
Т.е. если мы сделаем порогом, скажем 500.
Всякий раз, когда обороты к порогу снизу, включаем пин в HIGH на заданное время. В любое другое время ничего не делаем.
А 1 оборот в минуту это сколько импульсов?
скажите как это вычислить, и я отвечу )
я отталкиваюсь от данных серийного монитора, на холостых оборотах значение переменной tx колеблется от 13650 до 13750. опытным путем, сидя в заведенной машине я сделал так:
if((tx>10000 && tx<10500) && fl) //если обороты между этими значениями
//то включить такой то пин
мне не нужно точное число оборотов, щас у меня при заводке двигателя пин включается в нужное время, просто когда я нажимаю педаль газа, и двигатель набирает обороты, с провода тахометра идет один всплеск, который расценивается уной как импульс. вот об этом я и спрашиваю, как мне сделать что бы уна этот всплеск игнорировала, либо убрать его как то по другому
Выаш tx - это просто однократно измеренный период, точность плюс/мину полвершка давайте нормально считать обороты.
Для это Вам не нужен pulseIn, достачтоно преравяни по высокому уровню.
Про какой-то ещё свплеск от которого нужно избавляться я впревые слышу, давайте потом с ним разбираться.
Считать обороты, так считать.
Если Вы не знаете сколько сигналов приходит за один роборот - не беда. Давайте посчитае "сигналы в минуту". а когда Вы будете их показывать на экране, Вы сравните их с показаниями тахометра и посчитаете коэффициент.
Сегодян я не могу, но в выходной, мы могли бы это сделать.
диод моргает в нужное время, но проблема в том что он и потом периодически моргает, и мне надо что бы он раз моргнул, и замолчал до следующего падения оборотов до 0-я. если конкретно то нужно что бы он моргал при каждом числе оборотов равным 550-600
О! Мой скетч работает :-) Посмотрите логику - повторно моргать он может только если подумал, что двигитель стоит и зарядил fl. Видимо из pulseIn иногда прилетает ноль и перезапускает скетч. В строку 15 введите переменную- счётчик и счтитайте количество повторов нуля. Думаю штук 10 хватит. Только при превышении этого количества перезаряжайте fl - значит движок точно стоит. И вставте сразу за строкой 15 обнуление этого счётчика , что бы не интегрировался. Либо вообще выкиньте строку 15. Тогда сработает один раз и больше ни разу до перезапуска ардуины не моргнёт.
диод моргает в нужное время, но проблема в том что он и потом периодически моргает, и мне надо что бы он раз моргнул, и замолчал до следующего падения оборотов до 0-я. если конкретно то нужно что бы он моргал при каждом числе оборотов равным 550-600
О! Мой скетч работает :-) Посмотрите логику - повторно моргать он может только если подумал, что двигитель стоит и зарядил fl. Видимо из pulseIn иногда прилетает ноль и перезапускает скетч. В строку 15 введите переменную- счётчик и счтитайте количество повторов нуля. Думаю штук 10 хватит. Только при превышении этого количества перезаряжайте fl - значит движок точно стоит. И вставте сразу за строкой 15 обнуление этого счётчика , что бы не интегрировался. Либо вообще выкиньте строку 15. Тогда сработает один раз и больше ни разу до перезапуска ардуины не моргнёт.
да, это ваш скетч, я раза три упоминал что он ваш, см. посты выше
я просто изменил там несколько строк
тоже мысль про выкинуть строку, думаю меня это устроит
И ещё. На больших оборотах сигнал может уменьшаться и pulseIn перестать срабатывать и заряжать ещё раз.
проверил, он все равно иногда моргал, а при заводке двигателя совсем перестал моргать.
удалил строку 15, и все встало на свои места, только включение пина запаздывает иногда, но думаю это из за диода, без него он не промахивался
мне нужен совет по железу опять. допустим, соберу я плату на 85-ой тиньке со стабилизатором 7805, посажу на провод зажигания, то есть плата будет включаться при включении зажигания, и вопрос:успеет ли тинька загрузится и начать выполнение программы, пока двигатель заведется? открытие зажигания и включение стартера на бмв происходит одновременно, то есть между ними задержки нету
Х.З. У меня всегда в воздухе висит, проблем пока не было, но гарантировать не могу. Единственное что поддерживает надежду - ногу ресет можно превратить в ногу ввода - вывода и тогда подтягивать её вообще не получится.
Х.З. У меня всегда в воздухе висит, проблем пока не было, но гарантировать не могу. Единственное что поддерживает надежду - ногу ресет можно превратить в ногу ввода - вывода и тогда подтягивать её вообще не получится.
а как вы контроллер по питанию защищаете? что бы стабильно работал, я имею ввиду кондеры на питание, итд
да, и по кварцу еще вопрос: стоит тиньку разогнать? а то 1мгц маловато шо то
Глядя на ваш сигнал, мне подумалось, что проблема в том, что пик очень узкий и pulseIn может давать ноль на попытке найти время HIGH импульса. Отсюда и проблемы. Может быть вы попробуете выкинуть строку 14 и всё что с ней связано? Мне кажется, что тогда скетч будет работать как задумано - отлавливать остановку двигателя без отключения питания ардуины. Но это важно если вы не отключаете зажигание перед перезапуском. У меня заглохший движок запускается сразу если крутануть стартер.
Глядя на ваш сигнал, мне подумалось, что проблема в том, что пик очень узкий и pulseIn может давать ноль на попытке найти время HIGH импульса. Отсюда и проблемы. Может быть вы попробуете выкинуть строку 14 и всё что с ней связано? Мне кажется, что тогда скетч будет работать как задумано - отлавливать остановку двигателя без отключения питания ардуины. Но это важно если вы не отключаете зажигание перед перезапуском. У меня заглохший движок запускается сразу если крутануть стартер.
вы смотрели последний скрин который я выложил? Там сплошной меандр, он все равно узкий?
я стер все что вы мне сказали, проверил утром, и в принципе все работало. Щас я плату паяю уже.
я щас думаю как мне тинку запрограммировать, так что бы без бутлоадера было... думаю, я откомпилирую скетч под тиньку, достану .hex файл из папки, и программатором запишу в тиньку. Только вот не знаю запишет ли мой программатор .hex файл... если нет, тогда через ардуину буду лить
Без емкости от 100 мкф и больше прямо на ноги питания -4 +8 будет глючить. Не вижу емкости 1000пф на входе - без неё тоже будет глючить в машине. Схему всех элементов с платы можно увидеть?
Без емкости от 100 мкф и больше прямо на ноги питания -4 +8 будет глючить. Не вижу емкости 1000пф на входе - без неё тоже будет глючить в машине. Схему всех элементов с платы можно увидеть?
я выпаял мц для того что бы переписать ее, вернул обратно, ничего не работает (
взял другую тиньку в дип корпусе, тоже самое
ща разбираюсь
вот скетч, на уно все работале прекрасно, и на тиньке в первы раз тоже (
Да. Вобщем всё хорошо, только 10мкф мало и я её не вижу на плате, вижу маленькую керамику - тоже нужна обязательно и её нет на схеме. Та ,что С2 не работает за резистором. И емкость 1000пф параллельно D1 нужна, как фильтр от высокочастотных помех.
Да. Вобщем всё хорошо, только 10мкф мало и я её не вижу на плате, вижу маленькую керамику - тоже нужна обязательно и её нет на схеме. Та ,что С2 не работает за резистором. И емкость 1000пф параллельно D1 нужна, как фильтр от высокочастотных помех.
эта керамика и есть 10мкф, возле мц стоит
емкость добавлю
но, падение напряжения все равно присутствует, даже когда я сигнал напрямую на тиньку подаю. не париться с этим?
До мегома перебор, а вот 20 - 50 кОм и за ними обязательно конденсатор - нормально. Нужно исходить из токов. Если выход тахометра 12 вольт, то ток безболезненно и выше помех это 0.1 - 0.5 мА - соответственно из этого расчёта и получается резистор.
Нет, ну, хорошо, плохие выбросы 13 микросекунд, а хорошие? Вот этот меандр - сколько? Я не вижу ничего на скрине. Это нужно чтобы так расчитать RC-цепочку, чтобы ненужные сигналы она съела, а нужные оставила в покое.
Хотя, защита есть в самом МК (диоды на землю и питание), так что можно просто поставить перед пином резистор на 10-100кОм, чтобы ток ограничнить и, думаю, этого будет достаточно.
теперь скетч
это не сработало
я переделал его вот так, что бы убедится что он хоть что то ловит
но монитор выдает только 0
по идее он должен был выдать мне сумму ih и il поделенную на 2, в микросекундах
Первый скетч - строка 14, второй - строка 16 (а также посмотрите везде внимательно, может ещё где есть)
Вы используете присваивание "=" вместо сравнения "=="
Первый скетч - строка 14, второй - строка 16 (а также посмотрите везде внимательно, может ещё где есть)
Вы используете присваивание "=" вместо сравнения "=="
это я совсем удалил даже, оставив только
но все равно 0
осциллограф показывает мне 5 вольт, мультиметр 6.3 вольта, может ли мультиметр ошибаться из за меандра? может я PB0 спалил уже
Первый скетч - строка 14, второй - строка 16 (а также посмотрите везде внимательно, может ещё где есть)
Вы используете присваивание "=" вместо сравнения "=="
это я совсем удалил даже, оставив только
но все равно 0
Так показывайте скетч-то. В том я Вам показал на ошибку, Вы что-то удалили, показывайте новый.
И ещё, скажите Вы мне наконец длительность высокой части сигнала, ну не вижу я на картинке, уж третий раз спрашиваю.
так видно? 70мс получается?
blink_977, привидите дефайны inpin/outpin в сответствии с общепринятыми стандартами. Не назначайте на их на 0 и 1 пины -они заняты сериалом.
blink_977, привидите дефайны inpin/outpin в сответствии с общепринятыми стандартами. Не назначайте на их на 0 и 1 пины -они заняты сериалом.
Так PB0 это 8-й пин
Нет, PB0 - это просто число 0, т.е. при использовании в digitalRead - нулевой пин.
Если у Вас восьмой, то не умничайте и пишите 8.
----------
Про картинку - ну, так там не 5В, а 2,5 (полклеточки). Разве нет?
Нет, PB0 - это просто число 1, т.е. при использовании в digitalRead - первый пин.
Если у Вас восьмой, то не умничайте и пишите 8.
----------
Про картинку - ну, так там не 5В, а 2,5 (полклеточки). Разве нет?
а, это я щас просто стабилитрон присобачил, для проверки, он сбросил до 2.8 вольт.
а так там клеточка 5 вольт
то есть тут я подключаюсь к пин 3 уно, и в мониторе должен увидеть сумму ih, il в микросекундах, верно?
то есть тут я подключаюсь к пин 3 уно, и в мониторе должен увидеть сумму ih, il в микросекундах, верно?
Конечно, нет. Если Вы хотите работать с пином 3 UNO, то не умничайте и в первой строке так и пишите
Вам же уже про это двле говорили!
то есть тут я подключаюсь к пин 3 уно, и в мониторе должен увидеть сумму ih, il в микросекундах, верно?
Конечно, нет. Если Вы хотите работать с пином 3 UNO, то не умничайте и в первой строке так и пишите
Вам же уже про это двле говорили!
остальное верно? импульсы в 70мс?
Не знаю, надо знать что означают п=риски и клеточки. У меня например, всё только по клеточкам. А у Вас, если по рискам, то 70, а если по клеточкам, то 15.
так работает, только помогите до ума довести
диод моргает в нужное время, но проблема в том что он и потом периодически моргает, и мне надо что бы он раз моргнул, и замолчал до следующего падения оборотов до 0-я. если конкретно то нужно что бы он моргал при каждом числе оборотов равным 550-600
Напомните, пожалуйста чётко и ясно, что Вам нужно.
Правильно лия понимаю, что Вам нужно после включения питения , отсчитать нужное количество прилетевших импльсов, выдать ... (какой сигнал и куда?) и после этого забыть всё как кошмарный сон до следующего включения питания?
Или там что-то ещё? Неохота всю тему перерывать.
Напомните, пожалуйста чётко и ясно, что Вам нужно.
Правильно лия понимаю, что Вам нужно после включения питения , отсчитать нужное количество прилетевших импльсов, выдать ... (какой сигнал и куда?) и после этого забыть всё как кошмарный сон до следующего включения питания?
Или там что-то ещё? Неохота всю тему перерывать.
после включения питания, выдавать HIGH на любом пине, ТОЛЬКО при конкретном количестве импульсов, и неважно питание отключится или нет, нужно задать конкретный порог срабатывания, когда импульсы ниже или выше этого порога, тогда никакой реакции не должно быть
сделал так, это опытным путем
проблема в помехах которые появляются в момент когда на педаль газа давишь. двигатель с холостых начинает обороты набирать, и вот в этот момент помеха проскакивает, которая расценивается мц как импульс. варианта два: либо скетч затачивать что бы он только на конкретную длительность импульса реагировал, либо RC цепочкой. посоветуйте что лучше?
Неясно. Итак, допсутим мы задали порог - 100 импульсов.
Птиние включилось, считаем прилетающие имплульсы. На сотом поднимаем HIGH на некотором пине.
ЧТо мы делаем дальше? Продолжаем считать и поднимаем на 200-м? Или забиваем на всё и больше ничего не считаем?
Неясно. Итак, допсутим мы задали порог - 100 импульсов.
Птиние включилось, считаем прилетающие имплульсы. На сотом поднимаем HIGH на некотором пине.
ЧТо мы делаем дальше? Продолжаем считать и поднимаем на 200-м? Или забиваем на всё и больше ничего не считаем?
При 100 импульсах поднимаем пин на пол секунды. Если прилетело допустим 110 или выше этого, то ничего не происходит, пин стоит на LOW. Тоже самое и вниз: прилетело 90- опять ничего не происходит, поднялось до 100 опять - HIGH на пол секунды.
Погодите, я может тупой, но счёчик-то не уменьтшается никогда! Или мы его србасываем в ноль в какой-то момент?
Вот включили питание, летят импульсы, мы исх считаем.
Вот прилетел сотый импульс, мы включили пин в HIGH на полсекунды. Счётчик не сбрасываем? Как после этого может прилететь 90-ый или там снова сотый? Для этого надо счётчик сбросить.
Т.е.е я пока не могу понять логику работы
Погодите, я может тупой, но счёчик-то не уменьтшается никогда! Или мы его србасываем в ноль в какой-то момент?
Вот включили питание, летят импульсы, мы исх считаем.
Вот прилетел сотый импульс, мы включили пин в HIGH на полсекунды. Счётчик не сбрасываем? Как после этого может прилететь 90-ый или там снова сотый? Для этого надо счётчик сбросить.
Т.е.е я пока не могу понять логику работы
какой счетчик? Я не считаю количество импульсов, мне нужно посчитать об/мин, и на допустим, 500об/мин поднять пин, через полсекунды его опустить опять. Обороты выше 500об/мин - ничего не происходит, никакой пин не поднимается, обороты ниже 500об/мин, опять ничего не происходит. Щас поняли?
какой счетчик? Я не считаю количество импульсов, мне нужно посчитать об/мин, и на допустим, 500об/мин поднять пин, через полсекунды его опустить опять. Обороты выше 500об/мин - ничего не происходит, никакой пин не поднимается, обороты ниже 500об/мин, опять ничего не происходит. Щас поняли?
Почти.
Т.е. если мы сделаем порогом, скажем 500.
Всякий раз, когда обороты к порогу снизу, включаем пин в HIGH на заданное время. В любое другое время ничего не делаем.
А 1 оборот в минуту это сколько импульсов?
какой счетчик? Я не считаю количество импульсов, мне нужно посчитать об/мин, и на допустим, 500об/мин поднять пин, через полсекунды его опустить опять. Обороты выше 500об/мин - ничего не происходит, никакой пин не поднимается, обороты ниже 500об/мин, опять ничего не происходит. Щас поняли?
Почти.
Т.е. если мы сделаем порогом, скажем 500.
Всякий раз, когда обороты к порогу снизу, включаем пин в HIGH на заданное время. В любое другое время ничего не делаем.
А 1 оборот в минуту это сколько импульсов?
скажите как это вычислить, и я отвечу )
я отталкиваюсь от данных серийного монитора, на холостых оборотах значение переменной tx колеблется от 13650 до 13750. опытным путем, сидя в заведенной машине я сделал так:
мне не нужно точное число оборотов, щас у меня при заводке двигателя пин включается в нужное время, просто когда я нажимаю педаль газа, и двигатель набирает обороты, с провода тахометра идет один всплеск, который расценивается уной как импульс. вот об этом я и спрашиваю, как мне сделать что бы уна этот всплеск игнорировала, либо убрать его как то по другому
Нет, давайте всё-таки сделаем по-человечекски.
Выаш tx - это просто однократно измеренный период, точность плюс/мину полвершка давайте нормально считать обороты.
Для это Вам не нужен pulseIn, достачтоно преравяни по высокому уровню.
Про какой-то ещё свплеск от которого нужно избавляться я впревые слышу, давайте потом с ним разбираться.
Считать обороты, так считать.
Если Вы не знаете сколько сигналов приходит за один роборот - не беда. Давайте посчитае "сигналы в минуту". а когда Вы будете их показывать на экране, Вы сравните их с показаниями тахометра и посчитаете коэффициент.
Сегодян я не могу, но в выходной, мы могли бы это сделать.
так работает, только помогите до ума довести
диод моргает в нужное время, но проблема в том что он и потом периодически моргает, и мне надо что бы он раз моргнул, и замолчал до следующего падения оборотов до 0-я. если конкретно то нужно что бы он моргал при каждом числе оборотов равным 550-600
О! Мой скетч работает :-) Посмотрите логику - повторно моргать он может только если подумал, что двигитель стоит и зарядил fl. Видимо из pulseIn иногда прилетает ноль и перезапускает скетч. В строку 15 введите переменную- счётчик и счтитайте количество повторов нуля. Думаю штук 10 хватит. Только при превышении этого количества перезаряжайте fl - значит движок точно стоит. И вставте сразу за строкой 15 обнуление этого счётчика , что бы не интегрировался. Либо вообще выкиньте строку 15. Тогда сработает один раз и больше ни разу до перезапуска ардуины не моргнёт.
так работает, только помогите до ума довести
диод моргает в нужное время, но проблема в том что он и потом периодически моргает, и мне надо что бы он раз моргнул, и замолчал до следующего падения оборотов до 0-я. если конкретно то нужно что бы он моргал при каждом числе оборотов равным 550-600
О! Мой скетч работает :-) Посмотрите логику - повторно моргать он может только если подумал, что двигитель стоит и зарядил fl. Видимо из pulseIn иногда прилетает ноль и перезапускает скетч. В строку 15 введите переменную- счётчик и счтитайте количество повторов нуля. Думаю штук 10 хватит. Только при превышении этого количества перезаряжайте fl - значит движок точно стоит. И вставте сразу за строкой 15 обнуление этого счётчика , что бы не интегрировался. Либо вообще выкиньте строку 15. Тогда сработает один раз и больше ни разу до перезапуска ардуины не моргнёт.
да, это ваш скетч, я раза три упоминал что он ваш, см. посты выше
я просто изменил там несколько строк
тоже мысль про выкинуть строку, думаю меня это устроит
вот это последний рабочий вариант:
А проверить со строкой 15 такого вида можно?
А проверить со строкой 15 такого вида можно?
щас проверю...
И ещё. На больших оборотах сигнал может уменьшаться и pulseIn перестать срабатывать и заряжать ещё раз.
И ещё. На больших оборотах сигнал может уменьшаться и pulseIn перестать срабатывать и заряжать ещё раз.
проверил, он все равно иногда моргал, а при заводке двигателя совсем перестал моргать.
удалил строку 15, и все встало на свои места, только включение пина запаздывает иногда, но думаю это из за диода, без него он не промахивался
мне нужен совет по железу опять. допустим, соберу я плату на 85-ой тиньке со стабилизатором 7805, посажу на провод зажигания, то есть плата будет включаться при включении зажигания, и вопрос:успеет ли тинька загрузится и начать выполнение программы, пока двигатель заведется? открытие зажигания и включение стартера на бмв происходит одновременно, то есть между ними задержки нету
Осталось вывести в сериал nn после плюсования и посмотреть в как и когда она будет набираться. Может увеличить сравнение до сотни и всё пройдёт?
Да, успеет загрузиться.
Осталось вывести в сериал nn после плюсования и посмотреть в как и когда она будет набираться. Может увеличить сравнение до сотни и всё пройдёт?
Да, успеет загрузиться.
я стер 15 строку как вы и советовали, там уже нету nn
скажите, ресет тиньки через резистор на плюс обязательно надо, или просто оставить в воздухе?
Х.З. У меня всегда в воздухе висит, проблем пока не было, но гарантировать не могу. Единственное что поддерживает надежду - ногу ресет можно превратить в ногу ввода - вывода и тогда подтягивать её вообще не получится.
Х.З. У меня всегда в воздухе висит, проблем пока не было, но гарантировать не могу. Единственное что поддерживает надежду - ногу ресет можно превратить в ногу ввода - вывода и тогда подтягивать её вообще не получится.
а как вы контроллер по питанию защищаете? что бы стабильно работал, я имею ввиду кондеры на питание, итд
да, и по кварцу еще вопрос: стоит тиньку разогнать? а то 1мгц маловато шо то
До 8 МГц разгоняется изменением одного фьюза CKDIV8.
Защита от помех - питание через 100 Ом и почти прямо на ножки 0.1 керамику и 220 кубик танталовый.
Да вот ещё - условие tx<10500 лишнее!!! Из-за него может задерживаться, когда проскакивает быстро 10500.
До 8 МГц разгоняется изменением одного фьюза CKDIV8.
Защита от помех - питание через 100 Ом и почти прямо на ножки 0.1 керамику и 220 кубик танталовый.
Да вот ещё - условие tx<10500 лишнее!!! Из-за него может задерживаться, когда проскакивает быстро 10500.
спасибо, проверю завтра
Глядя на ваш сигнал, мне подумалось, что проблема в том, что пик очень узкий и pulseIn может давать ноль на попытке найти время HIGH импульса. Отсюда и проблемы. Может быть вы попробуете выкинуть строку 14 и всё что с ней связано? Мне кажется, что тогда скетч будет работать как задумано - отлавливать остановку двигателя без отключения питания ардуины. Но это важно если вы не отключаете зажигание перед перезапуском. У меня заглохший движок запускается сразу если крутануть стартер.
Глядя на ваш сигнал, мне подумалось, что проблема в том, что пик очень узкий и pulseIn может давать ноль на попытке найти время HIGH импульса. Отсюда и проблемы. Может быть вы попробуете выкинуть строку 14 и всё что с ней связано? Мне кажется, что тогда скетч будет работать как задумано - отлавливать остановку двигателя без отключения питания ардуины. Но это важно если вы не отключаете зажигание перед перезапуском. У меня заглохший движок запускается сразу если крутануть стартер.
вы смотрели последний скрин который я выложил? Там сплошной меандр, он все равно узкий?
я стер все что вы мне сказали, проверил утром, и в принципе все работало. Щас я плату паяю уже.
я щас думаю как мне тинку запрограммировать, так что бы без бутлоадера было... думаю, я откомпилирую скетч под тиньку, достану .hex файл из папки, и программатором запишу в тиньку. Только вот не знаю запишет ли мой программатор .hex файл... если нет, тогда через ардуину буду лить
У меня небыло проблем ни с одним програматором.
Нет. Картинку не видел, но сейчас рассмотрел. Вижу что у вас нет конденсатора. Без него шум в начале LOW скоррее всего и давал ложные срабатывания.
У меня небыло проблем ни с одним програматором.
Нет. Картинку не видел, но сейчас рассмотрел. Вижу что у вас нет конденсатора. Без него шум в начале LOW скоррее всего и давал ложные срабатывания.
в общем новости хорошие, все работает, только пробивает иногда. на uno не пробивала, странно почему на тиньке так себя ведет
вот такая вещь получилась :
Без емкости от 100 мкф и больше прямо на ноги питания -4 +8 будет глючить. Не вижу емкости 1000пф на входе - без неё тоже будет глючить в машине. Схему всех элементов с платы можно увидеть?
Без емкости от 100 мкф и больше прямо на ноги питания -4 +8 будет глючить. Не вижу емкости 1000пф на входе - без неё тоже будет глючить в машине. Схему всех элементов с платы можно увидеть?
я выпаял мц для того что бы переписать ее, вернул обратно, ничего не работает (
взял другую тиньку в дип корпусе, тоже самое
ща разбираюсь
вот скетч, на уно все работале прекрасно, и на тиньке в первы раз тоже (
Да. Вобщем всё хорошо, только 10мкф мало и я её не вижу на плате, вижу маленькую керамику - тоже нужна обязательно и её нет на схеме. Та ,что С2 не работает за резистором. И емкость 1000пф параллельно D1 нужна, как фильтр от высокочастотных помех.
Да. Вобщем всё хорошо, только 10мкф мало и я её не вижу на плате, вижу маленькую керамику - тоже нужна обязательно и её нет на схеме. Та ,что С2 не работает за резистором. И емкость 1000пф параллельно D1 нужна, как фильтр от высокочастотных помех.
эта керамика и есть 10мкф, возле мц стоит
емкость добавлю
но, падение напряжения все равно присутствует, даже когда я сигнал напрямую на тиньку подаю. не париться с этим?
Падение напряжения где?
Падение напряжения где?
Падение напряжения где?
на выходе с тахометра
Ну так увеличте резистор раз в 10
Ну так увеличте резистор раз в 10
я до мегаома доходил, но тогда делитель стоял... щас еще раз попробую
До мегома перебор, а вот 20 - 50 кОм и за ними обязательно конденсатор - нормально. Нужно исходить из токов. Если выход тахометра 12 вольт, то ток безболезненно и выше помех это 0.1 - 0.5 мА - соответственно из этого расчёта и получается резистор.