Чтение онлайн

на главную - закладки

Жанры

Создаем робота-андроида своими руками
Шрифт:

Рис. 10.11. Схема выводов однополярного шагового двигателя

Предположим, что мы только что взяли двигатель в руки и ничего не знаем о его внутреннем строении. Как я уже говорил ранее, наиболее простым путем выяснить внутреннюю распайку обмоток является измерение электрического сопротивления между выводами. Составив таблицу сопротивлений, измеренных между выводами, вы легко определите, какой вывод присоединен

к какой из обмоток.

На рис. 10.12 изображено, какие сопротивления имеет используемый нами двигатель. Между центральным выводом и концами обмоток сопротивление составляет 13 Ом, соответственно между концами обмоток сопротивление имеет значение 26 Ом. Сопротивление между парами соединенных обмоток равно, соответственно, бесконечности (отсутствие соединения). Например, если мы измерим сопротивление между коричневым и голубым проводником, то прибор покажет бесконечность. Вооружившись этими данными, мы сможем правильно включить обмотки ШД в схему.

Рис. 10.12. Сопротивление между выводами однополярного шагового двигателя

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

После того как тестовая схема управления изготовлена, необходимо запрограммировать PIC-микроконтроллер с помощью следующей программы на языке BASIC. Программа является очень простой и короткой, чтобы показать, насколько просто обеспечить вращение ШД. В таблице 10.3 показано, как на каждом шаге включается соответствующий транзистор. Используйте таблицу 10.3 для слежения за логикой BASIC программы. Когда вы достигаете до конца таблицы, то последовательность повторяется, начиная с начала.

Таблица 10.3. Логика переключений транзисторов для полного шага

‘Контроллер шагового двигателя

Symbol TRISB = 134 ‘Инициализировать TRISB как 134

Symbol PortB = 6 ‘Инициализировать PortB как 6

Symbol ti = b6 ‘Инициализировать ti как задержку

ti = 25 ‘Задержка 25 мс

poke TRISB,0 ‘Установить шины PORTB на выход

start: ‘Последовательность движения вперед

poke portb,1 ‘Шаг 1

pause ti ‘Задержка

poke portb,2 ‘Шаг 2

pause ti ‘Задержка

poke portb,4 ‘Шаг 3

pause ti ‘Задержка

poke portb,8 ‘Шаг 4

pause ti ‘Задержка

goto start ‘Повторение

Полный оборот

При полном шаге для завершения полного оборота ШД требуется 200 импульсов (360° /1,8° на шаг). Подсчет количества импульсов позволяет PIC-микроконтроллеру управлять и позиционировать ротор ШД.

Вторая программа на PICBASIC

Вторая программа на PICBASIC является гораздо более гибкой. Пользователь может изменять параметры программы (время задержки) во время ее работы с помощью одного из четырех

выключателей, соединенных с портом А. При нажатии кнопки 1 время задержки между импульсами увеличивается, и соответственно ротор ШД вращается медленнее. Кнопка 2 обладает противоположным действием. При нажатии кнопки 3 двигатель останавливается и находится в режиме ожидания, пока эта кнопка нажата. Кнопка 4 управляет направлением вращения ШД (по часовой стрелке или против часовой стрелки). Нажатие кнопки 4 изменяет направление вращения на противоположное. Реверсирование направления вращения сохраняется на все время нажатия кнопки.

‘Контроллер вращения ШД

Symbol TRISB = 134 ‘Инициализация TRISB как 134

Symbol TRISA = 133 ‘Инициализация TRISA как 133

Symbol PortB = 6 ‘Инициализация portb как 6

Symbol PortA = 5 ‘Инициализация porta как 5

symbol ti = b6 ‘Начальное время задержки

ti = 100 ‘Установка времени задержки 100 мс

Poke TRISB,0 ‘Установка PORTB как выхода

start: ‘Вращение ШД вперед

poke portb, 1 ‘Шаг 1

pause ti ‘Задержка

poke portb,2 ‘Шаг 2

pause ti ‘Задержка

poke portb,4 ‘Шаг 3

pause ti ‘Задержка

poke portb,8 ‘Шаг 4

pause ti ‘Задержка

goto check ‘Переход на проверку состояния кнопок

start2: ‘Вращение ШД назад

poke portb,8 ‘Шаг 1

pause ti ‘Задержка

poke portb,4 ‘Шаг 2

pause ti ‘Задержка

poke portb,2 ‘Шаг 3

pause ti ‘Задержка

poke portb,1 ‘Шаг 4

pause ti ‘Задержка

goto check ‘Переход на проверку состояния кнопок

Check: ‘Состояние кнопок

Peek PortA, B0 ‘Загрузка состояния

if bit0 = 0 then loop1 ‘Если кнопка 1 нажата, увеличить ti

if bit1 = 0 then loop2 ‘Если кнопка 2 нажата, уменьшить ti

if bit2 = 0 then loop3 ‘Остановка ШД

if bit3 = 0 then start ‘Вращение вперед

goto start2 ‘Реверсивное вращение

loop1: ‘Увеличение времени задержки

poke portb,0 ‘Выключение транзисторов

ti = ti +5 ‘увеличение задержки на 5 мс

pause 50 ‘Пауза 50 мс

if ti > 250 then hold1 ‘Ограничение задержки 250 мс

peek porta,b0 ‘Проверка состояния кнопок

if bit0 = 0 then loop1 ‘Продолжать увеличивать задержку?

goto check ‘Если нет, переход на основную проверку состояния

loop2: ‘Уменьшить задержку

poke portb,0 ‘Выключение транзисторов

ti = ti – 5 ‘Уменьшение задержки на 5 мс

pause 50 ‘Пауза 50 мс

if ti < 20 then hold2 ‘Ограничение задержки 20 мс

peek porta,b0 ‘Проверка состояния кнопок

if bit1 = 0 then loop2 ‘Продолжать уменьшать задержку?

goto check ‘Если нет, переход на основную проверку состояния

hold1: ‘Верхний предел задержки

ti = 245 ‘Задержка до 250 мс

goto loop1 ‘Идти назад

hold2: ‘Нижний предел задержки

ti = 25 ‘Задержка 25 мс

goto loop2 ‘Идти назад

hold3: ‘Остановка ШД

poke portb,0 ‘Выключение транзисторов

peek porta,b0 ‘Проверка состояния кнопок

if bit2 = 0 then hold3 ‘Держать мотор выключенным?

goto check ‘Если нет, переход на основную проверку состояния

Поделиться:
Популярные книги

Свет во мраке

Михайлов Дем Алексеевич
8. Изгой
Фантастика:
фэнтези
7.30
рейтинг книги
Свет во мраке

Целитель. Книга вторая

Первухин Андрей Евгеньевич
2. Целитель
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Целитель. Книга вторая

Мое ускорение

Иванов Дмитрий
5. Девяностые
Фантастика:
попаданцы
альтернативная история
6.33
рейтинг книги
Мое ускорение

Инферно

Кретов Владимир Владимирович
2. Легенда
Фантастика:
фэнтези
8.57
рейтинг книги
Инферно

Тринадцатый

NikL
1. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
6.80
рейтинг книги
Тринадцатый

Шведский стол

Ланцов Михаил Алексеевич
3. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Шведский стол

Объединитель

Астахов Евгений Евгеньевич
8. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Объединитель

Кровь и Пламя

Михайлов Дем Алексеевич
7. Изгой
Фантастика:
фэнтези
8.95
рейтинг книги
Кровь и Пламя

Герцогиня в ссылке

Нова Юлия
2. Магия стихий
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Герцогиня в ссылке

Столичный доктор. Том II

Вязовский Алексей
2. Столичный доктор
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Столичный доктор. Том II

Последний попаданец 11. Финал. Часть 1

Зубов Константин
11. Последний попаданец
Фантастика:
фэнтези
юмористическое фэнтези
рпг
5.00
рейтинг книги
Последний попаданец 11. Финал. Часть 1

Новый Рал

Северный Лис
1. Рал!
Фантастика:
фэнтези
попаданцы
5.70
рейтинг книги
Новый Рал

Горькие ягодки

Вайз Мариэлла
Любовные романы:
современные любовные романы
7.44
рейтинг книги
Горькие ягодки

Разведчик. Заброшенный в 43-й

Корчевский Юрий Григорьевич
Героическая фантастика
Фантастика:
боевая фантастика
попаданцы
альтернативная история
5.93
рейтинг книги
Разведчик. Заброшенный в 43-й