Страница 2 из 5

Re: Подключение шагового двигателя к микроконтроллерам AVR

Добавлено: 02 фев 2015, 13:47
AntonChip
Valeriy писал(а):Все-таки, если не трудно, первый вариант реализуйте. Там мне почти ничего переделывать не надо, только дополнить транзистор и резистор в схему. Я пытался сам переделать код, но не получается.
Не могу вникнуть в суть дела, нарисуйте схему, будет понятнее

Re: Подключение шагового двигателя к микроконтроллерам AVR

Добавлено: 02 фев 2015, 15:26
passlight
Valeriy писал(а):
passlight писал(а):Добрый день ребята. Схему взял из шапки. Транзисторную часть заменил UNL2003...подойдет, будет работать?
Вопрос по прошивке bipolar_step_motor_2.rar...можете выложить готовый HEX или как его скомпилировать и какие фьюзы выставлять для атмеги8?
подскажите пожалуйста, буду благодарен.
Скачайте программу "AVR Studio 4". Как получить в ней HEX файл расписано в интернете, я прошел через это. Через нее выставите и фьюзы и саму программу. Очень легко. Про фьюзы написано в тексте. Нужно выставить у новой микросхемы внутренний генератор на RC и частоту 8 МГц. Остальное по умолчанию. В первом сообщении во вложении есть HEX файл. Внимательно просмотрите папку "default"
так этот HEX я просто шью в мегу? я просто еще не прошивал меги, по этому и спрашиваю. а что по поводу замены транзисторной части на 2003?

Re: Подключение шагового двигателя к микроконтроллерам AVR

Добавлено: 02 фев 2015, 17:50
Valeriy
Антон!
Наверное, это не так просто скорректировать программу под мою задачу. Я воспринимаю Ваше молчание как отказ? Если у Вас нет времени или желания этим заниматься, пожалуйста, дайте мне знать. К сожалению, я уже переделал часы на эту схему - понадеялся, что все работает отлично. А сейчас опять надо будет что-то предпринимать. Очень жаль.

Re: Подключение шагового двигателя к микроконтроллерам AVR

Добавлено: 02 фев 2015, 18:46
Valeriy
Антон!
Если я Вам еще не надоел, еще раз прошу вас помочь. Очень надо!
Задача следующая. Сейчас напряжение на обмотках Ш.Д. в режиме ожидания отключается. Надо сделать так, чтобы на обмотке , на которую пришел последний такт (шаг), напряжение осталось. Это необходимо для того, чтобы ток, проходящий по этой обмотке в режиме ожидания, тормозил двигатель. А для снижения тока в режиме ожидания применится схема подачи плюса на общий провод Ш.Д. через мощный транзистор, зашунтированным мощным резистором. Управление транзистором должно идти через свободный порт РВ5 МК. Для этого надо в код добавить строки на подключение единицы на РВ5 в режиме прокрутки двигателя. При прокрутке двигателя ток максимальный, а в режиме ожидания на одну обмотку (на которой остановился двигатель) через резистор будет подаваться напряжение, создающее ток удержания.
Схему (от руки) прикрепляю.

Re: Подключение шагового двигателя к микроконтроллерам AVR

Добавлено: 02 фев 2015, 19:22
Valeriy
так этот HEX я просто шью в мегу? я просто еще не прошивал меги, по этому и спрашиваю. а что по поводу замены транзисторной части на 2003?[/quote]


По поводу 2003 не скажу. Мне кажется, что она слаба по выходным транзисторам. Знаю, что ее применяют как выходной каскад для реле. Ну и, возможно, для слаботочных шаговых двигателей пойдет. Ну а прошивать МК можно в среде AVR Studio 4. Программатор нужен внутрисхемный. У меня AVRISP mkii.

Re: Подключение шагового двигателя к микроконтроллерам AVR

Добавлено: 02 фев 2015, 19:56
AntonChip
Valeriy, переделал по Вашей схеме, проверяйте

Re: Подключение шагового двигателя к микроконтроллерам AVR

Добавлено: 02 фев 2015, 20:19
Valeriy
AntonChip писал(а):Valeriy, переделал по Вашей схеме, проверяйте
К сожалению не работает. Сразу на выходе РВ3 идет единица.На входной импульс не реагирует, а при подаче на РВ 5 через резистор и светодиод нуля, светодиод слегка светится, а на РВ3 становится ноль. В прежней прошивке тоже при подаче на РВ5 нуля все прекращается.( На РВ5 я просто вешаю светодиод через резистор 1 к. к нулю для контроля).
P.S.
Посмотрел код, оказывается порты поменялись. И опять завязка по аналоговому порту. Сейчас буду переделывать.
Прикладываю старую прошивку.

Re: Подключение шагового двигателя к микроконтроллерам AVR

Добавлено: 02 фев 2015, 20:56
Valeriy
Я так понял, что в коде идет жесткая привязка после остановки двигателя к порту РВ3. А это нельзя. Дело в том, что шагов, как оказалось, нужно 10, а не 8. Поэтому остановка двигателя происходит все время на разных портах. Если привязать постоянно к какому то порту, то в какой то момент двигатель шагнет в обратную сторону за счет тока удержания.
Так эта прошивка для ATmega 8. У меня ATtini 13A.
P.S.
Переделал прошивку на ATtini13A. Работает как раньше, но РВ5 так и не работает и жесткая привязка к порту РВ3 после остановки. Что то не так.
Прикладываю файл.

Re: Подключение шагового двигателя к микроконтроллерам AVR

Добавлено: 02 фев 2015, 21:40
AntonChip
PB5 вывод сброса, если его использовать в attiny13 необходимо иметь параллельный программатор или fuse-bit доктор

Re: Подключение шагового двигателя к микроконтроллерам AVR

Добавлено: 02 фев 2015, 22:02
Valeriy
AntonChip писал(а):PB5 вывод сброса, если его использовать в attiny13 необходимо иметь параллельный программатор или fuse-bit доктор
Есть у меня программатор. Сейчас отключу. Но как быть с привязанным портом на удержании?

Re: Подключение шагового двигателя к микроконтроллерам AVR

Добавлено: 02 фев 2015, 23:25
AntonChip
Незнаю, что-то вроде получилось под Attiny13

Re: Подключение шагового двигателя к микроконтроллерам AVR

Добавлено: 03 фев 2015, 08:06
passlight
так а фьюзы при прошивке какие выставлять для меги8?

Re: Подключение шагового двигателя к микроконтроллерам AVR

Добавлено: 03 фев 2015, 09:16
AntonChip
passlight писал(а):так а фьюзы при прошивке какие выставлять для меги8?
Изображение
Изображение

Re: Подключение шагового двигателя к микроконтроллерам AVR

Добавлено: 03 фев 2015, 15:18
Valeriy
AntonChip писал(а):Незнаю, что-то вроде получилось под Attiny13
Добрый день Антон! Низкий поклон Вам и большая благодарность за проделанную работу!
Прошивка работает как и задумано. Сейчас буду реконструировать блок управления с тормозом.
Хочу спросить. У меня программатор G540 Genius. Хотел снова попробовать включить порт на reset, но не смог. (А отключал порт внутрисхемным программатором ). Но программатор G540 не видит ATtini 13A. У него в меню есть ATtiny 13 (без буквы А). Неужели у них есть разница? Собрал «Atmega fusebit doctor». Тоже не восстанавливает. Пробовал засунуть в него ATmega2313 - отлично отработал. Автор пишет, что пробовал тиньку13А, но у меня не проходит. Вставлял даже абсолютно новую тиньку, но результата нет. Какое то наваждение. Есть ли у Вас на этот счет какая нибудь информация?

Re: Подключение шагового двигателя к микроконтроллерам AVR

Добавлено: 06 фев 2015, 19:38
Valeriy
Здравствуйте Антон!
Вынужден опять озадачить Вас с прошивкой. Происходят сбои в работе. Думал, что это помехи, но это не так. Даже на макетной плате это тоже происходит.
Проявляется вот так. Согласно диаграмме, в цикле, остановка на счет, кратный десяти, должна происходить поочередно только на двух разрядах (портах) РВ0 и РВ3 ( начало с РВ0). Оно так и происходит некоторое время, но потом перескакивает на другую группу РВ2 и РВ4. Потом опять возвращается на РВ0 и РВ4. В моменты перескока количество импульсов в цикле больше 10 ( точно не смог посчитать, но примерно 12-14). Потом опять нормально считает (примерно 3-5 циклов), и опять все повторяется. На старой прошивке счет и последовательность импульсов в цикле никогда не менялся. Как быть? Где искать косяк? Сейчас надо будет покупать новые Тиньки, так как я уже на двух отключил reset, а назад вернуть пока не могу. А,вообще то, я зря затеял проект на ATtini13A. Надо было сделать на ATmega 8A. Тогда бы не надо было отключать ничего и хватило бы портов.

Re: Подключение шагового двигателя к микроконтроллерам AVR

Добавлено: 06 фев 2015, 21:18
AntonChip
Нет возможности проверить в железе, но в симуляторе отрабатывает четко, если кол-во шагов равно 10, то стоповый бит PB0 или PB3

Re: Подключение шагового двигателя к микроконтроллерам AVR

Добавлено: 06 фев 2015, 21:45
Valeriy
AntonChip писал(а):Нет возможности проверить в железе, но в симуляторе отрабатывает четко, если кол-во шагов равно 10, то стоповый бит PB0 или PB3
Дело в том, что я первый раз собрал схему на макете. Вроде работала нормально, но я долго не щелкал кнопкой, поэтому этот эффект не наблюдал. Когда я сделал все в железе, т.е. рабочий вариант, то заметил эти сбои. Подумал, что помехи, но с отключенным двигателем тоже самое. Тогда я снова сделал на макете и, после многочисленных нажатий на кнопку пуска, тоже наблюдал такие же сбои. Бывает на 27 раз, а иногда на 40. Старая прошивка такого не позволяла. Возможно микросхема сбоит, но у меня нет сейчас новой тиньки, чтобы проверить. Завтра куплю.
А что нужно изменить в коде, чтобы использовать ATmega 8A? Попробовать на ней.

Re: Подключение шагового двигателя к микроконтроллерам AVR

Добавлено: 06 фев 2015, 22:19
AntonChip
Регистры таймеров поменять и еще по мелочи может что

Re: Подключение шагового двигателя к микроконтроллерам AVR

Добавлено: 06 фев 2015, 22:29
Valeriy
AntonChip писал(а):Регистры таймеров поменять и еще по мелочи может что
Если это несложно, может попробуем. ATmtga8 наверное надежнее. А если получится, сделаю переходник на панельку. Столько труда вложил на конечное устройство и сейчас снова все переделывать......

Re: Подключение шагового двигателя к микроконтроллерам AVR

Добавлено: 07 фев 2015, 09:14
AntonChip
Для меги 8, проверяйте