Семенов Б.Ю. Силовая электроника для любителей и профессионалов/ Б. Ю. Семенов. М.: Солон-Р, 2001. 126 с.
2. Хорвиц П. Искусство схемотехники. Пер. с англ. М.: Мир, 1993. 3. Лавриненко В.Ю. Справочник по полупроводниковым приборам. К.: Техника, 1984. 424 с. 4. Касаткин А.С. Электротехника. Учеб. пособие для вузов. 4-е изд. М.: Энергоатомиздат,1983. 440 с. 5. Брускин Д.Э. Электрические машины: В2-х ч. Ч1: Учеб. пособие для вузов. М.: Высшая школа,1987. 319 с. 6. Романычева Э.Т. Разработка и оформление конструкторской документации радиоэлектронной аппаратуры. М.: Радио и связь, 1989. 448 с. 7. Вольдек А.И. Электрические машины. Л.: Энергия, 1974. 840 с. 8. Сентурия С., Уэдлок Б. Электронные схемы и их применение. М.: Мир, 1977. 600 с. ПРИЛОЖЕНИЕ А (Обязательное)
Настройка и конфигурирование ПЛК в среде программирования CoDeSys
После инсталляции среды CoDeSys следует выполнить инсталляцию Target-файлов. В Target-файлах содержится информация о ресурсах программируемых контроллеров, с которыми работает CoDeSys. Инсталляция Target-файлов производится при помощи утилиты InstallTarget, устанавливающейся вместе со средой программирования. Выбор требуемого Target-файла показан на рисунке А.1. Рисунок А.1. Выбор требуемого Target-файла. Настраиваем входы и выходы ОВЕН ПЛК-150 в PLC Configurator. Цифровой вход 0 будет подключен к фотоимпульсному датчику (энкодеру). На аналоговые выходы будет поступать высокий или низкий уровень сигнала, характеризующий увеличение или уменьшение вращения двигателя постоянного тока. Настройка конфигуратора изображена на рисунке А.2. Рисунок А.2. Настройка конфигуратора. ПРИЛОЖЕНИЕ Б (Обязательное)
Разработка программы
Для программирования ОВЕН ПЛК-150 воспользуемся языками SFC, FBD и ST среды программирования CoDeSys. Текст программы представлен на рисунках Б.1-Б.3. Рисунок Б.1. Текст программы на языке SCF Рисунок Б.2. Текст программы на языке FBD Рисунок Б.3. Текст программы на языке ST.
На рисунке Б.4 изображена визуализация проекта. Рисунок Б.4. Визуализация проекта. Текст программы для микроконтроллеров PIC16F628A представлен на рисунках Б.5-Б.6. LIST P=16F628A, R=hex ; Use the PIC16F628 and decimal system #include "P16F628A.INC" ; Include header file __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_OFF & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF & _LVP_OFF TEMP EQU 070h TEMP1 EQU 072h COUNT EQU 074h COUNT1 EQU 076h ORG 0x000 ; Program starts at 0x000 begin ; ; ---------------- ; INITIALIZE PORTS ; ---------------- ; movf PORTA,F movf PORTB,F
bsf STATUS,RP0
movlw B'00000000' movwf TRISA
movlw B'00001001' movwf TRISB
movlw B'10000000' movwf OPTION_REG
bcf STATUS,RP0
movlw B'00000000' movwf PORTA
movlw B'00000000' movwf PORTB ; ; --------- ; MAIN LOOP ; --------- ; movlw 00h movwf TEMP movlw 00h movwf TEMP1 movlw 04h movwf COUNT Рисунок Б.5. Текст программы для PIC16F628A.
movlw 04h movwf COUNT1
loop movf PORTB,W btfsc PORTB,3 goto new goto loop
new iorwf TEMP1 movlw 01h andwf TEMP1,0 iorwf TEMP rlf TEMP,1 movlw 00h movwf TEMP1
decfsz COUNT,1 goto again goto loop1 again btfsc PORTB,3 goto again
loop1 decfsz COUNT1,1 goto loop
rrf TEMP,1 movf TEMP,W movwf PORTA
cycle btfsc PORTB,3 goto cycle movlw 00h movwf TEMP movlw 00h movwf TEMP1 movlw 04h movwf COUNT movlw 04h movwf COUNT1 clrf PORTA clrf PORTB goto loop END Рисунок Б.5. Продолжение.
LIST P=16F628A, R=DEC ; Использовать десятичную систему счисления #include "P16F628A.INC" ; Подключение библиотеки __config _INTRC_OSC_NOCLKOUT & _LVP_OFF & _WDT_OFF & _PWRTE_ON & _BODEN_ON ORG 0x000 ; Program starts at 0x000 ; ; ---------------- ; INITIALIZE PORTS ; ---------------- ; movlw b'00000000' ; Установка portA movwf PORTA
movlw b'00000100' ; RB2(TX)=1 остальные 0 movwf PORTB
bsf STATUS,RP0 ; Банк памяти 1
movlw 0xFF movwf TRISA ; Все разряды portA входы
movlw b'11110010' ; RB7-RB4 and RB1(RX)=входы, остальные выходы movwf TRISB
; ------------------------------------ ; SET BAUD RATE TO COMMUNICATE WITH PC ; ------------------------------------ ; Скорость = 9600 бод, без паритета, 1 стоповый бит ; movlw 0x19 ; 0x19=9600 bps (0x0C=19200 bps) movwf SPBRG movlw b'00100100' ; movwf TXSTA ; включение асинхронной передачи
bcf STATUS,RP0 ; Банк памяти 0
movlw b'10010000' ; включение асинхронного приема movwf RCSTA
; ; --------- ; MAIN LOOP ; --------- ; call message ; послать строку loop call receive ; ожидание символа call send ; посылка символа goto loop ; ; ------------------------------------------- ; Принятие символа через RS-232 и сохранение его в регистре W ; ------------------------------------------- Рисунок Б.6. Текст программы для PIC16F628A.
; Этот цикл не заканчивается пока символ не принят ; receive btfss PIR1,RCIF ; (5) проверка на наличие поступающих данных goto receive
movf RCREG,W ; сохранение поступивших данных в W return ; ; ------------------------------------------------------------- ; Отправка символа через RS-232 и ожидание окончания отправки ; ------------------------------------------------------------- ; send movwf TXREG ; скопировать в регистр W посылаемый символ
TransWt bsf STATUS,RP0 ; Банк памяти 1 WtHere btfss TXSTA,TRMT ; (1) если 1 то передача завершена goto WtHere
bcf STATUS,RP0 ; Банк памяти 0 return ; ; ------- ; Сообщение ; ------- ; message movlw 'B' call send movlw 'a' call send movlw 'k' call send movlw 'a' call send movlw 'l' call send movlw 'a' call send movlw 'v' call send movlw 'r' call send movlw 's' call send movlw 'k' call send movlw 'a' call send movlw 'i' call send movlw 'a' Рисунок Б.6. Продолжение. call send movlw ' ' call send movlw 'r' call send movlw 'a' call send movlw 'b' call send movlw 'o' call send movlw 't' call send movlw 'a' call send movlw ' ' call send movlw 'P' call send movlw 'o' call send movlw 'd' call send movlw 'g' call send movlw 'u' call send movlw 'z' call send movlw 'o' call send movlw 'v' call send movlw ' ' call send movlw 'A' call send movlw '.' call send movlw 'V' call send movlw '.' call send movlw 0x0D ; CR call send movlw 0x0A ; LF call send return END Рисунок Б.6. Продолжение. Текст программы для микроконтроллера MSP430C1101 представлен на рисунке Б.7. #include "msp430x11x1.h" ; Standard Equations
NAME DCmotorspeedcontroller #define Duty_cycle R6 ;****************************************************************************** ;Константы ;****************************************************************************** PWM_OUT equ 004h ; bit2 of Port1 / TA1 Period equ 0ffh ; Counts for D/A, 8bits = 256 ;****************************************************************************** RSEG CSTACK DS 0 ;****************************************************************************** RSEG CODE ;******************************************************************************
RESET mov #SFE(CSTACK),SP ; Инициализация стека call #Init_Sys ; Процедура инициализации
Mainloop bit.b #BIT0,&P2IN ; проверка был ли подан сигнал уменьшения скважности ШИМ jz Next1
bit.b #BIT1,&P2IN ; проверка был ли подан сигнал уменьшения скважности ШИМ jz Next2
jmp Mainloop ; ожидание подачи управляющего сигнала
Next1 cmp #0,Duty_cycle ; если значение скважности ШИМ минимально jz Mainloop ; то переход на ожидание нажатия dec Duty_cycle ; увеличение скважности ШИМ jmp SendPWM
Next2 cmp #0ffh,Duty_cycle ; если значение скважности ШИМ максимально jz Mainloop ; то переход на ожидание нажатия inc Duty_cycle ; уменьшение скважности ШИМ
SendPWM mov Duty_cycle,&CCR1 ; Вывод ШИМ сигнала на выход call #Delay ; Вызов процедуры задержки jmp Mainloop ; ожидание подачи управляющего сигнала
;****************************************************************************** Init_Sys; Инициализация ;****************************************************************************** StopWDT mov #WDTPW+WDTHOLD,&WDTCTL ; Останов сторожевого таймера
SetupBC mov.b #XTOFF+RSEL2+RSEL1+RSEL0,&BCSCTL1 ; RSEL=7 mov.b #0ffh,&DCOCTL ; Режим максимальной частоты.
SetupP1 mov.b #0,&P1OUT ; P1OUT сброс bis.b #PWM_OUT,&P1SEL ; P1.2/TA1 настраиваем на ШИМ выход bis.b #0ffh,P1DIR ; остальные выводы P1 не используем
SetupP2 mov.b #03ch,&P2DIR ; P2.0,P2.1 входы,P2.2 to P2.5 не используются
mov #Period,&CCR0 ; Установка периода длительности ШИМ mov #0,&CCR1 ; mov #OUTMOD_7,&CCTL1 ; Настройка режима таймера SetupTA mov #TASSEL1+MC0,&TACTL ; Установка внутреннего генератора частоты
mov #0,Duty_cycle ; Сброс переменной Duty_cycle ret ; Возврат из процедуры
;****************************************************************************** Delay; Software delay ;****************************************************************************** push #03FFFh ; Задержка L1 dec 0(SP) ; jnz L1 ; incd SP ; ret ; Рисунок Б.7. Текст программы для MSP430C1101.
;****************************************************************************** COMMON INTVEC ; MSP430F1xx Векторы прерывания ;****************************************************************************** ORG RESET_VECTOR RESET_VEC DW RESET ; Сброс сторожевого таймера
END
Рисунок Б.7. Продолжение. ПРИЛОЖЕНИЕ В (Обязательное)
Руководство программиста Спроектированный блок управления двигателем постоянного тока спроектирован на основе микроконтроллера MSP430C1101 и программируемого логического контроллера ОВЕН ПЛК-150. Для того чтобы задать другие значения длительностей управляющего сигнала с ПЛК, необходимо в среде программирования CoDeSys изменить значение PT таймеров TON1-TON10 на требуемое. Для того чтобы задать другие значения скважности ШИМ сигнала, необходимо в программном коде для микроконтроллера MSP430C1101 изменить значение переменной Duty_cycle, которая пропорциональна скважности, изменение которой, в свою очередь, позволяет управлять частотой оборотов двигателя постоянного тока. Для того чтобы использовать дополнительные интерфейсы связи, необходимо разрабатывать программное обеспечение для операционной системы персонального компьютера. Вся техническая информацию по программированию интерфейсов связи имеется в datasheet микроконтроллера MSP430C1101. ПРИЛОЖЕНИЕ Г (Обязательное)
Руководство пользователя
Для управления частотой вращения двигателя постоянного тока необходимо: – соединить ОВЕН ПЛК-150 с персональным компьютером через COM порт (подробное описание приводится в документации прибора ОВЕН ПЛК-150); – запустить исполняющую программу new.pro; – в открывшейся программе выбрать вкладку Visualizations - Diplom. Откроется следующее окно: Рисунок Г.1. Окно визуализации программы. – для запуска программы нажать на кнопку «Старт»; – сбросить предыдущие значения кнопкой «Сброс»; – для увеличения или уменьшения скважности ШИМ нажать на кнопку «+1» или «-1». Для быстрого увеличения или уменьшения скважности ШИМ нажать на кнопку «+5» или «-5». ПРИЛОЖЕНИЕ Д (Рекомендуемое)
Характеристики MAХ232
Рисунок Д.1. Внешний вид приёмопередатчика MAX232.
Рисунок Д.2. Обозначение контактов MAX232.
Микросхема приемопередатчика MAX3232 оснащена фирменным выходным каскадом передатчиков, обеспечивающим малое падение напряжения и полную совместимость с требованиями стандарта RS-232 при напряжении питания от 3,0 до 5,5 В. Формирование выходного сигнала, при использовании одного положительного напряжения питания, обеспечивается двумя встроенными генераторами накачки, для работы которых достаточно четырех внешних малогабаритных конденсаторов емкостью по 0,1 мкФ. 1.3 Цифровой сигнальный процессор: MSP430C1101 - 16-разрядная RISC-архитектура, время выполнения инструкции ПРИЛОЖЕНИЕ Е (Рекомендуемое)
Микроконтроллер MSP430C1101 Рисунок Е.1. Внешний вид микроконтроллера MSP430C1101.
Цифровой сигнальный процессор MSP430C1101 имеет в своем составе ПЗУ, ОЗУ, число портов ввода/вывода - 20. Питание микроконтроллера осуществляется от источника напряжения +3В. Микроконтроллеры данного семейства содержат 16-разрядное RISC CPU, периферийные модули и гибкую систему тактирования, соединенные через фон-Неймоновскую общую адресную шину (MAB) памяти и шину памяти данных (MDB). Объединяя современное CPU с отображаемыми в памяти аналоговыми и цифровыми периферийными устройствами. Система тактирования разработана специально для использования в приложениях с питанием от батарей. Вспомогательная низкочастотная система тактирования (ACLK) работает непосредственно от обычного 32 кГц часового кристалла. Модуль ACLK может использоваться в качестве фоновой системы реального времени с функцией самостоятельного «пробуждения». Интегрированный высокоскоростной осциллятор с цифровым управлением (DCO) может быть источником основного тактирования (MCLK) для ЦПУ и высокоскоростных периферийных устройств. Модуль DCO становится активным и стабильным менее чем через 6 мкС после запуска. Семейство MSP430 имеет фон-Неймоновскую архитектуру с единым адресным пространством для регистров специального назначения (SFR), периферии, ОЗУ и Flash-памяти программ. Доступ к программному коду выполняется всегда по четным адресам. Данные могут быть доступны как байты или как слова. ПРИЛОЖЕНИЕ Ж (Рекомендуемое)
Основные характеристики ОВЕН ПЛК-150
Надежная среда программирования CoDeSys входит в комплект поставки контроллера. Программируемые логические контроллеры ОВЕН ПЛК имеют встроенные интерфейсы Ethernet 10/100 Мbps, RS-485, RS-232, USB-Device*, USB-Host*. Контроллеры поддерживают протоколы ОВЕН, Modbus RTU, Modbus ASCII, DCON, Modbus TCP, GateWay. Устройство промышленного контроллера предусматривает три режима функционирования дискретных входов (10 кГц): режим импульсного счетчика, триггера или энкодера. Контроллер предусматривает высокую точность настройки всех дискретных входов на генерацию ШИМ-сигнала. В комплект поставки входят готовые библиотеки функциональных блоков. Это как стандартные библиотеки CoDeSys, так и разработки ОВЕН (ПИД-регулятор с автонастройкой, блок управления 3-х позиционными задвижками, блок измерения влажности психрометрическим методом и т.д.). Количество входов и выходов программируемых логических контроллеров можно увеличить с помощью подключения внешних модулей ввода/вывода. Контроллер оснащен встроенными часами реального времени и встроенным аккумуляторным источником резервного питания. Внешний вид ОВЕН ПЛК-150 показан на рисунке Ж.1. Рисунок Ж.1 – Внешний вид ОВЕН ПЛК-150
ПРИЛОЖЕНИЕ И (Рекомендуемое)
Среда программирования CoDeSys
CoDeSys - это современный инструмент для программирования контроллеров (CoDeSys образуется от слов Controllers Development System). CoDeSys предоставляет программисту удобную среду для программирования контроллеров на языках стандарта МЭК 61131-3. Используемые редакторы и отладочные средства базируются на широко известных и хорошо себя зарекомендовавших принципах, знакомых по другим популярным средам профессионального программирования (такие, как Visual C++). Проект включает следующие объекты: POU, типы данных, визуализации, ресурсы, библиотеки. Каждый проект сохраняется в отдельном файле. К программным компонентам (POU) относятся функциональные блоки, функции и программы. Отдельные POU могут включать действия (подпрограммы). Каждый программный компонент состоит из раздела объявлений и кода. Для написания всего кода POU используется только один из МЭК языков программирования (IL, ST, FBD, SFC, LD или CFC). CoDeSys поддерживает все описанные стандартом МЭК компоненты. Для их использования достаточно включить в свой проект библиотеку standard.lib. POU могут вызывать другие POU, но рекурсии недопустимы. Функция – это POU, который возвращает только единственное значение (которое может состоять из нескольких элементов, если это битовое поле или структура). В текстовых языках функция вызывается как оператор и может входить в выражения. При объявлении функции необходимо указать тип возвращаемого значения. Для этого после имени функции нужно написать двоеточие и тип. ПРИЛОЖЕНИЕ К (Рекомендуемое)
Инкрементные фотоимпульсные датчики (ФИД)
Схема применения фотоимпульсного датчика для измерения угла поворота a показана на рисунке К.1. Рисунок К.1. Схема применения фотоимпульсного датчика. Основным элементом ФИД является прозрачный диск с нанесенными на него рисками, количество которых достигает нескольких тысяч. При повороте диска, луч света, излучаемый источником ИС, модулируется рисками и воспринимается фотоприемниками ФП. Электрические сигналы от ФП преобразуются электронным преобразователем ЭП в систему электрических сигналов, которые подаются на программируемый логический контроллер ПК. ФИД генерирует следующие сигналы и их инверсии: OSN – основной; SM – смещенный; CLRM – нуль-метод. Диаграмма этих сигналов при вращении вправо и влево показана на рисунке К.2. Программно-аппаратное обеспечение ПК организовано так, что при движении вправо при каждом переходе входного сигнала происходит прибавление "1" в программном или аппаратном счетчике, а при движении влево – вычитание "1". Кроме того, ПК проверяет отсутствие обрыва линии, сравнивая сигналы с их инверсиями. Таким образом, в счетчике ПК формируется код угла поворота Na или его приращения. Рисунок К.2 – Диаграмма сигналов, генерируемых ФИД ПРИЛОЖЕНИЕ Л (Рекомендуемое)
Принцип управления скоростью вращения двигателя постоянного тока с помощью широтно-импульсной модуляции
При регулировании скорости вращения двигателя с помощью широтно-импульсной модуляции (ШИМ, в англоязычных текстах - PWM, pУLse-width modУLation) на двигатель подается полное напряжение питание, но регулируется время, в течение которого оно подается. Широтно-импульсная модуляция представлена на рисунке Л.1. Рисунок Л.1. Широтно-импульсная модуляция.
То, что с помощью дискретного сигнала ("включено/выключено") можно управлять аналоговой величиной (частотой вращения двигателя), делает этот способ очень популярным при использовании цифровых схем управления и, в частности, логических контроллеров. Обычно частота ШИМ бывает довольно высока и составляет от нескольких десятков до нескольких сотен герц. В этом случае при емкостной нагрузке происходит сглаживание пульсаций питающего напряжения и фактически мы подаем на двигатель некоторое эффективное напряжение. Скажем, при напряжении питания 10В и длительности импульса 50% от периода, мы получим точно такой же результат, как если бы просто подали на двигатель напряжение 5В. Часто именно это и требуется. Более того, это один из наиболее популярных способов регулирования аналогового напряжения в цифровых схемах. Обратите внимание, что если емкость нагрузки мала, вы можете столкнуться с неожиданным поведением двигателя, что особенно заметно у дешевых микромоторов. Коллекторная система двигателя играет роль коммутатора, включая и выключая его обмотки; когда же на включение обмоток накладывается периодическое включение питания, результат может быть непредсказуемым, вплоть до того, что при определенном сочетании частоты ШИМ и частоты вращения двигателя, последний начнет вращаться в обратную сторону. Схема подключения нагрузки представлена на рисунке Л.2. Рисунок Л.2. Схема подключения нагрузки.
Популярное: Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (255)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |