Технический форум
Вернуться   Технический форум > Электроника, самоделки и техника > Форум по электронике > Электроника для начинающих


Ответ
 
Опции темы Опции просмотра
Старый 09.03.2016, 11:38   #1 (permalink)
sergey303
Новичок
 
Регистрация: 09.03.2016
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Плата управления шаговым двигателем

Здравствуйте,так как собираюсь делать чпу станок, решил изготовить плату для проверки имеющихся шаговых двигателей. Все собрал по схеме, однако при подключении и нажатии кнопок двигатель не крутится, светодиод не горит. Подскажите пожалуйста, в чем может быть проблема?
Миниатюры
1442_1.png   imag1620.jpg   imag1621.jpg  
sergey303 вне форума   Ответить с цитированием

Старый 09.03.2016, 11:38
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Почитав аналогичные темы вы наберетесь больше информации

Управление шаговым двигателем
Блок управления бесколлекторным двигателем
Блок управления шаговым двигателем

Старый 09.03.2016, 12:02   #2 (permalink)
MagentaTiger
Специалист
 
Аватар для MagentaTiger
 
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,423
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 18120
По умолчанию

А в тиньку (ATTiny 2313) то программу заливали ? Или "пустой" чип поставили ?
MagentaTiger вне форума   Ответить с цитированием
Старый 09.03.2016, 12:15   #3 (permalink)
sergey303
Новичок
 
Регистрация: 09.03.2016
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Заливал через uniprof программатором громова. Отлично прошился, правда фьюзы точно не уверен что правильно расставил, но те, которые блокируют контроллер не трогал. Еще не уверен что правильно перемычки на плате припоял (на фото обведено). Проверьте пожалуйста.
Миниатюры
imag1619.jpg   imag16212.jpg  
sergey303 вне форума   Ответить с цитированием
Старый 09.03.2016, 12:48   #4 (permalink)
MagentaTiger
Специалист
 
Аватар для MagentaTiger
 
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,423
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 18120
По умолчанию

Ну по схеме не знаю, вроде , на первый взгляд, все нормально, программу бы глянуть, если она есть в исходниках, что бы посмотреть когда там светодиод должен зажигаться ... по моему он и без "силовой" части должен гореть ... а значит дело в тиньке, смотреть фьюзы - на предмет внутреннего/внешнего тактирования ... ну и я бы по питанию , возле тиньки, хотя бы один фильтрующий кондер все же бы припаял ... может у вас тинька просто не "заводиться", хотя если программировали ее прямо на этой плате, то вроде должна работать
MagentaTiger вне форума   Ответить с цитированием
Старый 09.03.2016, 12:58   #5 (permalink)
sergey303
Новичок
 
Регистрация: 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
sergey303 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 09.03.2016, 13:12   #6 (permalink)
MagentaTiger
Специалист
 
Аватар для MagentaTiger
 
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,423
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 18120
По умолчанию

Ну судя по коду, светодиод должен, как минимум мигать (если конечно вы у него полярность не перепутали) при нажатии любой из кнопок, не зависимо от "силовой" части драйвера ... так что для начала "пинайте" тиньку, как начнет мигать - можно, переходить к "силовой" части ...
MagentaTiger вне форума   Ответить с цитированием
Старый 09.03.2016, 13:26   #7 (permalink)
sergey303
Новичок
 
Регистрация: 09.03.2016
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

т.е можно даже не подключая двигатель подать 5V на контроллер и светодиод должен моргать?
sergey303 вне форума   Ответить с цитированием
Старый 09.03.2016, 13:32   #8 (permalink)
MagentaTiger
Специалист
 
Аватар для MagentaTiger
 
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,423
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 18120
По умолчанию

Цитата:
Сообщение от sergey303 Посмотреть сообщение
т.е можно даже не подключая двигатель подать 5V на контроллер и светодиод должен моргать?
Да - при нажатии любой из кнопок ...
MagentaTiger вне форума   Ответить с цитированием
Старый 09.03.2016, 13:34   #9 (permalink)
sergey303
Новичок
 
Регистрация: 09.03.2016
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

А если светодиод стоит правильно, в чем тогда причина может быть (того что он не моргает)?
sergey303 вне форума   Ответить с цитированием
Старый 09.03.2016, 14:29   #10 (permalink)
MagentaTiger
Специалист
 
Аватар для MagentaTiger
 
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,423
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 18120
По умолчанию

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

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




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

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.