Уточните, перед полумостами, это куда? На затворы верхнего и нижнего мосфетов? Если так, то идея эта не очень. Заряд нижнего и разряд верхнего затворов будет происходить через резистор 1килоом, а это обернется долгим временем переключения. Долгое переключение для мостов малоприемлемо.
Именно туда на затворы мосфетов. И то верно, идея плохая, я об этом почему-то не подумал.
А если поставить эту контрукцию перед логической микросхемой, а её запитать не от LDO регулятора на 3.3в, а напрямую с батарейки. Судя по даташиту, она это переживет, но у меня внутри что-то протестует против такого подхода.
Или же всетаки уйти от полевого транзистора? Я стал смотреть в сторону полевого потому что мой МК это msp430 и его максимальный ток с ноги - 6ма
a5021, я кстати поменял у себя в драйвере резисторы с 470 Ом на 100 Ом и теперь езжу на 31250 Гц. IRF-ка греется, но умеренно.
Следующим этапом хочется сделать управление не Dir+\Dir- как сейчас, а один пин отвечает за направление, второй за скорость. То есть сэкономить один пин ШИМа
А если поставить эту контрукцию перед логической микросхемой, а её запитать не от LDO регулятора на 3.3в, а напрямую с батарейки. Судя по даташиту, она это переживет, но у меня внутри что-то протестует против такого подхода.
Или же всетаки уйти от полевого транзистора? Я стал смотреть в сторону полевого потому что мой МК это msp430 и его максимальный ток с ноги - 6ма
Вы столь кратко описываете исходные условия, что советовать вам весьма и весьма непростая задача. Если бы мне пришлось крутить мотор от msp430, то я бы собрал один из драйверов обсуждаемых здесь, запитал бы его от батарей напрямую и подключил бы его к МК через преобразователь уровней. Можно и через схему приведенную в вашем первом посте, но она инвертирует сигнал и придется принимать меры на стороне МК, чтобы сформировать правильные последовательности. На мой взгляд, гораздо удобнее между МК и драйвером вставить классический конвертер вида:
Т.к. управляющих линий две, то на каждую линию по такому конвертеру.
Спасибо за совет с конвертером, но, если я правильно все понимаю - скорость заряда емкости мосфета остается такой же медленной?
Сейчас я смотрю на вот эту микросхему http://www.irf.com/product-info/datasheets/data/ir4426.pdf для управления только нижними ключами при помощи ШИМа. Верхние ключи можно переключать только по смене направления вращения моторчика, для этого сойдет схема, приведенная Вами, или же моя (с инверсией я справлюсь без проблем). Что думаете по поводу этой идеи?
За краткость простите - путаница в голове. История такова - есть радиоуправляемая машинка с коллекторным моторчиком на ~2.5А от четырёх батареек суммарно на 6В. Так же там есть моторчик на 0.5А, для управления колесами, ну да это не суть. Что покатит на 2.5А - покатит и на 0.5А, а компоненты дешевле брать оптом.
Управляется это все с msp430g2553 ( http://www.ti.com/ww/en/launchpad/msp430_head_usb.html ) Сейчас цена на g2553 ланчпад поднята, чтобы он не составлял конкуренции новому, более продвинутому, но так они стоят по 140 рублей с доставкой до порога курьером. Поэтому я его и выбрал. Однако, как оказалось 3.3в и 6мА на ногу, для управления чем-то, а не для общения с другой перефирией через SPI I2C и прочее - маловато. И теперь вот танцую с тем что имею. Коварные TI подсадили меня на свою продукцию, теперь я знаю msp430 почти весь и совсем ничего не знаю про атмеги.
Если честно - машинка мне казалась очень простым элементом в этой системе. Я думал сейчас погуглю - транзистор туды сюда и готово. Фиг мне :)
Спасибо за совет с конвертером, но, если я правильно все понимаю - скорость заряда емкости мосфета остается такой же медленной?
Не пойму, зачем мне вам советовать такую жуткую фигню, если бы она не решала ваших проблем? Скорость заряда будет просто зашибись, если вы соберете любую схему драйвера из этой ветки и запитаете ее от батарей. Если вы это сделаете, то насчет заряда можете вообще больше не вспоминать. Ко входу этой схемы вам нужно подключить ланчпад, но ланчпад трехвольтовый, а схема драйвера шестивольтовая. Чтобы выполнить сопряжение этих разновольтных схем, вам необходим конвертер уровней, который ставится аккурат между ланчпадом и драйвером. Как только вы соедините эти три компонента (ланчпад, конвертер уровней, драйвер) уже ничего не будет вам мешать крутить двигатели из вашего софта, как вам вздумается.
Цитата:
Сейчас я смотрю на вот эту микросхему http://www.irf.com/product-info/datasheets/data/ir4426.pdf для управления только нижними ключами при помощи ШИМа. Верхние ключи можно переключать только по смене направления вращения моторчика, для этого сойдет схема, приведенная Вами, или же моя (с инверсией я справлюсь без проблем). Что думаете по поводу этой идеи?
Я пока не вижу, чем предлагаемое вами решение лучше, чем те, что обсуждались здесь ранее. У вас выходит дороже, хуже по характеристикам, да и вообще это получается совсем другая схема. Чем вас не устраивают здешние схемы?
Цитата:
За краткость простите - путаница в голове. История такова - есть радиоуправляемая машинка с коллекторным моторчиком на ~2.5А от четырёх батареек суммарно на 6В. Так же там есть моторчик на 0.5А, для управления колесами, ну да это не суть. Что покатит на 2.5А - покатит и на 0.5А, а компоненты дешевле брать оптом.
Управляется это все с msp430g2553 ( http://www.ti.com/ww/en/launchpad/msp430_head_usb.html ) Сейчас цена на g2553 ланчпад поднята, чтобы он не составлял конкуренции новому, более продвинутому, но так они стоят по 140 рублей с доставкой до порога курьером. Поэтому я его и выбрал. Однако, как оказалось 3.3в и 6мА на ногу, для управления чем-то, а не для общения с другой перефирией через SPI I2C и прочее - маловато. И теперь вот танцую с тем что имею. Коварные TI подсадили меня на свою продукцию, теперь я знаю msp430 почти весь и совсем ничего не знаю про атмеги.
MSP430 вполне себе неплохие микроконтроллеры, ничем фатально не проигрывающие атмеге. У одного лучше одно, у другого другое, но они решают похожие задачи похожим же образом. Рискую навлечь на себя гнев администрации форума за офтопик, но в качестве отмазки хочу вспомнить, что под определенным углом зрения ланчпад это та же ардуина и при желании можно писать код, который будет одинаково выполняться на обоих платформах и выполнять одни и те же функции. Я конечно говорю про Energia, которая является практически копией среды разработки ардуино, только для MSP430. И тут уже сходство таково, что рекламщики и юристы называют это "до степени смешения".
Вспоминая собственный опыт, могу поведать, что исторически ардуина у меня появилась раньше ланчпада и к моменту появления последнего, я уже умел более менее дрыгать ногами ардуины и проделывать небольшие фокусы на атмегах. Так вот именно благодаря Energia я практически за вечер освоился с ланчпадом на том уровне, что смог с его помощью выполнять какие-то осмысленные действия, а не просто пялится на него, как баран на новые ворота.
Я своей опыт тут привел к тому, что если вы пользовались энергией и у вас есть желание попробовать атмегу, то нет ничего проще. Ардуино уно р3 нынче стоит на том же алиэкспрессе вполне разумных денег, было бы желание.
Цитата:
Если честно - машинка мне казалась очень простым элементом в этой системе. Я думал сейчас погуглю - транзистор туды сюда и готово. Фиг мне :)
Ну драматизировать тоже не стоит, наверное.
PS. У меня сейчас на столе разложены шесть бредбордов с проводами во все стороны, а так бы подоткнул бы какой-нибудь из здешних драйверов, (благо они у меня все есть в готовом виде) к ланчпаду и проверил бы в реальности все то, что здесь советую.
PPS. Кстати, есть разведенные платы под все здешние схемы. Они под smd компоненты, т.ч. если не смущает и есть чем паять, то могу выложить файлики. Что-то в протеусе, что-то в игле, сейчас уже не вспомню. На крайняк, можно и в pdf-е.
Я опять думаю не о том, нужно больше спать. Транзистор перед логической микросхемой не влияет на скорость заряда мосфета, все верно.
А по каким параметрам подход со специализированными драйверами хуже описанного здесь? Кроме того, что он уже испытан Вами как только можно. Не пытаюсь опровергнуть, просто интересуюсь
представь ситуацию. у тебя мост. в мосту стоит двигатель. если просто вклють крутить в любом направлении без шим все норм. и без разницы по большому счету какой драйвер (если все на полевиках). Но если использовать шим со стандартными драйверами то в один момент подается напряжение, а другой нет. и все бы хорошо но когда напряжение не подается, двигатель коротится через драйвер. а так как мотор крутится на нем возникает напряжение эдс (приложи моторчик к языку и покрути почувствуешь). в этот момент двигатель работает как генератор. если генератор закоротить он начнет тормозить. а потом снова подаем крутиться. и получается двигатель то разгоняется, то тормозит, много раз в секунду. драйвера самодельные в схемах выше этого недостатка лишены и двигатель просто свободно вращается при нуле на шим. соответственно момент и скорость получаются выше. длинновато получилось. но надеюсь понятно
Используется только для получения напряжения открытия транзистора нижнего плеча моста из 3.3в, которые выдает мой МК. Остальной функционал, всмысле сигналов, тот же самый. Разница только в преобразовании уровней.
Мне начинает казаться, что вся эта беседа не имеет смысла. Я просто возьму уже готовую схему, приведенную тут и подниму напряжение сигналов до уровня питания логической микросхемы.
А по каким параметрам подход со специализированными драйверами хуже описанного здесь? Кроме того, что он уже испытан Вами как только можно. Не пытаюсь опровергнуть, просто интересуюсь
Специальные драйвера это конечно хорошо, но вы ими собираетесь, насколько я понимаю, управлять нижними мосфетами. С нижними у вас проблем не будет это точно. Но верхние то куда? На биполяр с резистором в коллекторе? И приходим мы туда, откуда ушли -- время закрытия верхних мосфетов может оказаться недопустимо большим. Настолько большим, что нижние уже успеют открыться, а верхние еще продолжать закрываться. И потечет сквозной ток по вертикали через недозакрытые верхиние и открытые нижние. Даже если не будет сильного разогрева, определенные энергопотери более чем вероятны, что для батарейного питания вопрос отнюдь не последнего плана. Добавить сюда ток через открытый биполяр, который полезной работы не выполняет, и получится, что энергоэффективность данной схемы начинает хромать уже на обе ноги.
Вот и выходит, что уже по трем показателям ваше решение проигрывает: частотные характеристики хуже, энергоэффективность ниже, цена выше. Очевидно надо иметь достаточно веские причины, чтобы отказаться от здешних схем в пользу вашего подхода.
Отлично работает на разных напряжениях логики и двигателей. Только резистор вместо 470 поставьте 100 Ом, будет еще и шим на 30 кГц работать.
Если снизить сопротивление до 100 ом, то ток через биполяр возрастет до 0.12A. Иные моторы по столько потребляют, а тут кроме увеличения термодинамической энтропии вселенной более никакой работы. Для стационарного питания это еще терпимо, но для батарей роскошь не совсем уместная.
С постоянной все уже лучше. Платим за это повышенной нагрузкой на батареи. Это вроде, как посрезать в доме все краны на водопроводных трубах, чтобы не тратить лишнее время на их кручение.
Вода должна литься лишь тогда, когда мы собрались мыть руки, а ток расходоваться лишь на заряд затвора. Схемы обуждавшиеся здесь обеспечивают последнее условие, а ваша нет. Я совсем не собираюсь говорить, что предложенная вами схема плохая, но не отметить этот недостаток сложно.
Вода должна литься лишь тогда, когда мы собрались мыть руки, а ток расходоваться лишь на заряд затвора. Схемы обуждавшиеся здесь обеспечивают последнее условие, а ваша нет. Я совсем не собираюсь говорить, что предложенная вами схема плохая, но не отметить этот недостаток сложно.
Не совсем пойму о чем вы говорите. Можно для людей недалеких объяснить куда еще расходуется ток кроме заряда затвора?
74-ая серия (да и не только она) хороша в данном случае тем, что выходы у нее построены по схеме полумоста. Похожего, кстати, на мост (повинку моста) здешних драйверов, т.е. верхний p-мосфет и нижний n-. Такая схема лишних токов не расходует, а раз нагрузкой является затвор силового ключа, то в нагрузку отается только электричество необходимое для его заряда. Потерь почти что нет.
Я вот еще чего подумал, а резистор у вас не разогревается? Все-таки 12в * 0,12А = 1,44Вт мощности? Да и осциллограмму на коллекторе было бы интересно посмотреть. Я тут как-то раскачивал высоковольтный мосфет, так там пришлось городить драйвер на транзисторах с общим коллекторм, в импортной литературе известный, как totem pole. Сначала я взя комплементарную пару 2sc945/2sa733, но быстро обнаружил, что они из ШИМ делают полу-ШИМ, просто не успевая переключаться при низких или наоборот высоких коэффициентах заполнения, когда импульсы (положительные или отрицательные соотвествтенно) становятся короткими. Пришлось брать пару 2222А/2907А, у которых диапазон до 300мгц, и тогда проблема с полу-ШИМом отпала. Насколько я помню, у дарлингтонов, которые стоят в вашей схеме, частотные характеристики так же неважные. Интересно, как они справляются с короткими ипульсами.
Ток через резистор не зависит от нагрузки и течет всегда, когда открыт транзистор. Если вы питаете схему от семи вольт, то ваша схема утрачивает свое главное преимущество, т.к. здешние от семи вольт тоже великолепно работают.
все понятно. вы fast PWM запрограмировали. сам пытаюсь освоить его. хочу драйвер для фонарика на тиньке сделать, но пока не особо разобрался
Да можно наверное было и FastPWM сделать, но я как-то сразу полез "Phase and Frequency correct PWM mode" крутить, вот он в конечном итоге и получился. Это здесь не особо принципиально.
Я вот только сегодня вспомнил, что есть такая среда разработки для AVR под названием "СodeVisionAVR". Там помимо прочего наличествует весьма симпатичный визард для генерации кода управления таймером (и не только таймером). Сейчас качнул "evaluation version" с их сайта, как раз новая версия позавчера вышла, нужный функционал работает забесплатно. :) Этот колдун мне за несколько кликов сгенерил набор битов для инициализации, которые я выколупывал из даташита фиг знает сколько времени.
Скопипастил прямо в среду ардуины, тот даже не поперхнулся:
Воистину, "хорошая мысля приходит опосля". :) Таким вот нехитрым образом можно пользовать практически весь функционал атмеги, который посредством стандартного языка ардуино недоступен вообще никак.
Цитата:
тенденция интересная. а не могли бы вы используя стандартную библиотеку измерить частоту шим со стандартной библиотекой? если не ошибаюсь частоты очень низкие будут
Ничего не понял. Я не писал кода для захвата и измерения частот и параметров ШИМ. Может вы имели ввиду измерить обороты движка, генерируя ШИМ с помощью стандартной библиотеки? Так там действительно частоты никуда не годятся. Только посмотреть, что такое ШИМ вообще. Двигатель довольно громко и противно пищит и свистит на звуковых частотах ШИМ.
я вот тоже решил попробовать. что то не получилось. иде ругается
Попробуйте перенести строчки инициализации в setup().
Так же проверьте, нужно ли вообще устанавливать значение в регистр DDRB, чтобы работал шим, и если нужно, то логично это сделать до инициализации таймера. Это не должно вызывать ошибок компиляции, но вполне возможно будет работать не так как ожидается.
Там я почему-то не указал, где это все нужно располагать. В статье про паяльную станцию инициализацию пользовательского таймера уже точно указывал в setup().
По поводу этой схемы из 88ого поста . Мне кажется, что в блоке AO4606 перепутаны транзисторы. Сверху, между питанием и мотором стоит N-канальный, а снизу, между мотором и нулем стоит P-канальный. Опираясь на информацию из этой статьи, возникает мнение что они не будут открываться. А если поменять их местами - все становится правильно.
Проверьте пожалуйста? Руки дошли наконец до платы :)
да нет. все правильно вроде. не увидел ошибки. смотрите на диоды в транзисторах. если наоброт включить ток потечет через диоды/, а транзисторы работать не будут
Вот так курьез. Столько времени никто, и я в том числе, не замечал, что направления стрелок на символах мосфетов перепутаны. Нижние мосфеты это N-канальные и стрелка должна идти по направлению к затвору. На верхних, P-канальных, соответственно, от затвора.
В свое оправдание могу сказать лишь то, что я собирал устройства по схемам собственной отрисовки и там мосфеты из библиотек, т.ч. просто не обратил внимания.
Все схемы проверены в железе и все до единой работают, как положено.
Вот спасибо хорошо! У меня просто нет протеуса, и чем это смоделить - не знаю. Стал разводить плату и искать на соответсвие мосфеты по схеме и мосфеты из даташита на AO4606, чтобы найти выводы и что-то не срослось. Стал гуглить и нашел что нашел, но уверен в ошибке на схеме не был, может я просто чего-то не так понял.
Возьму на себя смелость исправить схемы для будущих поколений :)
Хорошо бы еще номера выводов на мосфетах проставить, чтобы уж совсем конкретно было. На нижней схеме номерки поправить, а то там dir1 и pwm1 два раза, вместо того, чтоб нижние были dir2 и pwm2.
Как выяснилось, не так-то просто - получается много пересечений или межслойных переходов, а хотел одностороннюю. Ставить вагон smd "нулисторов" как-то не очень. Правда это первый опыт общения с DeepTrace.
Вот так хитро разместить элементы в 08, где и одна сторона микрухи вход-выход и другая я не догадался. Заклинило, что-то - входы на однй стороне, а выходы на другой. Как все проверю-доделаю выложу.
Кстати, а как вы 3D картинку сохранили, там вроде только в VRML экспорт или я не нашёл?
Спасибо за оперативный ответ!
Уточните, перед полумостами, это куда? На затворы верхнего и нижнего мосфетов? Если так, то идея эта не очень. Заряд нижнего и разряд верхнего затворов будет происходить через резистор 1килоом, а это обернется долгим временем переключения. Долгое переключение для мостов малоприемлемо.
Именно туда на затворы мосфетов. И то верно, идея плохая, я об этом почему-то не подумал.
А если поставить эту контрукцию перед логической микросхемой, а её запитать не от LDO регулятора на 3.3в, а напрямую с батарейки. Судя по даташиту, она это переживет, но у меня внутри что-то протестует против такого подхода.
Или же всетаки уйти от полевого транзистора? Я стал смотреть в сторону полевого потому что мой МК это msp430 и его максимальный ток с ноги - 6ма
a5021, я кстати поменял у себя в драйвере резисторы с 470 Ом на 100 Ом и теперь езжу на 31250 Гц. IRF-ка греется, но умеренно.
Следующим этапом хочется сделать управление не Dir+\Dir- как сейчас, а один пин отвечает за направление, второй за скорость. То есть сэкономить один пин ШИМа
А если поставить эту контрукцию перед логической микросхемой, а её запитать не от LDO регулятора на 3.3в, а напрямую с батарейки. Судя по даташиту, она это переживет, но у меня внутри что-то протестует против такого подхода.
Или же всетаки уйти от полевого транзистора? Я стал смотреть в сторону полевого потому что мой МК это msp430 и его максимальный ток с ноги - 6ма
Вы столь кратко описываете исходные условия, что советовать вам весьма и весьма непростая задача. Если бы мне пришлось крутить мотор от msp430, то я бы собрал один из драйверов обсуждаемых здесь, запитал бы его от батарей напрямую и подключил бы его к МК через преобразователь уровней. Можно и через схему приведенную в вашем первом посте, но она инвертирует сигнал и придется принимать меры на стороне МК, чтобы сформировать правильные последовательности. На мой взгляд, гораздо удобнее между МК и драйвером вставить классический конвертер вида:
Т.к. управляющих линий две, то на каждую линию по такому конвертеру.
Спасибо за совет с конвертером, но, если я правильно все понимаю - скорость заряда емкости мосфета остается такой же медленной?
Сейчас я смотрю на вот эту микросхему http://www.irf.com/product-info/datasheets/data/ir4426.pdf для управления только нижними ключами при помощи ШИМа. Верхние ключи можно переключать только по смене направления вращения моторчика, для этого сойдет схема, приведенная Вами, или же моя (с инверсией я справлюсь без проблем). Что думаете по поводу этой идеи?
За краткость простите - путаница в голове. История такова - есть радиоуправляемая машинка с коллекторным моторчиком на ~2.5А от четырёх батареек суммарно на 6В. Так же там есть моторчик на 0.5А, для управления колесами, ну да это не суть. Что покатит на 2.5А - покатит и на 0.5А, а компоненты дешевле брать оптом.
Управляется это все с msp430g2553 ( http://www.ti.com/ww/en/launchpad/msp430_head_usb.html ) Сейчас цена на g2553 ланчпад поднята, чтобы он не составлял конкуренции новому, более продвинутому, но так они стоят по 140 рублей с доставкой до порога курьером. Поэтому я его и выбрал. Однако, как оказалось 3.3в и 6мА на ногу, для управления чем-то, а не для общения с другой перефирией через SPI I2C и прочее - маловато. И теперь вот танцую с тем что имею. Коварные TI подсадили меня на свою продукцию, теперь я знаю msp430 почти весь и совсем ничего не знаю про атмеги.
Если честно - машинка мне казалась очень простым элементом в этой системе. Я думал сейчас погуглю - транзистор туды сюда и готово. Фиг мне :)
Спасибо за совет с конвертером, но, если я правильно все понимаю - скорость заряда емкости мосфета остается такой же медленной?
Не пойму, зачем мне вам советовать такую жуткую фигню, если бы она не решала ваших проблем? Скорость заряда будет просто зашибись, если вы соберете любую схему драйвера из этой ветки и запитаете ее от батарей. Если вы это сделаете, то насчет заряда можете вообще больше не вспоминать. Ко входу этой схемы вам нужно подключить ланчпад, но ланчпад трехвольтовый, а схема драйвера шестивольтовая. Чтобы выполнить сопряжение этих разновольтных схем, вам необходим конвертер уровней, который ставится аккурат между ланчпадом и драйвером. Как только вы соедините эти три компонента (ланчпад, конвертер уровней, драйвер) уже ничего не будет вам мешать крутить двигатели из вашего софта, как вам вздумается.
Сейчас я смотрю на вот эту микросхему http://www.irf.com/product-info/datasheets/data/ir4426.pdf для управления только нижними ключами при помощи ШИМа. Верхние ключи можно переключать только по смене направления вращения моторчика, для этого сойдет схема, приведенная Вами, или же моя (с инверсией я справлюсь без проблем). Что думаете по поводу этой идеи?
Я пока не вижу, чем предлагаемое вами решение лучше, чем те, что обсуждались здесь ранее. У вас выходит дороже, хуже по характеристикам, да и вообще это получается совсем другая схема. Чем вас не устраивают здешние схемы?
За краткость простите - путаница в голове. История такова - есть радиоуправляемая машинка с коллекторным моторчиком на ~2.5А от четырёх батареек суммарно на 6В. Так же там есть моторчик на 0.5А, для управления колесами, ну да это не суть. Что покатит на 2.5А - покатит и на 0.5А, а компоненты дешевле брать оптом.
Управляется это все с msp430g2553 ( http://www.ti.com/ww/en/launchpad/msp430_head_usb.html ) Сейчас цена на g2553 ланчпад поднята, чтобы он не составлял конкуренции новому, более продвинутому, но так они стоят по 140 рублей с доставкой до порога курьером. Поэтому я его и выбрал. Однако, как оказалось 3.3в и 6мА на ногу, для управления чем-то, а не для общения с другой перефирией через SPI I2C и прочее - маловато. И теперь вот танцую с тем что имею. Коварные TI подсадили меня на свою продукцию, теперь я знаю msp430 почти весь и совсем ничего не знаю про атмеги.
MSP430 вполне себе неплохие микроконтроллеры, ничем фатально не проигрывающие атмеге. У одного лучше одно, у другого другое, но они решают похожие задачи похожим же образом. Рискую навлечь на себя гнев администрации форума за офтопик, но в качестве отмазки хочу вспомнить, что под определенным углом зрения ланчпад это та же ардуина и при желании можно писать код, который будет одинаково выполняться на обоих платформах и выполнять одни и те же функции. Я конечно говорю про Energia, которая является практически копией среды разработки ардуино, только для MSP430. И тут уже сходство таково, что рекламщики и юристы называют это "до степени смешения".
Вспоминая собственный опыт, могу поведать, что исторически ардуина у меня появилась раньше ланчпада и к моменту появления последнего, я уже умел более менее дрыгать ногами ардуины и проделывать небольшие фокусы на атмегах. Так вот именно благодаря Energia я практически за вечер освоился с ланчпадом на том уровне, что смог с его помощью выполнять какие-то осмысленные действия, а не просто пялится на него, как баран на новые ворота.
Я своей опыт тут привел к тому, что если вы пользовались энергией и у вас есть желание попробовать атмегу, то нет ничего проще. Ардуино уно р3 нынче стоит на том же алиэкспрессе вполне разумных денег, было бы желание.
Если честно - машинка мне казалась очень простым элементом в этой системе. Я думал сейчас погуглю - транзистор туды сюда и готово. Фиг мне :)
Ну драматизировать тоже не стоит, наверное.
PS. У меня сейчас на столе разложены шесть бредбордов с проводами во все стороны, а так бы подоткнул бы какой-нибудь из здешних драйверов, (благо они у меня все есть в готовом виде) к ланчпаду и проверил бы в реальности все то, что здесь советую.
PPS. Кстати, есть разведенные платы под все здешние схемы. Они под smd компоненты, т.ч. если не смущает и есть чем паять, то могу выложить файлики. Что-то в протеусе, что-то в игле, сейчас уже не вспомню. На крайняк, можно и в pdf-е.
Я опять думаю не о том, нужно больше спать. Транзистор перед логической микросхемой не влияет на скорость заряда мосфета, все верно.
А по каким параметрам подход со специализированными драйверами хуже описанного здесь? Кроме того, что он уже испытан Вами как только можно. Не пытаюсь опровергнуть, просто интересуюсь
представь ситуацию. у тебя мост. в мосту стоит двигатель. если просто вклють крутить в любом направлении без шим все норм. и без разницы по большому счету какой драйвер (если все на полевиках). Но если использовать шим со стандартными драйверами то в один момент подается напряжение, а другой нет. и все бы хорошо но когда напряжение не подается, двигатель коротится через драйвер. а так как мотор крутится на нем возникает напряжение эдс (приложи моторчик к языку и покрути почувствуешь). в этот момент двигатель работает как генератор. если генератор закоротить он начнет тормозить. а потом снова подаем крутиться. и получается двигатель то разгоняется, то тормозит, много раз в секунду. драйвера самодельные в схемах выше этого недостатка лишены и двигатель просто свободно вращается при нуле на шим. соответственно момент и скорость получаются выше. длинновато получилось. но надеюсь понятно
Специализированный драйвер мосфета, о нем ведь речь? Вот этот http://www.irf.com/product-info/datasheets/data/ir4426.pdf
Используется только для получения напряжения открытия транзистора нижнего плеча моста из 3.3в, которые выдает мой МК. Остальной функционал, всмысле сигналов, тот же самый. Разница только в преобразовании уровней.
Мне начинает казаться, что вся эта беседа не имеет смысла. Я просто возьму уже готовую схему, приведенную тут и подниму напряжение сигналов до уровня питания логической микросхемы.
Возьмите эту схему и не парьтесь:
http://arduino.ru/forum/proekty/arduino-draiver-motora-dlya-robota?page=1#comment-37564
Отлично работает на разных напряжениях логики и двигателей. Только резистор вместо 470 поставьте 100 Ом, будет еще и шим на 30 кГц работать.
Возьмите эту схему и не парьтесь:
http://arduino.ru/forum/proekty/arduino-draiver-motora-dlya-robota?page=1#comment-37564
Отлично работает на разных напряжениях логики и двигателей. Только резистор вместо 470 поставьте 100 Ом, будет еще и шим на 30 кГц работать.
а ты сам проверял? а5021 кажется проверял. греется изза долгого открывания мосфетов
2 драйвера по этой схеме у меня и работают. Движки от 2х18650 питаются. Ардуина от кроны.
Я проверял. микрухи грелись на высоких частотах ШИМа. уменьшил номинал резисторов до 100 Ом и нормально.
2 драйвера по этой схеме у меня и работают. Движки от 2х18650 питаются. Ардуина от кроны.
Я проверял. микрухи грелись на высоких частотах ШИМа. уменьшил номинал резисторов до 100 Ом и нормально.
у вашей схемы тот же недостаток о чем я писал выше. но я никого не переубеждаю. каждый использует что больше нравится
и еще вопрос. подключаете напрямую к ардуине?
А по каким параметрам подход со специализированными драйверами хуже описанного здесь? Кроме того, что он уже испытан Вами как только можно. Не пытаюсь опровергнуть, просто интересуюсь
Специальные драйвера это конечно хорошо, но вы ими собираетесь, насколько я понимаю, управлять нижними мосфетами. С нижними у вас проблем не будет это точно. Но верхние то куда? На биполяр с резистором в коллекторе? И приходим мы туда, откуда ушли -- время закрытия верхних мосфетов может оказаться недопустимо большим. Настолько большим, что нижние уже успеют открыться, а верхние еще продолжать закрываться. И потечет сквозной ток по вертикали через недозакрытые верхиние и открытые нижние. Даже если не будет сильного разогрева, определенные энергопотери более чем вероятны, что для батарейного питания вопрос отнюдь не последнего плана. Добавить сюда ток через открытый биполяр, который полезной работы не выполняет, и получится, что энергоэффективность данной схемы начинает хромать уже на обе ноги.
Вот и выходит, что уже по трем показателям ваше решение проигрывает: частотные характеристики хуже, энергоэффективность ниже, цена выше. Очевидно надо иметь достаточно веские причины, чтобы отказаться от здешних схем в пользу вашего подхода.
Возьмите эту схему и не парьтесь:
http://arduino.ru/forum/proekty/arduino-draiver-motora-dlya-robota?page=1#comment-37564
Отлично работает на разных напряжениях логики и двигателей. Только резистор вместо 470 поставьте 100 Ом, будет еще и шим на 30 кГц работать.
Если снизить сопротивление до 100 ом, то ток через биполяр возрастет до 0.12A. Иные моторы по столько потребляют, а тут кроме увеличения термодинамической энтропии вселенной более никакой работы. Для стационарного питания это еще терпимо, но для батарей роскошь не совсем уместная.
кроме увеличения термодинамической энтропии вселенной более никакой работы.
А как же уменьшение RC постоянной?
С постоянной все уже лучше. Платим за это повышенной нагрузкой на батареи. Это вроде, как посрезать в доме все краны на водопроводных трубах, чтобы не тратить лишнее время на их кручение.
Если тебе нужно закрывать открывать краны с 31000 раз в секунду вместо 1000 раз :) Ну а батареи - li-ion, им ток не страшен. в разумных пределах.
Вода должна литься лишь тогда, когда мы собрались мыть руки, а ток расходоваться лишь на заряд затвора. Схемы обуждавшиеся здесь обеспечивают последнее условие, а ваша нет. Я совсем не собираюсь говорить, что предложенная вами схема плохая, но не отметить этот недостаток сложно.
Вода должна литься лишь тогда, когда мы собрались мыть руки, а ток расходоваться лишь на заряд затвора. Схемы обуждавшиеся здесь обеспечивают последнее условие, а ваша нет. Я совсем не собираюсь говорить, что предложенная вами схема плохая, но не отметить этот недостаток сложно.
Не совсем пойму о чем вы говорите. Можно для людей недалеких объяснить куда еще расходуется ток кроме заряда затвора?
у вас через открытый транзистор и резистор 100 Ом протекает досточно сильный ток, энергия расходуется впустую. дело ваше- нравится используйте
74-ая серия (да и не только она) хороша в данном случае тем, что выходы у нее построены по схеме полумоста. Похожего, кстати, на мост (повинку моста) здешних драйверов, т.е. верхний p-мосфет и нижний n-. Такая схема лишних токов не расходует, а раз нагрузкой является затвор силового ключа, то в нагрузку отается только электричество необходимое для его заряда. Потерь почти что нет.
Я вот еще чего подумал, а резистор у вас не разогревается? Все-таки 12в * 0,12А = 1,44Вт мощности? Да и осциллограмму на коллекторе было бы интересно посмотреть. Я тут как-то раскачивал высоковольтный мосфет, так там пришлось городить драйвер на транзисторах с общим коллекторм, в импортной литературе известный, как totem pole. Сначала я взя комплементарную пару 2sc945/2sa733, но быстро обнаружил, что они из ШИМ делают полу-ШИМ, просто не успевая переключаться при низких или наоборот высоких коэффициентах заполнения, когда импульсы (положительные или отрицательные соотвествтенно) становятся короткими. Пришлось брать пару 2222А/2907А, у которых диапазон до 300мгц, и тогда проблема с полу-ШИМом отпала. Насколько я помню, у дарлингтонов, которые стоят в вашей схеме, частотные характеристики так же неважные. Интересно, как они справляются с короткими ипульсами.
Я вот еще чего подумал, а резистор у вас не разогревается?
Осциллографа дома нет, поэтому не покажу:).
Сейчас движки питаю от 2х последовательных 18650. Ток через резистор 55 ма при средней нагрузке.
Ток через резистор не зависит от нагрузки и течет всегда, когда открыт транзистор. Если вы питаете схему от семи вольт, то ваша схема утрачивает свое главное преимущество, т.к. здешние от семи вольт тоже великолепно работают.
все понятно. вы fast PWM запрограмировали. сам пытаюсь освоить его. хочу драйвер для фонарика на тиньке сделать, но пока не особо разобрался
Да можно наверное было и FastPWM сделать, но я как-то сразу полез "Phase and Frequency correct PWM mode" крутить, вот он в конечном итоге и получился. Это здесь не особо принципиально.
Я вот только сегодня вспомнил, что есть такая среда разработки для AVR под названием "СodeVisionAVR". Там помимо прочего наличествует весьма симпатичный визард для генерации кода управления таймером (и не только таймером). Сейчас качнул "evaluation version" с их сайта, как раз новая версия позавчера вышла, нужный функционал работает забесплатно. :) Этот колдун мне за несколько кликов сгенерил набор битов для инициализации, которые я выколупывал из даташита фиг знает сколько времени.
Скопипастил прямо в среду ардуины, тот даже не поперхнулся:
Воистину, "хорошая мысля приходит опосля". :) Таким вот нехитрым образом можно пользовать практически весь функционал атмеги, который посредством стандартного языка ардуино недоступен вообще никак.
тенденция интересная. а не могли бы вы используя стандартную библиотеку измерить частоту шим со стандартной библиотекой? если не ошибаюсь частоты очень низкие будут
Ничего не понял. Я не писал кода для захвата и измерения частот и параметров ШИМ. Может вы имели ввиду измерить обороты движка, генерируя ШИМ с помощью стандартной библиотеки? Так там действительно частоты никуда не годятся. Только посмотреть, что такое ШИМ вообще. Двигатель довольно громко и противно пищит и свистит на звуковых частотах ШИМ.
я вот тоже решил попробовать. что то не получилось. иде ругается
выдает ошибки. проц тинька 13
может кто подскажет что я делаю неправильно, хотя человек вставлял код и у него все хорошо
попробовал вместо
сделать через регистры, но ругается сволочь все равно
Попробуйте перенести строчки инициализации в setup().
Так же проверьте, нужно ли вообще устанавливать значение в регистр DDRB, чтобы работал шим, и если нужно, то логично это сделать до инициализации таймера. Это не должно вызывать ошибок компиляции, но вполне возможно будет работать не так как ожидается.
Тут был даблпост
да уже сделал. забыл написать. действительно если вставить в setup то все норм. но все равно спасибо
Там я почему-то не указал, где это все нужно располагать. В статье про паяльную станцию инициализацию пользовательского таймера уже точно указывал в setup().
По поводу этой схемы из 88ого поста . Мне кажется, что в блоке AO4606 перепутаны транзисторы. Сверху, между питанием и мотором стоит N-канальный, а снизу, между мотором и нулем стоит P-канальный. Опираясь на информацию из этой статьи, возникает мнение что они не будут открываться. А если поменять их местами - все становится правильно.
Проверьте пожалуйста? Руки дошли наконец до платы :)
да нет. все правильно вроде. не увидел ошибки. смотрите на диоды в транзисторах. если наоброт включить ток потечет через диоды/, а транзисторы работать не будут
Нет, не перевернуть сток исток, а переставить местами N-канал, P-Канал. Верхнее и нижнее плечо
Нет, не перевернуть сток исток, а переставить местами N-канал, P-Канал. Верхнее и нижнее плечо
ну раз так считаете возьмите протеус и протестируйте
Я так и делал, в протеусе та схема не работает, там транзисторы неправильно нарисованы
ну если неправильно поменяйте и проверьте
хотя вроде все правильно
Лично мне схема не нужна, видимо Вам она тоже не интересна, а в если кто то будет повторять, что нибудь сожжет, дело Ваше.
у меня сильное похмелье и проверять сейчас я не собираюсь. дело ваше использовать или нет
Я так и понял, после нас хоть потоп
почитай выше. а5021 ее тестировал в железе. так что твои выводы о неправильной схеме необоснованы,
Если ты попробуешь нарисовать свою схему в протеусе, ты всё сам поймешь. Точка, пиши что хочешь
Вот так курьез. Столько времени никто, и я в том числе, не замечал, что направления стрелок на символах мосфетов перепутаны. Нижние мосфеты это N-канальные и стрелка должна идти по направлению к затвору. На верхних, P-канальных, соответственно, от затвора.
В свое оправдание могу сказать лишь то, что я собирал устройства по схемам собственной отрисовки и там мосфеты из библиотек, т.ч. просто не обратил внимания.
Все схемы проверены в железе и все до единой работают, как положено.
Вот спасибо хорошо! У меня просто нет протеуса, и чем это смоделить - не знаю. Стал разводить плату и искать на соответсвие мосфеты по схеме и мосфеты из даташита на AO4606, чтобы найти выводы и что-то не срослось. Стал гуглить и нашел что нашел, но уверен в ошибке на схеме не был, может я просто чего-то не так понял.
Возьму на себя смелость исправить схемы для будущих поколений :)
Для одного мотора:
Для двух моторов:
Хорошо бы еще номера выводов на мосфетах проставить, чтобы уж совсем конкретно было. На нижней схеме номерки поправить, а то там dir1 и pwm1 два раза, вместо того, чтоб нижние были dir2 и pwm2.
Может кто плату уже делал для последних вариантов ( интересует одноканальный ) - поделитесь?
Может кто плату уже делал для последних вариантов ( интересует одноканальный ) - поделитесь?
так развести эту плату несложно. попробуйте сами и увидите
Как выяснилось, не так-то просто - получается много пересечений или межслойных переходов, а хотел одностороннюю. Ставить вагон smd "нулисторов" как-то не очень. Правда это первый опыт общения с DeepTrace.
кинь ссылку на твою плату гляну. правильность подключений только на твоей совести
Потихоньку получается вроде, вот поглядите:
Ссылка
Переставил местами элементы в hc08d, что на входы AO4606 - вроде срослось. Затык пока с входной частью.
ps
на нашёл как вставить файл не_картинку, если что извиняюсь за cloud.
http://yadi.sk/d/CXjuENmaEEwun
увидите в папке. но там один момент зависит от ваших точности изготовления. если так не сможете добавляйте нулисторы
только проверьте по схеме. может где ошибся. я не перепроверял
+ кондеры забыл. сами добавьте
++ только возле выходных транзисторов. там сверху справа можно легко подключить
Блин, ну вы даёте, оперативно.
Вот так хитро разместить элементы в 08, где и одна сторона микрухи вход-выход и другая я не догадался. Заклинило, что-то - входы на однй стороне, а выходы на другой. Как все проверю-доделаю выложу.
Кстати, а как вы 3D картинку сохранили, там вроде только в VRML экспорт или я не нашёл?