Не могу вникнуть в суть дела, нарисуйте схему, будет понятнееValeriy писал(а):Все-таки, если не трудно, первый вариант реализуйте. Там мне почти ничего переделывать не надо, только дополнить транзистор и резистор в схему. Я пытался сам переделать код, но не получается.
Подключение шагового двигателя к микроконтроллерам AVR
Модератор: boogyman
- AntonChip
- Администратор
- Сообщения: 263
- Зарегистрирован: 24 дек 2011, 22:11
- Откуда: Киров
- Контактная информация:
Re: Подключение шагового двигателя к микроконтроллерам AVR
Re: Подключение шагового двигателя к микроконтроллерам AVR
так этот HEX я просто шью в мегу? я просто еще не прошивал меги, по этому и спрашиваю. а что по поводу замены транзисторной части на 2003?Valeriy писал(а):Скачайте программу "AVR Studio 4". Как получить в ней HEX файл расписано в интернете, я прошел через это. Через нее выставите и фьюзы и саму программу. Очень легко. Про фьюзы написано в тексте. Нужно выставить у новой микросхемы внутренний генератор на RC и частоту 8 МГц. Остальное по умолчанию. В первом сообщении во вложении есть HEX файл. Внимательно просмотрите папку "default"passlight писал(а):Добрый день ребята. Схему взял из шапки. Транзисторную часть заменил UNL2003...подойдет, будет работать?
Вопрос по прошивке bipolar_step_motor_2.rar...можете выложить готовый HEX или как его скомпилировать и какие фьюзы выставлять для атмеги8?
подскажите пожалуйста, буду благодарен.
Re: Подключение шагового двигателя к микроконтроллерам AVR
Антон!
Наверное, это не так просто скорректировать программу под мою задачу. Я воспринимаю Ваше молчание как отказ? Если у Вас нет времени или желания этим заниматься, пожалуйста, дайте мне знать. К сожалению, я уже переделал часы на эту схему - понадеялся, что все работает отлично. А сейчас опять надо будет что-то предпринимать. Очень жаль.
Наверное, это не так просто скорректировать программу под мою задачу. Я воспринимаю Ваше молчание как отказ? Если у Вас нет времени или желания этим заниматься, пожалуйста, дайте мне знать. К сожалению, я уже переделал часы на эту схему - понадеялся, что все работает отлично. А сейчас опять надо будет что-то предпринимать. Очень жаль.
Последний раз редактировалось Valeriy 02 фев 2015, 19:10, всего редактировалось 1 раз.
Re: Подключение шагового двигателя к микроконтроллерам AVR
Антон!
Если я Вам еще не надоел, еще раз прошу вас помочь. Очень надо!
Задача следующая. Сейчас напряжение на обмотках Ш.Д. в режиме ожидания отключается. Надо сделать так, чтобы на обмотке , на которую пришел последний такт (шаг), напряжение осталось. Это необходимо для того, чтобы ток, проходящий по этой обмотке в режиме ожидания, тормозил двигатель. А для снижения тока в режиме ожидания применится схема подачи плюса на общий провод Ш.Д. через мощный транзистор, зашунтированным мощным резистором. Управление транзистором должно идти через свободный порт РВ5 МК. Для этого надо в код добавить строки на подключение единицы на РВ5 в режиме прокрутки двигателя. При прокрутке двигателя ток максимальный, а в режиме ожидания на одну обмотку (на которой остановился двигатель) через резистор будет подаваться напряжение, создающее ток удержания.
Схему (от руки) прикрепляю.
Если я Вам еще не надоел, еще раз прошу вас помочь. Очень надо!
Задача следующая. Сейчас напряжение на обмотках Ш.Д. в режиме ожидания отключается. Надо сделать так, чтобы на обмотке , на которую пришел последний такт (шаг), напряжение осталось. Это необходимо для того, чтобы ток, проходящий по этой обмотке в режиме ожидания, тормозил двигатель. А для снижения тока в режиме ожидания применится схема подачи плюса на общий провод Ш.Д. через мощный транзистор, зашунтированным мощным резистором. Управление транзистором должно идти через свободный порт РВ5 МК. Для этого надо в код добавить строки на подключение единицы на РВ5 в режиме прокрутки двигателя. При прокрутке двигателя ток максимальный, а в режиме ожидания на одну обмотку (на которой остановился двигатель) через резистор будет подаваться напряжение, создающее ток удержания.
Схему (от руки) прикрепляю.
Re: Подключение шагового двигателя к микроконтроллерам AVR
так этот HEX я просто шью в мегу? я просто еще не прошивал меги, по этому и спрашиваю. а что по поводу замены транзисторной части на 2003?[/quote]
По поводу 2003 не скажу. Мне кажется, что она слаба по выходным транзисторам. Знаю, что ее применяют как выходной каскад для реле. Ну и, возможно, для слаботочных шаговых двигателей пойдет. Ну а прошивать МК можно в среде AVR Studio 4. Программатор нужен внутрисхемный. У меня AVRISP mkii.
По поводу 2003 не скажу. Мне кажется, что она слаба по выходным транзисторам. Знаю, что ее применяют как выходной каскад для реле. Ну и, возможно, для слаботочных шаговых двигателей пойдет. Ну а прошивать МК можно в среде AVR Studio 4. Программатор нужен внутрисхемный. У меня AVRISP mkii.
- AntonChip
- Администратор
- Сообщения: 263
- Зарегистрирован: 24 дек 2011, 22:11
- Откуда: Киров
- Контактная информация:
Re: Подключение шагового двигателя к микроконтроллерам AVR
Valeriy, переделал по Вашей схеме, проверяйте
- Вложения
-
- unipolar_step_motor.rar
- С функцией торможения
- (38.99 КБ) 2054 скачивания
Re: Подключение шагового двигателя к микроконтроллерам AVR
К сожалению не работает. Сразу на выходе РВ3 идет единица.На входной импульс не реагирует, а при подаче на РВ 5 через резистор и светодиод нуля, светодиод слегка светится, а на РВ3 становится ноль. В прежней прошивке тоже при подаче на РВ5 нуля все прекращается.( На РВ5 я просто вешаю светодиод через резистор 1 к. к нулю для контроля).AntonChip писал(а):Valeriy, переделал по Вашей схеме, проверяйте
P.S.
Посмотрел код, оказывается порты поменялись. И опять завязка по аналоговому порту. Сейчас буду переделывать.
Прикладываю старую прошивку.
- Вложения
-
- Kurant.rar
- (12.36 КБ) 1954 скачивания
Последний раз редактировалось Valeriy 02 фев 2015, 20:58, всего редактировалось 1 раз.
Re: Подключение шагового двигателя к микроконтроллерам AVR
Я так понял, что в коде идет жесткая привязка после остановки двигателя к порту РВ3. А это нельзя. Дело в том, что шагов, как оказалось, нужно 10, а не 8. Поэтому остановка двигателя происходит все время на разных портах. Если привязать постоянно к какому то порту, то в какой то момент двигатель шагнет в обратную сторону за счет тока удержания.
Так эта прошивка для ATmega 8. У меня ATtini 13A.
P.S.
Переделал прошивку на ATtini13A. Работает как раньше, но РВ5 так и не работает и жесткая привязка к порту РВ3 после остановки. Что то не так.
Прикладываю файл.
Так эта прошивка для ATmega 8. У меня ATtini 13A.
P.S.
Переделал прошивку на ATtini13A. Работает как раньше, но РВ5 так и не работает и жесткая привязка к порту РВ3 после остановки. Что то не так.
Прикладываю файл.
- Вложения
-
- kur.rar
- (966 байт) 1990 скачиваний
Последний раз редактировалось Valeriy 02 фев 2015, 21:59, всего редактировалось 1 раз.
- AntonChip
- Администратор
- Сообщения: 263
- Зарегистрирован: 24 дек 2011, 22:11
- Откуда: Киров
- Контактная информация:
Re: Подключение шагового двигателя к микроконтроллерам AVR
PB5 вывод сброса, если его использовать в attiny13 необходимо иметь параллельный программатор или fuse-bit доктор
Re: Подключение шагового двигателя к микроконтроллерам AVR
Есть у меня программатор. Сейчас отключу. Но как быть с привязанным портом на удержании?AntonChip писал(а):PB5 вывод сброса, если его использовать в attiny13 необходимо иметь параллельный программатор или fuse-bit доктор
- AntonChip
- Администратор
- Сообщения: 263
- Зарегистрирован: 24 дек 2011, 22:11
- Откуда: Киров
- Контактная информация:
Re: Подключение шагового двигателя к микроконтроллерам AVR
Незнаю, что-то вроде получилось под Attiny13
- Вложения
-
- unipolar_step_motor_attiny13.rar
- AVRSudio Attiny13
- (38.72 КБ) 1984 скачивания
Re: Подключение шагового двигателя к микроконтроллерам AVR
так а фьюзы при прошивке какие выставлять для меги8?
- AntonChip
- Администратор
- Сообщения: 263
- Зарегистрирован: 24 дек 2011, 22:11
- Откуда: Киров
- Контактная информация:
Re: Подключение шагового двигателя к микроконтроллерам AVR
passlight писал(а):так а фьюзы при прошивке какие выставлять для меги8?
Re: Подключение шагового двигателя к микроконтроллерам AVR
Добрый день Антон! Низкий поклон Вам и большая благодарность за проделанную работу!AntonChip писал(а):Незнаю, что-то вроде получилось под Attiny13
Прошивка работает как и задумано. Сейчас буду реконструировать блок управления с тормозом.
Хочу спросить. У меня программатор G540 Genius. Хотел снова попробовать включить порт на reset, но не смог. (А отключал порт внутрисхемным программатором ). Но программатор G540 не видит ATtini 13A. У него в меню есть ATtiny 13 (без буквы А). Неужели у них есть разница? Собрал «Atmega fusebit doctor». Тоже не восстанавливает. Пробовал засунуть в него ATmega2313 - отлично отработал. Автор пишет, что пробовал тиньку13А, но у меня не проходит. Вставлял даже абсолютно новую тиньку, но результата нет. Какое то наваждение. Есть ли у Вас на этот счет какая нибудь информация?
Последний раз редактировалось Valeriy 06 фев 2015, 20:01, всего редактировалось 1 раз.
Re: Подключение шагового двигателя к микроконтроллерам AVR
Здравствуйте Антон!
Вынужден опять озадачить Вас с прошивкой. Происходят сбои в работе. Думал, что это помехи, но это не так. Даже на макетной плате это тоже происходит.
Проявляется вот так. Согласно диаграмме, в цикле, остановка на счет, кратный десяти, должна происходить поочередно только на двух разрядах (портах) РВ0 и РВ3 ( начало с РВ0). Оно так и происходит некоторое время, но потом перескакивает на другую группу РВ2 и РВ4. Потом опять возвращается на РВ0 и РВ4. В моменты перескока количество импульсов в цикле больше 10 ( точно не смог посчитать, но примерно 12-14). Потом опять нормально считает (примерно 3-5 циклов), и опять все повторяется. На старой прошивке счет и последовательность импульсов в цикле никогда не менялся. Как быть? Где искать косяк? Сейчас надо будет покупать новые Тиньки, так как я уже на двух отключил reset, а назад вернуть пока не могу. А,вообще то, я зря затеял проект на ATtini13A. Надо было сделать на ATmega 8A. Тогда бы не надо было отключать ничего и хватило бы портов.
Вынужден опять озадачить Вас с прошивкой. Происходят сбои в работе. Думал, что это помехи, но это не так. Даже на макетной плате это тоже происходит.
Проявляется вот так. Согласно диаграмме, в цикле, остановка на счет, кратный десяти, должна происходить поочередно только на двух разрядах (портах) РВ0 и РВ3 ( начало с РВ0). Оно так и происходит некоторое время, но потом перескакивает на другую группу РВ2 и РВ4. Потом опять возвращается на РВ0 и РВ4. В моменты перескока количество импульсов в цикле больше 10 ( точно не смог посчитать, но примерно 12-14). Потом опять нормально считает (примерно 3-5 циклов), и опять все повторяется. На старой прошивке счет и последовательность импульсов в цикле никогда не менялся. Как быть? Где искать косяк? Сейчас надо будет покупать новые Тиньки, так как я уже на двух отключил reset, а назад вернуть пока не могу. А,вообще то, я зря затеял проект на ATtini13A. Надо было сделать на ATmega 8A. Тогда бы не надо было отключать ничего и хватило бы портов.
- AntonChip
- Администратор
- Сообщения: 263
- Зарегистрирован: 24 дек 2011, 22:11
- Откуда: Киров
- Контактная информация:
Re: Подключение шагового двигателя к микроконтроллерам AVR
Нет возможности проверить в железе, но в симуляторе отрабатывает четко, если кол-во шагов равно 10, то стоповый бит PB0 или PB3
Re: Подключение шагового двигателя к микроконтроллерам AVR
Дело в том, что я первый раз собрал схему на макете. Вроде работала нормально, но я долго не щелкал кнопкой, поэтому этот эффект не наблюдал. Когда я сделал все в железе, т.е. рабочий вариант, то заметил эти сбои. Подумал, что помехи, но с отключенным двигателем тоже самое. Тогда я снова сделал на макете и, после многочисленных нажатий на кнопку пуска, тоже наблюдал такие же сбои. Бывает на 27 раз, а иногда на 40. Старая прошивка такого не позволяла. Возможно микросхема сбоит, но у меня нет сейчас новой тиньки, чтобы проверить. Завтра куплю.AntonChip писал(а):Нет возможности проверить в железе, но в симуляторе отрабатывает четко, если кол-во шагов равно 10, то стоповый бит PB0 или PB3
А что нужно изменить в коде, чтобы использовать ATmega 8A? Попробовать на ней.
- AntonChip
- Администратор
- Сообщения: 263
- Зарегистрирован: 24 дек 2011, 22:11
- Откуда: Киров
- Контактная информация:
Re: Подключение шагового двигателя к микроконтроллерам AVR
Регистры таймеров поменять и еще по мелочи может что
Re: Подключение шагового двигателя к микроконтроллерам AVR
Если это несложно, может попробуем. ATmtga8 наверное надежнее. А если получится, сделаю переходник на панельку. Столько труда вложил на конечное устройство и сейчас снова все переделывать......AntonChip писал(а):Регистры таймеров поменять и еще по мелочи может что
- AntonChip
- Администратор
- Сообщения: 263
- Зарегистрирован: 24 дек 2011, 22:11
- Откуда: Киров
- Контактная информация:
Re: Подключение шагового двигателя к микроконтроллерам AVR
Для меги 8, проверяйте
- Вложения
-
- unipolar_step_motor_atmega8.rar
- AVRStudio4, Proteus
- (39.21 КБ) 2017 скачиваний