2 Постановка задачи
В литературном обзоре были рассмотрены основные категории программного обеспечения, необходимого для проекта. Для дальнейшего процесса необходимо сформулировать задачи, стоящие передо мной, а именно:
Необходимо изучить принципы работы с программой Avr Bascom
Научиться использованию Basic для разработки
Изучить Протеус, его интерфейс, возможности, способы осуществления целей поставленных перед этой программой
Разработать в Протеусе схему будущего устройства
Написать программу на Basic,скомпилировать её
Полученный в ходе компиляции файл необходимо симулировать в Протеусе
3 Практическая часть
3.1 Составление схемы будущего устройства
Здесь описывается процесс составления принципиальной схемы устройства
Всё устройство можно представить состоящим из следующих частей:
Самой ответственной частью всего устройства является блок питания установки так, как он выдаёт на выход до 2000 Вольт.
Схема подобного блока питания была найдена в книге Федоркова Б. Г. «Микросхемы ЦАП и АЦП - функционирование, параметры, применение»
Ниже приведена схема подобного устройства:
Основной составляющей всей схемы является ЦАП на 12 разрядов. То есть блок питания будет выдавать напряжения с шагом
Вольт
Как видно: получилась очень маленькая величина.
К выводу управление подсоединяется порт микроконтроллера или два, так как одного может не хватить.
3.2 Алгоритм управляющей программы микроконтроллера
В ходе процесса своей работы микроконтроллер должен придерживаться какого-то чёткого алгоритма.
Ниже можно видеть примерный алгоритм работы кода
А вот этот же алгоритм, но уже реализованный на Basic:
$regfile = "m16def.dat" 'подключаем файл с определениями At Mega16
$crystal = 16000000 'задаём частоту кристалла
$lib "lcd4.lbx"
'следующие две строчки настройки lcd экрана: пины и размер
Config Lcdpin = Pin, Rs = Portb.0, E = Portb.2, Db4 = Portb.4, Db5 = Portb.5, Db6 = Portb.6, Db7 = Portb.7
Config Lcd = 16 * 2
Config Adc = Single, Prescaler = Auto, Reference = Avcc 'конфигурирование АЦП
Dim W As Word
Dim B As Integer
Dim V As Integer
Config Single = Scientific, Digits = 3
V = 0
Config Portc = Output 'конфигурируем порт C на выход
Config Portd.0 = Output 'конфигурируем 0 пин порта d на выход
Start Adc 'Запускаем АЦП
Do 'основной цикл программы
V = V + 1 'инкрементируем счётчик напряжения
Portc = V 'выводим в порт C напряжение
W = Getadc(0) 'забираем из АЦП очередное значение
Dim U As Single 'делим взятое из ацп значение на 1024
'умножаем на 5
U = W / 1024
U = U * 5.0
Locate 2 , 1
Lcd "Uiz="; U; "Volts " 'выводим на жк-экран значение измеренного напряжения
Locate 1 , 1
U = 5.0 / 256.0
U = U * V
Lcd "Uupr="; V; " Volts" 'здесь выводим на жк-экран значение напряжения управления плазмой
Waitms 100 'ждём 100 мс
Loop
End 'конец программы
Комментарии к программе дают ясное представление о том, как эта программа работает.
3.2 Симуляция в Протеусе
Как говорилось раньше, Протеус является программным пакетом для создания и симуляции электрических схем преимущественно цифровых. И недаром: в программе ISIS можно найти практически любой зарубежный цифровой компонент или замену отечественному. И практически все компоненты можно использовать в моделировании. Также в программу включены виртуальные приборы. Это может быть осциллограф либо генератор сигнала. В целом Протеус представляет собой прекрасную среду для цифрового моделирования. На рисунке ниже можно увидеть интерфейс программы ISIS, главной программы Протеуса. Слева в окне можно увидеть список используемых компонентов, по центру - составляемую схему. Внизу слева находится панель быстрого запуска симуляции.
После загрузки микрокода в микроконтроллер можно приступать к симуляции. Для этого необходимо нажать на кнопку старт на панели быстрого запуска. Начнётся симуляция, и можно будет наблюдать изменение информации на жк экране:
Видно, что на экране выводится два параметра: напряжение управление и измеренное напряжение. Пока только эти два параметра нам необходимы. При изменении первого соответственно меняется второй параметр. Чтобы имитировать измеренное напряжение к 0 каналу АЦП подключается источник напряжения через делитель напряжения, построенный на потенциометре.
3.3 Реализация интерфейса взаимодействия между микроконтроллером ATmega16 и компьютером
Для начала необходимо определиться по какому протоколу будет происходить обмен информацией между микроконтроллером и ЭВМ. Это может быть обмен по последовательному порту либо же по универсальной последовательной шине(usb). Второй вариант в настоящее время набирает всё большую и большую популярность. Не стоит забывать и о линии питания на 5 В.Но существует проблема, и состоит она в том, что микроконтроллер не знает о существовании спецификации usb. В наличии его есть только интерфейс rs-2.
Для решения этой проблемы можно собрать специальный переходник rs-2 – usb. И здесь же представлена схема подобного переходника, использующего микросхему FT232BM на 32 вывода.
FT232BM выпускается в 32 выводном корпусе LQFP-32 с шагом выводов 0.8 мм. Микросхема имеет интерфейс для подключения внешней EEPROM памяти (выводы 1,2 и 32), в которой могут храниться уникальные идентификационные коды производителя и типа устройства, а также текстовые строки, содержащие информацию о наименовании, производителе устройства и т.п. Микросхема может питаться либо от шины USB, либо от внешнего стабилизированного источника питания с напряжением 5В. В качестве генератора тактовой частоты используется кварц на 6MHz, подключаемый к выводам 27 и 28.
Режим питания микросхемы определяется логическим уровнем на входе PWRCTL: лог.0 – питание от шины USB (Bus-Powered), лог.1 – питание от стороннего источника (Self-Powered). Инверсный вход RESET надо через резистор (а можно даже и без него) подтянуть к плюсу питания микросхемы – этого достаточно для нормальной работы. Выход RSROUT может использоваться для сброса внешних устройств в момент сброса FT232. Кроме того, к этому выводу подключается подтягивающий резистор для линии USB Data+. Сами линии Data+ и Data- - это выводы USBDP и USBDM соответственно.
Микроконтроллер своими выводами UART-передатчика подсоединяется к TXD и RXD выводам FT232BM.
При подключение этого устройства к ПК, оно определяется как USB Serial port и с ним можно работать как с обычным COM-портом, что очень удобно при работе с разными терминальными приложениями.
Максимальная скорость обмена данными – 921600.
3.4Интерфейс пользователя на LabView
LabVIEW (англ. Laboratory Virtual Instrumentation Engineering Workbench) — это среда разработки и платформа для выполнения программ, созданных на графическом языке программирования «G» фирмы National Instruments (США).
,В данном проекте использовалась 7-я версия данного программного продукта.
Вся программа на LabView состоит из двух частей: лицевой панели и визуального кода.
На лицевой панели расположены всяческие элементы управления и индикаторы процесса, а визуальный код описывает логику работы программы.
Вот лицевая панель виртуального прибора:
А ниже представлен алгоритм работы: