Основная информация для начала работы с SMK указана в User Manual, который называется Servo_Motor_Kit.pdf . Данный методические указания сформированы на основе указанного мануала.
- SMK (Servo Motor Kit) предназначен для разработчиков, которые хотят изучить управление сервомоторами и построить свою собственную роботизированную машину.
- Плата дает возможность управлять 24 сервомоторами одновременно.
- SMK может быть связана с комплектом разработки FPGA через 2x20-контактный разъем GPIO при помощи специального шлейфа, который идет в комплекте поставки.
- Сама плата не подразумевает под собой никакой логики. Она лишь является наиболее удобным способом для подключения большого количества сервомоторов.
- Если бы кто-то захотел создать проект без использования SMK, ему бы пришлось подключать огромное количество проводов и как-то разводить отдельное питание для сервоприводов, так как мощность, выдаваемая с GPIO не способна завести даже один сервомотор.
- Даже в этом случае, при резком увеличении мощности нагрузки, например, когда что-то мешает головке сервомотора провернуться на нужный угол, плата может выйти из строя из-за резкого возрастания нагрузки, которую она не способна предоставить. На этот случай в SMK предусмотрен специальный блокиратор, который останавливает работу платы при превышении ограничения по току для адаптера питания.
Вывод: Для создания проектов с большим количеством сервомоторов SMK является наиболее правильным и удобным решением для их подключения.
Для выполнения данного примера понадобится плата DE10-Lite, так как она обладает аналоговыми входными пинами, которые будут использоваться для подключения потенциометра. Потенциометром будет задаваться угол, на который сервопривод будет поворачиваться.
В проекте имеется 3 основных модуля:
- ADC_controller: модуль, созданный при помощи QSYS, дающий доступ к 6 аналоговым пинам DE10-Lite.
- UI: преобразующий значение угла в виде 10-значного двоичного числа в 31-значное двоичное число, напоминающее скважность (чем больше угол, тем больше единиц и меньше нулей)
- PWM_genegator: модуль преобразующий число в ШИМ-сигнал, подающийся на шину GPIO.
Для успешного запуска необходимо:
- подключить 3 потенциометра по стандартной схеме
- подключить SMK через щлейф
- подключить 3 сервопривода в 3 первых слота SMK
- сделать '''git clone'''
- запустить проект в Quartus
Примечание: отличается от предыдущего тем, что управление сервомотором происходит при помощи свитчеров на плате.