#1 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-03-19 00:09:44

Honey пише:

Резистор можно уменьшить до 100(Ом), но не ниже, чтобы не превысить максимально допустимый ток через пин, который, например, для atmega328 равен 40мА. Конденсатор подбирается так, чтобы t=R*C было в несколько раз больше периода ШИМ. Слишком большой конденсатор не нужен, он будет ухудшать время реакции на изменение скважности ШИМ.

Спасибо за информацию! Поставил переменный резистор на 200 Ом, вроде бы работает хорошо.

#2 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-03-17 16:06:47

Наконец-то появилось время и возможность реализовать RC цепь.
Были использованы Конденсатор 50v 10uf, Резистор 1 КОм.

Напряжение выравнялось, работает намного лучше и плавнее, и максимальная скорость теперь всегда одинаковая. Но теперь появилась просадка в постоянном напряжении. То есть от пина D6 подается к примеру 2,7в а на выходе RC цепи 1,7в.
Я так понимаю резистор слишком большой, нужно меньше поставить?

#3 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-22 14:44:39

Ребят проверьте пожалуйста правильно ли я понял как делается RC цепь. Прошу прощения, но плохо читаю схемы, поэтому наглядное фото ) Дабы ничего не перепутать...

Скрин RC цепь

+ это сигналный ШИМ пин D6
- откуда можно взять? с любого GND на плате? Просто боюсь, уже успел спалить одну плату...

Конденсатор 16v 10uf. Резистор нужен 1 КОм?

#4 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-20 17:42:42

renoshnik пише:
lsanek пише:
renoshnik пише:

Чем вы объясните такой свой выбор ?

А какая разница?) Только лишь потому что мне физически удобно было их так расположить. С задним ходом у меня проблем нет, работает отлично.
Или вы намекаете что этот пин может влиять на работу второго?


Какого второго !?!?!?!
С каким задним у вас всё нормально ???

Я пас. Я устал вытягивать из вас информацию по каплям ....
Всё. что нужно для реализации вам уже давно тут объяснили, просто вы не хотите вникнуть и понять...

Когда дается лишняя информация люди путаются, вот как сейчас )) У меня человек спросил за задний ход в скетче, это когда колесо крутится в обратную сторону )) Второй это пин D2, но с ним все хорошо, меня устраивает его работа.
Я подумал что человек хочет сказать что одновременная работа пина D2 и D6 может вызвать нестабильность. Но это только мои догадки.
Всю информацию что была нужна я изложил. Остальное будет путать людей. Я тестировал это и без заднего хода и без тормоза, результат тот же.
Все правильно D6 это ШИМ. С ним и работаю.

Да я уже понял что нужен конденсатор / rc цепь. Общаюсь просто ради информации, вдруг что-то полезное еще кто скажет. Прям сейчас нет возможности проверить. Как проверю отпишусь, что да как.

В любом случае спасибо за участие!

renoshnik пише:

Мой последний пост в этой теме..

" Только лишь потому что мне физически удобно было их так расположить. "  - и контроллеру плевать удобно вам это или нет ...

Дело в том что там ШИМ не нужен для заднего хода. Поэтому это мне плевать есть там ШИМ или нет ))

#5 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-20 16:57:52

renoshnik пише:
lsanek пише:
renoshnik пише:

Чем вы объясните такой свой выбор ?

А какая разница?) Только лишь потому что мне физически удобно было их так расположить. С задним ходом у меня проблем нет, работает отлично.
Или вы намекаете что этот пин может влиять на работу второго?

А задний на каком пине ?

Смотрите. В спокойном состоянии - это передний ход. То есть когда на пин не подается напряжение.
Если же мы ловим одно из значений заднего хода, тогда подаем напряжение на пин и в таком случае в контроллере срабатывает задний ход.
у меня это пин D2

#6 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-20 16:49:39

г0сть пише:
lsanek пише:

Если вам нравится лапша, вы будите читать книгу о том как ее делают,

Если захочу сделать сам, то, да, почитаю.

Сомневаюсь!) Потому как вы почитаете лишь рецепт. Исключив из этой цепочки всю остальную информацию! Тоже самое я делаю на этом форуме. Исключаю ненужную информацию. В этом и есть суть совета! В этом и есть суть форума!

#7 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-20 16:27:41

г0сть пише:
lsanek пише:

Про конденсатор мне только сегодня вот написали. Попробую. Какие книжки? Это же хобби. А это значит что все делается легко и непринужденно. Ради маленькой задачи читать гору книг? Я же не работаю в этой сфере. Оставлю это серьезным дядям ))

Про конденсатор вам сказали еще 2 дня назад в #24. Гору книг читать не нужно, хотя бы пару. И неужели так тяжело сделать это https://bit.ly/3ketE3q

Хорошо умничать, когда знаешь что искать и читать... Откуда я любитель, мог знать что ШИМ сигнал еще и преобразовывать нужно в постоянное напряжение?
Если вам нравится лапша, вы будите читать книгу о том как ее делают, о том что нужно для выращивания пшеницы? О том как за курами ухаживать? О болезнях кур? О санитарных требованиях для содержания кур? О налогооблажении и бухгалтерии? А ведь это все часть той цепочки, которая происходит прежде чем вы возьмете с прилавка лапшу.
Я понимаю, что вам эта информация не нужна! Для вас это не нужная информация. Вот так же и для меня то что вы предлагаете почитать пару книг. Зачем? У меня одиночная задача стоит, и возможно я вообще потом забуду что существует ардуино.
Только я в отличие от вас это понимаю.

#8 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-20 16:06:06

г0сть пише:
lsanek пише:

Просто правда больше нет никаких данных...Потому я и сам не понимаю почему пин так работает.

Если бы вы делали то что вам уже советовали - книжки почитали, погуглили как из шим получить напряжение, конденсатор использовали (или они у вас в Испании не растут?), то, возможно, получили бы какой-то положительный результат. А та и будете дальше измерять погоду на Марсе мультиметром.

Если бы я делал все что мне советуют, то я бы даже не взялся за это дело! А уже есть результат, хотя и нужно допилить это дело до ума... Так что извините, у каждого свой подход к делу.
Про конденсатор мне только сегодня вот написали. Попробую. Какие книжки? Это же хобби. А это значит что все делается легко и непринужденно. Ради маленькой задачи читать гору книг? Я же не работаю в этой сфере. Оставлю это серьезным дядям ))

#9 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-20 15:44:53

renoshnik пише:
lsanek пише:
renoshnik пише:

Там видно как нажимаются кнопки и крутится колесо ... 
Больше информации из видео я не получил ...

Ну так видно же проблема в чем? Что еще снять я и не знаю... Подключение предельно простое! Все напрямую припаяно. Пин к проводу, там и снимать нечего. Ни резисторов, ни конденсаторов, ничего нет лишнего!

Что видно ????
Пульт, колесо, и фигня замотанная изолентой с аккумулятором ...  море информации для анализа и размышлений.

То что я хотел показать, это проблему. Ни пульт, ни аккумулятор к делу не относится. Что вы можете увидеть? Это то что колесо движется с разной скоростью при одинаковом положении курка газа. В этом и состоит главная проблема. Так сказать проблема наглядно.
Акум 36в, если это что-то изменит, от гироскутера. Но питание идет на ардуину от контроллера 5в...
Я не понимаю какую информацию еще вы хотите получить? Есть скетч, есть проблема, подключено все напрямую спаяно. Если я вам сделаю фото тупо спаянного кабеля от пина к контроллеру, не думаю что это будет информативнее.
Просто правда больше нет никаких данных...Потому я и сам не понимаю почему пин так работает.

#10 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-20 15:41:59

renoshnik пише:
lsanek пише:
renoshnik пише:

Какой пин 2 ?????????   D2 или А2  ???????????????????

D2

Чем вы объясните такой свой выбор ?

А какая разница?) Только лишь потому что мне физически удобно было их так расположить. С задним ходом у меня проблем нет, работает отлично.
Или вы намекаете что этот пин может влиять на работу второго?

#11 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-20 15:29:06

renoshnik пише:
lsanek пише:

Я так понимаю это должно убрать проблему с завышенным напряжением в начале подачи напряжения на пин?

https://youtu.be/_sGhVv01OEI

Кстати вот здесь видно проблему в самом начале видео. Газ на полную, минимальная скорость на пульте и разная скорость у мотор колеса.

Там видно как нажимаются кнопки и крутится колесо ... 
Больше информации из видео я не получил ...

Ну так видно же проблема в чем? Что еще снять я и не знаю... Подключение предельно простое! Все напрямую припаяно. Пин к проводу, там и снимать нечего. Ни резисторов, ни конденсаторов, ничего нет лишнего!

#12 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-20 15:27:19

renoshnik пише:
lsanek пише:
renoshnik пише:

  case (66) : analogWrite(2,  170 ); //D2
  analogWrite(4,  180); //D6


как это понимать ?

Это у меня прописан задний ход. При получении значения 66 подается напряжение на пин 2. Вроде так )

Какой пин 2 ?????????   D2 или А2  ???????????????????

D2

#13 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-20 15:25:43

renoshnik пише:
lsanek пише:
renoshnik пише:

Ты или тролиш или реально не понимаешь ...
С АНАЛОГОВЫХ пинов ардуино можно получить ШИМ сигнал заданной скважности !!!!!!
Что тут не понятного ???

Ну я его видимо и получаю, и он не стабильный. В этом и проблема. Вместо 1в в начале может быть 1,3 и это проблема! Да и потом хоть и стабилизируется, но скачет напряжение хотя и меньше. Вы возьмите просто мультиметр и попробуйте померять напряжение, поймете о чем я говорю.

Не пишите ерунду...
Уже вагон и маленькую тележку устройств с аналоговым выходом МК собрал и везде все отлично работает.

Вам уже много раз объясняли, что ШИМ сигнал мультиметром не измеряют !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Покажите лучше что куда вы подключаете и что и как измеряете, без этого все осуждения не имеют смысла.

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

#14 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-20 15:17:52

renoshnik пише:
lsanek пише:
renoshnik пише:

Так и я о том же...  Ведь это отсутствие знаний также мешает понять те советы которые вам дают.
Плюс ко всему ваше описание проблемы (задачи) мягко говоря ...  даже не получается мягко это назвать..  smile

В вашем случае я посоветовал бы потратить время и адекватно изложить задание под которое найти исполнителя.

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

Поставь просто конденсатор на 10 мкФ ...

Я так понимаю это должно убрать проблему с завышенным напряжением в начале подачи напряжения на пин?

https://youtu.be/_sGhVv01OEI

Кстати вот здесь видно проблему в самом начале видео. Газ на полную, минимальная скорость на пульте и разная скорость у мотор колеса.

#15 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-20 15:06:13

renoshnik пише:
lsanek пише:
renoshnik пише:

Повторяю - Такого быть НЕ может.

Ну не знаю, может плата бракованная? Хотя предыдущая, сгоревшая по моей вине работала так же...
Вот мой код, возможно в нем проблема. Подозреваю что проблема может быть в слишком частой смене напряжения. Как мне показалось при каждом новом значении на пин подается напряжение, болшее чем положено и потом только стабилизируется. Возможно именно этот высший порог напряжения и запоминает мой контроллер как-то...И так как он всегда разный, максимальная скорость тоже разная... Хотя по логике такого быть не должно...

void checkConfig() {
   switch (payload[0]) { 
    case (64) : analogWrite(2,  170 ); //D2
                break;
    case (66) : analogWrite(2,  170 ); //D2
                break;
    case (68) : analogWrite(2,  0 ); //D2
                Serial.println("Задний ход");     
                break;    
    case (70) : analogWrite(2,  0 ); //D2
                Serial.println("Задний ход");    
                break;         
   }
   switch (payload[2]) { 
    case (19) : Serial.println("Скорость 4");     //скорость 4
                volt  = (127 - payload[1]) * 2;
                break;
    case (23) : Serial.println("Скорость 3");     //скорость 3
                volt  = (127 - payload[1]) * 1.5;
                break;
    case (27) : Serial.println("Скорость 2");     //скорость 2
                volt  = (127 - payload[1]) * 3.2;
                break;
    case (31) : Serial.println("Скорость 1");     //скорость 1
                volt  = (127 - payload[1]) * 3.6;
                break;
    }
  return;
  }




void loop() {
  reset();
  scan();
  //fingerprint();
  checkConfig();
 
   /*if (payload[1] == 128 ) {   // Страховка при выключении бывает 128 (полный газ для ардуино, после рассчета формулы)
    payload[1] = 127;
    Serial.println("Изменен 128 = 0");
    return;
    }  */

  while (payload[1] < 127) {
  analogWrite(4,  180); //D6 
  analogWrite(6,  volt ); //D6
  Serial.println(volt);
  return;
  }
  current = 255 - payload[1] * 2;
  
  if (payload[1] > 128) { 
  analogWrite(4, current); //D6 
  Serial.print("Тормоз: ");
  Serial.println(current);
  return;
  }
  
  analogWrite(6,  0 ); //D6 
}

Добавил только тот код, который относится к делу, для облегчения читаемости. Остальной код это поиск ручки управления и прием и расшифровка сигналов...Частота приема сигналов зависит от ручки. При повороте рычага газа частота приема сигнала увеличивается, очень частый прием, я думаю идет отправка нескольких сигналов в секунду. В общем не засекал, но очень быстро.


  case (66) : analogWrite(2,  170 ); //D2
  analogWrite(4,  180); //D6


как это понимать ?

Это у меня прописан задний ход. При получении значения 66 подается напряжение на пин 2. Вроде так )

#16 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-20 15:03:15

renoshnik пише:
lsanek пише:
renoshnik пише:

Судя по надписям на штекерах, для регулирования скорости там просто подключают переменный резистор.
Куда и для чего вы подаете сигнал с ардуино ?

Вы правы, ручка газа это и есть переменный резистор. Но с этим проблем нет. У меня другое...От платы ардуины напряжение не точное и не стабильное...Нужно его выравнять, если это возможно.

Ты или тролиш или реально не понимаешь ...
С АНАЛОГОВЫХ пинов ардуино можно получить ШИМ сигнал заданной скважности !!!!!!
Что тут не понятного ???

Ну я его видимо и получаю, и он не стабильный. В этом и проблема. Вместо 1в в начале может быть 1,3 и это проблема! Да и потом хоть и стабилизируется, но скачет напряжение хотя и меньше. Вы возьмите просто мультиметр и попробуйте померять напряжение, поймете о чем я говорю.

#17 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-20 15:00:41

г0сть пише:
lsanek пише:

Вы правы, ручка газа это и есть переменный резистор. Но с этим проблем нет. У меня другое...От платы ардуины напряжение не точное и не стабильное...Нужно его выравнять, если это возможно.

Так вы хотите ручку газа заменить ардуиной? Прикрутите к ардуине цифровой потенциометр и будет вам щастье.

Да именно! Хм, ну можно наверно и так )) Я думал это можно делать просто подавая нужное напряжение на пин. А он чет не совсем так как я думал работает. Спасибо за совет!

#18 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-19 22:37:55

renoshnik пише:
lsanek пише:
ard125 пише:

Я про контроллер(драйвер) двигателя.

Да самый обычный дешевый контроллер для велосипедов.
https://es.aliexpress.com/item/33007813321.html  типа такого

Насчет рс цепи спасибо за совет, изучаю данный вопрос.

Судя по надписям на штекерах, для регулирования скорости там просто подключают переменный резистор.
Куда и для чего вы подаете сигнал с ардуино ?

Вы правы, ручка газа это и есть переменный резистор. Но с этим проблем нет. У меня другое...От платы ардуины напряжение не точное и не стабильное...Нужно его выравнять, если это возможно.

#19 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-19 22:35:53

renoshnik пише:
lsanek пише:
renoshnik пише:

тут не в контроллере проблема, а в отсутствии знаний и не понимании самого предмета...

Ну да. Именно поэтому я создал тему на этом форуме. Логично же, если я спрашиваю людей, значит мне не хватает знаний, и создав тему я это подтвердил, и хотелось бы получить советы, а не констатацию этого факта. Иначе бы сам справился ))

Так и я о том же...  Ведь это отсутствие знаний также мешает понять те советы которые вам дают.
Плюс ко всему ваше описание проблемы (задачи) мягко говоря ...  даже не получается мягко это назвать..  smile

В вашем случае я посоветовал бы потратить время и адекватно изложить задание под которое найти исполнителя.

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

#20 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-19 14:51:48

renoshnik пише:
ard125 пише:
lsanek пише:

Это китайский контроллер. Информации минимум. Я думаю напряжением все-таки.

Покажите фото, название контроллера, может кто-то сталкивался с таким, что-то да подскажут.
Если нужно напряжение, то как минимум используйте RC-цепочку между ардуино и контроллером.
Вот вам для наглядности.


тут не в контроллере проблема, а в отсутствии знаний и не понимании самого предмета...

Ну да. Именно поэтому я создал тему на этом форуме. Логично же, если я спрашиваю людей, значит мне не хватает знаний, и создав тему я это подтвердил, и хотелось бы получить советы, а не констатацию этого факта. Иначе бы сам справился ))

#21 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-19 14:47:17

ard125 пише:
renoshnik пише:

Так он в первом сообщении написал " Плата arduino nano rf. "

Я про контроллер(драйвер) двигателя.

Да самый обычный дешевый контроллер для велосипедов.
https://es.aliexpress.com/item/33007813321.html  типа такого

Насчет рс цепи спасибо за совет, изучаю данный вопрос.

#22 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-18 13:12:23

ard125 пише:
lsanek пише:

Вы что-то путаете.... Ну суть вы уловили думаю.

Я ничего не путаю и суть давно уловил. А вот вам правильно посоветовали

vvr пише:

вам надо книжки почитать...

для начала почитайте сначала что такое ШИМ(PWM),например, здесь http://arduino.ru/Tutorial/PWM. А потом погуглите как из ШИМ получить напряжение.
з/ы а вообще-то разберитесь что у вас за секретный контроллер и как он управляется - непосредственно ШИМ-ом или напряжением.

Я теперь понимаю что такое PWM но от этого моя проблема не решилась... И как не крути на выходе то мы имеем нужное напряжение в итоге, а значит это уже не только 0 или 5в на выходе пина, но это филосовский вопрос... Вот с этим напряжением у меня и проблемы. Знает кто как решить проблему эту? Или она нерешаемая изначально?
Да хрен его знает )) Это китайский контроллер. Информации минимум. Я думаю напряжением все-таки.

#23 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-18 00:07:26

ard125 пише:
lsanek пише:

Мерял мультиметром, напряжение скачет, хотя и не сильно.

Где меряли? У соседа? Схема где?

Мерял напряжение на пине, на который подается напряжение, а именно D6. Ничего больше не было подключено, только ардуина и питание. Мерял напряжение между минусом и пином D6. Поэтому схемы нет никакой.

ard125 пише:
lsanek пише:

Как мне показалось при каждом новом значении на пин подается напряжение, болшее чем положено

На пин не подается напряжение больше чем положено. Там вообще может быть только два значения - либо 5В (или близкое к этому значение), либо 0.

Вы что-то путаете. Есть аналоговый пин, он подает действительно только либо 0в, либо 5в. А вот цифровым пинам как раз-таки можно задавать нужное напряжение 0-5в. А может наоборот названия пинов, не запомнилось чет )) Ну суть вы уловили думаю.

#24 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-17 16:26:20

renoshnik пише:
lsanek пише:
renoshnik пише:

Такого быть НЕ может.

Увы, но это так! Сам не понимаю как такое может быть впринципе... Мерял мультиметром, напряжение скачет, хотя и не сильно. У меня в скетче прописаны скорости. Так вот на самой маленькой скорости, колесо вращается по-разному при повороте курка газа на максимум. Дело в том что контроллер очень чувствителен к вольтажу, поэтому это заметно.
А когда только подаешь напряжение на пин, там вообще может быть очень большой разрыв от указанного вольтажа в скетче, чуть ли не в 2 раза больше, потом стабилизируется хотя и продолжает скакать, но уже меньше. Если бы не датчики холла, управлять мотором было бы просто невозможно, слишком резкие скачки.

Повторяю - Такого быть НЕ может.

Ну не знаю, может плата бракованная? Хотя предыдущая, сгоревшая по моей вине работала так же...
Вот мой код, возможно в нем проблема. Подозреваю что проблема может быть в слишком частой смене напряжения. Как мне показалось при каждом новом значении на пин подается напряжение, болшее чем положено и потом только стабилизируется. Возможно именно этот высший порог напряжения и запоминает мой контроллер как-то...И так как он всегда разный, максимальная скорость тоже разная... Хотя по логике такого быть не должно...

void checkConfig() {
   switch (payload[0]) { 
    case (64) : analogWrite(2,  170 ); //D2
                break;
    case (66) : analogWrite(2,  170 ); //D2
                break;
    case (68) : analogWrite(2,  0 ); //D2
                Serial.println("Задний ход");     
                break;    
    case (70) : analogWrite(2,  0 ); //D2
                Serial.println("Задний ход");    
                break;         
   }
   switch (payload[2]) { 
    case (19) : Serial.println("Скорость 4");     //скорость 4
                volt  = (127 - payload[1]) * 2;
                break;
    case (23) : Serial.println("Скорость 3");     //скорость 3
                volt  = (127 - payload[1]) * 1.5;
                break;
    case (27) : Serial.println("Скорость 2");     //скорость 2
                volt  = (127 - payload[1]) * 3.2;
                break;
    case (31) : Serial.println("Скорость 1");     //скорость 1
                volt  = (127 - payload[1]) * 3.6;
                break;
    }
  return;
  }




void loop() {
  reset();
  scan();
  //fingerprint();
  checkConfig();
 
   /*if (payload[1] == 128 ) {   // Страховка при выключении бывает 128 (полный газ для ардуино, после рассчета формулы)
    payload[1] = 127;
    Serial.println("Изменен 128 = 0");
    return;
    }  */

  while (payload[1] < 127) {
  analogWrite(4,  180); //D6 
  analogWrite(6,  volt ); //D6
  Serial.println(volt);
  return;
  }
  current = 255 - payload[1] * 2;
  
  if (payload[1] > 128) { 
  analogWrite(4, current); //D6 
  Serial.print("Тормоз: ");
  Serial.println(current);
  return;
  }
  
  analogWrite(6,  0 ); //D6 
}

Добавил только тот код, который относится к делу, для облегчения читаемости. Остальной код это поиск ручки управления и прием и расшифровка сигналов...Частота приема сигналов зависит от ручки. При повороте рычага газа частота приема сигнала увеличивается, очень частый прием, я думаю идет отправка нескольких сигналов в секунду. В общем не засекал, но очень быстро.

#25 Re: Програмування Arduino » Плавная подача напряжения с пина » 2021-02-13 21:01:41

renoshnik пише:
lsanek пише:

Сгладить напряжение это важно, но есть еще одна проблема. При одинаковом значении в коде, на пин подается разное количество напряжения, с погрешностью 0,1в - 0,5в. Я так понимаю супрессор в данной ситуации не поможет? У меня каждый раз при повороте курка газа на максимум, мотор-колесо крутится с разной скоростью. Нет стабильности...
пин D6.
Я новичок в ардуино, может быть есть другие пины с более точным вольтажом? Ведь плата поддерживает и имеет PWM пины. А значит как я понимаю все должно быть четко, без такого разброса.

Такого быть НЕ может.

Увы, но это так! Сам не понимаю как такое может быть впринципе... Мерял мультиметром, напряжение скачет, хотя и не сильно. У меня в скетче прописаны скорости. Так вот на самой маленькой скорости, колесо вращается по-разному при повороте курка газа на максимум. Дело в том что контроллер очень чувствителен к вольтажу, поэтому это заметно.
А когда только подаешь напряжение на пин, там вообще может быть очень большой разрыв от указанного вольтажа в скетче, чуть ли не в 2 раза больше, потом стабилизируется хотя и продолжает скакать, но уже меньше. Если бы не датчики холла, управлять мотором было бы просто невозможно, слишком резкие скачки.

Підвал форуму