Страница 4 из 6 ПерваяПервая 123456 ПоследняяПоследняя
Показано с 31 по 40 из 58

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Новичок
    Регистрация
    05.09.2011
    Возраст
    32
    Сообщений
    9
    Вес репутации
    173

    По умолчанию Re: Тахометр на БСЗ

    а массу объеденил с ардуино?!?
    кстати у меня схема другая...
    в ходе опытов было установлено что питание датчика холла не больше 6В(у меня в машине... но нверн везде так), т.е. безвредно дляч ардуино.
    на датчике холла 3 провода - +,-,сигнал.
    цепляем к проводу с сигналом провод который пайдет к ардуино и последоватеьльно резистор какойнить и все это к порту ардуино.... далее объеденяем массу... все должно работать.

    у меня был момент када я землю не объеденил.. тоже нифика не работало

    а по напряжению... у мня с резистором 10кОм када есть искра - показывает значение ~600(это када к аналоговому порту цеплял) а када небыло искры то показывал 20... када подключил к цифровому он четко показывает 1 и 0
    Последний раз редактировалось Rembo2743; 09.09.2011 в 21:35.

  2. #2
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Тахометр на БСЗ

    Многие датчики холла имеют выход с открытым коллектором.
    Считать импульсы лучше через прерывание

  3. #3
    Продвинутый
    Регистрация
    03.06.2008
    Возраст
    50
    Сообщений
    320
    Вес репутации
    342

    По умолчанию Re: Тахометр на БСЗ

    Chip , а набросай пожалуйста скетч, как считать импульсы через прерывание? Если не затруднит!

  4. #4
    Продвинутый
    Регистрация
    03.06.2008
    Возраст
    50
    Сообщений
    320
    Вес репутации
    342

    По умолчанию Re: Тахометр на БСЗ

    ну напишите ктонить, как считать импульсы прерываниями??????7

  5. #5
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Тахометр на БСЗ

    Импульсы от датчика холла штатного тахометра нужно подать на вход D2, желательно через оптрон или через диод (анодом к D2)
    Для теста скетча предусмотрел имитацию датчика холла, на выходе D5 постоянно выходят импульсы с частотой 61Гц, для проверки этот вывод нужно соединить с выводом D2

    PHP код:
    //http://www.compcar.ru/forum/showpost.php?p=86448&postcount=33

    //LOW — вызов прерывания по низкому уровню напряжения;
    //CHANGE – прерывание вызывается при любом изменении значения на входе;
    //RISING – вызов прерывания при изменении уровня напряжения с низкого (LOW) на высокий(HIGH)
    //FALLING – вызов прерывания при изменении уровня напряжения с высокого (HIGH) на низкий (LOW)

    #include <MsTimer2.h>
    #define PinA  2 
    static boolean output HIGH
    word count 0// счетчик импульсов

    void setup()  
    {   
      
    Serial.begin (115200); 
      
    pinMode(5OUTPUT); //выход ШИМ
      
    TCCR0B TCCR0B 0b11111000 |5//настроить ШИМ на частоту 61Гц
      
    pinMode(PinAINPUT);  
      
    digitalWrite(PinAHIGH);     // подключить подтягивающий резистор 
      
    attachInterrupt(0int_onRISING);  // настроить прерывание interrupt 0 на pin 2 
      
    MsTimer2::set(500flash); // таймер будет срабатывать через каждые 500ms 
      
    MsTimer2::start();//запустить таймер
    }  

    void loop() 

    //......здесь будет код Вашей программы
     
    analogWrite(5,10); //имитация датчика холла на пине D5 


    // обработка внешнего прерывания 
    void  int_on() 

    count++; //увеличить счетчик 


    void flash() //обработка прерывания таймера
    {
     
    Serial.println(count*120); //посмотреть результат
    count=0;//обнулить счетчик

    Последний раз редактировалось Chip; 27.09.2011 в 08:26.

  6. #6
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Тахометр на БСЗ

    Приведенный мной выше способ подсчета оборотов простой , но имеет много минусов.
    Лучше считать время между импульсами , так будет без погрешности , без инертности и без дискретности

  7. #7
    Продвинутый
    Регистрация
    03.06.2008
    Возраст
    50
    Сообщений
    320
    Вес репутации
    342

    По умолчанию Re: Тахометр на БСЗ

    Спасибо! мне кажется, что поргрешность будет из-за большой дискретности!!!!!! (count*120)!!!!
    А вот если считать время между импульсами, то получается что , значение будет уменьшаться и совершенно не линейно!!!!! Как с этим быть?

  8. #8
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Тахометр на БСЗ

    А зачем тебе линейность этого значения? Достаточно по формуле переводить это значение в частоту и обороты

  9. #9
    Продвинутый
    Регистрация
    03.06.2008
    Возраст
    50
    Сообщений
    320
    Вес репутации
    342

    По умолчанию Re: Тахометр на БСЗ

    слушай эдуард, я вот еще хотел спросить, а mills() и miсros(), это один и тот же счетчик? тоесть его нельзя использовать в разных функциях, в разное время?
    и сколько таких счетчиков?
    Я беру данные с проводочка на тахометр!
    ЗАранние спасибо!

  10. #10
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Тахометр на БСЗ

    Функции mills() и miсros() используют Timer0 контроллера
    А зачем использовать обе функции вместе? достаточно использовать только miсros() 1000=miсros() это то же самое что 1=mills()
    Таймеров в Atmega328 всего 3шт. Timer0, Timer1, Timer2

Страница 4 из 6 ПерваяПервая 123456 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

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