Skip to content

RomeoMe5/Terasic-SMK-driver-use-cases

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terasic Servo Motor Kit (SMK) usage examples

Краткое описание платы SMK

Основная информация для начала работы с SMK указана в User Manual, который называется Servo_Motor_Kit.pdf . Данный методические указания сформированы на основе указанного мануала.

  1. SMK (Servo Motor Kit) предназначен для разработчиков, которые хотят изучить управление сервомоторами и построить свою собственную роботизированную машину.
  2. Плата дает возможность управлять 24 сервомоторами одновременно.
  3. SMK может быть связана с комплектом разработки FPGA через 2x20-контактный разъем GPIO при помощи специального шлейфа, который идет в комплекте поставки.
  4. Сама плата не подразумевает под собой никакой логики. Она лишь является наиболее удобным способом для подключения большого количества сервомоторов.
  5. Если бы кто-то захотел создать проект без использования SMK, ему бы пришлось подключать огромное количество проводов и как-то разводить отдельное питание для сервоприводов, так как мощность, выдаваемая с GPIO не способна завести даже один сервомотор.
  6. Даже в этом случае, при резком увеличении мощности нагрузки, например, когда что-то мешает головке сервомотора провернуться на нужный угол, плата может выйти из строя из-за резкого возрастания нагрузки, которую она не способна предоставить. На этот случай в SMK предусмотрен специальный блокиратор, который останавливает работу платы при превышении ограничения по току для адаптера питания.

Вывод: Для создания проектов с большим количеством сервомоторов SMK является наиболее правильным и удобным решением для их подключения.

Инструкция

SMK Analog Driver

Для выполнения данного примера понадобится плата DE10-Lite, так как она обладает аналоговыми входными пинами, которые будут использоваться для подключения потенциометра. Потенциометром будет задаваться угол, на который сервопривод будет поворачиваться.

В проекте имеется 3 основных модуля:

  • ADC_controller: модуль, созданный при помощи QSYS, дающий доступ к 6 аналоговым пинам DE10-Lite.
  • UI: преобразующий значение угла в виде 10-значного двоичного числа в 31-значное двоичное число, напоминающее скважность (чем больше угол, тем больше единиц и меньше нулей)
  • PWM_genegator: модуль преобразующий число в ШИМ-сигнал, подающийся на шину GPIO.

Для успешного запуска необходимо:

  • подключить 3 потенциометра по стандартной схеме
  • подключить SMK через щлейф
  • подключить 3 сервопривода в 3 первых слота SMK
  • сделать '''git clone'''
  • запустить проект в Quartus

SMK Digital Driver

Примечание: отличается от предыдущего тем, что управление сервомотором происходит при помощи свитчеров на плате.