Перейти на главную страницу
Введение……………………………………………………………………………………………..3
Список литературы………………………………………………………………………….....25
Приложение…………………………………………………………………………………..……26
Введение
Шаговые электродвигатели очень удобны для применения в приводах роботов, поскольку не требуют датчиков обратной связи для определения положений звеньев. Такие двигатели позволяют с высокой точностью преобразовывать цифровые электрические сигналы непосредственно в дискретные угловые перемещения (шаги) ротора.
По принципу действия шаговый двигатель относится к двигателям синхронного типа: в нем существует связь между сигналом питания и положением ротора. Благодаря периодическим переключениям обмоток статора, его магнитодвижущее поле, поворачиваясь на определенный угол (шаг), производит поворот на такой же определенный угол ротора двигателя, представляющего собой постоянный магнит либо переменное магнитное сопротивление.
В данной выпускной работе была поставлена задача изучить способ управления шаговым двигателем через LPT-порт. Была разработана и написана программа для макета транспортного робота . В лаборатории имеется модель робота. Данный макет робота представляет собой два шаговых двигателя, закрепленных на тележке. Программа написана с помощью языка программирования Delphi.
Рис.1 Макет Транспортного робота
Рис.2 Шаговый двигатель
Рис.3 Статор
Конструктивно шаговые электродвигатели состоят из статора, на котором расположены обмотки возбуждения, и ротора, выполненного из магнито-мягкого (ферромагнитного) материала или из магнито-твёрдого (магнитного) материала. Шаговые двигатели с магнитным ротором позволяют получать бо́льший крутящий момент и обеспечивают фиксацию ротора при обесточенных обмотках.
Главное преимущество шаговых приводов - точность. При подаче потенциалов на обмотки шаговый двигатель повернется строго на определенный угол. Шаговый привод, как недорогая альтернатива сервоприводу, наилучшим образом подходит для автоматизации отдельных узлов и систем, где не требуется высокая динамика.
Чтобы управлять шаговым двигателем необходим контроллер.
Рис.3 Принцип работы
Контроллер шагового двигателя предназначен для создания автономного управления системой различного рода технологическими процессами, такими как: упаковочные роботы, дозаторов сыпучих продуктов и жидкостей, маркировщиков, в качестве устройства управления открытием-закрытием окон, дверей, для конструкций вращения, управления за камерами слежения за объектами и т.д.
Рис.4 Контроллер
Контроллер шагового двигателя имеет следующие технические характеристики: ток 0,3-7А, питание 24-80В, защита от КЗ (для ADR401С), 4 оптически развязанных входа управления.
1.2.Принцип работы
Шаговые двигатели отличаются от регулируемых двигателей постоянного тока. Вместо того чтобы вращаться как двигатели постоянного тока, шаговый двигатель совершает дискретное вращение под воздействием серии импульсов. В нашем примере двигателю необходимо 200 шагов чтобы совершить полный оборот в 360 градусов.
Рис. 5 Устройство шагового двигателя
Другое преимущество шаговых двигателей – то, что их скорость вращения может быть достигнута почти мгновенно при изменении направления вращения на противоположное.
Рис.6 Принцип работы Шагового Двигателя
Двухполюсный ротор из магнитомягкой стали с клювообразными выступами помещен в четырехполюсный статор. Одна пара полюсов выполнена из постоянных магнитов, на другой – находится обмотка управления. Пока тока в обмотках управления нет, ротор ориентируется вдоль постоянных магнитов и удерживается около них с определенным усилием, которое определяется магнитным потоком полюсов. При подаче постоянного напряжения на обмотку управления возникает магнитный поток примерно вдвое больший, чем поток постоянных магнитов.
Под действием электромагнитного усилия, создаваемого этим потоком, ротор поворачивается, преодолевая нагрузочный момент и момент, развиваемый постоянными магнитами, стремясь занять положение соосное с полюсами управляющей обмотки.
Для фиксации ротора при обесточенной обмотке управления не требуется потребление энергии, угол поворота сохраняет свое значение и при перерывах в питании. Двигатели этого типа отрабатывают импульсы с частотой до 200-300 Гц.
Особенностью устройства управления шаговым двигателем является цифровой способ задания скорости вращения, которая позволяет устанавливать частоту вращения мотора с дискретностью в 1 шаг на всем диапазоне.
1.3.Способы управления
Есть несколько способов, которые можно использовать, чтобы управлять шаговым двигателем.Одиночные импульсы – самый простой способ. Одновременно подключается только одна катушка. Необходимо 200 шагов чтобы ротор совершил один полный оборот. Каждый шаг перемещает ротор на 7,5 градусов.
Рис. 7 Одиночный импульс
Двойной импульс – одновременное подключение двух соседних катушек. В этом случае также необходимо 200 шагов чтобы ротор совершил один полный оборот. Каждый шаг перемещает ротор на 7,5 градусов.
Рис.8 Двойной импульс
Комбинированные импульсы – чередование первого и второго способа. Двигатель нуждается в 400 шагах, чтобы совершить один оборот. Каждый шаг перемещает ротор приблизительно на 3,75 градуса.
Так же по способу перемещения грузов они разделяются на транспортирующие груз захватом манипулятора, буксирующие транспортные средства с грузом и перемещающие груз без захвата.
Система управления транспортных роботов, построенная на комбинированных способах задания программы, обеспечивает расшифровку этих сигналов и выработку команд на исполнительные механизмы.
Транспортные роботы по приспособляемости к воздействию внешних условий делятся на роботы с жесткой программой и адаптивные. Большинство применяемых транспортных роботов относится к жесткопрограммируемым, т.е. программа их действия содержит полный набор информации, не изменяющийся в процессе работы и не корректирующийся при изменении внешней среды. Адаптивные транспортные роботы имеют сенсорное обеспечение, позволяющее корректировать управляющую программу в соответствии с информацией, полученной в процессе работы. Система этих роботов позволяет обойти препятствие, возникшее на пути движения, что очень важно как с точки зрения техники безопасности, так и сохранности самого транспортного робота.
Наибольшее развитие и распространение в настоящее время получили колесные транспортные роботы, используемые достаточно широко в промышленных автоматизированных транспортно-складских системах и гибких автоматизированных производствах в виде мобильных автоматических кранов, автоматических управляемых тележек (АУТ), робокаров и др., оснащаемых во многих случаях различными манипуляционными устройствами. В самом простом виде такие роботы следуют по рельсам либо по маршруту над кабелем, проложенным под поверхностью пола. Генератор частоты, подавая ток по кабелю, создает магнитное поле, улавливаемое двумя датчиками приемного устройства тележки, направляющими ее по требуемому маршруту. Даже такие 58 простые системы АУТ позволяет включать маршруты с несколькими ветвями и петлями посредством использования различных частот для каждого пути. В более сложном варианте тележка оборудуется автономной управляющей ЭВМ и средствами очувствления.
Транспортные роботы различаются скоростью и высотой перемещения захвата, способом выполнения операции перемещения, типов устройства управления, составом дополнительных устройств, механизмов, путевых устройств, а также массой и типов приводов перемещения роботов и их захватов.
Различие в технических характеристиках транспортных роботов обусловливает различие в их экономических показателях и, следовательно, в экономической эффективности их применения.
2.1 Описание LPT порта
IEEE 1284 (порт принтера, параллельный порт, англ. Line Print Terminal, LPT) — международный стандарт параллельного интерфейса для подключения периферийных устройств персонального компьютера.
В основном используется для подключения к компьютеру принтера, сканера и других внешних устройств (часто использовался для подключения внешних устройств хранения данных), однако может применяться и для других целей (организация связи между двумя компьютерами, подключение каких-либо механизмов телесигнализации и телеуправления).В основе данного стандарта лежит интерфейс Centronics и его расширенные версии (ECP, EPP).
Название «LPT» образовано от наименования стандартного устройства принтера «LPT1» (Line Printer Terminal или Line PrinTer) в операционных системах семейства MS-DOS. Внешний вид устройства представлен на рис.8.
Рис.8 Внешний вид LPT-порта.
25-контактный разъём DB-25, используемый как LPT-порт на персональных компьютерах (IEEE 1284-A)
Порт на стороне управляющего устройства (компьютера) имеет 25-контактный 2-рядный разъём DB-25-female («мама») (IEEE 1284-A).
Не путать с аналогичным male-разъёмом («папа»), который устанавливался на старых компьютерах и представляет собой 25-пиновый COM-порт. На периферийных устройствах обычно используется 36-контактный микроразъемHYPERLINK "https://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D1%80%D0%B0%D0%B7%D1%8A%D0%B5%D0%BC_%D0%BB%D0%B5%D0%BD%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D0%B3%D0%BE_%D1%82%D0%B8%D0%BF%D0%B0" ленточного типа Centronics (IEEE 1284-B), поэтому кабели для подключения периферийных устройств к компьютеру по параллельному порту обычно выполняются с 25-контактным разъёмом DB-25-male на одной стороне и 36-контактным IEEE 1284-B на другой (AB-кабель). Существуют также CC-кабели с разъёмами MiniCentronics на обоих концах, предназначенные для подключения приборов в стандарте IEEE 1284-II, который применяется редко.
Длина соединительного кабеля не должна превышать 3 метров. Конструкция кабеля: витые пары в общем экране, либо витые пары в индивидуальных экранах. Изредка используются ленточные кабели.
Для подключения сканера, и некоторых других устройств используется кабель, у которого вместо разъема (IEEE 1284-B) установлен разъем DB-25-male. Обычно сканер оснащается вторым интерфейсом с разъемом DB-25-female (IEEE 1284-A) для подключения принтера (поскольку обычно компьютер оснащается только одним интерфейсом IEEE 1284). Схемотехника сканера построена таким образом, чтобы при работе с принтером сканер прозрачно передавал данные с одного интерфейса на другой. Базовый интерфейс Centronics является однонаправленным параллельным интерфейсом, содержит характерные для такого интерфейса сигнальные линии (8 для передачи данных, строб, линии состояния устройства).
Рис.9 Интерфейс LPT-порта.
На рисунке 10 показано возможное подключение шагового двигателя к LPT-порту.
Рис.10 Схема контроллера шагового двигателя
Это довольно простая схема контроллера шагового двигателя, которая позволит точно управлять однополярным шаговым двигателем через параллельный порт компьютера.
3.Язык программирования Delphi.
3.1 Delphi.Его возможности и применение
Delphi — императивный, структурированный, объектно-ориентированный язык программирования, диалект Object Pascal. Начиная со среды разработки Delphi 7.0, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal. Начиная с 2007 года уже язык Delphi (производныйот Object Pascal) начал жить своей самостоятельной жизнью и претерпевал различные изменения связанные с современными тенденциями (например, с развитием платформы .NET) развития языков программирования: появились class helpers, перегрузки операторов и другое.
Выражения в Object Pascal(Delphi) бывают арифметическими, логическими и строковыми.
Основные логические выражения:
Обрабатываемые в программе данные подразделяются на переменные, константы и литералы. Константы представляют собой данные, значения которых установлены в разделе объявления констант и не изменяются в процессе выполнения программы.
Объекты как экземпляры класса объявляются в программе в разделе var как обычные переменные. Например:
var
CCircle1: TColorCircle;
Как и в случае записей, для обращения к конкретному элементу объекта (полю, свойству или методу) указывается имя объекта и имя элемента, разделенные точкой, то есть имя элемента является составным.
Данная программа должна состоять из 3 подпрограмм.
Траектория движения транспортного робота состоит из элементарных участков движения вперед – назад и поворот на заданный угол. Был поставлена задача разработать эти подпрограммы для каждого отдельного элемента этой траектории.
Один оборот равен 200 шагов.
Из геометрических соображений угол поворота вычисляется по формуле
где K - длинна оси от одного колеса до другого, равная 150 мм,
∆x – путь пройдённый колесом за один шаг.
Из теоретической механики можно вывести формулу скорости
а угловую скорость можно расписать как
и тогда, подставляя вторую формулу в первую, получим
Интерфейс программы выглядит таким образом
Рис. 11 Интерфейс программы
Так же мы можем задавать количество шагов, и период вращения шаговых двигателей.
После того, как двигатели совершат требуемое количество шагов, программа закончит свою работу.
Программа вычисляет пройденное расстояние в зависимости от радиуса колеса и количества шагов.
Ниже приведена одна из нескольких процедур программы.
procedure TForm1.Timer1Timer(Sender: TObject);
var
speed: integer;
PortValue: byte;
begin
K:=strTofloat(edit3.text); {количество шагов}
begin
Timer1.Interval:=round((speed/200)*1000);
PortValue:= motor1[step1] or motor2[step2];
Lpt.WritePort (GetCurrentPort,0,PortValue);
step1:=step1+direction1;
step2:=step2+direction2;
if step1=-1 then step1:=3;
if step1=4 then step1:=0;
if step2=4 then step2:=0;
if step2=-1 then step2:=3;
i:=i+1;
end;
S:=(2*3.14*R*K)/200; {расстояние}
label2.caption:=FloatToStr(s);
end;
begin
direction1:=1;
direction2:=1;
timer1.Enabled:=true;
end;
6.Заключение
В ходе выполнения выпускной работы было проделано:
1)Ознакомилась с методами управления шаговыми двигателями.
2)Был проведен анализ траектории, который позволил выявить элементарные участки
3)Разработана компьютерная программа, в которой каждый участок траектории обрабатывается соответствующей программой.
Были выделены элементарные участки траектории, которые оформленны в виде соответствующих подпрограмм.
Задание траектории сводиться к заданному набору соответствующих участков траектории. Была написана программа на языке Delphi.
Список литературы
В данном приложении приведена программа управления макетом транспортного робота.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, LPTIO,
type
Panel1: TPanel;
ComboBox1: TComboBox;
Label1: TLabel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
GroupBox1: TGroupBox;
Edit1: TEdit;
Timer1: TTimer;
GroupBox2: TGroupBox;
Edit2: TEdit;
GroupBox3: TGroupBox;
Edit3: TEdit;
Label2: TLabel;
Label3: TLabel;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
{procedure SpeedButton1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure SpeedButton2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure SpeedButton3MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure SpeedButton4MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); }
procedure Timer1Timer(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
private
{ Private declarations }
public
function GetCurrentPort : byte; // Читает список ComboBox1 и возвращает соответствующий номер порта
// function GetCurrentRegister : byte; // Читает список ComboBox2 и возвращает соответствующий номер регистра
procedure InOut; //-- EPP: вход / выход переключатель
end;
var
direction1:integer;
direction2:integer;
step1:integer;
step2:integer;
R:real;
S:real;
motor1: array[0..3] of byte;
motor2: array[0..3] of byte;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var msg : AnsiString;
begin
step1:=0;
step2:=0;
motor1[0]:=48; // 0011
motor1[1]:=96; // 0110
motor1[2]:=192;// 1100
motor1[3]:=144; // 1001
motor2[0]:=3; //0011
motor2[1]:=9; //1001
motor2[2]:=12; //1100
motor2[3]:=6; //0110
Lpt := TLptPortConnection.Create;
if not Lpt.Ready then
begin { объект не готов -- покажем код ошибки }
msg := 'Ошибка при создании объекта Lpt, драйвер ERROR, код = ' + IntToStr(GetLastError());
Application.MessageBox(PChar(msg),'ERROR',MB_OK);
Application.Terminate; // выход
end;
ComboBox1.Items.Clear;
ComboBox1.Text := '';
if Lpt.IsPortPresent(LPT1) then ComboBox1.Items.Add('$3BC');
if Lpt.IsPortPresent(LPT2) then ComboBox1.Items.Add('$378'); //-ВНИМАНИЕ: $378 здесь назван LPT2!
if Lpt.IsPortPresent(LPT3) then ComboBox1.Items.Add('$278');
if 0<>ComboBox1.Items.Count then ComboBox1.ItemIndex := 0;
Lpt.WritePort (GetCurrentPort,0,0);
end;
procedure TForm1.FormDestroy(Sender: TObject); // Обработчик разрушения
Lpt.Destroy;
{ Здесь разместите все таймеры, которые должны быть отключены }
end;
begin
GetCurrentPort:=LPT1
else
if '$378' = ComboBox1.Text then
GetCurrentPort:=LPT3;
end;
procedure TForm1.InOut; //--- переключ. направления в реж. EPP вход / выход
if Lpt.IsPortBidirectional(GetCurrentPort)= true then
begin
Lpt.WritePort(GetCurrentPort,2, (DIRECTION xor Lpt.ReadPort(GetCurrentPort,2))) ; //-- 32 (бит 5 )
MessageBox(Handle,PChar('Данный порт не является активным в EPP режиме. Для активации войдите в Bios, раздел INTEGRATED PERIPHERALS или др., найдите строку PARALLEL PORT MODE: измените режим работы порта на EPP или SPP/EPP.'),
PChar('Не доступен EPP режим '),MB_ICONINFORMATION + MB_OK +MB_DEFBUTTON2);
end;
var
speed1:real;
PortValue: byte;
begin
if i begin
trystrtoint(edit1.Text, speed);
Timer1.Interval:=round((speed/200)*1000);
PortValue:= motor1[step1] or motor2[step2];
Lpt.WritePort (GetCurrentPort,0,PortValue);
step1:=step1+direction1;
step2:=step2+direction2;
if step1=-1 then step1:=3;
if step1=4 then step1:=0;
if step2=4 then step2:=0;
if step2=-1 then step2:=3;
i:=i+1;
R:=strTofloat(edit2.text); {радиус колеса}
S:=(2*3.14*R*K)/200; {расстояние}
label2.caption:=FloatToStr(s);
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
i:=0;
direction2:=1;
timer1.Enabled:=true;
end;
begin
direction1:=-1;
direction2:=1;
timer1.Enabled:=true;
end;
procedure TForm1.SpeedButton3Click(Sender: TObject);
i:=0;
direction2:=-1;
timer1.Enabled:=true;
end;
begin
direction1:=1;
direction2:=-1;
timer1.Enabled:=true;
end.
Шаговый двигатель, его устройство и принцип работы
30 09 2014
1 стр.
Применение а/м семейства Газель с двигателем Chrysler, с двигателем змз-406 Евро 3
14 12 2014
1 стр.
Нам достался базовый автомобиль с двухлитровым 115-сильным двигателем, агрегатированным с шестиступенчатой коробкой передач. Его цена — $27900. Практически столько же стоят версии
16 12 2014
1 стр.
Погрузчик lg 953 оснащен хорошо зарекомендовавшим себя двигателем Steyr ("Штайр"), который вместе с надежной трансмиссией гарантирует машине превосходные технические характеристики
17 12 2014
1 стр.
Иммобилизатор апс-6 предназначен для исключения возможности несанкционированного запуска двигателя автомобиля Шевроле-Нива, работающего совместно с электронной системой управления
10 09 2014
1 стр.
Ту-91, оснащенный турбовинтовым двигателем. Самолет был готов уже после смерти Сталина, когда программа "большого флота" приказала долго жить. Попытки передать в ввс эту неординарн
13 10 2014
1 стр.
Краткая аннотация: Курс посвящен изучению современной теории оптимального управления, основанной на принципе максимума Понтрягина
14 10 2014
1 стр.
Цели и задачи дисциплины: Дисциплина обеспечивает теоретическими знаниями в области проектирования систем управления
12 10 2014
1 стр.