09.03.2016, 11:38 | #1 (permalink) |
Новичок
Регистрация: 09.03.2016
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Плата управления шаговым двигателем
|
09.03.2016, 11:38 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Почитав аналогичные темы вы наберетесь больше информации Управление шаговым двигателем Блок управления бесколлекторным двигателем Блок управления шаговым двигателем |
09.03.2016, 12:15 | #3 (permalink) |
Новичок
Регистрация: 09.03.2016
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Заливал через uniprof программатором громова. Отлично прошился, правда фьюзы точно не уверен что правильно расставил, но те, которые блокируют контроллер не трогал. Еще не уверен что правильно перемычки на плате припоял (на фото обведено). Проверьте пожалуйста.
|
09.03.2016, 12:48 | #4 (permalink) |
Специалист
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,423
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 18120
|
Ну по схеме не знаю, вроде , на первый взгляд, все нормально, программу бы глянуть, если она есть в исходниках, что бы посмотреть когда там светодиод должен зажигаться ... по моему он и без "силовой" части должен гореть ... а значит дело в тиньке, смотреть фьюзы - на предмет внутреннего/внешнего тактирования ... ну и я бы по питанию , возле тиньки, хотя бы один фильтрующий кондер все же бы припаял ... может у вас тинька просто не "заводиться", хотя если программировали ее прямо на этой плате, то вроде должна работать
|
09.03.2016, 12:58 | #5 (permalink) |
Новичок
Регистрация: 09.03.2016
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
вот код
$regfile = "2313def.dat" $crystal = 4000000 Dim S As Byte 'эта переменная следит за номером шага двигателя S = 1 On Int0 Knopka1 'даем имена обработчикам внешних прерываний On Int1 Knopka2 Config Portb = Output 'конфигурируем порт на выход Config Portd.5 = Output 'конфигурируем ногу для подключения светодиода Led Alias Portd.5 'присваиваем имя LED выводу 5 порта D 'прерывания будут генерироваться пока на ноге низкий уровень, то есть пока кнопка будет нажата Config Int0 = Low Level Config Int1 = Low Level 'разрешаем прерывания Enable Interrupts Enable Int0 Enable Int1 'основной цикл программы, просто ждем прерывания Do Loop Knopka1: 'обработчик прерывания первой кнопки Led = 1 'зажигаем светодиод Incr S 'увеличим номер шага If S = 9 Then 'максимально возможный номер шага = 8 S = 1 End If Select Case S 'выбираем какие обмотки включать в зависимости от номера шага Case 1 : Portb = &B00000001 Case 2 : Portb = &B00000011 Case 3 : Portb = &B00000010 Case 4 : Portb = &B00000110 Case 5 : Portb = &B00000100 Case 6 : Portb = &B00001100 Case 7 : Portb = &B00001000 Case 8 : Portb = &B00001001 End Select Waitus 1000 'задержка между шагами Led = 0 'гасим светодиод Return Knopka2: 'обработчик прерывания второй кнопки Led = 1 'зажигаем светодиод Decr S 'тут все тоже самое, только в обратном направлении If S = 0 Then 'минимально возможный номер шага = 1 S = 8 End If Select Case S Case 1 : Portb = &B00000001 Case 2 : Portb = &B00000011 Case 3 : Portb = &B00000010 Case 4 : Portb = &B00000110 Case 5 : Portb = &B00000100 Case 6 : Portb = &B00001100 Case 7 : Portb = &B00001000 Case 8 : Portb = &B00001001 End Select Waitus 1000 Led = 0 'гасим светодиод Return End |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
09.03.2016, 13:12 | #6 (permalink) |
Специалист
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,423
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 18120
|
Ну судя по коду, светодиод должен, как минимум мигать (если конечно вы у него полярность не перепутали) при нажатии любой из кнопок, не зависимо от "силовой" части драйвера ... так что для начала "пинайте" тиньку, как начнет мигать - можно, переходить к "силовой" части ...
|
09.03.2016, 14:29 | #10 (permalink) |
Специалист
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,423
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 18120
|
Ну самое вероятное, что то с Тинькой, не прошилась, не "заводится" - например фьюзы прошиты на внешний кварц ...
Что то с питанием или с помехами по питанию ... Наконец сам светодиод сгоревший, или сопротивление на светодиоде ошибочно слишком большое ... Попробуйте для начала вынуть тиньку и подать +5в на панельку на 9 ногу , если диод загорится , значит дальше мучать уже тиньку Да я там по вашему монтажу не разбирался, но желательно еще reset подтянуть к +5в через резистор (4.7к), это 1 нога |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|