Ардуино зависает. Помехи?

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем orehov_alex, 29 май 2019.

  1. Daniil

    Daniil Гуру

    основной посыл был про общую землю. Т.к. Явно проблема с юсби.
    Я не знаю какой мощности поворотный механизм и пылесос. Но намек понял.
     
  2. orehov_alex

    orehov_alex Нерд

    Закрепление кабеля по кронштейну не помогло. Еще специально шевелил usb-кабель в разъемах и со стороны ардуино и со стороны ноутбука, наклонял под разными углами, немного вытаскивал штекер из разъема - никаких сбоев и зависаний плоттера в это время не происходило. В общем, видимо дело не в надежности соединения.

    Потом повторил вчерашние испытания. Если вкратце, то на старом ноуте с usb 2 плоттер виснет сразу на 1-2 пуске установки, на новом ноуте при подключении к usb 3 не было ни одного сбоя и на usb 2 были сбои постоянно где-то после 15-20 пусков.
    Поясню: одно испытание - планомерное включение/выключение (пуск) поворотной установки и переключение направления вращения ее платформы. Короче говоря, это около 30 пусков установки. Всего около 5 испытаний на каждый порт ноутбука.

    Затем снял металлический корпус, то есть оставил плату на фанерке вообще без экранирования и провел то же количество испытаний. Результаты на новом ноуте: usb 3 - два сбоя сразу и один после 10 пусков, два других испытания без проблем, usb 2 - постоянно сбои либо сразу либо после 5-10 пусков. На старый ноут поставил Ардуино 1.6.13. Результаты: три сбоя на 20-25 пуске.
    Я теперь вообще ничего не понимаю. Может просто ноутбуки не справляются с отображением графиков? Попробую также найти другую плату и заодно укоротить провода.
    Вчерашнее видео одного из испытаний с глюком плоттера на втором пуске: https://yadi.sk/i/enYjVXW000Hd5A
     
  3. Ariadna-on-Line

    Ariadna-on-Line Гуру

    1. Вы ввели светодиодную мигалку в программу ? Что показывает св.диод - зависание цикла в Ардуине ?
    2. Вы питаете гироскоп от 3 или 5 вольт ?
    3. На каком процессе идет завис, на чтении гиро или на передаче в комп ?
    Не тратьте время на составление статистики, оно никому даром не надо, вы локализуйте вашу ошибку.
    ПС. Воткните электролит 220-470 мкф между контактами +5v и GND Ардуины. С соблюдением полярности и в обесточенном состоянии ессно. Бывает оч помогает от сбоев.
    ППС. У нас в лаборатории на приборе стояла немецкая программа - при любом сбое в связи, она даже не пыталась возобновить соединение и повторить передачу. Тупо аварийно вылетала, что приводило к потере результатов анализов чуть ли не за сутки. Мож у вас там такая же фигня ?
     
    Последнее редактирование: 31 май 2019
  4. znamen

    znamen Guest

    Почитал советы. Так себе. Сейчас решим Вашу проблему конкретно. Вам необходимо сделать гальваническую развязку между Вашей крутилкой и связью с управляющим модулем. Если не знаете,как
    нарисуйте схему связи крутилку с модулем и я Вам подскажу как.
     
  5. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Крутилкой Ардуина не управляет. ТС писал уже. Ардуина только читает датчики и отправляет в ПК.
     
    Последнее редактирование: 31 май 2019
  6. znamen

    znamen Guest

    У меня есть сомнение в правильности постановки задачи. По моему Вы ввели в заблуждение уважаемых
    экспертов. Дабы рассеять моё сомнение ответте на следующий вопрос. Вы пишите,что Мпу не имеет никакой
    электрической связи с Ардуино. Вопрос. Как Ардуино узнает уголовую скорость МПУ. Развейте пожалуйста
    мои сомнения. Я наверное чего то недопонимаю.
     
  7. Ariadna-on-Line

    Ariadna-on-Line Гуру

    В этом и заключается задача ТС. Ардуино читает данные с платки гироскопа, вместе с которой крутится на платформе МПУ.
     
  8. parovoZZ

    parovoZZ Гуру

    )))

    Чтобы решить задачу конкретно, необходимо с осциллографом в обнимку снимать осциллограммы с цепей питания.
     
  9. znamen

    znamen Guest

    Все разобрался. Конечно же ТС ввёл в заблуждение уважаемых экспертов. Посмотрел его ПДФ на эту кру
    тилку. Ардуино с ней конкретно электрически связан по шине 12с. А крутит её наверное коллекторник. И
    искры из под щеток сыпяться. Вот и помехи. А не какие то там кабеля экранировать а просто гальванических
    развязатся двумя оптопарами и всех делов.
     
  10. znamen

    znamen Guest

    Щас уже бегу осцилограф обнимать. И и без осциллографа эти помехи вычислил. Чий не синхрофазотрон
    поломался.
     
  11. orehov_alex

    orehov_alex Нерд

    Я не знаю как ее ввести( Если не сложно покажите какой код и какое место добавить.
    Выше уже писал, что и от 3,3 В питал, и от 5 В. От сбоев не спасло. В даташите к модулю на схеме питание от 3,3. Вот его пока и использую.
    Я не уверен что правильно понял вопрос. Плоттер зависает именно в момент запуска/остановки поворотной установки, то есть в тот момент, когда сигнал с модуля резко возрастает или спадает. Это должно быть отчетливо видно на видео. Если же удалось запустить установку и модуль выдает сигнал, то сбоя не возникает. Стоит остановить/переключить направление - тут возникает.

    Еще заметил: если зависание произошло на новом ноутбуке, то можно сразу нажать ресет на плате ардуино и вывод показаний на плоттер продолжится. На старом ноутбуке этот способ не работает, нужно перевтыкать usb-кабель.

    Да, Вы правы и правильно меня поняли.
    Как я уже говорил, плата Ардуино с модулем зафиксированы на платформе и просто реагируют на угловую скорость, которую я задаю с помощью поворотной установки. На видео тоже должно быть видно, что связь есть только между платой и ноутбуком, через USB. Поворотная установка это просто стенд, она управляется от собственных лимбов и тумблеров. Ардуино никак к ней не подключена.
     
  12. orehov_alex

    orehov_alex Нерд

    И я вчера расписал как ведут себя светодиоды при подключении к каждому ноутбуку. Это не то?
     
  13. orehov_alex

    orehov_alex Нерд

    Нет, Вы неправильно поняли.
     
  14. znamen

    znamen Guest

    Куда идут провода от гироскопа? Что крутит платформу? Каким образом ардуино реагирует на угловую
    скорость?
     
  15. Daniil

    Daniil Гуру

    поймите, я только сейчас понял, что плоттером вы назывпете графопостроитель. Полагаю, не вы его писали.
    Сейчас никого из пристутствующих не интересует его реакция и поведение. Или мы "плоттер" отлаживаем?
    Я думал мы, все таки, следим за ардуинкой.
    Вы проверяете что-то вокруг, да около. Зависание ардуины вы никак не диагностируете.
    Нужно понять это программная ошибка или нет.
    Выводите в ком порт метки, какая часть кода сейчас выполняется. И смотрите в простейшем мониторе.
    Если при зависании будет одна и та же метка (или точно не все подряд), то значит при включении в какую-то ф-ию передаются некорректные аргументы.
    Если зависания происходят в любой момент выполнения кода, то явно проблема с соединениями. Вам уже пишут как и что лечить. Может проблема с usb-uart преобразователем.
     
    Ariadna-on-Line нравится это.
  16. orehov_alex

    orehov_alex Нерд

    Но я ничего не придумывал
    2019-05-31 22 30 06.png

    Я понимаю что за меня задачи решать никто не обязан, но и вы поймите что я не радиолюбитель и тем более не программист. Мой опыт работы с Ардуино ограничивается соединением модуля с платой и заливкой готового скетча, и я не понимаю как последовать половине тех советов, которые здесь дают. И проблему я пытаюсь решить, исходя из своих не самых больших знаний и просто догадок. Написал сюда в надежде, что она у кого-то уже проскакивала и решение уже будет известным.

    Можно поподробнее как это сделать?
     
  17. orehov_alex

    orehov_alex Нерд

    На плату ардуино
    Наверное какой-то внутренний мотор в МПУ, я еще не разбирался с ее устройством.
    Реагирует модуль gy-86, который подключен к плате ардуино. Стоит ли расписывать принцип работы микросхемы гироскопа?
    Точнее не сам модуль, а микросхема mpu6050.
     
    Последнее редактирование: 1 июн 2019
  18. znamen

    znamen Guest

    Нет. Принцип работы микросхемы гироскопа расписывать не стоит. Давайте сделаем следующий эксперимент. Делайте все тоже самое,что и делали,но платформу крутите вручную. Это для того,чтобы
    знать наверняка,что двигатель даёт помехи или в кабеле портовом что то не але. Сделайте такую манипуляцию,а потом будем думать дальше.
     
    Daniil и Ariadna-on-Line нравится это.
  19. orehov_alex

    orehov_alex Нерд

    Это было первым, что я проверил. При ручном вращении платформы сбоев не возникает. Поэтому я сразу предположил, что возможно дело в помехах.
     
  20. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Уважаемый ТС. Если бы вы с самого начала написали свой уровень знаний и незнаний, было бы понятно как вам отвечать. Вот пара ссылок, может пригодятся. Выложите скетч. Подробностей не надо, но будет понятно куда "мигалки" вставлять.
    https://voltiq.ru/mpu-9250-and-arduino/
    http://forum.amperka.ru/threads/Подключение-mpu-9250.14779/
     
    Последнее редактирование: 1 июн 2019
    Daniil нравится это.