Здравствуйте всем! Очень нужна помощь. Делаю приблуду для автомобиля - там мне нужно распознавать нажатие педали тормоза. Делаю следующую схему.
Код:
IN R16, PINA BST R16, 0 BRTS label_SKIP4 ; branch if T=1
//----обработка педали тормоза-----//
//////@@@@@ //////@@@@@ SBI PORTB, 4 ; светодиод
label_BRAKE000: SBIS PINA, 0 ; skip if HIGHT rjmp label_BRAKE000
CBI PORTB, 4 ; светодиод //////@@@@@ //////@@@@@
SBR R31, 0b00100000 // устанавливаем флаг ТОРМОЗА LDI R16, 0x0 //останавливаем таймер OUT TCCR0B,R16
вырезка кода из программы.
Проблемма в следующем - если вот так подключаю как на схеме нарисовано - при нажатии на педаль тормоза - ничего не происходит, т.е. как на PINA, 0 была логическая единица так и остается, т.е. несрабатывает хотя все ведь верно --- земля появляется - и должен появлятся логический НУЛЬ.
Если же я достану предохранитель на 15А из авто, то все срабатывает!!!! - земля появляется, и появляется логический нуль! НО в авто ведь перестают работать стоп-сигналы, а это недопустимо
В чем беда и как этого избежать?! Код программы невиноват, т.к. мы видим на результат налицо - достал предохранитель (порвал цепь аккума +12В) - все работает , земля при нажатии на педаль появляется. А если этого не делать - то земя не появляется! Но почему!? нажму на педаль - появляется земля - т.е. и стопсигналы у авто загорелись от +12В, но и земля ведь появилась и для МК, почему он ее не видит...
Крен естественно подключен к аккуму авто. Диод стоит 1N какойто (1N4007 или чето такое), непомню точно, но мощный. Что это за глюки, что я не предусмотрел!?
ps если тема не в правильном разделе прошу модератора перенести.
Вложения:
Комментарий к файлу: схема 999.jpg [121.09 KiB]
Скачиваний: 574
Прикольно, а там разве не все время весит +12в(кроме предохранителя конечно) не зависимо от нажатия педали. Может с другой стороны кнопки подключится? Там по крайней мере появляется исчезает 12в при нажатии отпускании педали .
Прикольно, а там разве не все время весит +12в(кроме предохранителя конечно) не зависимо от нажатия педали. Может с другой стороны кнопки подключится? Там по крайней мере появляется исчезает 12в при нажатии отпускании педали .
да. в том месте где я подключился к проводке машины все время висит +12В не зависимо от нажатия педали. Но мне то что что там висит? Нажму на кнопку там появится ведь земля?! Появится я так предпологаю, и с моей ножки МК должно уйти напряжение по пути ДИОД-Педаль Тормоза-Стопсигналы - Земля. И на ноге моей МК следовательно должен быть ноль.
Или оно так не уйдет т.к. оно может пойдет ДИОД-+12В аккума, и земли тогда не будет... Я просто не разбираюсь в потенциалах что куда пойдет...
Может с другой стороны кнопки подключится? ну ессли с другой стороны кнопки подключится то при моей такой схеме - то просто получится на ноже МК будет постоянный ЛОГ НУЛЬ, т.к. будет постоянно на земле.
А как же тогда лампочки загораются если с обоих сторон лампочек ноль? При нажатии кнопка замкнет цепь и с другой стороны кнопки появится+12в при отпускании почти ноль. Лампочки имеют некоторое сопротивление. Программу конечно, придется не много переделать.
Не могли бы вы мне набросать схемку (или поправить мою) как сделать что бы все работало. Если я подключу ногу МК после Педали Тормоза (а не до, как сейчас) - то мне надо убрать подтяжку 10кОм к 5Вольтам? И в программе настроить порт на вход без подтяжки (получится вход Hi-Z ) и тупо проверять - если педаль нажата - то на ножке будет +12В - т.е. ЛОГ ОДИН, а если педаль не нажата - то на ножке будет всегда ЛОГ НОЛЬ. Так сделать? Все будет работать стабильно, хаотично прыгать состояния из ЛОГ НОЛЬ в ЛОГ ОДИН не будут? Вход Hi-Z — режим высокоимпендансного входа. Этот режим включен по умолчанию. Все вентили разомкнуты, а сопротивление порта очень велико. В принципе, по сравнению с другими режимами, можно его считать бесконечностью. То есть электрически вывод как бы вообще никуда не подключен и ни на что не влияет. Но! При этом он постоянно считывает свое состояние в регистр PIN и мы всегда можем узнать что у нас на входе — единица или ноль. Этот режим хорош для прослушивания какой либо шины данных, т.к. он не оказывает на шину никакого влияния. А что будет если вход висит в воздухе? А в этом случае напряжение будет на нем скакать в зависимости от внешних наводок, электромагнитных помех и вообще от фазы луны и погоды на Марсе (идеальный способ нарубить случайных чисел!). Очень часто на порту в этом случае нестабильный синус 50Гц — наводка от сети 220В, а в регистре PIN будет меняться 0 и 1 с частотой около 50Гц
Без переделок схемы (за исключением места подключения и при условии что хотя бы одна из ламп накаливания стоп сигнала исправна) устройство заработает если изменить программу, просто теперь нажатая педаль будет давать лог1 отпущенная лог0. Ну еще есть другие варианты. Более опытные коты я надеюсь подскажут.
вообщем убрал подтяжку к 5Вольтам, присоедини провод после выключателя педали тормоза, и настроил порт МК просто на вход без подтяжки, т.е. в режиме Hi-Z. Переписал наоборот опрос пина, и все стало норм. Вообщем вопрос решен, но всеравно не понятно почему в моей схеме не хотело оно на землю замыкаться при нажатии на педаль, значит оно шло не попути к земле, а на +12 шло...
так прицепи за контактом педали оптрончик (светодиодом от +12 через источник тока на lm317 к "корпусу" , а транзистор сего оптрона прицепи на вход МК) (см.приложенное)
Я предлагал оставить примерно так ________ педаль ________ __ нажата ______ отпущена _
ну я сделал тоже самое, только подтяжку на 5Вольт убрал - нафига она мне не нажата - ноль вольт, нажата - 12 вольт (т.е. логическая единица) а в протеусе у тебя на 'зеленых проводах' стрелочки как бы нарисованы - это программа рисует или сам?
BOB51 писал(а):
так прицепи за контактом педали оптрончик (светодиодом от +12 через источник тока на lm317 к "корпусу" , а транзистор сего оптрона прицепи на вход МК)
нда, тоже рабочий вариант, но я бы сам не придумал, такие сложности здесь незачем))
это не сложности, а примитивная классика... можно еще геркончик в катушке поставить или простейшую релюху с обмоткой на 12 вольт и замыкающим контактом для совсем ленивых
Заголовок сообщения: Re: atTiny2313 некорректно распознает нажатие кнопки на земл
Добавлено: Вт июл 10, 2012 10:20:18
Поставщик валерьянки для Кота
Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22 Сообщений: 2401 Откуда: Россия, Волгоград
Рейтинг сообщения:0 Медали: 1
добавлю бочку дёгтя в эту ложку меда при таком включении, т.е. просто диод на ножку, мк гарантированно выйдет из строя, ввиду того что в бортовой сети авто, при работающем двигателе, присутствуют импульсы отрицательной полярности, амплитудой значительно больше 12В.
_________________ Чем дальше, тем больше становлюсь занудой...
а откуда там берутся эти импульсы? я предполагаю так - что в генераторе присутствует регулятор напряжения - который и будет заниматься тем что бы напряжение не было больше 14,5В , и что бы не возникало таких всяких импульсов, а было все ровно и хорошо.
Заголовок сообщения: Re: atTiny2313 некорректно распознает нажатие кнопки на земл
Добавлено: Вт июл 10, 2012 12:52:38
Поставщик валерьянки для Кота
Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22 Сообщений: 2401 Откуда: Россия, Волгоград
Рейтинг сообщения:0 Медали: 1
alek777 писал(а):
... и что бы не возникало таких всяких импульсов, а было все ровно и хорошо.
ну тогда рекомендую почитать теорию, про то как образуется искра в цилиндрах, думаю у тебя явно не дизель, или для тебя теория слишком нудна, возьми осцилограф и посмотри что творится в бортовой сети авто
_________________ Чем дальше, тем больше становлюсь занудой...
ну тогда рекомендую почитать теорию, про то как образуется искра в цилиндрах, думаю у тебя явно не дизель, или для тебя теория слишком нудна, возьми осцилограф и посмотри что творится в бортовой сети авто
Присоединяюсь... Да, и не забудь, загрузить полный салон и багажник огнетушителями
_________________ — Не говорите мне что делать и я не скажу куда Вам идти...
ну тогда рекомендую почитать теорию, про то как образуется искра в цилиндрах, думаю у тебя явно не дизель, или для тебя теория слишком нудна, возьми осцилограф и посмотри что творится в бортовой сети авто
прям заинтересовался как же она там возникает - почитаю...
но у меня в данный момент дизель, - у него в бортовой сети дела получше значит?
Мне кажется, что лучше вместо диода поставить резистор на 10 - 20 кОм. И никаких подтяжек не включать. Нажал - 1, отпустил - 0. А входное напряжение 12 вольт ограничится на внутренних защитных диодах.
Заголовок сообщения: Re: atTiny2313 некорректно распознает нажатие кнопки на земл
Добавлено: Вт июл 10, 2012 14:55:25
Поставщик валерьянки для Кота
Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22 Сообщений: 2401 Откуда: Россия, Волгоград
Рейтинг сообщения:0 Медали: 1
Барсик писал(а):
... А входное напряжение 12 вольт ограничится на внутренних защитных диодах.
и получишь вольдобавку порядка 0.6-0.8В, плюс стабилизатор на 7805 без защитного диода, плюс еще чего-нибудь ... и в итоге "ничего не работает, помогите", сколько раз повторялось.
_________________ Чем дальше, тем больше становлюсь занудой...
но всеравно не понятно почему в моей схеме не хотело оно на землю замыкаться при нажатии на педаль
А ты немного все же представь себе что при нажатии в той точке подключения появится ЗЕМЛЯ. Закон ома и джоуля-ленца, знаешь-ли, неумолим... просто вышибет предохранитель, даже если там на пару вольт будет меньше чем 12В.
Вход микроконтроллера при этом надо защищать. В таких схемах всегда предполагай что напряжение в бортсети в импульсе может достигать 120В, например когда стартер клацает и т.п. это напряжение запросто вышибет вход контроллера. Советую использовать для этих целей схему резистор-супрессор(на общий провод схемы)-резистор. Первый резистор ограничивает ток через супрессор в момент импульса напряжения превышающего напряжение супрессора, а второй резистор защищает защитный диод микроконтроллера - напряжение на супрессоре все же превышает номинал и сильно зависит от тока через супрессор, а с другой стороны защитного диода контроллера стоит инертный конденсатор по питанию - ток необходимо ограничивать, и чем меньше величина тем лучше! Ограничением на второй резистор является чувствительность к помехам и быстродействие. 10-50кОм туда можно применить. Если величина второго резистора будет слишком мала, и конденсатор на питании контроллера будет мал - напряжение питания контроллера сможет превысить отметку в 6В и вывести контроллер из строя. Интегральный стабилизатор в данном случае будет не у дел, он не умеет уменьшать свое ВЫХОДНОЕ напряжение если оно увеличивается со стороны нагрузки, с этим может справится только параметрический на стабилитроне.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения