Страница 2 из 6 ПерваяПервая 123456 ПоследняяПоследняя
Показано с 11 по 20 из 58

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    01.11.2010
    Возраст
    42
    Сообщений
    57
    Вес репутации
    178

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

    А можно узнать как Arduino подключить к датчику Холла?
    Хочу поставить тахометр на скутер, там есть датчик положения коленвала, предполагаю что что он и есть датчик Холла, как лучше к нему подключиться, чтобы не нарушить цепь

    зы. Электрическая схема скутера: http://www.let-s.ru/letsdoc/el_shema_lets.pdf
    Последний раз редактировалось sirik; 07.09.2011 в 15:29.

  2. #2
    Новичок
    Регистрация
    05.09.2011
    Возраст
    31
    Сообщений
    9
    Вес репутации
    158

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

    sirik, мне кажетсо что у тебя там нет датчика холла... возможно датчик положения коленвала изменяет свое сопротивление в зависимости от положениеколенвала)
    а подключать просто - к одному контакту цепляешь свой проводок для ардуино, и провод который к камутатору идет)
    кстати... я так понял у тебя там карб стоит-> есть подсос, который надо в зависимости от температуры дергать.... я вот счас как раз упражняюсь чтобы застравить ардуино дергать воздушную заслонку про прогреве=)



    Chip, скетч:
    PHP код:
    int potPin 6// Порт для провода от датчика холла
    int Old 0// старое значение сигнала с датчика
    int Now 0;// последнее значение сигнала с датчика
    long time 0// для сохранения времени начала счета импульсов
    int count 0// колличество импльсов

    void setup()
    {

      
    pinMode(potPinINPUT);  
      
    Serial.begin(9600); 
      
    Old digitalRead(potPin); 
      
    time millis();
    }

    void loop()
    {

      
    Now digitalRead(potPin); // обновляем значение сигнала
      
    if (Now != Old// если значение сменилось
      
    {
        
    Old Now// запоминаем новое значени сигнала
        
    count++; // считаем колличество сигналов
        
    if (count 100// хотим пощитать 50 импульсов(25 оборотов), значит сигнал сменится 100 раз 
        
    {
          
    //замеряем время за 50 импульсов и все это переводим в обороты в минуту
          
    Serial.println(150000/(millis() - time)); // переводим полученный результат в обороты в минуту
          
    count 0// сбрасываем счетчик
          
    time millis(); // начинаем новый счет времени
        
    }
      }  

    Последний раз редактировалось Chip; 07.09.2011 в 22:18.

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

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

    Попробуй подправленный скетч
    Почему 150000 делишь?
    PHP код:
    int potPin 6// Порт для провода от датчика холла 
    int Old 0// старое значение сигнала с датчика 
    int Now 0;// последнее значение сигнала с датчика 
    long time 0// для сохранения времени начала счета импульсов 
    int count 0// колличество импльсов 

    void setup() 


      
    pinMode(potPinINPUT);   
      
    Serial.begin(9600);  
      
    Old digitalRead(potPin);  
      
    time millis(); 


    void loop() 


      
    Now digitalRead(potPin); // обновляем значение сигнала 
      
    if (Now != Old// если значение сменилось 
      

        
    Old Now// запоминаем новое значени сигнала 
        
    count++; // считаем колличество сигналов 
        
    if (count == 100// хотим пощитать 50 импульсов(25 оборотов), значит сигнал сменится 100 раз  
        

          
    //замеряем время за 50 импульсов и все это переводим в обороты в минуту 
          
    Serial.println(150000/(millis() - time)); // переводим полученный результат в обороты в минуту 
          
    count 0// сбрасываем счетчик 
          
    time millis(); // начинаем новый счет времени 
        

      }   

    Последний раз редактировалось Chip; 08.09.2011 в 00:04.

  4. #4
    Пользователь
    Регистрация
    01.11.2010
    Возраст
    42
    Сообщений
    57
    Вес репутации
    178

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

    2 Rembo2743: датчик Холла точно есть, попробую подключить как ты объяснил
    насчет подсоса: он автоматически работает при заводе скутера: чем холоднее на улице, тем дольше он работает

    и еще вопрос: допустим пришло всего 90 импульсов, тогда тахометр не выдаст ничего, имхо надо по времени ориентироваться. например раз в полсекунды выдавать на гора кол импульсов
    Последний раз редактировалось sirik; 08.09.2011 в 17:23.

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

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

    и еще: допустим пришло всего 90 импульсов, тогда тахометр не выдаст ничего, имхо надо по времени ориентироваться. например раз в полсекунды выдавать на гора кол импульсов
    Я тоже хотел предложить так считать

  6. #6
    Пользователь
    Регистрация
    01.11.2010
    Возраст
    42
    Сообщений
    57
    Вес репутации
    178

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

    попробовал с кнопкой, вроде работает) вечером буду к скутеру крепить

    PHP код:
    int potPin 2// Порт для провода от датчика холла 
    int now 0;// последнее значение сигнала с датчика 
    long time 0// для сохранения времени начала счета импульсов 
    int count 0// колличество импльсов 
    int val//временная переменная для считывания сигнала с датчика

    int flg_push//флаг прихода импульса

    void setup() 

      
    Serial.begin(9600);  
      
    time millis(); 


    void loop() 

      
    //будем считать, что импульсы очень быстрые ;)

      //считываем данные
      
    val digitalRead(potPin);
      
      
    //если пришел импульс
      
    if ((val == HIGH) && (flg_push == 0))  {
        
    //флаг ставим в 1
        
    flg_push 1;
      }
      
      
    //если импульс ушел, то увеличиваем счетчик
      
    if ((val == LOW) && (flg_push == 1))  {
        
    //флаг ставим в 0
        
    flg_push 0;
        
    count++;
      }

      
    //если прошло 30 милисекунд
      
    now = (millis() - time) / 500;
      if (
    now == 1){
        
        
    //выводим кол импульсов из расчета (об/мин)
        
    Serial.println (count 120);
        
        
    //сбрасываем начальный счетчик
        
    time millis();
        
    //сбрасываем количество импульсов
        
    count 0;
      }


  7. #7
    Новичок
    Регистрация
    31.07.2016
    Сообщений
    1
    Вес репутации
    0

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

    я по твоему коду считал обороты и все нормально, все описано на канале, где выйдет серия видео по автоподсосу https://www.youtube.com/watch?v=uEUfugpbsMo

  8. #8
    Новичок
    Регистрация
    05.09.2011
    Возраст
    31
    Сообщений
    9
    Вес репутации
    158

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

    и как я мог протупить с двойным равно))))) терь стабильнее стало)))) единственное обороты не правильно показывает)))
    sirik, как попробуешь свой метод отпишись?!?Моим методом он больше 2500 не показывает

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

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

    Так ты мне не ответил что за значение 150000

  10. #10
    Новичок
    Регистрация
    05.09.2011
    Возраст
    31
    Сообщений
    9
    Вес репутации
    158

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

    ааа... ну кароч, полученный результат 25 оборотов за скокота милисекунд делим на количество мимллисикунд чтобы привести к скокота оборотов за 1 мсек, патом все это дело переводим в об\мин.

    для этого перемножаем (50 импульсов, 1000 мсек в секунде, 60 сек в минуте и делим на 2, т.к. 1 оборот - 2 импульса))и делим на полученное время разница)

    получается 1500000... нолиг забыл дописать) но чота в итоге это криво работает)))
    кстати спс за помощ))

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

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

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

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

Ваши права

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