Способы управления фазами шагового двигателя — КиберПедия 

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Способы управления фазами шагового двигателя

2021-02-01 70
Способы управления фазами шагового двигателя 0.00 из 5.00 0 оценок
Заказать работу

Существует несколько способов управления фазами шагового двигателя. Первый способ обеспечивается попеременной коммутации фаз, при этом они не перекрываются, в один момент времени включена только одна фаза (рис. 4.3 а). Этот способ называют ”one phase on” full step или wave drive mode.

Точки равновесия ротора для каждого шага совпадают с «естественными» точками равновесия ротора у незапитанного двигателя.

Рисунок 4.3. Диаграммы управления двигателем

 

Второй способ - управление фазами с перекрытием: две фазы включены в одно и то же время. Его называют ”two-phase-on” full step или просто full step mode. При этом способе управления ротор фиксируется в промежуточных позициях между полюсами статора (рис. 4.3 б) и обеспечивается примерно на 40% больший момент, чем в случае одной включенной фазы. Этот способ управления обеспечивает такой же угол шага, как и первый способ, но положение точек равновесия ротора смещено на пол-шага.

Третий способ является комбинацией первых двух и называется полушаговым режимом, ”one and two-phase-on” half step или просто half step mode, когда двигатель делает шаг в половину основного. Этот метод управления достаточно распространен, так как двигатель с меньшим шагом стоит дороже и очень заманчиво получить от 100-шагового двигателя 200 шагов на оборот. Каждый второй шаг запитана лишь одна фаза, а в остальных случаях запитаны две (рис. 4.3 в). В результате угловое перемещение ротора составляет половину угла шага для первых двух способов управления. Кроме уменьшения размера шага этот способ управления позволяет частично избавиться от явления резонанса. Полушаговый режим обычно не позволяет получить полный момент, хотя наиболее совершенные драйверы реализуют модифицированный полушаговый режим, в котором двигатель обеспечивает практически полный момент, при этом рассеиваемая мощность не превышает номинальной.

Таким образом управление двигателем осуществляется запитыванием фаз

двигателя в порядке, определяемым способом управления и из этого следует управляющая программа микроконтроллера управления фазами. Изменяя частоту подачи управляющих импульсов можно изменять частоту вращения вала двигателя.

Контрольные точки макета позволяют наблюдать форму токов в каждой из фаз (полуобмоток) двигателя. Осциллограф подключается массовым щупом к одной из контрольных точек, а сигнальным - к клемме «Общий».

Управление двигателями осуществляется по униполярной схеме. В качестве источника питания +12В и +5В используется встроенный блок питания.

 

Подача управляющих импульсов +5. В на контаты разъема Х1, расположенного на задней панели макета осуществляется замыканием контакта Х1.1 и Х1.2-Х1.5 (для двигателя 1), Х1.6-Х1.9 (для двигателя 2). Последовательное замыкание Х1.1 на Х1.2 à 3à4à5 приводит к вращению вала двигателя 1 по часовой стрелке. Для двигателя 2: 6à7à8à9. Таким образом осуществляется однофазное управление (т.е. в каждый момент времени подключена одна фаза – полуобмотка двигателя). Вращение против часовой стрелки осуществляется подачей импульсов на фазы в обратном порядке. Назначение выводов разъема Х1 (DB9-F) приведены в таблице 4.1.

Переключатель на передней панели макета для включения режима повышенных токов в полуобмотках двигателя. В этом режиме ток                                                                                                                        =0,9А (вместо 0,45 А в обычном режиме).

Контакт 1 à +5B.

Таблица 4.1

Назначение выводов разъема Х1 (DB9-F)

 

Контакт

Двигатель 1

Двигатель 2

полуобмотки

полуобмотки

1 2 3 4 1 2 3 4
2 х              
3   х            
4     х          
5       х        
6         х      
7           х    
8             х  
9               х

 

На верхней панели непосредственно над переключателем расположены два светодиода (один светодиод на один двигатель), которые сигнализируют о включенном режиме повышенных токов. Этот режим не рекомендуется включать на длительное время из-за большого тепловыделения на элементах схемы.

Элементы схемы управления:

    VT 1- VT 4: KT972A;

    VD 1- VD 4: 1N4007;

    R 1- R 4: 9,1 кОм.

Пример исходного кода программы для работы с интерфейсом LPT на языке программирования Borland Delphi 7

 

Программа создана в визуальной среде программирования Borland Delphi 7.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, LPTIO,

ExtCtrls, StdCtrls;

type

TForm1 = class(TForm)

Panel1: TPanel;

ComboBox1: TComboBox;

Label1: TLabel;

procedure FormCreate(Sender: TObject);

procedure FormDestroy(Sender: TObject);

private

{ Private declarations }

Lpt: TLptPortConnection;

public

{ Public declarations }

 function GetCurrentPort: byte

 function GetCurrentRegister: byte;

function Pin2: boolean; function Pin3: boolean; function Pin4: boolean; function Pin5: boolean; function Pin6: boolean; function Pin7: boolean; function Pin8: boolean; function Pin1: boolean;

procedure ButtonPin2; procedure ButtonPin3; procedure ButtonPin4; procedure ButtonPin5; procedure ButtonPin6; procedure ButtonPin7; procedure ButtonPin8; procedure ButtonPin1;

end;

var

Form1: TForm1;

Ch: Boolean;

I: integer;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);

var msg: AnsiString;

begin

 Lpt:= TLptPortConnection.Create;

 if not Lpt.Ready then

begin

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;

end;

procedure TForm1.FormDestroy(Sender: TObject);

begin

 Lpt.Destroy;

end;

function TForm1.GetCurrentPort: byte;    

begin

 if '$3BC' = ComboBox1.Text then

GetCurrentPort:=LPT1

                       else

if '$378' = ComboBox1.Text then

GetCurrentPort:=LPT2 else

GetCurrentPort:=LPT3;

end;

function TForm1.Pin2: boolean;

 Var

 d: boolean;

 begin

d:= true;

d:= d and (1 = (1 and Lpt.ReadPort((GetCurrentPort),0)));

Pin2:= d;

 end;

 function TForm1.Pin3: boolean;

 Var

 d: boolean;

 begin

d:= true;

d:= d and (2 = (2 and Lpt.ReadPort(GetCurrentPort,0)));

Pin3:= d;

 end;

 

 function TForm1.Pin4: boolean;

 Var

 d: boolean;

 begin

d:= true;

d:= d and (4 = (4 and Lpt.ReadPort(GetCurrentPort,0)));

Pin4:= d;

 end;

 function TForm1.Pin5: boolean;

 Var

 d: boolean;

 begin

d:= true;

d:= d and (8 = (8 and Lpt.ReadPort(GetCurrentPort,0)));

Pin5:= d;

 end;

 function TForm1.Pin6: boolean;

 Var

 d: boolean;

 begin

d:= true;

d:= d and (16 = (16 and Lpt.ReadPort(GetCurrentPort,0)));

Pin6:= d;

 end;

 function TForm1.Pin7: boolean;

 Var

 d: boolean;

 begin

d:= true;

d:= d and (32 = (32 and Lpt.ReadPort(GetCurrentPort,0)));

Pin7:= d;

 end;

 function TForm1.Pin8: boolean;

 Var

 d: boolean;

 begin

d:= true;

d:= d and (64 = (64 and Lpt.ReadPort(GetCurrentPort,0)));

Pin8:= d;

 end;

 function TForm1.Pin1: boolean;

 Var

 d: boolean;

 begin

d:= true;

d:= d xor (STROBE = (STROBE and Lpt.ReadPort(GetCurrentPort,2)));

Pin1:= d;

 end;

procedure TForm1.ButtonPin2;

 begin

 Lpt.WritePort (GetCurrentPort,0,(1 xor Lpt.ReadPort((GetCurrentPort),0)));

 end;

 procedure TForm1.ButtonPin3;

 begin

 Lpt.WritePort (GetCurrentPort,0,(2 xor Lpt.ReadPort((GetCurrentPort),0)));

 end;

 procedure TForm1.ButtonPin4;

 begin

 Lpt.WritePort (GetCurrentPort,0,(4 xor Lpt.ReadPort((GetCurrentPort),0)));

 end;

 procedure TForm1.ButtonPin5;

 begin

 Lpt.WritePort (GetCurrentPort,0,(8 xor Lpt.ReadPort((GetCurrentPort),0)));

 end;

 procedure TForm1.ButtonPin6;

 begin

 Lpt.WritePort (GetCurrentPort,0,(16 xor Lpt.ReadPort((GetCurrentPort),0)));

 end;

procedure TForm1.ButtonPin7;

 begin

 Lpt.WritePort (GetCurrentPort,0,(32 xor Lpt.ReadPort((GetCurrentPort),0)));

 end;

 procedure TForm1.ButtonPin8;

 begin

 Lpt.WritePort (GetCurrentPort,0,(64 xor Lpt.ReadPort((GetCurrentPort),0)));

 end;

 procedure TForm1.ButtonPin1;

 begin

 Lpt.WritePort (GetCurrentPort,2,(1 xor Lpt.ReadPort((GetCurrentPort),2)));

 end;

procedure TForm1.Button1Click;

//Программа поочередно выставляет и снимает 1 на каждом из 8 выводов данных

begin

for i:=1 to 1000 do

begin

if ch:=true then exit;

ButtonPin1;Sleep(100);ButtonPin1;Sleep(100);

ButtonPin2;Sleep(100);ButtonPin2;Sleep(100);

ButtonPin3;Sleep(100);ButtonPin3;Sleep(100);

ButtonPin4;Sleep(100);ButtonPin4;Sleep(100);

ButtonPin5;Sleep(100);ButtonPin5;Sleep(100);

ButtonPin6;Sleep(100);ButtonPin6;Sleep(100);

ButtonPin7;Sleep(100);ButtonPin7;Sleep(100);

ButtonPin8;Sleep(100);ButtonPin8;Sleep(100);

    end;

end;

 end.

Задания по лабораторной работе

1. Изучить структурную, функциональную схему лабораторного макета;

2. Составить “заготовку” отчета и правильно ответив на 5 вопросов преподавателя получить допуск к выполнению работы;

3. Аккуратно подключить (в присутствии лаборанта или преподавателя) макет к компьютеру через LPT порт и включить питание.

4. Запустить программу управления драйвером (шаговым двигателем) и изучить ее.

5. Оформить отчет по работе и защитить у преподавателя

Список рекомендуеиой литературы:

1. Джордейн, Роберт. Справочник программиста персональных компьютеров – М.: Радио и связь,1992.–280с.

2. Кулешов С.В. Интерфейс PIC контроллера с компьютером// Радио – №7,2003.– с.20-22.

3. Перельман Б.Л. Транзисторы для аппаратуры широкого применения: Справочник.– М: Радио и связь,1986.–567с.

4. http://www.kulakov.ru/ – разработка электронных устройств на PIC – контроллерах.

5. http://www.toehelp.ru/theory/electromach/contents.html – описание принципов работы шаговых двигателей.

6. http://www.maxim-ic.COM/quick_view2.cfm/qv_pk/179 – описание микросхемы MAX232.

7. Seiichi Inoue. PIC контроллер управляет электродвигателем // Радио – №6, 2002.– с.4,5.

 

 

 

Рисунок 4.4.Функциональная электрическая схема макета(часть 1)

 

 

Рисунок 4.4.Функциональная электрическая схема макета(часть 2)

 

Список рекомендуемой литературы

  1. Джордейн, Роберт. Справочник программиста персональных компьютеров – М.: Радио и связь,1992.–280с.

2.    ЗАО «Руднев -Шиляев», «Руководство по эксплуатации платы ЛА- н10М6PCI», Москва, 2003г. (CD диск с руководством пользователя у преподавателя).

  1. Кулешов С.В. Интерфейс PIC контроллера с компьютером// Радио – №7,2003.– с.20-22.
  2. Новоченко И.В. и др. Интегральные схемы для бытовой радиоаппаратуры – М.: Радио и связь,1995.–324с.
  3. Перельман Б.Л. Транзисторы для аппаратуры широкого применения: Справочник.– М: Радио и связь,1986.–567с.

6.    Руководство по эксплуатации контроллеров КРОСС(CD диск с руководством пользователя у преподавателя).

  1. Яценков В.С. Микроконтроллеры Microchip. Практическое руководство – М.: Горячая линия – Телеком,2002.–296с.

8. http://www.zeim.ru/production/DOcs/controllers/rp-1.pdf. - описание SCADA системы ISaGRAF часть 1.

9. http://www.zeim.ru/production/DOcs/controllers/rp-2.pdf. - описание SCADA системы ISaGRAF часть 2.

10. http://www.zeim.ru/production/DOcs/controllers/rp-3.pdf. - описание SCADA системы ISaGRAF часть 3.

11. http://www.zeim.ru/production/DOcs/controllers/rp-4.pdf.- описание SCADA системы ISaGRAF часть 4.

  1. http://www.rudshel.ru/pdf/LA-n10M6PCI.rar.-описание измерительной платы ЛА-н10М6PCI:
  2. http://www.rudshel.ru/show/?id=100 - описание утилиты ADCLab.
  3. http://PIC16F84.narod.ru/index.htm – устройство управления на микроконтроллере PIC16F84.
  4. http://www.kulakov.ru/ – разработка электронных устройств на PIC – контроллерах.
  5. http://www.toehelp.ru/theory/electromach/contents.html – описание принципов работы шаговых двигателей.
  6. http://www.kulakov.ru/ – разработка электронных устройств на PIC – контроллерах.
  7. http://www.toehelp.ru/theory/electromach/contents.html – описание принципов работы шаговых двигателей.
  8. http://www.microchip.ru/lit/pic/pic16x8x/PIC16F84. - описание PIC16F84.
  9. http://www.maxim-ic.COM/quick_view2.cfm/qv_pk/179 - описание микросхемы MAX232.

21. ISaGRAF версия 3.51. Руководство пользователя(CD диск с руководством пользователя у преподавателя).

  1. Seiichi Inoue. PIC контроллер управляет электродвигателем // Радио – №6, 2002.– с.4,5.

 

 


Поделиться с друзьями:

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.061 с.