О, все заработало! Интересное решение - я бы не догадался :)
Ну вроде все, все мои желания осуществлены, спасибо :)
Теперь буду смотреть почему когда питание не от USB, а от аккумулятора, то сервы начинают дергаться в ручном режиме - я так понимаю если уж от USB работает, то дело не в софте.
Заменил ардуину с dx.com на оригинальную (надеюсь, потому что стоит в 2 раза больше:)) dfrduino купленную в одном из наших онлайн магазах - дерганий стало на порядок меньше, но все же есть
Отснял видео работы сервы наклона в ручном режиме с разными дуинами и с разным питанием, видео ускорено в 10 раз (снимал 10 минут)
Когда серво сильно отклоняется это похоже начинает срабатывать автоматический цикл - т.е теряется связь с передатчиком, потом восстанавливается и серва опять переходит в ручное управление. Видно, что при питании от USB серва стоит как влитая - подозреваю что дело в том что там шнур питания экранированный, поэтому наводки не проходят... хотя от ардуины дальше идут обычные провода к тому же приемнику. Никаких видеопередатчиков, раций и прочей аппаратуры рядом нет %)
Если бы терялась связь и программа переходила в автоматический цикл, то он отрабатывался бы полностью, так как у вас в автоматическом цикле нет проверки time. Попробуйте сами, если переключиться в автоматический режим и обратно, то в ручной режим переключится только после завершения всего автоматического цикла, если конечно вы не убрали delay(2000) в setup().
Попробуйте сделать следующее: возьмите провод и подключите одним концом к GND дуины, а другим к корпусу системного блока и проверьте будет ли дергаться.
Ну так и что? У вас же нет проверки в самом cycle() и он будет отрабатываться полностью.
И еще, у вас этот cycle() будет повторяться до бесконечности или пока не переключите тумблер, а не 9 раз и никогда не будет сфотографирован надир и зенит(а точнее где-то 1 к 1000000000 что вы переключите тумблер в определенный момент и надир с зенитом будут).
Прям мгновенно переходит? У вас cycle() длится 3,6 секунды так что если вы туда-сюда щелкните тумблером, то в ручной режим перейдет на раньше чем через 3 секунды.
Рисовать буду 3 часа, лучше по фото объясню, на красный контроллер не обращайте внимание - питание через ubec идет на приемник. От приемника идет дальше на дуину, сервы и ИК-диод. Собственно и все.
Так, по схеме питания - переткнул GRN как сейчас показано на схеме, вроде все пучком - колебания совсем не значительные, а дерганий таких сильных нет. Раньше GRN был воткнут в тот который через пин от +5
Небуду клонов плодить, ибо вопрос из той же группы что и у топик-стартера. Значит так же есть Spektrum AR8k и Freeduino Nano v5. Управляется это все с DX7s. Мне управление сервами не нужно, нужно банально определить нажата ли кнопка на пульте (раньше это был двухпозиционный тумблер). НО, подключаю все как на пике
А оно мне в порт только нули посылает. пробовал разные пины на ардуине, разные каналы на пульте, пробовал питать приемник отдельно от ардуины, пробовал от самой ардуины и тд, а все равн нули. ЧЯДНТ?
Who's awesome? You're awesome! Может мне просто надо было выспаться наверное, но вы оказались правы и касательно пина и касательно сигнала с пульта. Третий пин я тоже пробовал, но все это свелось к тому, что отвалился бинд пульта и приемника. Сначала подключаю к третьей ноге, вроде дрыгается, но на пульт не отвечает, потом думаю "В чем затык?" подключил серву, а она не дергается вообще, и тут осенило, я же после резета забыл пульт забиндить опять. Вам плюс и спасиба, Максим!
ибо вопрос из той же группы что и у топик-стартера. Значит так же есть Spektrum AR8k и Freeduino Nano v5. Управляется это все с DX7s. Мне управление сервами не нужно, нужно банально определить нажата ли кнопка на пульте (раньше это был двухпозиционный тумблер). НО, подключаю все как н
Готовый скетч rc_pwm-111213a.zip, вводятся сразу 4 канала от приемника, можно и боле при желании, с полученными значениями делай что хочешь... для определения же положения тумблера достаточно сравнивать результат со средним положением - 1520мс, если больше - включен, меньше - выключен...
О, все заработало! Интересное решение - я бы не догадался :)
Ну вроде все, все мои желания осуществлены, спасибо :)
Теперь буду смотреть почему когда питание не от USB, а от аккумулятора, то сервы начинают дергаться в ручном режиме - я так понимаю если уж от USB работает, то дело не в софте.
Заменил ардуину с dx.com на оригинальную (надеюсь, потому что стоит в 2 раза больше:)) dfrduino купленную в одном из наших онлайн магазах - дерганий стало на порядок меньше, но все же есть
Отснял видео работы сервы наклона в ручном режиме с разными дуинами и с разным питанием, видео ускорено в 10 раз (снимал 10 минут)
https://vimeo.com/53663565
Когда серво сильно отклоняется это похоже начинает срабатывать автоматический цикл - т.е теряется связь с передатчиком, потом восстанавливается и серва опять переходит в ручное управление. Видно, что при питании от USB серва стоит как влитая - подозреваю что дело в том что там шнур питания экранированный, поэтому наводки не проходят... хотя от ардуины дальше идут обычные провода к тому же приемнику. Никаких видеопередатчиков, раций и прочей аппаратуры рядом нет %)
Если бы терялась связь и программа переходила в автоматический цикл, то он отрабатывался бы полностью, так как у вас в автоматическом цикле нет проверки time. Попробуйте сами, если переключиться в автоматический режим и обратно, то в ручной режим переключится только после завершения всего автоматического цикла, если конечно вы не убрали delay(2000) в setup().
Попробуйте сделать следующее: возьмите провод и подключите одним концом к GND дуины, а другим к корпусу системного блока и проверьте будет ли дергаться.
Нет, я же добавил добавил проверку time в автоматический цикл - гляньте последний код :)
Сейчас проверю заземление
Ну так и что? У вас же нет проверки в самом cycle() и он будет отрабатываться полностью.
И еще, у вас этот cycle() будет повторяться до бесконечности или пока не переключите тумблер, а не 9 раз и никогда не будет сфотографирован надир и зенит(а точнее где-то 1 к 1000000000 что вы переключите тумблер в определенный момент и надир с зенитом будут).
Когда тумблер возвращаю в 1900 - переходит в ручное, а насчет надира вы правы - спасибо :))
Прям мгновенно переходит? У вас cycle() длится 3,6 секунды так что если вы туда-сюда щелкните тумблером, то в ручной режим перейдет на раньше чем через 3 секунды.
Задержка сейчас в конце сетапа
Да, не мгновенно - так что срабатывание автоматического режима отпадает, вы опять правы :))
Подключил заземление на корпус пк, наблюдаю - раз в несколько минут всеже есть оооочень незначительные рывки, но работает практически как от USB.
А если чем другим (еще сервы, двигатели, подключенные к этому же аккумулятору) поуправлять изменения есть?
сейчас на приемник повесил еще одну серву - подергивания увеличились
а сейчас уже как 5 мин работает идеально %)
А схему что куда подключаете нарисовать можете?
И кстати, если хотите прерывать автоматический цикл, то можно сделать так
void cycle() //панорамный цикл { if(time > 1700) return; servo_gor.write(posr); servo_vert.write(posv2); delay(800); if(time > 1700) return; shutter(); delay(800); if(time > 1700) return; servo_vert.write(posv1); delay(800); if(time > 1700) return; shutter(); delay(800); if(time > 1700) return; ServoGor(HIGH); delay(400); ServoGor(LOW); } void auto_loop() //полный цикл автоматического управления { for (int i=0;i<9;i++) cycle(); servo_vert.write(posv3); //съемка надира delay(800); if(time > 1700) return; shutter(); delay(800); }задержка при этом составит не более 1 секунды.
Схему попробую сейчас нарисовать.
И кстати, если хотите прерывать автоматический цикл, то можно сделать так
Ого! Вот оно как оказывается
Рисовать буду 3 часа, лучше по фото объясню, на красный контроллер не обращайте внимание - питание через ubec идет на приемник. От приемника идет дальше на дуину, сервы и ИК-диод. Собственно и все.
В первую очередь мне надо знать как и куда у вас подключено питание. Мультиметр имеется?
Хорошо, тогда подробную схему нарисую сегодня вечерком, сейчас к сожалению уже не успеваю
Да, мультиметр есть
Прошу прощения что пропал, обстоятельства :)
Так, по схеме питания - переткнул GRN как сейчас показано на схеме, вроде все пучком - колебания совсем не значительные, а дерганий таких сильных нет. Раньше GRN был воткнут в тот который через пин от +5
Нарисовал как сумел, извиняйте :)
Скорее всего помехи возникают в питании. Сделайте так - отключите питание от 5V дуины и напрямую с аккума подключите 7.4В к VIN дуины.
тогда UBEC 2S можно было бы и 6V поставить, если конечно такие существуют и приемник от 6 вольт работает, тогда и сервы пошустрее и помощнее крутили.
Подрубил - вообще пропали все колебания\дерганья :)
Как раз покупаю ubec с возможностью переключения 5v\6v - приедет, попробую.
Небуду клонов плодить, ибо вопрос из той же группы что и у топик-стартера. Значит так же есть Spektrum AR8k и Freeduino Nano v5. Управляется это все с DX7s. Мне управление сервами не нужно, нужно банально определить нажата ли кнопка на пульте (раньше это был двухпозиционный тумблер). НО, подключаю все как на пике
заливаю туда вот такой код
void setup(){ pinMode(23, INPUT); Serial.begin(9600); } void loop(){ int pwmIn = pulseIn(23, HIGH, 25000); Serial.println(pwmIn); delay (100); }А оно мне в порт только нули посылает. пробовал разные пины на ардуине, разные каналы на пульте, пробовал питать приемник отдельно от ардуины, пробовал от самой ардуины и тд, а все равн нули. ЧЯДНТ?
Так может там и сигнала то никакого нет. Вы серву подключать ко всему этому делу как оно сейчас у вас есть пробовали?
Может частота сигнала много ниже чем вы ее ограничили и инвертирован
longpwmIn = pulseIn(3, HIGH);И не надо пробовать на всех выводах пробуйте на D3.
Who's awesome? You're awesome! Может мне просто надо было выспаться наверное, но вы оказались правы и касательно пина и касательно сигнала с пульта. Третий пин я тоже пробовал, но все это свелось к тому, что отвалился бинд пульта и приемника. Сначала подключаю к третьей ноге, вроде дрыгается, но на пульт не отвечает, потом думаю "В чем затык?" подключил серву, а она не дергается вообще, и тут осенило, я же после резета забыл пульт забиндить опять. Вам плюс и спасиба, Максим!
Готовый скетч rc_pwm-111213a.zip, вводятся сразу 4 канала от приемника, можно и боле при желании, с полученными значениями делай что хочешь... для определения же положения тумблера достаточно сравнивать результат со средним положением - 1520мс, если больше - включен, меньше - выключен...