1. Уважаемый Гость! При написании вопросов в раздел форума [ArduCopter] Вопросы, проблемы и решения обязательно придерживаться шаблона сообщения, оговоренного в правилах раздела! Если сообщение не будет оформлено должным образом, то и ответ на вопрос будет с наименьшим приоритетом. Старайтесь дать максимально полную информацию по вашей проблеме, чтобы можно было более детально рассматривать вопрос!
    Скрыть объявление
  2. Уважаемый Гость! Хотите получать кэшбэк с покупок в online-магазинах? Сервис "Zozi.ru" дает такую возможность!
    Скрыть объявление
  3. Друзья! Для нашего ресурса необходим дополнительный объем пространства в облаке Dropbox. Подробнее.
    Скрыть объявление

Arduino и AVR (Atmel) микроконтроллеры

Тема в разделе "Наши другие увлечения", создана пользователем raefa, 9 мар 2016.

Реклама. Купить это место.
  1. raefa

    raefa Главнокомандующий Команда форума

    Регистрация:
    3 янв 2015
    Сообщения:
    4.324
    Город:
    Zhigulevsk
    Имя:
    Александр
    Последнее редактирование: 19 окт 2017
  2. Marksheider

    Marksheider Научный сотрудник

    Регистрация:
    1 дек 2016
    Сообщения:
    332
    Город:
    Прокопьевск
    Имя:
    Артем
    Я ни че не менял
    скеч вот такой же как и был https://github.com/MrMarkscheider/Tester-VMG/blob/master/tester-2.ino
    только делю на количество магнитов и все.
    --- Сообщения объединены, 23 дек 2017 ---
    Наверное вот тут надо увеличить значение чтоб последние цифры не прыгали.

    float realRPM1 = 0.0;
    if (rpm_cntr1 > 2){ // если тут увеличить в 7 раз скажем 14 поставить.
    noInterrupts();
     
  3. An_private

    An_private Старший научный сотрудник

    Регистрация:
    6 июн 2016
    Сообщения:
    595
    Город:
    Санкт-Петербург
    Имя:
    Андрей Коробейников
    Откройте для себя комбинацию ctrl-t в ардуино - отформатируйте нормально текст :)
    Можно и так.
     
  4. Marksheider

    Marksheider Научный сотрудник

    Регистрация:
    1 дек 2016
    Сообщения:
    332
    Город:
    Прокопьевск
    Имя:
    Артем
    :eek:офигеть...Вы ПРОСТО ГЕНИЙ. почему раньше мне не сказали про это...!!!!! Меня надо носом тыкать...на такие удобнейшие фишки.
    СПАСИБО!:)

    А как можно по другому фильтр замутить?
    --- Сообщения объединены, 23 дек 2017 ---
    Не помогает.
    на оптическом скачет очень редко и только на 1 единицу верх в низ
    а вот на холе скачет по 8 единиц в верх и столько же в низ , в общем на 16 единиц прыгают последние значения.

    :( оптический датчик пока что лучше работает. но его надо настраивать каждый раз. искать определенное расстояние до мотора чтоб он нормально работал.
    с холом в этом плане проще. расположил его как можно ближе к мотору и все, он работает. Но у него скачат значения.
     
  5. Marksheider

    Marksheider Научный сотрудник

    Регистрация:
    1 дек 2016
    Сообщения:
    332
    Город:
    Прокопьевск
    Имя:
    Артем
    А вот так вот нормально будет

    float realRPM1 = 0.0;
    if (rpm_cntr1 > 7) { // здесь увеличил до 7 значение.
    noInterrupts();
    unsigned long tmp_start1 = start_t1;
    unsigned long tmp_stop1 = stop_t1;
    uint16_t tmp_cntr1 = rpm_cntr1;
    rpm_cntr1 = 0;
    interrupts();
    realRPM1 = (float) (tmp_cntr1 - 1)/7 * 60000000.0f / (float)(tmp_stop1 - tmp_start1); //А деление на магниты сделал тут. красная семерка.
    }

    В результате показания на датчиках практически сравнялись. и скачат на одну единицу всего лишь. правда не синхронно.:) но зато работает.
     
  6. Marksheider

    Marksheider Научный сотрудник

    Регистрация:
    1 дек 2016
    Сообщения:
    332
    Город:
    Прокопьевск
    Имя:
    Артем
    Урааа!!! :)добавил в программу вывод показаний оборотов моторов, и добавил изменение шага PWM сигнала.
    Даже работает все как надо.
    Только вот победить показания оборотов не могу, как то они скачат постоянно :( , помогите пожалста.
    Безымянный.png
    Вот так показания выглядят. пока без пропеллера стенд гоняю для проверки и настроек.
    __6S.png
     
    ACE$ нравится это.
Реклама. Купить это место.