• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте, чтобы узнать больше. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Плата управления шаговым двигателем

sergey303

Ученик
Регистрация
9 Мар 2016
Сообщения
9
Реакции
0
Баллы
0
Плата управления шаговым двигателем

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

Вложения

  • 1442_1.png.webp
    1442_1.png.webp
    30.3 KB · Просмотры: 119
  • IMAG1620.webp
    IMAG1620.webp
    89.5 KB · Просмотры: 106
  • IMAG1621.webp
    IMAG1621.webp
    91 KB · Просмотры: 80
А в тиньку (ATTiny 2313) то программу заливали ? Или "пустой" чип поставили ?
 
Заливал через uniprof программатором громова. Отлично прошился, правда фьюзы точно не уверен что правильно расставил, но те, которые блокируют контроллер не трогал. Еще не уверен что правильно перемычки на плате припоял (на фото обведено). Проверьте пожалуйста.
 

Вложения

  • IMAG1619.webp
    IMAG1619.webp
    106.7 KB · Просмотры: 51
  • IMAG16212.webp
    IMAG16212.webp
    79.5 KB · Просмотры: 45
Ну по схеме не знаю, вроде , на первый взгляд, все нормально, программу бы глянуть, если она есть в исходниках, что бы посмотреть когда там светодиод должен зажигаться ... по моему он и без "силовой" части должен гореть ... а значит дело в тиньке, смотреть фьюзы - на предмет внутреннего/внешнего тактирования ... ну и я бы по питанию , возле тиньки, хотя бы один фильтрующий кондер все же бы припаял ... может у вас тинька просто не "заводиться", хотя если программировали ее прямо на этой плате, то вроде должна работать
 
вот код
$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
 
Ну судя по коду, светодиод должен, как минимум мигать (если конечно вы у него полярность не перепутали) при нажатии любой из кнопок, не зависимо от "силовой" части драйвера ... так что для начала "пинайте" тиньку, как начнет мигать - можно, переходить к "силовой" части ...
 
т.е можно даже не подключая двигатель подать 5V на контроллер и светодиод должен моргать?
 
А если светодиод стоит правильно, в чем тогда причина может быть (того что он не моргает)?
 
Ну самое вероятное, что то с Тинькой, не прошилась, не "заводится" - например фьюзы прошиты на внешний кварц ...
Что то с питанием или с помехами по питанию ...
Наконец сам светодиод сгоревший, или сопротивление на светодиоде ошибочно слишком большое ...
Попробуйте для начала вынуть тиньку и подать +5в на панельку на 9 ногу , если диод загорится , значит дальше мучать уже тиньку
Да я там по вашему монтажу не разбирался, но желательно еще reset подтянуть к +5в через резистор (4.7к), это 1 нога
 
Ну теперь тиньку мучать, обратно ее в программатор, считать фьюзы и данные , фьюзы сюда выложить
 
Спасибо, чуть позже выложу. А в коде прошивки ошибки могут быть?
 
Вот фьюзы Uniprof
 

Вложения

  • Фьюзы Uniprof.webp
    Фьюзы Uniprof.webp
    17.9 KB · Просмотры: 176
Исправил фьюзы для тактирования микроконтроллера от внутреннего генератора на 4.0МГц. Однако проблема осталась, двигатель не вращается, светодиод не загорается. Подключаю все по схеме. Питание двигателя пробовал от 1,5 до 15V, т.к. документацию на него не нашел. Может в подключении ошибка?
 

Вложения

  • Фьюзы для Uniprof готовые.webp
    Фьюзы для Uniprof готовые.webp
    17.4 KB · Просмотры: 60
  • IMAG162100.webp
    IMAG162100.webp
    37.8 KB · Просмотры: 54
Назад
Сверху