В робоняше один мотор медленно вращается

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем Damir20, 25 фев 2018.

  1. Damir20

    Damir20 Нерд

    Собрал робоняшу, а она всё время влево едет. Напряжение везде ровно 3.50
    Код (Javascript):
    var marsohod = require('@amperka/robot-2wd')
      .connect();
    var SPEED=1;
    var KR=1;
    var KL=1;
    var ls=0;
    var rs=0;
    var t=0;
    var encoderL = require('@amperka/digital-line-sensor') .connect(P9);
    var encoderR = require('@amperka/digital-line-sensor') .connect(P13);
    marsohod.go({l:SPEED*KL, r: SPEED*KR});
    encoderL.on('black', function() {ls=ls+1;});
    encoderR.on('black', function() {rs=rs+1;});
    setInterval(function() {print("t:"+t+"sec, lm:"+ls+" lr:"+rs); t=t+1;},1000);
     
    А обороты разные:
    t:20sec, lm:630 lr:620
    t:21sec, lm:661 lr:650
    t:22sec, lm:691 lr:679
    t:23sec, lm:721 lr:709
    t:24sec, lm:752 lr:739
    t:25sec, lm:782 lr:769
    t:26sec, lm:814 lr:798
    t:27sec, lm:845 lr:827
    t:28sec, lm:876 lr:857
    t:29sec, lm:906 lr:886
    t:30sec, lm:936 lr:915

    Я конечно выровнял скорость, уменьшив на другом на 25%, но а как-же соревнования и т.д. когда скорость заведомо ниже?
     
  2. sys

    sys Злобный Буратино

    Под нагрузкой проводили измерения на моторах?
    Все ли "пустоты" на колесах "пустые"?
    и лучше так сделайте:
    Код (Javascript):
    var encoder = require('@amperka/digital-line-sensor');
    var encoderL = encoder.connect(P9);
    var encoderR = encoder.connect(P13);
     
  3. Damir20

    Damir20 Нерд

    Измерения проводил без нагрузки, после того, как увидел что Робоняша едет вправо под нагрузкой по полу.
    Код (C++):
    var marsohod = require('@amperka/robot-2wd').connect();
    var SPEED=1;
    var KR=1;
    var KL=1;
    marsohod.go({l:SPEED*KL, r: SPEED*KR});
    Думал криво собрал, но датчики тоже подтверждают.
     
  4. sys

    sys Злобный Буратино

  5. Damir20

    Damir20 Нерд

    Напечатал на самоклейке один сектор 180градусов черным здесь не ошибается - единица за оборот
    [​IMG]
    [​IMG]
    Код (C++):
    var Motor = require('@amperka/motor');
    var motorr=Motor.connect({phasePin: P7, pwmPin: P6});
    var motorl=Motor.connect({phasePin: P4, pwmPin: P5});
    var SPEED=1;
    var KR=1;
    var KL=1;
    motorl.write(1);
    motorr.write(1);
    var t=10;
    var ls=0;
    var rs=0;
    var encoder = require('@amperka/digital-line-sensor');
    var encoderL = encoder.connect(P9);
    var encoderR = encoder.connect(P13);
    encoderL.on('white', function() {ls=ls+1;});
    encoderR.on('white', function() {rs=rs+1;});
    setInterval(function() {print("t:",t,"sec, lm rpm:",ls, "rm rpm:",rs); t=t+10;},10000);
     
    На 5 вольтах от USB ноутбука дает такие обороты:
    t: 10 sec, lm rpm: 25 rm rpm: 24
    t: 20 sec, lm rpm: 50 rm rpm: 49
    t: 30 sec, lm rpm: 75 rm rpm: 73
    t: 40 sec, lm rpm: 100 rm rpm: 98
    t: 50 sec, lm rpm: 125 rm rpm: 123
    t: 60 sec, lm rpm: 150 rm rpm: 147
    то есть левое колесо на 3 об\мин крутится быстрее.
     
  6. sys

    sys Злобный Буратино

    а если переставить моторы местами, то тоже самое с тем же мотором творится?
     
  7. Damir20

    Damir20 Нерд

    На мотор шиелд провода моторов местами поменял, тоже самое, дело в моторе
    t: 10 sec, lm rpm: 26 rm rpm: 24
    t: 20 sec, lm rpm: 51 rm rpm: 48
    t: 30 sec, lm rpm: 77 rm rpm: 72
    t: 40 sec, lm rpm: 102 rm rpm: 95
    t: 50 sec, lm rpm: 128 rm rpm: 119
    t: 60 sec, lm rpm: 154 rm rpm: 143
     
  8. sys

    sys Злобный Буратино

    ну теперь самое время было бы написать или позвонить в тех.поддержку :)
    http://amperka.ru/page/contacts
     
  9. Damir20

    Damir20 Нерд

    А что писать? Пришлите мне нормальные моторы и нормальную наклейку на пульт, который ни разу не Амперка, а от какого-то СarMP3, пульт присылать не надо - коды, я уже понял как подменить.
    Вот так купишь ребенку конструктор, а приходиться играться самому. Лучше бы я ему mindstorms ev3 купил, там всё причесано.
     
  10. sys

    sys Злобный Буратино

    В зависимости от того, что Вы хотите. Решить проблему или просто пожаловаться и посетовать... Я не понимаю смысл вашего послания. Хотели купить EV3, но не купили и теперь жалеете? Так могу Вас успокоить, там тоже бывают косяки моторов... не смотря на высокий контроль качества... да брака ничтожно мало...Да и вообще, Лего по сути узконаправленная игрушка... и очень дорогая в итоге... хотя и прикольная как и все Лего... :)
     
  11. Damir20

    Damir20 Нерд

    Вот решить проблему. Написал в техподдержку, как будто и не писал - ни ответа, ни привета
     
  12. Faberge

    Faberge Administrator Команда форума

    Обижаете. Я вам ответил
    Скорее всего, оно попало в папку Спам, где вы его могли пропустить.
     
    sys нравится это.
  13. Damir20

    Damir20 Нерд

    Да было в спаме