Управление нагрузкой свыше 10 ампер 12 вольт ШИМ
- Войдите на сайт для отправки комментариев
Есть большое желание управлять авто размером 1метр "для ребенка до 6лет в полный рост, куплен а детском магазине" уже укомплектованного аккумулятором двигателями тяги, вперед, назад и приводом поворота руля. Есть плата Freeduino Through-Hole на (ATmega328), есть к ней плата Ethernet Shield v2 и плата Motor Shield v3. А также для обеспечения связи с внешним миром и стыковки IP камеры есть WiFi Роутер Mikrotik RB751U-2HnD. Стыковку силовых частей авто с низкотоковыми цепями платы я организую. Приблизительно думаю это должно выглядеть так. Страничка размещенная в интернете открываясь в браузере показывает окно с видео камеры, что на машинке установлена и читает состояние клавиатуры, (клавиши вверх вниз право лево) от состояния нажато или отпущено. Устанавливает первый или второй или третий и т.д. бит в пересылаемом байте на адрес ардуино, в ноль или единицу.
Ардуино в свою очередь должен принять данный байт и (в соответствии с данными битами взятыми из байта) переключить двигатели в нужное направление (возможно в цикле с нарастанием скорости при одноименных данных) Так вот Никак не пойму как мне заставить принимать UDP пакет и вытаскивать из него этот байт. и далее посылать на движки.
Может кто сталкивался с таким вопросом помогите пожалуйста.
P.S. У меня есть знакомый программист он напишет страничку и заставит её выполнять часть связанную с формированием байта и отправкой его по адресу. (Я сам настрою на микротике проброс порта в ардуину, на серый адрес, у микротика естественно будет белый или на крайний случай, тунель до сервера где страничка.
были проекты по управлению веб-камерой (сервами), думаю по тому же принципу...
habrahabr.ru/blogs/DIY/108058/#habracut
robocraft.ru/blog/projects/345.html
Спасибо за ответ!
Первую статью читал, так и не смог разобраться как мне (не с сервами работать), а с DC двигателями. И как правильно читать пришедший пакет. Может чтото пропустил.
Вторую завтра на работе посижу почитаю, если опять ничего не пойму, буду просить помощи снова.
С кодом понемногу начинаю разбиратся! Но тут встал другой вопрос ребром. Мотор котрым нужно управлять потребляет при 12 вольтах порядка 20 Ампер как мне согласовать мой мотор шилд с такими большими токами. Пробывал ставить полевеки мощные как усилительный каскад комплементарной парой, возникают сквозные токи огромные. Никак неразберусь. Мошет есть рабочая схема такого девайса.
может как-то так?
arduino-ru.blogspot.com/2009/02/220.html
robocraft.ru/blog/arduino/223.html
Да нет же! 220 как раз все просто! Интересует именно постоянка 12Вольт и ток порядка 20Ампер. Тут нужна правильная схема. Я тут осцилографом посмотрел что творится при шим управлении на выходах с мотор шилда при его плавном разгоне и остановке, вперед и назад. И вот что увидел: когда мотор стоит оба выхода = 0 Вольт.
вправо----- 1й выход пошол положительные импульсы шим от 0% до 100% скважности и потом обратно, 2й все это время стоит = 0 Вольт.
влево-------2й выход пошол положительные импульсы шим от 0% до 100% скважности и обратно, 1й все это время стоит = 0 Вольт.
Это удовлетворяет полностью этой схеме. Сквозных токов не будет я прям уверен. Если не прав поправьте меня.
Полевеки можно приметить получается хоть на 200 ампер.
Эта схема будет работать только при управляющем напряжении 12вольт и питании 12вольт.
Если питание поднять выше скажем 24вольта или больше. Нужен будет и усилитель напряжения по сигналу управления до этой амплитуды.
Завтра надеюсь хватит времени спаять схему и получить результат.
Поигрался я сегодня с полевиками вот что получилось!
В данной схеме исключено влияние от не остановившегося двигателя на затвор ведомого плеча.
Работает как часы, с холодной точностью. Даже осцилограмма очень нравится.
Для увеличения мощности спаралелю полевики и все будет работать на 20 ампер.
Жаль конечно что все пришлось делать самому на форуме так никто дельного совета не дал.
Но есть и приятная сторона! Мой друг Рома "master-uri" На данную схему сделал разводку платы и любезно предоставил мне ее для изготовления. Мой первый опыт изготовления плат с помощью лазерного принтера и утюга оказался успешным. Плата заработала как и было запланировано. Без каких либо сбоев. фото выкладываю.
Да еще, если есть желание запускать с помощью АРДУИНО мощные 12 в движки можно воспользоваться этой наработкой. Если нет желания самому изготавливать можно написать Роме на его страничке "master-uri.narod.ru"
или мне. Есть 3 видео как это все работает 1. "http://www.youtube.com/watch?v=ZNfuH_3eigY&feature=youtu.be" 2. "http://www.youtube.com/watch?v=akNuV18lBG0&feature=youtu.be" 3. "http://www.youtube.com/watch?v=w8JlNk4SqQY&feature=youtu.be"
Ребята, а почему не лучше использовать герконовое реле? Вообще всё очень просто выходит, и можно серьезными токами управлять. Ресурс у него - вроде как пара миллионов открытий/закрытий, поэтому должно хватить)
Ребята, а почему не лучше использовать герконовое реле? Вообще всё очень просто выходит, и можно серьезными токами управлять. Ресурс у него - вроде как пара миллионов открытий/закрытий, поэтому должно хватить)
Частоту переключения реле не подскажете?
Более 500 раз в секунду (это на звук определил примерно)
Кто не знает - герконовым реле можно легко сделать генератор звука, без чего либо остального, правда фиксированной частоты) Если инетересно могу объяснить как)
Определяющим параметром для генерации ШИМ является не сама частота (которая в версии Arduino, кстати, ок. 490 Гц), а время пульса и паузы соответственно. При скважности, близкой к 0(100)% требуется коммутировать микросекундные пульсы(паузы). У доступных в торговой сети герконовых реле, способных коммутировать более-менее сильные токи, время срабатывания/отпускания контакта 2-3 мс. Генерировать ШИМ-сигнал 40-60% может быть и получится, а вот остальной диапазон вызывает сомнения.
Кроме того, опять-таки для доступных в продаже герконовых реле коммутируемые напряжения велики - 1000 и более В, а вот токи всего 1, максимум 3 А. Дадите больший ток - начнут быстро обгорать контакты.
Ну, и наконец ресурс. Гарантированный - 10^9 "сухих" коммутаций (без коммутируемой мощности). Число вроде бы огромное. Но на частоте ок. 500 Гц этот миллиард коммутаций вырабатывается за 2 млн секунд. Или за 556 часов. 69 восьмичасовых смен. Требуется ежеквартальная замена. А если коммутируемая мощность ок. 50 Вт, то ресурс уже 10^6. Полчаса работы.
Данные по паспорту самого мощного герконового реле, которое нашлось в ЧипДипе - DAR70510
Ребята, а почему не лучше использовать герконовое реле? Вообще всё очень просто выходит, и можно серьезными токами управлять. Ресурс у него - вроде как пара миллионов открытий/закрытий, поэтому должно хватить)
Я не встречал герконовое реле расчитаное на большие токи.
Большие это 10 ампер? Легко :)
В моей схеме рассматривается возможность управления двигателем постоянного тока, а соответственно и возможность вращения в разных направлениях при больших токах и управлении ШИМ.
Схема мостовая и при первом залипании реле будет короткое замыкание, чего категорически допускать нельзя работая с такими токами.
Данный схемный вариант родился в моей голове при рассмотрении разных схем управления приводами.
Мне кажется это достаточно бюджетное решение и мастабируемое в сторону увеличения тока.
Конечно при наличии правильно растущих рук.
По крайней мере проверенное в лабораторных "так сказать условиях", а в скоре будет испытано на настоящем прототипе, сейчас немного подвис на програмировнии ардуины, но это все решаемо. Как только поедет кататся машинка, отпишусь может и видео выложу.
Большие это 10 ампер? Легко :)
Ссылку можно?
На схеме транзистор написано 315 - это КТ315?
Чем можно AOD609 заменить?
Нету ли у Вас lyt файла петной платы?
СПАСИБО!
Да транзистор был взят самый обычный КТ315Г. AOD609 применены только по тому что они имеют логическое управление т.е. ему достаточно 5в для открытия. И к тому же он уже комплементарная пара в одном корпусе.
Покупался на Митино в PL-1 павильоне. Можно заменить Логически управляемыми мощными полевиками, но разной проводимости. Круче было бы конечно все применить с проводимостью N они круче. но придется использовать драйвер. Можно конечно попробывать.
Файлы конечно есть.
Звоните или Пишите.
89250052419 sermaster24@mail.ru Сергей.
Вот и первые тесты пройдены успешно!
http://www.youtube.com/watch?v=9CgayZiUXxg&feature=youtu.be
http://www.youtube.com/watch?v=w9V_jPymnEY&feature=youtu.be
http://www.youtube.com/watch?v=Hy-ThRCEqSQ&feature=youtu.be
Вот и код который с огромным трудом был написан ЭТО ПЕРВЫЙ МОЙ КОД!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Если есть что раскритиковать то очень жду ваших сообщений.
Очень неплохой код)
К модели бы еще вебкамеру да 3g модуль + пара авто аккумуляторов и можно будет в другой город посылать)
Камера на ней есть Beward N1000 очень неплохая модель. И все остальное реализовано как в заголовке темы.
Есть возможность в микротик в USB порт воткнуть GSM модем самый распространенный любого сотового оператора и установить тунель через интернет, хоть к себе домой, хоть на сервер в дата центре и иметь всегда связь с машиной.
В будущем думаю GPS на ней организовать.
И можно парктроник поставить чтобы не врезалась, если водитель только учится.
Для парктроника можно ультразвуковые дальнометры или ик. Благо библиотека есть, все есть)
Код и правда очень граммотный. Автор - молодец. Как раз ищу принцип работы по юдп пакетам, для управления дроидом , правда через вэб интерфейс, так сказать кроссплатформенность, дабы софтину не нужно было таскать. Спасибо, очень полезная информация.
Спасибо за похвалы! Сейчас у меня появился друг. Можно сказать в одной организации работаем, так он сказал что этот код можно оптимизировать во многих моментах он очень хороший програмист в отличии от меня! Так что как только будут появлятся новые интересные поделки буду выкладывать! Кстати есть устройство уравления 104 светодиодами на сдвиговых регистрах. очень прикольная штука получилась. доделаю до конца и выложу фотки и видео.
Вот наткнулся на метод изменения частоты шим, если контролер этого не позволяет! Очень понравилось решение!
http://we.easyelectronics.ru/Shematech/generator-pwm.html
Буду использовать для своих целей!
Если не понятно что, пишите в личку поясню!
Да кстати научился изготавливать драйвера мощные на VNH5019 очень хорошо работают!
И тут же сразу все остальное развел: Мегу 328р и TF232RL причем ICSP тоже предусмотрел для прошивки нового чипа загрузчиком ардуино!
Да кстати научился изготавливать драйвера мощные на VNH5019 очень хорошо работают!
30 Ампер очень даже не плохо!
Сегодня научился запускать моторы без нудного писка от шима!
Все мучения от того что было описано выше!
Счетчики в ардуине нельзя перестроить плавно!
Только определенными большими шагами!
Пришлось сделать плату преобразователья частоты шим!
Получилось очень даже не плохо! Моторы работают как и работали только никакого писка больше нет!
Есть плата разведенная в SL5. Пришлось некоторые парамертры доводить после сборки и отладки для стабильности работы. Есть осцилограммы! При принудительном нагреве платы до 120 градусов, частота на выходе уходит с 17200Гц до 17600Гц Думаю что это совершенно не кретично, при условии работоспособности большинства моторшилдов до 20000Гц. Скважность идентичная входящей.
В общем, полезная штука. Но я бы поменял тактирование таймеров (программно), если, конечно, нет завязок на функции, использующие таймеры (скажем, delay())
В том и проблемма! я хочу чтобы на слух не слышео было моторы и не выше 20Кгц. А можно выставить как сказано тут http://arduino.cc/playground/Code/PwmFrequency
и с подробностями вот тут http://arduino.ru/forum/obshchii/shim-ili-kak-vzorvat-mosfet
0x01 1 62500
0x02 8 7812.5
0x03 64 976.5625
0x04 256 244.140625
0x05 1024 61.03515625
TCCR0B = TCCR0B & 0b11111000 | <setting>;
Pins 9 and 10: controlled by timer 1
Setting Divisor Frequency
0x01 1 31250
0x02 8 3906.25
0x03 64 488.28125
0x04 256 122.0703125
0x05 1024 30.517578125
TCCR1B = TCCR1B & 0b11111000 | <setting>;
Pins 11 and 3: controlled by timer 2
Setting Divisor Frequency
0x01 1 31250
0x02 8 3906.25
0x03 32 976.5625
0x04 64 488.28125
0x05 128 244.140625
0x06 256 122.0703125
0x07 1024 30.517578125
TCCR2B = TCCR2B & 0b11111000 | <setting>;
Невозможно заствить счетчики работать в промежутке от 20Кгц и скажем до 16Кгц ( то что уже не слышно обычному человеку)
Можно только на 2х счетчиках вытавить 31Кгц или сразу 3,9Кгц (ниже не смотрю) на другом счетчике 62Кгц или 7,8Кгц (ниже тоже не смотрю).
и так по порядку:
62Кгц и 31Кгц --- Драйвера моторов работать не будут они до 20Кгц
7,8Кгц и 3,9Кгц -- Очень даже слышно!!!!!!!!!!!!!!!!!!!
По моему мнению преобразование частоты на такой вот маленькой плате, очень оправданно!
Невозможно заствить счетчики работать в промежутке от 20Кгц и скажем до 16Кгц ( то что уже не слышно обычному человеку)
Ну это если только игнорировать документацию Атмела...
А если все же вспомнить, что ардуино - это изначально ATMega, то...
Выбираем CTC-режим работы счетчика, загружаем предделитель 8 и получаем реденький, но все же набор удовлетворяющих ваш драйвер частот:
16,1 ... 16,4 ... 16,7 ... 16,9 ... 17,2 ... 17,5 ... 17,9 ... 18,2 ... 18,5 ... 18,9 ... 19,2 ... 19,6 ... 20,0 кГц
(стр. 101 "большого" даташита на ATMega48/88/168/328).
Дискретность ШИМа, конечно, будет пониже (50-60 уровней в зависимости от выбранной частоты), но вы едва ли почувствуете рывок при изменении мощности на 1,5-2%...
Как здорово что есть люди, готовые помочь более простым путем, решить казалось бы невыполнимую задачу!
Спасибо вам огромное!
Только как это в скетче указать? или нужно загрузчик дуины править, как выбрать тот самый режим CTC счетчика?
вопрос автору а сделать регулятор не на 30 ампера на 150 возможно. буду благодарен если подскажите а то только сегодня об этом думал. Просто увлекаюсь радиоуправояемыми моделями и там такие большие токи.
Думаю что все в нашей жизни возможно.
Вот например есть же устройства типа http://www.parkflyer.ru/product/8920/
Я себе такой покупал. Работает хорошо. Разобрал посмотрел. Тма полевики стоят по 6 штук паралельно в каждом полумосту.
Управляются какими-драйверами и микроконтроллером.
Вопрос постороения мощного драйвера скорее всего будет заключатся в правильном управлении такого количества полевиков.
На счет радиоуправляемых моделей если это не то на что я ссылку выложил, то где такие токи самому интересно узнать?
Если что пишите в личку обсудим.
http://www.parkflyer.ru/product/182195/?refcat=20075
я пользуюсь таким просто хочется сделать самому чтоб в случаи чего можно было и ремонтировать. до этого делал на модель свет(читал 3 канала пульта и в зависимости от сигналы выполнял опред ltqcndbz), пульт( на xbee) и телеметрию (сделал но не собрал воедино) . давно витает идея насчет рега
а как в личку писать?
Вопрос постороения мощного драйвера скорее всего будет заключатся в правильном управлении такого количества полевиков.
Добавлю, что мощные полевики, особенно запараллеленные, имеют значительную входную емкость, которую нужно быстро перезаряжать для быстрого переключения полевика. Максимум рассеяния на полевике происходит именно во время переключения. Если переключать медленно, он сгорит. Так что проектирование мощных ключей - задача для электронщика, соображающего, что такое интегральная мощность рассеяния ;)
На самом деле, все можно посчитать. Обращайтесь.
а от чего они сгорают. Кстати часто горят из-за пиковой большой нагрузки в момент старта.
Вот от этого и перегорают - кристалл перегревается быстрее, чем открывается - не хватает скорости открытия.
как боротся???
Применять "правильный" драйвер, который расчитан на нужную динамическую входную емкость выходника.
а какие есть варианты для пиковой нагрузки в 150 ампер и нормальной работы на 120 при 17 вольтах напряжения
а какие есть варианты для пиковой нагрузки в 150 ампер и нормальной работы на 120 при 17 вольтах напряжения
Писать можно на email sermaster24@mail.ru Но вот на счет того чтобы сделать образец с лучшими параметрами, при тех же размерах и том же весе, и конечно дешевле чем серийный, даже незнаю как сильно нужно постараться,
Если есть допуски в весе и в размерах тогда стоит задумтся, У меня опыта скорее всего поменьше будет по сравнению с предыдущим отвечающим, Но готов помоч всем чем смогу.
ну пока о весе и размер не идет разговора. главное попытаться сделать и чтоб работал
Только как это в скетче указать?
Процедура - как при работе с любым подключаемым устройством или не использовавшейся ранее функцией микроконтроллера:
- продумать схему, по которой будет использоваться вновь осваиваемая функция. Вариантов, как правило, достаточно много. Универсальных рецептов на все времена и для всех мыслимых условий применения - нет.
- прочитать соответствующий даташит(-ы) или раздел(-ы) в нем.
или нужно загрузчик дуины править,
Не нужно - все делается в скетче
как выбрать тот самый режим CTC счетчика?
Ответ на этот вопрос дает даташит на микроконтроллер.
Таймеры в AVR настраиваются на нужный режим установкой соответствующих битов в регистрах TCCRnA/TCCRnB (где n - номер соответствующего таймера). Например, для таймера/счетчика0 устанавливаем:
Если же хочется работать с T/C2, то пишем
И все - соответствующий таймер/счетчик готов к работе в режиме CTC. Остается лишь написать пяток строк в процедуре обработки прерывания по сравнению (TIMERn_COMPx_vect; где n - 0/1/2, а x - A/B) и примерно столько же (ну, может быть, десяток) в теле основного скетча и можно пользоваться ШИМом на нестандартных частотах.
Для мненя как начинающего програмиста (ну совсем начинающего) Не сразу все понятно.
Мне было быстрее и проще придумать схему аппаратного решения.
Оставив а ардуине все как есть.
Но понимать и уметь реализовать за счет самой меги конечно бы хотелось.
И вот вопрос а не заденет ли этот сетчик стандартные функции типа RX-TX?
Для тех, кто не силен (пока) в программировании, но хочет освоить, рекомендую посмотреть библиотеку AFMotor - там можно задавать разные частоты PWM: (из AFMotor.h)
Интересует шилд (ну или решение) для управления двумя эл. двигателями постоянного тока.
Исх. данные:
1. Эл.двигатели - номинальный режим 12В, 5А, максимальный режим 15В, 10А (обороты неизвестны - двигатели по типу эл.двигателя стеклоочистителя автомобиля)
2. Возможность задать плавный пуск, плавный останов.
3. Возможность задать медленное вращение
4. Возможность задать максимальные обороты
5. Возможность задать реверс
Было бы неплохо также, какую-то защиту по току.
Вот типа такого, что нибудь:
http://www.ebay.com/itm/DC-3V-15V-30A-Dual-channel-H-bridge-Motor-Driver...
Правда я не знаю, может он п.2-5 моих требований выполнить.
Это вам несомненно подойдет! Но если руки у вас прямые и пояльник держать можете то куда дешевле собрать на вот таких микросхемах http://platan.ru/cgi-bin/qwery_i.pl?code=VNH5019 они более универсальны.
Нужна печатная плата пишите на мыло!