Jump to content
Sign in to follow this  
zoom-0

arduino и джойстик. подскажите.

Recommended Posts

Posted (edited)

Всем здравствуйте. Народ, подскажите в таком деле.  Как заставить один мотор при управлении джойстиком изменять мощность и направление? 
Вся суть такая: собрал пульт на ардуино с передатчиком nrf24l01 ,на пульте есть два  джойстика - один джойстик управляет двумя серво по осям, на втором джойстике ось Х сервомотор поворота передних колес , а ось Y  это будет основной мотор, вот его не могу заставить крутиться как нужно. Это будет радиоуправляемая машина.  То есть от джойстика она должна ехать с регулировкой мощности (скорости ) вперед и назад от центральной точки джойстика. Пробовал  прописать :

...(joyY), 0, 1023, -255, 255)...      но в этом случае по шим ключ-мосфет  работает только от 0 в сторону +255 и то как-то не корректно. 

подскажите как правильно написать : если джойстик в среднем потожении (+- 5 градусов) мотор выключен, если в сторону +255 едем вперед, если в сторону -255 едем назад. 

Как правильно прописать команду если ,к примеру, я хочу вывести значения движения вперед на 6pin (шим) , а значения движения назад на 5pin (шим). Два этих выхода я подкину к драйверу двигателя.

 

{

if (digitalRead(joyY), 500, 520, 0, 0)

digitalWrite(6,LOW)

digitalWrite(5,LOW)

if (digitalRead(joyY), 521, 1023, 0, 255)

digitalWrite(6,0, 255)

digitalWrite(5,LOW)

if (digitalRead(joyY), 0, 499,0, 255)

digitalWrite(6,LOW)

digitalWrite(5,0, 255)

}         вот так верно будет ?

Edited by zoom-0

Share this post


Link to post
Share on other sites

спасибо за ответ, ( ничЁсе скока циферок в коде... каждое деление прописали...) но сделал немного по другому, у кого-то из скетча дернул кусок :

  if (recieved_data[0] >=128 && recieved_data[0] <=189)data = recieved_data[0], bspeed = map(data, 189, 128, 255, -255), backward(bspeed);
  if (recieved_data[0] >=201 && recieved_data[0] <=255)data = recieved_data[0], fspeed = map(data, 255, 201, 255, -255), forward(fspeed);
  if (recieved_data[0] >190 && recieved_data[0] <200)data = recieved_data[0], stop();

тоже поставил н-мост (но схема другая, тоже на 6 транзюках) и вот тут началось...

спаял... транзисторы сами немного открываются , двигатель покряхтывает, потом начинает крутиться , и все это при условии, что я никаких команд ему не даю. спаял три моста, менял резисторы. В разных мостах делал разные транзисторы. (кт816-817 / 805-837 / 972-973 ) результат всегда один - транзисторы открываются без сигнала и одна пара жутко греется. 

выпаял все из платы - собрал на макетке ( что бы легче резисторы подбирать ), а подбирать ничего не нужно ! на макетке работает идеально ! спаял снова на другой плате... и опять греется и сами открываются. плату помыл. не помогло. Плюнул на эстетичность, собрал опять , но уже на маленькой макетке, и макетку запихал в машину :). все работает.

 

Share this post


Link to post
Share on other sites

Литиевые батарейки Fanso для систем телеметрии и дистанционного контроля

Системы телеметрии находят все более широкое применение во многих отраслях на промышленных и коммунальных объектах. Требования, предъявляемые к условиям эксплуатации приборов телеметрии и, как следствие, источников питания для них, могут быть довольно жесткими. Fanso предоставляет широкую линейку продукции, рассчитанной на различные условия эксплуатации, что позволяет подобрать батарейку для каждого конкретного применения, в том числе и для устройств телеметрии.

Подробнее

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Сообщения

    • Доделал блок давно, все не отписывался так как тестировал подольше. Немного отзыва: - заработал сразу, все защиты отрабатывают четко и сразу (поначалу немного не хватало напряжения питания ОУ при нагружении блока, домотал дополнительную обмотку - все хорошо). - блок переключения обмоток от Silvi (Иван Ключ) показал хорошую стабильную работу, но гистерезис показался великоват, минимум, что получается добиться на подстроечниках - 1В (подбором постоянных не занимался). Дребезга реле в разных режимах при нормальной эксплуатации пока не замечено. - блок вкл/откл выхода от boris_ka на полевом не подошел по причине того, что при КЗ для выставления тока он отключает выход. Блок от Dr. West на реле работает безотказно. Хотя первый вариант был более привлекательным в плане потребления, но увы.  Смущают некоторые моменты: - напряжение на КТ опорного напряжения (12В) в зависимости от нагрузки немного меняется в пределах 0,1-0,2В (точно не помню уже, не записывал) это у всех так? Или все таки мой трансформатор совсем дохлый? Сильно ли влияет? Тл ка питается от отдельной обмотки того же транса. Замерил пульсации (на клеммах) с нагрузкой: - пульсации доходили до 10-12 мВ. Замена конденсаторов на другие и экранирование проводов регуляторов снизило до 5мВ. Это при соблюдении номиналов по схеме (10 мкФ и 0,68 мкФ). У кого сколько? При замене 10 мкФ на 22 мкФ пульсации в районе 2-3 мВ. Хотелось бы оставить номиналы по схеме. При ограничении тока пульсации что-то совсем многовато - доходит до 40-50 мВ. Тут кто-то может предоставить свои измерения, у кого сколько? По поводу: и т.д. это гениальная формулировка того, что я пытался объяснить выше. Кто бы предоставил более точные цифры или хотя бы свои замеры на падение напряжения на участках цепи, транзисторе, при нагружении и прочее... Для показометра использовал вольтамперметр от сюда вольтамперметр на atmega8. Показал хорошее быстродействие и весьма точные показания во всем диапазоне. На али продаются готовые как 2 в 1, но ни линейности показаний ни быстродействия такого близко нет. Кто еще что собирал, есть чем поделиться?
    • Собрал себе цифровой усилитель, 2х250ватт на 4Ом. Теперь у меня два усилителя для дома. Один линейный 2х600ватт на 2Ом. и цифровой.  
    • Либо это просто нулевой резистор - перемычка. Тестер покажет. Установлен, кстати, по счётному входу микросхемы. Возможно, в процессе наладки устройства импульсы подавались с другого источника, а потом был запаян этот "резистор". Либо номинал подбирался экспериментально до получения нужной частоты встроенного мультивибратора - плохо видно дорожки.
    • Можно на один раз - слить важные данные, а потом выбросить. Либо припаять намертво в адаптёр microSD - SD и пользоваться так.
    • Да просто у него в щитке бутылка припрятана, а коллега мешает "здоровье поправить". Нет бы помочь.
    • можно ли починить сд карту если стертый один контакт 
    • Эта заглушка представляет собой обыкновенный штекер СШ-5 (он же DIN41524) с двумя перемычками. Вы можете легко изготовить такой самостоятельно или попросить сделать это в любой мастерской по ремонту аппаратуры. При желании можно и корпус вылепить "как заводской" из эпоксидной замазки.  
  • Покупай!

×
×
  • Create New...