roboforum.ru

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

Управление двигателем от кулера

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

Re: Управление двигателем от кулера

Сообщение ADonis » 25 ноя 2010, 09:28

Ясненько, спасибо, буду крутить дальше, где я напорол :)
В гугле есть все! Даже то, чего еще нет!

Не спорь с холостяком о макаронах!
Аватара пользователя
ADonis
 
Сообщения: 106
Зарегистрирован: 30 дек 2009, 08:16
Откуда: Омск
Skype: hedgehoguse

Re: Управление двигателем от кулера

Сообщение Myp » 25 ноя 2010, 09:43

ну явно МК считает грязные импульсы

на картинке последней видно что верхний фронт лишь обрезан звуковухой, нижний фронт наглядно показует что импульсы всё равно остались грязными.
если поставить резистор к фототранзистору будет видно что импульсы всё равно грязные.
надо шаманить над качеством входного сигнала.
попробовать резисторами подтянуть его вверх чтобы провалы не принимались за ноль.

ещё можно взять максимально возможную скорость, высчитать длительность импульса минимально возможную, и поставить ограничение на повторное срабатывание прерывания чуть меньше чем это число.
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Управление двигателем от кулера

Сообщение ADonis » 25 ноя 2010, 10:15

Чуть отвел в сторону фотодиод, снял показания со светодиода, вот такой сигнал поступает на вход МК, как его лучше "выправить" аппаратно?
Импульсы с тахометра3.JPG
В гугле есть все! Даже то, чего еще нет!

Не спорь с холостяком о макаронах!
Аватара пользователя
ADonis
 
Сообщения: 106
Зарегистрирован: 30 дек 2009, 08:16
Откуда: Омск
Skype: hedgehoguse

Re: Управление двигателем от кулера

Сообщение boez » 25 ноя 2010, 12:07

Да вроде нормальные импульсы. Попробуй вообще вместо кулера подключить к этому счетному входу выход ШИМ МК, настрой ШИМ на 50% и нужную частоту и тестируй (меняя частоту во всем диапазоне, ну и может еще заполнение в пределах 25-75%.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: Управление двигателем от кулера

Сообщение ADonis » 25 ноя 2010, 12:08

Блин, вот я протупил, точно! :) Спасибо, можно ж так протестить! :)
В гугле есть все! Даже то, чего еще нет!

Не спорь с холостяком о макаронах!
Аватара пользователя
ADonis
 
Сообщения: 106
Зарегистрирован: 30 дек 2009, 08:16
Откуда: Омск
Skype: hedgehoguse

Re: Управление двигателем от кулера

Сообщение boez » 25 ноя 2010, 12:10

А, хотя там один фронт вроде как грязноватый. Попробуй RC-цепь перед входом поставить, R*C возьми скажем одну пятую минимального периода импульсов.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: Управление двигателем от кулера

Сообщение ADonis » 25 ноя 2010, 12:12

Тока что перекинул на шим эту ногу, так и есть, гонит! Значит надо в прошивке что-то менять :)
В гугле есть все! Даже то, чего еще нет!

Не спорь с холостяком о макаронах!
Аватара пользователя
ADonis
 
Сообщения: 106
Зарегистрирован: 30 дек 2009, 08:16
Откуда: Омск
Skype: hedgehoguse

Re: Управление двигателем от кулера

Сообщение ADonis » 26 ноя 2010, 10:38

Начал проверять прошивку ШИМом, оказалось, что при частоте больше где-то 20 Гц, она начинала показывать всякую фигню. Проблема оказалась в выводе данных на экран (висело на том же таймере), вынес нафиг этот код наружу, заодно подравнял его кривость маленько, стало работать :) Только не совсем пойму, как там считаются "тики"... Сколько "тиков" один оборот. В даташите на FS276 не нашел, но это дело поправимое. По-моему, иногда не досчитывает все "тики", наверное, надо фильтровать входящий сигнал. Думаю, что смогу поправить.
Теперь буду думать, как рулить скоростью двигателя. Питание на саму FS276 нужно подавать постоянно, а вот на двигатель через ШИМ, верно же?
Но если повешать один КТ972А напрямую на двигатель, то он же не даст необходимый ток? Или лучше все вешать через драйвер? Стандартный L293 подойдет же?

Спасибо всем за ответы и советы! :)
В гугле есть все! Даже то, чего еще нет!

Не спорь с холостяком о макаронах!
Аватара пользователя
ADonis
 
Сообщения: 106
Зарегистрирован: 30 дек 2009, 08:16
Откуда: Омск
Skype: hedgehoguse

Re: Управление двигателем от кулера

Сообщение Myp » 26 ноя 2010, 11:14

прямо шим и подавать на эту FS276 через мосфет
так в компе работает.
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Управление двигателем от кулера

Сообщение boez » 26 ноя 2010, 13:24

Ага, токо в компе при таком управлении показания частоты иногда "бесятся" - например мой кулер на оборотах от 1000 до 3000 имеет нормальные показания, а где-то в районе 900-1000 счетчик в чипсете вдруг "дуреет" и показывает цифры около 50000 об/мин. Где-то это было описано, что правильные показания во всем диапазоне имеют только четырехпроводные кулеры, у которых 12 вольт подаются постоянно, а ШИМ идет отдельным 4-м проводом. А вот как устроен 4-проводной кулер внутри - я не знаю...
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: Управление двигателем от кулера

Сообщение ADonis » 26 ноя 2010, 13:31

Ну, обороты двигателя держать надо в пределах 1200-2000 rpm. Вот полевик найти не могу, чтобы можно было его прям ногой МК открывать. Пока в наличии есть только 40N03P.

Добавлено спустя 3 минуты 24 секунды:
Нашел как делал rig: download/file.php?id=16017&mode=view
Как раз мой случай :)
В гугле есть все! Даже то, чего еще нет!

Не спорь с холостяком о макаронах!
Аватара пользователя
ADonis
 
Сообщения: 106
Зарегистрирован: 30 дек 2009, 08:16
Откуда: Омск
Skype: hedgehoguse

Re: Управление двигателем от кулера

Сообщение boez » 26 ноя 2010, 13:42

Да, и у тебя не получится открывать один полевик ногой МК, он же к +9 подключен. Нужно минимум два транзистора. "Нижний" - полевик n-канальный или биполярный npn маломощный. "Верхний" - собственно ключ, p-канальный полевик или pnp биполярный. Хотя можно и схему наподобие этой http://forum.ixbt.com/topic.cgi?id=30:19230:69 соорудить.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: Управление двигателем от кулера

Сообщение ADonis » 26 ноя 2010, 13:47

а вот прочел, что irlml2502 можно ногой МК дергать.... или я туплю? не совсем понимаю пока как включается полевик в схему :)
В гугле есть все! Даже то, чего еще нет!

Не спорь с холостяком о макаронах!
Аватара пользователя
ADonis
 
Сообщения: 106
Зарегистрирован: 30 дек 2009, 08:16
Откуда: Омск
Skype: hedgehoguse

Re: Управление двигателем от кулера

Сообщение Myp » 26 ноя 2010, 16:03

все вопросы про полевики а так же как их дёргать есть в теме про то как работает транзистор :)
там аврчик даже картинки со стрелочками рисовал)
irl прекрасно управляются прямо ногой МК.
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Управление двигателем от кулера

Сообщение ADonis » 01 дек 2010, 12:22

Собрал на IRL 2502, все работает офигенно :)
Правда схема сейчас на навесном держится и не соблюдены все сопротивления, как надо :oops: мое слабое место :)

Движок крутится, ничего не греется. Так же докрутил обратную связь, теперь ШИМ регулирует обороты. Красяво :)
Кстати, как правильно делать обратную связь? У меня работает по принципу:

С=(Qнорм - Qдвигателя)^2/10, где
C - малая ошибка
Qнорм - константа, нормальное количество оборотов, которое должно быть
Qдвигателя - количество оборотов полученное за единицу времени

Единицей времени считается 1/4 секунды
Потом эту малую ошибку прибавляю к регистру OCR1BL. Все вычисления производятся в обработчике прерывания. В коде выглядит вот так:
Код: Выделить всёРазвернуть
x=((RPS-ttcount)^2/10);//маленькая добавка
OCR1BL=OCR1BL+x;
В гугле есть все! Даже то, чего еще нет!

Не спорь с холостяком о макаронах!
Аватара пользователя
ADonis
 
Сообщения: 106
Зарегистрирован: 30 дек 2009, 08:16
Откуда: Омск
Skype: hedgehoguse

Пред.След.

Вернуться в Новичкам или основы основ роботостроения.

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

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