roboforum.ru

Технический форум по робототехнике.

Драйвер двух двигателей управляемый по I2C, UART

Резисторы, транзисторы, конденсаторы, микросборки, чип компоненты ...
Вопросы согласования управляющих модулей с периферией.

Драйвер двух двигателей управляемый по I2C, UART

Сообщение dccharacter » 11 мар 2011, 23:58

друзья, покритикуйте схему, пожалуйста.

по идее Vin до 40 вольт, ток до 5А, напряжение по шине i2c переключаемое джампером 5В/3,3В.
Вложения
schematics_picture.png
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Драйвер двух двигателей управляемый по I2C, UART

Сообщение avr123.nm.ru » 12 мар 2011, 00:01

Что за микрухи драйверы ?
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Драйвер двух двигателей управляемый по I2C, UART

Сообщение =DeaD= » 12 мар 2011, 00:05

А что за драйвер-то в основе? Имхо в целом 5А - ни то ни сё.
Какой пиковый ток будет держать?

Добавлено спустя 2 минуты 29 секунд:
Кондёр на питание не менее 1000uF лучше рассчитывать.
Светодиоды индикации направления вращения двигателя обязательно (встречные зеленый - вперед, красный - назад).

Добавлено спустя 33 секунды:
В целом если делать i2c - лучше ставить AVR + RoboBus. Чтобы программировать модуль унифицировано.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Драйвер двух двигателей управляемый по I2C, UART

Сообщение dccharacter » 12 мар 2011, 00:14

Да, за микрухи извините. Это MC33887 (просто потому что у меня их 4 штуки валяется. http://www.freescale.com/webapp/sps/sit ... rch=1&sr=1). Я думаю что они все флайбеки самостоятельно ловят, т.е. диоды на вращение - нафик???

Дальше, кондер, возможно, увеличу - не проблема.

АВРом не владею абсолютно. Зачем робобас? Это драйвер двигателей же... И шиться он будет совсем другими прошивками. И подключаться к ОР если присмичит, по i2...Хм, понял. Подумаю, вероятно так и надо. Да, точно. Т.е. придется АВРом завладеть? Нет, отставить, счет на покупку ПИКов уже оплачен.

Про программирование хотел спросить. У меня на MCRL висит сенсор тока. Как правильно вывести ICSP? На этот МК в отличие от привычных мне, документация рекомендует поставить "изолирующие устройства", которые в зависимости от применения могут "сильно отличаться". И еще, на этом МК VPP 9В, т.е. с моего PicKIT2 придется понижать делителем напряжения?
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Драйвер двух двигателей управляемый по I2C, UART

Сообщение avr123.nm.ru » 12 мар 2011, 00:17

dccharacter писал(а):на этом МК VPP 9В, т.е. с моего PicKIT2 придется понижать делителем напряжения?
PicKIT2 "знает" какое Vpp подавать на какой PIC.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Драйвер двух двигателей управляемый по I2C, UART

Сообщение dccharacter » 12 мар 2011, 01:06

1. Развязал VPP от схемы диодом - вроде как должно работать?
2. Добавил робобас - надо ли развязывать линии питания от схемы (потому что она будет питаться от того же ИП, что и движки)?
3. Можно ли не развязывать ICSPCLK и ICSPDAT? Или надо поставить токоограничительные резисторы?
4. Что еще?
Вложения
schematics_picture.png
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Драйвер двух двигателей управляемый по I2C, UART

Сообщение dccharacter » 12 мар 2011, 15:43

Развел плату. Оспади, как это теперь проверять-то???? Напайкой компонентов и усиленными молитвами, чтобы нигде не накосячил? Первый раз ТАКОЕ сотворил...
Вложения
board_done.png
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Драйвер двух двигателей управляемый по I2C, UART

Сообщение =DeaD= » 12 мар 2011, 15:50

Клеммники чудовищны, такое ощущение, что на 20А :)

Кондёр на питании мизерный, и лучше его ставить аксиальный (выводы с двух сторон цилиндра).

Регулятор напряжения тоже чудовищный - ставь в SOT-223.

Разъем лучше RoboBus всё-таки поставить.

3-5В джампер сделать 3-пиновый.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Драйвер двух двигателей управляемый по I2C, UART

Сообщение dccharacter » 12 мар 2011, 16:01

1. Только такие в игле нашел, а рисовать лень :-) Поэтому они и выпирают. Реальные, которые будут ставится, выпирать не будут.
2. Так, с кондером понял, я вообще микрофарад 200 планировал всунуть. А почему он маленький, ну, какая теория под этим?
3. Поставил такой, потому что у Семенова есть только в этом корпусе, а покупать я скорее всего у него буду. Но если нарою другой, поставлю другой, место есть :-))) А, кстати, наверное не поставлю. Обрати внимание, что у меня все перходы между слоями на "силовых" падах - на разъемах. А если сот32 - это дополнительно сверлить, с перемычками морочиться. Я тут делал что-то, штук 15 было перехрдов. Намаялся аццки, больше ниохота. Поэтому так, где придется шить проволокой переходы, сделано по два отверстия - паять будет значительно проще, хоть воздухом паяй - перемычки не повываливаются. Может, я, конечно, велосипед изобретаю, но на те же грабли неохота наступать.
4. Робобас вчера ставил. Во-первых сильно сложнее развести. Во-вторых - какой от него толк? Был бы авр - да, понимаю, сходу одни плюсы. А так - места на плате нет, разводить сложнее, а по сути дубляж двух разъемов. Проще если все-таки решусь на покупку ОР-контроллера, спаять простой переходник робобас-4х_пин_хедеры
5. Ок, про джампер понял, сейчас попробую.

Проверить-то как? Стремно сразу травить, по опыту знаю, что частенько косячу. Есть методики отработанные? А то сегодня "поймал" косяк - при подключении к уже однажды именованной группе контактов нового компонента, Игл не говорит, что он соединяет группы, а просто по умолчанию это делает. Смотрю сегодня на диод закороченный (как на картинке "сопротивление бесполезно" и не пойму, почему так. В схеме все ОК, а на борде - закороченный. Оказалось, что обе группы контактов были одной и той же меткой помечены, а метку я в запале вчера ночью удалил. Вот случайно отследил.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Драйвер двух двигателей управляемый по I2C, UART

Сообщение Michael_K » 12 мар 2011, 16:15

1. Не вижу, как подходит питание (в т.ч. земля) к силовым ногам драйверов (к сторонам, где первая нога).
2. Нужно прикинуть по теплоотводу, на первый взгляд тут не очень хорошо с ним.
3. Кондер мал для таких токов, правильно Dead говорит, но это зависит от того, насколько вас волнует вообще кривое потребление и помехи по питанию (может у вас литий суровый выделен на движки и ему все пофиг).
4. В игле можно "как-то" проверить и плату и схему (ну чтобы по крайней мере косяков очевидных избежать).
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Драйвер двух двигателей управляемый по I2C, UART

Сообщение =DeaD= » 12 мар 2011, 16:22

Кстати, а они на 3.3В входных уровнях вообще работать будут? Драйверы то эти?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Драйвер двух двигателей управляемый по I2C, UART

Сообщение Michael_K » 12 мар 2011, 16:25

не гарантируется (по даташиту максимальное напряжение, при котором он гарантировано чувствует единицу, 3.5 вольта)
Логика самого драйвера пятивольтовая
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Драйвер двух двигателей управляемый по I2C, UART

Сообщение dccharacter » 12 мар 2011, 16:32

1. По земле понял, точно косяк - все очень мааахонькими дорожками до земли доходит. Сейчас сделаю тооолстые.
2. Вообще на самодельной плате сделать хороший теплоотвод не получится. У них задумка, что металлизированными отверстиями слои сединяются и на обратной стороне платы достаточно большой прямоугольник меди. Я его нарисовал, конечно, но металлизированных отверстий не получится. Ну в общем и черт с ним, я его на пределе гонять не буду, а в серию запускать и делать даже 20 плат я смысла не вижу - все-таки драйверы не дешевые (вообще не понимаю эти драйверы - бестолковые какие-то они. Дорогие, а ни рыба ни мясо... но коль валяются...)
3. А, т.е. кондер этот ставится не для защиты самой схемы, а для защиты питающей части? Чтобы не выбило БП или акк?
4. Ладно, я вот думаю заняться "зачеркиванием дорожек".

Как назло на балконе ни одного аксиального кондера нет :-)


3,3В - эээээ, да ладно? а куда мои глазенки смотрели? ну-ка ну-ка....

Добавлено спустя 1 минуту 51 секунду:
Fully specified operation 5.0 V to 28 V - тьфу, дерево.
повелся на :

Supply Voltage (1)
V+
-0.3 to 40
V
Input Voltage (2)
VIN
- 0.3 to 7.0
V
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Драйвер двух двигателей управляемый по I2C, UART

Сообщение Michael_K » 12 мар 2011, 16:33

Что-то до меня не дошло, что там диод делает на выходе аварии на правом по схеме драйвере.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Драйвер двух двигателей управляемый по I2C, UART

Сообщение dccharacter » 12 мар 2011, 16:35

Ну тогда все сильно проще....

Диод развязывает VPP и "аварию". Вроде вчера спросил, можно ли так делать (и нужно ли), молчание воспринял как одобрение :-)))
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

След.

Вернуться в Электроника, электротехника

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4