![]() |
Модераторы: PILOT, ManiaK, Mazzi |
![]() ![]() ![]() |
|
Deliverance |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 2.12.2007 Где: Украина,Донецк Репутация: нет Всего: нет |
Нужна помощь досталась ,от предшествиника, плата с котроллером Atmega8535. Плата проектировалась для управления пресса в режимах:
а)Наладка б)Делительная головка (управление ШД) в)Ручной г)От педали(ножной) Суть проблеммы. ШД управляеться посредством L297 и двух L6203. Шаговый двигатель ШДР-56 на 6-ть выводов.Подключен на 4-е.Работает через раз.Раз работает нормально,а раз стоит и не вращаеться. Программа управления написана на СИ . Прошита через AVR CodeVIsion Двигатель работает в шаговом режиме,хотя на микросхеме L297 ,судя по DataSheet, установлен полушаговый режим Half. Очень большая просьба помогитье. |
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Давай схему платы и программу, а то штатные телепаты все в отпусках ![]() |
||||
|
|||||
Deliverance |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 2.12.2007 Где: Украина,Донецк Репутация: нет Всего: нет |
Вот прога
Добавлено @ 10:11 А схема не грузиться.нарисована в пикаде( Отправил на маил. Сорь ,на тот исходник Вот тот что нужен Это сообщение отредактировал(а) Deliverance - 22.1.2008, 10:45 Присоединённый файл ( Кол-во скачиваний: 29 ) ![]() |
|||
|
||||
xvr |
|
||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Пока не пришло ![]()
При беглом взгляде на исходник (насколько я понял у тебя step ШД подключен к PORTB.4) я заметил вот это:
И дальнейшую работу с M1 для простого включения и выключения двигателя, что не согласуется с
Ты уж определись что и куда у тебя подключено ![]() |
||||||||
|
|||||||||
Deliverance |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 2.12.2007 Где: Украина,Донецк Репутация: нет Всего: нет |
||||
|
||||
Deliverance |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 2.12.2007 Где: Украина,Донецк Репутация: нет Всего: нет |
После подачи питания на плату
МК запускает подпрограмму SelectMode Выбираем режим DG Потом запускается подпрограмма SelectPaz Потом InitReduktor Вот тут и начинаются траблы(( Пробовал запустить только TestReduktor работает нормально(писалось спецом для для проверки датчиков холла) А вот инит рдуктор не работае,один раз проходит пишет ,что шаги не совпадают и все,больше ни шагу движок не делает.даже после перевключения только мычит и всё |
|||
|
||||
xvr |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
В первый раз шагает нормально?
PS. Схема так и не пришла. |
||||||
|
|||||||
Deliverance |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 2.12.2007 Где: Украина,Донецк Репутация: нет Всего: нет |
204 шага,а почему за цикливаеться?
Не после сброса питания ,всё также ,тока когда до инит редуктора доходит начинает сразу мычать( Это сообщение отредактировал(а) Deliverance - 22.1.2008, 14:06 |
|||
|
||||
xvr |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
У тебя там есть такой код
Если программа попадает в if, что у тебя и происходит, то она циклится в while (Exit==0), т.к. тело цикла у тебя пустое, а переменная Exit так и останется в нуле. Судя по тому, что число шагов сильно отличается от требуемого, то неправильна либо логика работы с датчиками хола либо где то механическая неисправность. Как должны работать эти датчики?
Это странно, как минимум 400 шагов он должен был сделать. А импульсы на ШД вообще выдаются? Может остался включенным какой нибудь тормоз или муфта? |
||||||
|
|||||||
Deliverance |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 2.12.2007 Где: Украина,Донецк Репутация: нет Всего: нет |
9802 - это шаги ШД,которые он делает за полный оборот заготовки, 204- это шаги ШД за один оборот вала ШД ,Редуктор 1:48,отсюда и все цифры,посмотри ,а нужен там вообще этот while? Датчики работают так,один отлеживает кол-во оборотов вала ШД,а второй оборотов Заготовки ,т.е. стоит ,грубо говоря, на валу редуктора.
Процедура Init_Reduktor подразумевает следующее: поверяються датчики холла (в каком положении находяться). Должны оба прийти в 0, Пока они не пришли выполняеться процедура Step. Когда пришли,выполняеться инициализация. Я так понимаю For a=0; a<200; a++; Для того чтоб сдвинуть с нулевой точки.Следовательно редуктор должен сделать не больше однг8о полного круга,потом второй раз здвигаем датчик на 200 шагов,но при этом шаги уже считаем и считаем до того момента пока не придем в 0 датчиком редуктора,потом сравниваем кол-во шагов и если не совпали.то выводим "плохой редуктор". А совпали идём дальше Добавлено через 2 минуты и 55 секунд Вот так должно работать,а не хочет(( Муфт нет ,тормозить может тока электроникой.ну и если клина поймает редуктор.но на проверке ДХ работает же ! Не клинит! Ещё раз кинул схему на маил. Кидал непосредственно с маил ру. |
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
У тебя в 2х while'ах (стр 291 и 310) противоречивые условия - они должны быть одинаковыми. При срабатывании датчики выдают 0, я правильно понял? Тогда условие нужно записать так ( !(DH1==0 && DH2==0) ) Отбой, условия у тебя одинаковые, хотя и записаны по разному ![]() Остается предположение, что датчик с вала редуктора не успевает снять 0 за один оборот вала ШД (люфт или зона срабатывания датчика слишком большая). NB. А while лучше написать как while(DH1 || DH2)
Это сообщение отредактировал(а) xvr - 22.1.2008, 16:30 |
||||
|
|||||
Deliverance |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 2.12.2007 Где: Украина,Донецк Репутация: нет Всего: нет |
Условия и так и так пробовал,работает,суть в том ,что редуктор сфолочь клинит((( Движок не может сорвать.вот почему не включался второй раз. без кострукции (отдельно тока ШД) работает. Вопрос по поводу шагового и полушагового режима остался открытым. Уменя ШД с 6-ю выводами,два средних по схеме должны быть "-" А у меня тупо они откинуты,непойму почему.Спасибо за помошь,оч помог!
Просьба, завтра если что,помочь. А вообще былоб удобнее в аське,моя есть твою не знаю. Добавлено через 2 минуты и 10 секунд Да и ещё Когда пытаюсь сдержать ШД (рукой за вал) Чувствую что проскакивает.как избежать проскакивания? |
|||
|
||||
xvr |
|
||||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Люфт в редукторе или ШД не тянет редуктор? Если первое - то увеличь количество шагов для ухода с 0 (сделай на несколько полных оборотов вала ШД), если второе - то труба :(
Посмотрю схему, как доберусь до дома
Судя по всему движок расчитан под униполярное включение, а драйвер - под биполярное. Должно работать, но момент на валу упадет
Аськи нет, увы.
Мал момент. Варианты: 1) Увеличить напряжение питания 2) Перейти на полный шаг |
||||||||||
|
|||||||||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Посмотрел схему, есть несколько замечаний:
1) Максимальное напряжение на выводе Ref L297 3.3V, по datasheet допутимый максимум - 3.0V 2) При номинале Rsens (U32 & U33) в 0.2Ом ток максимальный ток стабилизации для двигателя - 15А, что явно ни в какие ворота не лезет. Увелич резисторы до 2 Ом. Сейчас двигатель явно работает без стабилизации вообще, что при его сопротивлении обмотки сказывается не очень сильно ![]() 3) После увеличения резисторов до 2х Ом можно поднять напряжение питания двигателя (раза в 2) 4) Переведи L297 в Full Step режим - момент на валу увеличится 5) Двигатель сам по себе довольно хлипкий, может редуктор не потянуть несмотря ни на что :( |
|||
|
||||
Deliverance |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 2.12.2007 Где: Украина,Донецк Репутация: нет Всего: нет |
Спасибо,завтра буду смотреть поместу,всё дело в том ,что я как раз не электронщик(( Эта тема для меня в нове.Ни платами ни ШД ни электроникой раньше вообще не занимался.Поэтому прошу мне простить мою некопетентность в даном вопросе.Ещё раз спасибо,а то посоветоваться не с кем было.)
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |