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

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

    Извиняюсь за такое обяснение... Вот последний рабочий скетч. На данный момент средний уровень устанавливается нажатием кнопки CentrSet (когда D12==HIGH) хотелось бы реализовать это автаматически. Тоесть при включении arduino выполнялась одноразовая команда "записать длинну сигнала в переменную centr

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

    #define BTNPIN 2    // Вход сигнала 
    #define SET 12      // Кнопка CentrSet
    #define L 5         // Выход на H-Мост вращение в лево 
    #define R 6         // Выход на H-Мост вращение в право 

    int centr 150;  //значение по умолчанию пока не будет нажата кнопка CentrSet

    volatile uint16_t lengthImpulstimerCount;

    void setup() 
    {   

    /* LOW — вызов прерывания всякий раз,  
        когда на порту низкий уровень напряжения; 
        CHANGE – прерывание вызывается при изменении  
        значения на входе; 
        RISING – вызов прерывания при изменении уровня  
        напряжения с низкого (LOW) на высокое(HIGH) 
        FALLING – вызов прерывания при изменении уровня  
        напряжения с высокого (HIGH) на низкое (LOW)*/ 
        
      
    lengthImpuls=0
       
      
    pinMode (BTNPININPUT);
      
    pinMode (SETINPUT);  
      
    pinMode (LOUTPUT); 
      
    pinMode (ROUTPUT); 
      
    analogWrite (L0); 
      
    analogWrite (R0);

      
    Timer1.initialize(10);               
      
    Timer1.attachInterrupt(callback);   

      
    attachInterrupt(0fireUpRISING);

    void callback() {  timerCount++; } 

    void loop() 

       
    uint16_t li lengthImpuls
       if (
    li > (centr-50) && li < (centr+50)) 
      {  
        if (
    li > (centr+1)) {analogWrite (R, (li-centr)*5); analogWrite (L0);}  
        else if (
    li > (centr+45)) {analogWrite (R255); analogWrite (L0);}
        
        if (
    li < (centr-1)) {analogWrite (L, (centr-li)*5); analogWrite (R0);}
        else if (
    li < (centr-45)) {analogWrite (L255); analogWrite (R0);}
        
        if (
    li > (centr-1) && li < (centr+1)) {analogWrite (L0); analogWrite (R0);}
        
        if (
    digitalRead (12)== HIGH) {centr li;}
    }
    }

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

      
    timerCount=0
      
    detachInterrupt(0);
      
    attachInterrupt(0fireDownFALLING); 


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

       
    lengthImpuls timerCount
      
    detachInterrupt(0); 
      
    attachInterrupt(0fireUpRISING); 

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

  2. #52
    Продвинутый
    Регистрация
    28.11.2010
    Возраст
    59
    Сообщений
    241
    Вес репутации
    213

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

    В теле void setup() сделай маленькую паузу и опроси начальное положение, заноси в переменную centr = li; и все.
    Последний раз редактировалось Mastar; 20.11.2011 в 16:32.
    Мои проекты - Катер для рыбалки

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

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

    Цитата Сообщение от Mastar Посмотреть сообщение
    В теле void setup() сделай маленькую паузу и опроси начальное положение, заноси в переменную centr = li; и все.
    Не все так просто, на момент выполнения void setup() переменные lengthImpuls, timerCount пусты. Так как обработка прерываний и запись длинны сигнала в них обрабатываются в void fireUp() и void fireDown() Думаю что надо в теле void setup() прописать одноразовую обработку прерываний, либо прописать выполнение fireUp() и void fireDown() затем запись в переменную типа uint16_t а уже с нее брать значение в переменную centr, и все это в теле void setup()
    хороший модем должен качать пиво!
    Мой проект

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

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

    Я все равно доконца не понимаю как это должно работать.
    Опиши подробно проект что должен делать контроллер

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

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

    Цитата Сообщение от Chip Посмотреть сообщение
    Я все равно доконца не понимаю как это должно работать.
    Опиши подробно проект что должен делать контроллер
    Собираю свой блок управления моторами для RC модели типа вот такова. Мой блок предназначается для моделей полевой техники. трактаров, экскаваторов, танков... Там где нужно много моторов. Например Актуальная модель К700 2 моста и рулевая и того уже 3 блока управления моторами. Я хочу собрать 1 для 2х моторов. Хотел больше но ресурсов atmegi 168 и 328 маловато изза ограниченных возможностей обработки внешнх прерываний и числа выходов ШИМ. Более навороченную Atmegu например 1280 ставить не бюджетно... В планах создание полностю своего девайса на базе 168й атмеги с разведением платы и всем что к этому относится.

    Что касается конкретной задачи с оприделением среднего сгнала, то в планах реализовать чтоб блок сам при включении захватил средний сигнал и от него так сказать плясал. Нужно это для банального удобства чтоб при включении модель не дергалась если подстроечный рычаг на пульту случайно сдвинулся на несколько шагов от середины. Большенство производителей решают это тупо установкой мертвой зоны на шагов 10 в каждую сторону. В следствии чего теряется чувствительность руля и моторы работают не на полную мощность в максимальном положении рычага управления.
    Последний раз редактировалось XsanderS; 20.11.2011 в 20:32.
    хороший модем должен качать пиво!
    Мой проект

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

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

    А если прописать средний сигнал в энергонезависимую память?

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

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

    Цитата Сообщение от Chip Посмотреть сообщение
    А если прописать средний сигнал в энергонезависимую память?
    Я так понял имеется ввиду EEPROM? можно и так, только я не знаю как это сделать, и сигнал должен перезаписываться каждый раз когда включается модель, не знаю как это отразится на EEPROM, запись в него ведь ограниченна, кажется 10000 раз. Например выключил модель, положил пульт, рычажок сдвинулся немного и при следующем включении блок сам скоректировал среднее положение.
    хороший модем должен качать пиво!
    Мой проект

  8. #58
    Продвинутый
    Регистрация
    28.11.2010
    Возраст
    59
    Сообщений
    241
    Вес репутации
    213

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

    Цитата Сообщение от XsanderS Посмотреть сообщение
    Собираю свой блок управления моторами для RC модели типа вот такова.
    Так, минуточку. Этот регулятор без реверса, а имеет только вращение в одну сторону и тормоз, который можно отключить перемычкой.

    Самое прикольное, что то о чем Вы просите, в этом регуляторе уже есть. При включении питания, он считывает положение стика и принимает его как нулевое значение.
    Мои проекты - Катер для рыбалки

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

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

    Цитата Сообщение от Mastar Посмотреть сообщение
    Так, минуточку. Этот регулятор без реверса, а имеет только вращение в одну сторону и тормоз, который можно отключить перемычкой.

    Самое прикольное, что то о чем Вы просите, в этом регуляторе уже есть. При включении питания, он считывает положение стика и принимает его как нулевое значение.
    Я просто привел его как пример чтобы было понятно о чем речь. Конечно такие регуляторы как брушлес и остальные солидные марки уже имеют эту функцию... Я собираю так сказать регулятор на 2 мотора с вращением в обе стороны. когда это будет работать нормально, буду расширять блок наример поворотники, стоп сигналы, мигалки и тому подобное.
    хороший модем должен качать пиво!
    Мой проект

  10. #60
    Продвинутый
    Регистрация
    28.11.2010
    Возраст
    59
    Сообщений
    241
    Вес репутации
    213

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

    Так а зачем заморачиваться на изобретение велосипеда? Просто берете готовое изделие со всеми нужными функциями, есть и с реверсом для коллекторников, только в поиске нужно набирать брашед(Brushed Speed Controller) например такой, а на счет варианта включения по одному каналу разных дискретных каналов, то можно такой вариант на 7 ключей по выходу.
    Хотя можно через ардуину это задействовать, но смысла не вижу.
    Последний раз редактировалось Mastar; 20.11.2011 в 21:46.
    Мои проекты - Катер для рыбалки

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

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

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

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

Ваши права

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