eddy_em: (Костерок)
[personal profile] eddy_em
Вчера, после полудня безуспешной борьбы с таймером TIM1 STM32, я таки реализовал управление пятью ШД. Правда, через одно место: вместо задуманного (выход первого порта таймера на каждый тик инвертируется, а выход второго считает импульсы и по прерыванию compare-capture вырубает таймер) я тупо генерирую ШИМ со скважностью 50%, а по прерыванию compare-capture декрементирую количество шагов.

Репозиторий на сосфорже обновил еще вчера, но сегодня заметил пару небольших "косяков", которые пока что решил не пихать в новый commit, а потерпеть немного: нужно еще добавить работу с SPI (24-битный ЦАП для термодатчиков), ZacWire (благо, таймеров хватает, а вот ноги у 64-ножечного МК уже кончаться начали, а 144-ножечный закажу позже, правда, там нет USB — придется паять самому).
Еще был аппаратный "косяк": для снятия напряжения с обмоток двигателя надо подать на вход EN драйвера высокий уровень, я решил, что хватит подать туда +3.3В, а минусовой поджимать к земле пушпульным выходом МК. Но этого оказалось мало — зато +5В отлично работают.
С входами PUL и DIR таких проблем не было, хоть там подключение и наоборот (минусовой на общий, а плюс поджимается к +3.3В верхним ключом пушпульного выхода МК).
Идея была простая: все входы DIR и PUL соединены между собой. А вот EN отдельный для каждого движка. Поэтому включить нужный двигатель достаточно просто: подаем на соответствующую ногу МК единичку и нужный EN разрешает нашему двигателю работать. Кстати, только сейчас до меня дошло, что я неправильно сделал: режим push-pull ноги EN надо сменить, чтобы логическая единица не поджималась к 1, а висела в воздухе.

Ну и напоследок фото рабочего места:
S6301001

Date: 2016-05-12 10:50 pm (UTC)
From: [identity profile] sevasat.livejournal.com
У тебя там тектроникс русифицированый?
inb4 некропостер 80лвл.

May 2025

S M T W T F S
    123
45678910
11121314151617
1819202122 2324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 24th, 2025 10:25 pm
Powered by Dreamwidth Studios