Доброго времени суток!
Ситуация такая, необходимо сделать портативный манипулятор, управляемый с одной руки. Приводить в движение конструкцию будут 4 сервопривода, каждый из которых управляется двумя тактовыми кнопками и отдельно подключен к питанию (5V). Все это будет подключено к CraftDuino, питающемуся от 9v кроны. Вероятно вас смущает путь, которым я пошла, особенно если сначала вы решили изучить схему или код перед прочтением текста, но я постараюсь сейчас объяснить причину выбранной мной стратегии.
Релиз манипулятора будет проходить вдали от цивилизации, конструкция не маленькая и всей ей суждено держаться на моем горбу, поэтому сервоприводы ближе к основанию будут достаточно мощными и питаться каждый из них будет от отдельного гнезда, по этой же причине каждая серва будет подключаться к контроллеру через стабилизатор, чтобы обезопасить крафтдуину.
Управляться система будет 8-ю тактовыми кнопками с панели, закрепленной на ладони. Каждый палец, кроме большого, будет приводить в движение определенный сервопривод через две кнопки - пока зажата верхняя кнопка, серва движется в одну сторону, отпустили и конструкция застыла, зажали нижнюю кнопку и серва крутит обратно. Может система кажется слишком замысловато, но так процесс управления, на мой взгляд, будет менее заметным.
Вот схема подключения:
В конструкции будут использоваться:
- crafduino
- 4 сервопривода (Servo MG-90S, Servo SG-5010 - 2шт, Servo MG-995)
- резисторы 10к
- конденсаторы 100мкФ
- стабилизатор 7800
- тактовые кнопки
- питание 5 вольт от 4-х батареек ААА
Код управления (точные углы поворота еще не известны):
17 | analogReference(DEFAULT); |
27 | if (analogRead(sensePin1) > 1020) { |
31 | if (analogRead(sensePin1) > 500 && analogRead(sensePin1) < 520 ){ |
36 | if (analogRead(sensePin2) > 1020) { |
40 | if (analogRead(sensePin2) > 500 && analogRead(sensePin2) < 520 ){ |
45 | if (analogRead(sensePin3) > 1020) { |
49 | if (analogRead(sensePin3) > 500 && analogRead(sensePin3) < 520 ){ |
54 | if (analogRead(sensePin4) > 1020) { |
58 | if (analogRead(sensePin4) > 500 && analogRead(sensePin4) < 520 ){ |
62 | pos1 = constrain(pos1, 10, 170); |
65 | pos2 = constrain(pos2, 20, 170); |
68 | pos3 = constrain(pos3, 30, 170); |
71 | pos4 = constrain(pos4, 40, 170); |
В этом деле я новичок и еще многого не знаю, поэтому перед тем как безвозвратно спалить контроллер при попытке вдохновить жизнь в этого монстра, хотелось бы узнать мнение опытных людей. Выше приведенная система собрана из множества мануалов со статей и частично проверена на практике. Буду весьма признательна тем, кто укажет на серьезные недочеты конструкции или посоветует как лучше оптимизировать систему. Также очень волнует вопрос о питании сервоприводов.
заменить батарейки на аккумуляторы желательно
аналоговый стабилизатор на импульсный
кнопки можно считывать динамически, без аналогов, но можно и так
после стабилизатора поставить крупный конденсатор для защиты от бросков
сервы не обязательно так подцеплять, сервы можно к любому пину, не обязательно где есть хардварный шим
C питанием и вправду неутык. Для стабильной работы на серву нужно подать порядка 6 вольт. У вас батарейки (непродолжительная работа с сервой - плохой вариант) дают 6 вольт и стабилизатор ещё скушает 1.5 вольта - серва будет работать плохо. Если поставить 4 ак-ра, то 4.8 вольта тоже мало. Вдали от цивилизации возьмите ак-р типа такого
http://www.ebay.com/itm/New-Dual-12V-6800mAh-Rechargeable-Li-battery-/151490399364?pt=US_Rechargeable_Batteries&hash=item2345880c84
или
http://www.ebay.com/itm/12-v-7-ah-Lead-Rechargeable-Battery-/23140751113...
и подключите сервы от него через стабилизатор 6 вольт каждую - будет стабильное напряжение без просадок по питанию. И поставьте на 7806 ещё керамический кондёр 0.1 мкф. От ак-ра запитаете и дуню. Кстати на вашей схеме питание на неё не идёт.
количество кнопок и их расположение - вопрос исключительно эргономики. Так как решаемая задача не раскрыта, то здесь не беруст что либо комментировать
есть одна явная ошибка. У вас при питании от 4-х алкалиновых батареек применены стабилизаторы 7805 (у вас написано 7800, но судя по всему имелись в виду именно 7805 так как именно 5В стандартное питание сервомоторов). Здесь есть проблема - 7805 дает падение 1.7В, а ваши 4-ре батарейки дают когда новые под нагрузкой порядка 6В, а когда разряжены около 4-4.5В. Что это значит? Это значит что стабилизаторы не только не помогают стабилизировать напряжение, а наоборот усугубляют ситуацию.
В целом я бы схему питания сделал по другому. Применение несколких независимых наборов батареек приведет к тому, что вы замучаетесь менять батарейки потому, что у вас будет неравномерный разряд. И стоит одной батарейке из 16 разрядится - ваш манипулятор перестанет полноценно работать. Лучше взять батарею литиевых акуумуляторов или батарею 6-12В свинцовую (залитую как для бесперебойных компьютерных блоков). Далее из батареи надо применяя импульсный преобразователь (step-down) с низким минимальным падением напряжения сделать 5В. Посчитайте максимальный сумарный ток по вашим сервам и поймете какой преобразователь вам нужен. Можно купить готовый модуль, лучше с современными микросхемами типа MP1584 - она до 3А. Если 3А мало можно несколько преобразователей поставить, но сохранить общую батарею аккумуляторов.
с крафдуиной вашей ничего не случчится, но ее надо обезопасить от помех которые создают сервы, для этого для крафдуины лучше сделать отдельный стабилизатор либо импульсный step-down либо на базе LDO с низким падением напряжения (увы ни 7805 не подойдет ни популярные 1117).
после стабилизатора поставить крупный конденсатор для защиты от бросков
плохому научите)) если почитать даташит на нормальный современный step-down (на микросхему) то поймете почему не надо никакой дополнительный конденсатор цеплять
сервы не обязательно так подцеплять, сервы можно к любому пину, не обязательно где есть хардварный шим
я не знаток библиотеки Servo. На других пинах она генерит ШИМ програмно?
какой еще шим)))
а насчет плохому как скажешь) тебе виднее
ну так серва же управляется сигналом который удобно генерить ШИМом
тогда твои мысли как в ардуино уно 6 хардварных шимов, а серв можно подключить 12шт
Если так, значит генерится програмно
они все генерятся программно. изза этого на 9 и 10 не работает шим
вот кстати стоит почитать про потребляемый ток, броски и тд
http://www.customelectronics.ru/proverka-usiliya-servoprivodov/
и станет понятно зачем конденсатор лучше поставить. и тем более почему не стоит линейный стабилизатор ставить
Вы опять про свое) взялись за паяльник - привыкайте читать больше даташитов, меньше частное мнение. Ибо самое полезное частное мнение это собственное, сформированное на правильном понимании
во первых, не каждая микросхема step-down позволяет ставить дополнительный конденсатор на выходе. На любой плате step-down конденсатор уже стоит. Нужно смотреть конкретный чип. Во вторых при коротких проводах между step-down и моторами достаточно уже установленных конденсаторов, даже если они малой емкости. Это компенсируется быстродействием чипа. В третьих надо смотреть по конкретной ситуации - длина проводов, схема управления (всякие там моторшилды). По всей совокупности ваш совет может быть как полезен так и вреден
ну когда начнутся просадки питания тогда и будет понятно. что спорить
возможно не верно выразился, я не спорю. Лишь призываю вдумчиво подходить, с учетом особенностей. При прямом подключении моторов к аккумуляторам или при использовании линейных регуляторов ваш совем на 100% верный. А вот с импульсниками важны ньюансы.
боюсь импульсник просто не вытянет броски. емкость конечно подобрать
по MG-90S и MG995 ток был выше в ссылке
первый с бросками до 580 ма, второй до 2А. уже в пике чуть больше 2.5А возможно
и по SG-5010 не нашел пиковый ток. по разной инфе около 0,7-1А. а их 2 штуки
даже если взять 0,7А то получаем 0,58+0,7+0,7+2=3,98А. импульсные стабилизаторы обычно до 3А
конечно вероятность того что одновременно у всех будет пиковый ток относительно мала, но лучше защитится и поставить конденсатор даже с импульсным преобразователем или импульсный помощнее
линейный стабилизатор тут вообще не подходит. тем более пальчиковые батарейки, если конечно не кучу их установить
можно пару таких поставить и тогда уже можно не боятся бросков
http://ru.aliexpress.com/item/Free-Shipping-1PCS-XM1584-Ultra-small-size...
один для MG995, и один для остальных
все верно, но вы все равно не читаете даташиты )) По вашим расчетам подола бы такая микросхема
почитайте http://www.ti.com/product/tps5430, особенно раздел Capacitor selection на странице 13. Там указаны ограничения на выбор конденсатора. Чип на 3А, но - Up to 3-A Continuous (4-A Peak) Output Current. 4А в пике не проблема
А если готовый модуль брать то на базе MP1584 типа http://www.buyincoins.com/item/45333.html#.VH2Bo3tUIv4
У нее тоже 4А в пике
я не говорю чтобы подохла, не факт чтобы вытянула без просадки
да и как же быть с запасом. зачем гонять железку на предельных режимах. греться будет больше, выше вероятность выхода из строя
я не говорю чтобы подохла, не факт чтобы вытянула без просадки
да и как же быть с запасом. зачем гонять железку на предельных режимах. греться будет больше, выше вероятность выхода из строя
все эти вещи поддаются точной оценке, не нужно гадать. Запас прочности тоже прогнозируется. Я не хочу за ТС делать расчет, наша задача дать ему направление мысли. Если его сервы в нормальном режиме потребляют более 2.4А (запас 20%) то конечно разумнее поставить два step-down. А может нужно и по одному на каждую серву. Пик на то и пик, что это кратковременная вещь. Но нельзя путать ПИК с током в заторможеным мотором - такой ток надо учитывать как нормальный, т.е. закладываться на него в расчете
Мы кстати дали ссылки на одинаковые модули. Вот тут почитайте http://www.monolithicpower.com/Products/Product-Detail?ProductID=101, страница 12, там тоже есть ограничения на выбор выходного конденсатора
читал я даташит. но я как раз предлагал этот модуль, к которому конденсатор не нужен, и ставить два
а самый распрастраненный (по крайней мере недавно) LM2596. к нему и нужен конденсатор
11страница и далее
http://www.ti.com/lit/ds/symlink/lm2596.pdf
LM2596 низкочастотный с низким быстродействием. К нему да, можно цеплять ведрами конденсаторы. Так это как раз и есть ньюансы.
ну а я о чем говорил))) просто не писал про LM2596, который в основном пихают
вы предлагали цеплять конденсатор везде без разбору))
но мы так увлеклись, что наверно запутали ТС))
конденсатор это хорошо)))
а вообще просто не указал про 2596
идея зачетная ) правда совершенно бесполезная
идея зачетная ) правда совершенно бесполезная
Фигасе, бесполезная! Это айфон - бесполезная вещь, а такую штуку каждый должен иметь!
и что с ней делать?
с кофе/пивом бегать по дому или работе. Ценный напиток не пропадет. И жена ругать не станет :)
а что думать. уже не надо. 2 импульстных стабилизатора по полтиннику. аккумулятор расчитать из необходимого времени работы
http://ru.aliexpress.com/item/Free-Shipping-1PCS-XM1584-Ultra-small-size...
а одного стабилизатора хватит для MG90S и двух SG5010?
да
Встроить в авто под седенье, чтоб разбитые дороги не чувствовались...