Страница 4 из 10 ПерваяПервая 12345678910 ПоследняяПоследняя
Показано с 31 по 40 из 97
  1. #31
    Модератор Аватар для XsanderS
    Регистрация
    05.05.2008
    Возраст
    41
    Сообщений
    829
    Вес репутации
    396

    По умолчанию Re: Н-Мост на MOSFET+Arduino

    Цитата Сообщение от Chip Посмотреть сообщение
    А ты чем измерял сигнал на входе пина D2 ?
    Может всетаки где то ошибся?
    Arduino осцилографом. да нет наврятли ошибся, сигнал стандартный у всех пультов и осцилограф его подтвердил. только щас заметил что ты изменил такт срабатывания таймера на 2мкс, выше указанные замеры я проводил на таймере с тактом в 10мкс.
    хороший модем должен качать пиво!
    Мой проект

  2. #32
    Модератор Аватар для XsanderS
    Регистрация
    05.05.2008
    Возраст
    41
    Сообщений
    829
    Вес репутации
    396

    По умолчанию Re: Н-Мост на MOSFET+Arduino

    вот полностью код

    PHP код:
    #include <TimerOne.h>

    #define BTNPIN 2
    #define L 5
    #define R 6

    volatile uint16_t startImpuls;
    volatile uint16_t lengthImpuls;
    volatile uint16_t timerCount=0;

    void setup()
    {  
    /*
        LOW — вызов прерывания всякий раз, когда на порту низкий уровень напряжения;
        CHANGE – прерывание вызывается при изменении значения на входе;
        RISING – вызов прерывания при изменении уровня напряжения с низкого (LOW) на высокое(HIGH)
        FALLING – вызов прерывания при изменении уровня напряжения с высокого (HIGH) на низкое (LOW)
      */
      
    startImpuls=0;
      
    lengthImpuls=0;
      
    pinMode(BTNPININPUT);
      
    pinMode(LOUTPUT);
      
    pinMode(ROUTPUT);
      
    pinMode(13OUTPUT); 
      
    pinMode(13LOW);
      
      
    Serial.begin(115200);

      
    Timer1.initialize(10);
      
    Timer1.attachInterrupt(callback);  // attaches callback() as a timer overflow interrupt

      
    attachInterrupt(0fireUpRISING);
    }
    void callback() {  timerCount++; }

    void loop()
    {
       if (
    lengthImpuls 0
      { 
        
    uint16_t li lengthImpuls
        
    lengthImpuls=0;
      
         if (
    li 100  && li 150)   // замер сигнала для вращения в лево
       // analogWrite (L, 23 - li)
         
    Serial.print (li,DEC);

         if (
    li 155  && li 200)   // замер сигнала для вращения в право
       //  analogWrite (R, 23 - li);
         
    Serial.print (li,DEC);
      }   
     }

    // Функция обработки прерывания на подъем
    void fireUp()
    {

      
    detachInterrupt(0);
      
    startImpuls timerCount;
      
    attachInterrupt(0fireDownFALLING);
    }

    // Функция обработки прерывания на падение
    void fireDown()
    {
      
    detachInterrupt(0);
      
    lengthImpuls timerCount startImpuls;
      
    startImpuls=0;
      
    timerCount=0;
      
    attachInterrupt(0fireUpRISING);

    хороший модем должен качать пиво!
    Мой проект

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

    По умолчанию Re: Н-Мост на MOSFET+Arduino

    Ну так я не только время изменил, я поменял немного логику измерения
    Ты вообще то мой код пробовал? без каких либо дополнений и изменений?

  4. #34
    Модератор Аватар для XsanderS
    Регистрация
    05.05.2008
    Возраст
    41
    Сообщений
    829
    Вес репутации
    396

    По умолчанию Re: Н-Мост на MOSFET+Arduino

    Конечно. я думаю что проблемма сдесь if (li > 499 && li < 1001) сигнал не попадает в эти рамки. щас попробую изменить.
    хороший модем должен качать пиво!
    Мой проект

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

    По умолчанию Re: Н-Мост на MOSFET+Arduino

    Здесь получаются рамки от 1мс до 2мс

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

    По умолчанию Re: Н-Мост на MOSFET+Arduino

    если посмотреть на сигнал li в serialMonitor какие длительности будет выдавать? Только посмотри через мой код

  7. #37
    Модератор Аватар для XsanderS
    Регистрация
    05.05.2008
    Возраст
    41
    Сообщений
    829
    Вес репутации
    396

    По умолчанию Re: Н-Мост на MOSFET+Arduino

    Странно, лолжен попадать. ща вот с твоим скетчем работает так: пин R молчит совсем, пин L начинает сразу крутить мотор. значит скетч захватывает нейтральный сигнал 1,5 мс а на изменения не реагирует...
    хороший модем должен качать пиво!
    Мой проект

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

    По умолчанию Re: Н-Мост на MOSFET+Arduino

    значит нейтральное положение находится реально вверху диапазона

  9. #39
    Модератор Аватар для XsanderS
    Регистрация
    05.05.2008
    Возраст
    41
    Сообщений
    829
    Вес репутации
    396

    По умолчанию Re: Н-Мост на MOSFET+Arduino

    if (li >= 750) {analogWrite (R, 255-(1000-li)); analogWrite (L, 0);} так 750=1,5мс
    хороший модем должен качать пиво!
    Мой проект

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

    По умолчанию Re: Н-Мост на MOSFET+Arduino

    1такт таймера равен 2мкс
    750х2мкс=1500мкс или 1,5мс
    Последний раз редактировалось Chip; 20.10.2011 в 22:39.

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

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

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

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

Ваши права

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