Например TDA7294

Форум РадиоКот • Просмотр темы - помогите: прерывания и датчик скорости
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вс дек 14, 2025 22:38:15

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: помогите: прерывания и датчик скорости
СообщениеДобавлено: Чт дек 20, 2012 21:16:03 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Сб фев 16, 2008 04:35:19
Сообщений: 168
Откуда: г.Тольятти
Рейтинг сообщения: 0
хочу замутить себе на авто устройство чтоб включало ближний как только машина поедит, в инете полно схем, но хочется самому! :))
так вот: схему вроде накидал, спаял прошил контроллер(тини 13) но...
свет включается даже когда еще зажигание включаеш или заводишь(когда как :shock: )
я так думаю что всему виной помехи возникающие при запуске двигателя или при вкл. зажигания
вопрос: как с ними програмно бороться?
вот кусок кода где я пытаюсь отфильтровать импульсы короче 5млс, т.е. я думаю что помехи не будут длиннее, или ни так?
Спойлер
Код:
#define FARA_ON  PORTB.0=1;
DSA_IMP; // счётчик импульсов с датчика скорости
mls=5;

interrupt [EXT_INT0] void ext_int0_isr(void)
    {   
               
                         if(RUCHNIK==1){
                                if(impuls==0){                                                //здесь в первый раз?
                                  T3=1;                                                           //да, запускаем таймер на 1млс,
                                   impuls=1;                                                   // и ставим флаг что были здесь
                                }else{                                                             //нет, мы уже были тут
                                  T3=0;                                                            //останавливаем таймер
                                  mills=TS3;                                                    //в mills сохраняем то сколько натикал млс. таймер
                                  if(mills>=mls){                                             // сравниваем время таймера с предустановленным значением 
                                      DSA_IMP++;                                             //если прошло больше времени чем надо, то считаем этот импульс
                                      mills=0;}                                                    //и сбрасываем mills
                                  impuls=0;                                                      //и сбрасываем флаг того что тут уже были
                                };           
                         };         
                   
   } ;

interrupt [TIM0_OVF] void timer0_ovf_isr(void)  //
     {

        if (T3==1) { TS3++; }else  {  TS3=0;};         
        TCNT0=106;                                             //перед запуском таймера записываем в него число 106,  что бы   переполнение
                                                                        //возникало 1 раз в 1млс

      }

void main(void)
{
if(DSA_IMP>=5){FARA_ON;} //получили 5 импульсов, включили фары

}

может как то по другому можно отфильровывать помехи?
вот тут
Вложение:
Захват-1.jpg [30.88 KiB]
Скачиваний: 393
схема подключения к микроконтроллеру.

_________________
***********
Не трогайте мокрыми руками оголённые провода, они могут заржаветь.
***********


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: помогите: прерывания и датчик скорости
СообщениеДобавлено: Пт дек 21, 2012 13:16:12 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1493
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15288
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
А каким образом определяется, что началось именно движение, а не просто движок крутится? :facepalm:
Может стоит запуск по импульсам спидометра сделать? :dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: помогите: прерывания и датчик скорости
СообщениеДобавлено: Пт дек 21, 2012 13:29:55 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Сб фев 16, 2008 04:35:19
Сообщений: 168
Откуда: г.Тольятти
Рейтинг сообщения: 0
ну так я и подсоединяю к ДСА(датчик скорости автомобиля) :tea:
машинка инжекторная,датчик выдаёт 6 импульсов на оборот!
вот в этом то и проблема, не должно быть там ни каких импульсов с датчика скорости пока машина не поедит, а у меня ловит какие то помехи на этом проводе, и поэтому свет врубает контроллер!
посему интересно как можно програмно побороть эти помехи?

_________________
***********
Не трогайте мокрыми руками оголённые провода, они могут заржаветь.
***********


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: помогите: прерывания и датчик скорости
СообщениеДобавлено: Пт дек 21, 2012 14:19:11 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1493
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15288
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Скорее всего прийдется городить преобразователь уровней где-то у датчика, а сигнал гнать токовым импульсом через оптроны ... :roll:


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: помогите: прерывания и датчик скорости
СообщениеДобавлено: Пт дек 21, 2012 19:59:57 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 1
Зарегистрирован: Пн окт 18, 2010 21:18:21
Сообщений: 321
Рейтинг сообщения: 0
сначала определить, что машина заведена ( померить бортовое напряжение, что бы не ниже 13 вольт), а потом отлавливать импульсы. Хотелось бы глянуть на схему, может у вас схемный косяк.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: помогите: прерывания и датчик скорости
СообщениеДобавлено: Пт дек 21, 2012 21:51:19 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 12
Рейтинг сообщений: 67
Зарегистрирован: Пт авг 27, 2010 05:57:06
Сообщений: 2482
Откуда: Тюмень
Рейтинг сообщения: 0
вообще то лучше сделать нормальный резистор а не использовать внутренний подтягивающий.И можно еще поставить небольшой конденсатор у ноги Мк, какую нибудь керамику на пару сотен uF.
Можно определить, что машина едет очень просто если шесть импульсов на оборот, а оборот делает примерно за один метр, и начало движения всегда будет медленным, то есть к примеру началом будет 1км/ч то получается, что самый длинный импульс будет
3600[сек] / 6000[имп/км] =0,6 секунд.
Можно для надежности ждать пока три секунды пройдет и не было импульсов, то можно тушить свет.
Далее считаем когда можно включить свет пусть максимальная скорость будет 120км/ч, тогда самый короткий импульс для включения 0,6[сек]/120= 0.005сек
Из этих расчетов можно составить алгоритм
если состояние выключеных фар и время между импульсами 5мс-0,6 сек, то фары включаем.
если состояние фар включено, считаем сколько импульсов за 3 секунды, если меньше 1(или 2 или 3), то фары можно потушить.

Честно говоря я не понял как в вашем виде фары тушатся.Вроде в начале проверка на ручник, а когда фары горят уже не выключаются от ручника?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: помогите: прерывания и датчик скорости
СообщениеДобавлено: Вс дек 23, 2012 11:40:33 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Сб фев 16, 2008 04:35:19
Сообщений: 168
Откуда: г.Тольятти
Рейтинг сообщения: 0
vitalik_1984 я впринципе так и стараюсь сделать т.е. у нас есть переменная mls в которой я храню количество миллисекунд которые должны быть между импульсами(в данном случае 5млс) как только поступит первый импульс, запускаю таймер и жду следующего импульса. Приходит следующий импульс, время которое нотикал таймер(в миллисекундах) сохраняю в переменную mils, а далее сравниваю оба значения:
Код:
if(mills>=mls){  // сравниваем время таймера с предустановленным значением

и делаю вывод, был ли импульс с ДСА или просто помеха!

а ручник это я просто так ввёл в программу от безвыходности и все равно не помогает, т.е. машина на ручнике стоит, заводим её(пока на ручнике импульсы не считаем) опускаю ручник(машина стоит) то фары иногда включаются!

можно конечно подсоединиться с датчику экранированным проводом возможно это снизит помехи, но не хочется :)) ведь в машине ни одного экранированного провода нет, ЭБУ как то же работает!

на счёт схемы, то она самая обычная!


Вложения:
Захват-1.jpg [39.17 KiB]
Скачиваний: 364

_________________
***********
Не трогайте мокрыми руками оголённые провода, они могут заржаветь.
***********
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: помогите: прерывания и датчик скорости
СообщениеДобавлено: Вс дек 23, 2012 11:58:08 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1493
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15288
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Ооо... 512 слов ПЗУ + Си... :cry: Ммняаа... (кажись там и NE555 вполне хватило ...)
А на схемотехнику ЧХИ!!! ... :roll:
Сколько ...метров проводка между коллектором и входом (или между выходом датчика и входным делителем)? :tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: помогите: прерывания и датчик скорости
СообщениеДобавлено: Вс дек 23, 2012 12:07:27 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Сб фев 16, 2008 04:35:19
Сообщений: 168
Откуда: г.Тольятти
Рейтинг сообщения: 0
Цитата:
Ооо... 512 слов ПЗУ + Си... Ммняаа... (кажись там и NE555 вполне хватило ...)

понимаю вашу иронию :)) но это так сказать практика в программировании и работы с внешними прерываниями :tea:

Цитата:
А на схемотехнику ЧХИ!!! ...

это как понимать??? что-то ни так?

Цитата:
Сколько ...метров проводка между коллектором и входом (или между выходом датчика и входным делителем)?

от датчика до тиньки, если размотать штатную проводку, думаю метра 2 будет! но я цепляюсь к проводку на панели приборов, а до него 15 см. провода.

_________________
***********
Не трогайте мокрыми руками оголённые провода, они могут заржаветь.
***********


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: помогите: прерывания и датчик скорости
СообщениеДобавлено: Вс дек 23, 2012 12:45:56 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1493
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15288
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Параметры сигнала датчика мне неизвестны, но думаю, амиплитуда там не менее 12 Вольт...
У тиньки требуется режим с внутренним сбросом, 8:->1KOm->:1 без конденсатора, коллекторный резистор не более 910 Ом... Входной делитель 10:1 ...? там нужен преобразователь, чувствительный только к полному размаху входного сигнала... да и топология монтажа... Автомобилус... блин... особопомехоопасное существо... :cry:
Слазь на котов сундук или http://radioparty.ru/index.php/literatura за двумя томами Рюмиковской "1000 и одна микроконтроллерная схема" + раздел "авто" на http://elektromehanika.org/load/avto/8 , авось чего прояснится! :beer:


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y