Технический форум

Технический форум (http://www.tehnari.ru/)
-   Электроника для начинающих (http://www.tehnari.ru/f117/)
-   -   Плата управления шаговым двигателем (http://www.tehnari.ru/f117/t107262/)

sergey303 09.03.2016 11:38

Плата управления шаговым двигателем
 
Вложений: 3
Здравствуйте,так как собираюсь делать чпу станок, решил изготовить плату для проверки имеющихся шаговых двигателей. Все собрал по схеме, однако при подключении и нажатии кнопок двигатель не крутится, светодиод не горит. Подскажите пожалуйста, в чем может быть проблема?

MagentaTiger 09.03.2016 12:02

А в тиньку (ATTiny 2313) то программу заливали ? Или "пустой" чип поставили ?

sergey303 09.03.2016 12:15

Вложений: 2
Заливал через uniprof программатором громова. Отлично прошился, правда фьюзы точно не уверен что правильно расставил, но те, которые блокируют контроллер не трогал. Еще не уверен что правильно перемычки на плате припоял (на фото обведено). Проверьте пожалуйста.

MagentaTiger 09.03.2016 12:48

Ну по схеме не знаю, вроде , на первый взгляд, все нормально, программу бы глянуть, если она есть в исходниках, что бы посмотреть когда там светодиод должен зажигаться ... по моему он и без "силовой" части должен гореть ... а значит дело в тиньке, смотреть фьюзы - на предмет внутреннего/внешнего тактирования ... ну и я бы по питанию , возле тиньки, хотя бы один фильтрующий кондер все же бы припаял ... может у вас тинька просто не "заводиться", хотя если программировали ее прямо на этой плате, то вроде должна работать

sergey303 09.03.2016 12:58

вот код
$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

MagentaTiger 09.03.2016 13:12

Ну судя по коду, светодиод должен, как минимум мигать (если конечно вы у него полярность не перепутали) при нажатии любой из кнопок, не зависимо от "силовой" части драйвера ... так что для начала "пинайте" тиньку, как начнет мигать - можно, переходить к "силовой" части ...

sergey303 09.03.2016 13:26

т.е можно даже не подключая двигатель подать 5V на контроллер и светодиод должен моргать?

MagentaTiger 09.03.2016 13:32

Цитата:

Сообщение от sergey303 (Сообщение 1216513)
т.е можно даже не подключая двигатель подать 5V на контроллер и светодиод должен моргать?

Да - при нажатии любой из кнопок ...

sergey303 09.03.2016 13:34

А если светодиод стоит правильно, в чем тогда причина может быть (того что он не моргает)?

MagentaTiger 09.03.2016 14:29

Ну самое вероятное, что то с Тинькой, не прошилась, не "заводится" - например фьюзы прошиты на внешний кварц ...
Что то с питанием или с помехами по питанию ...
Наконец сам светодиод сгоревший, или сопротивление на светодиоде ошибочно слишком большое ...
Попробуйте для начала вынуть тиньку и подать +5в на панельку на 9 ногу , если диод загорится , значит дальше мучать уже тиньку
Да я там по вашему монтажу не разбирался, но желательно еще reset подтянуть к +5в через резистор (4.7к), это 1 нога


Часовой пояс GMT +4, время: 03:32.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.