Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ_5.docx
Скачиваний:
33
Добавлен:
13.09.2019
Размер:
6.17 Mб
Скачать

3.7 Разработка программы для микропроцессорной системы управления

Для микроконтроллера PIC16F877A была разработана специальная программа, для управления симмисторными ключами. Наиболее подходящей средой программирования для микроконтроллера оказалась программное обеспечение «MikroPascal PRO PIC». Именно в этой среде была написана программа для микропроцессорной системы управления.

Первым этапом в разработке программы явилось изучение и использование специальных команд для микроконтроллера PIC16F877A.

Универсальные порты ввода/вывода могут рассматриваться как самые простые периферийные модули. Они позволяют микроконтроллерам PICmicro контролировать работу и управлять другими устройствами. С целью расширения функциональных возможностей некоторые каналы портов ввода/вывода мультиплицированы с другими периферийными модулями. Набор дополнительных функций каналов портов ввода/вывода зависит от реализованных периферийных модулей в микроконтроллере. Как правило, при включенном периферийном модуле, соответствующий вывод микроконтроллера не может использоваться как универсальный канал ввода/вывода.

Для большинства каналов портов ввода/вывода регистры TRIS управляют направлением данных на выводе. Бит TRIS<x> управляет направлением данных на канале PORT<x>. Если бит TRIS установлен в «1», то соответствующий канал порта ввода/вывода работает как вход, а если бит TRIS сброшен в «0», то канал ввода/вывода работает как выход.

Простой способ запомнить направление канала ввода/вывода и состояние битов регистров TRIS:

– «1» – напоминает «In» (ввод);

– «0» – напоминает «Out» (выход).

Регистр PORT - защелка данных, выводимых на порт ввода/вывода. При чтении регистра PORT возвращается состояние выводов порта. Это означает, что необходима некоторая осторожность при выполнении команд со структурой «чтение - модификация – запись» для изменения логического уровня на выходах порта.

Выводы портов могут быть мультиплицированы с аналоговыми входами и входом VREF. Для каждого вывода необходимо определить режим его работы (аналоговый вход или цифровой канал ввода/вывода) настройкой управляющих битов в регистре ADCON1 (регистр управления АЦП). Когда вывод работает как аналоговый вход, то чтение состояния этого вывода будет давать результат «0».

Регистры TRIS управляет направлением каналов ввода/вывода, даже когда он работает в режиме аналогового входа. Пользователь должен гарантировать, что соответствующий бит TRIS установлен в «1», если вывод используется как аналоговый вход.

Для управления АЦП в микроконтроллере используется 3 регистра:

– регистр результата ADRES;

– регистр управления ADCON0;

– регистр управления ADCON1.

Регистр ADCON0 используется для настройки работы модуля АЦП, а с помощью регистра ADCON1 устанавливается, какие входы микроконтроллера будут использоваться модулем АЦП и в каком режиме (аналоговый вход или цифровой порт ввода/вывода).

Фазное напряжение питания электроприемника не может напрямую восприниматься аналого-цифровым преобразователем микропроцессорной системы управления. АЦП микроконтроллера может воспринимать только постоянное напряжение от нуля до пяти вольт. В связи с этим программно было представлено соответствие шага изменения фазного напряжения в 1 В, в соответствующее постоянное напряжение на входе АЦП микроконтроллера, и его перевод в цифровой сигнал для возможности управления.

Была составлена соответствующая таблица перевода, с помощью которой стало возможным составление программы, но использование таблицы для переключения отпаек трансформатора оказалось не оптимальным в программной реализации. Перевод сигнала представлен в таблице 3.6.

Таблица 3.6 – Соответствие шагов изменяемого напряжения

Фазное напряжение

170

171

172

173

174

175

176

177

178

179

Напряжение на входе АЦП

1,660

1,670

1,680

1,689

1,699

1,709

1,719

1,729

1,738

1,748

Цифровой код

340

342

344

346

348

350

352

354

356

358

Фазное напряжение

180

181

182

183

184

185

186

187

188

189

Напряжение на входе АЦП

1,758

1,768

1,777

1,787

1,797

1,807

1,816

1,826

1,836

1,846

Цифровой код

360

362

364

366

368

370

372

374

376

378

Фазное напряжение

190

191

192

193

194

195

196

197

198

199

Напряжение на входе АЦП

1,855

1,865

1,875

1,885

1,895

1,904

1,914

1,924

1,934

1,943

Цифровой код

380

382

384

386

388

390

392

394

396

398

Фазное напряжение

200

201

202

203

204

205

206

207

208

209

Напряжение на входе АЦП

1,953

1,963

1,973

1,982

1,992

2,002

2,012

2,021

2,031

2,041

Цифровой код

400

402

404

406

408

410

412

414

416

418

Фазное напряжение

210

211

212

213

214

215

216

217

218

219

Напряжение на входе АЦП

2,051

2,061

2,070

2,080

2,090

2,100

2,109

2,119

2,129

2,139

Цифровой код

420

422

424

426

428

430

432

434

436

438

Фазное напряжение

220

221

222

223

224

225

226

227

228

229

Напряжение на входе АЦП

2,148

2,158

2,168

2,178

2,188

2,197

2,207

2,217

2,227

2,236

Цифровой код

440

442

444

446

448

450

452

454

456

458

Фазное напряжение

230

231

232

233

234

235

236

237

238

239

Напряжение на входе АЦП

2,246

2,256

2,266

2,275

2,285

2,295

2,305

2,314

2,324

2,334

Цифровой код

460

462

464

466

468

470

472

474

476

478

Фазное напряжение

240

241

242

243

244

245

246

247

248

249

Напряжение на входе АЦП

2,344

2,354

2,363

2,373

2,383

2,393

2,402

2,412

2,422

2,432

Цифровой код

480

482

484

486

488

490

492

494

496

498

Фазное напряжение

250

251

252

253

254

255

256

257

258

259

Напряжение на входе АЦП

2,441

2,451

2,461

2,471

2,480

2,490

2,500

2,510

2,520

2,529

Цифровой код

500

502

504

506

508

510

512

514

516

518

Фазное напряжение

260

261

262

263

264

265

266

267

268

269

Напряжение на входе АЦП

2,539

2,549

2,559

2,568

2,578

2,588

2,598

2,607

2,617

2,627

Цифровой код

520

522

524

526

528

530

532

534

536

538

Фазное напряжение

270

271

272

273

274

275

276

277

278

279

Напряжение на входе АЦП

2,637

2,646

2,656

2,666

2,676

2,686

2,695

2,705

2,715

2,725

Цифровой код

540

542

544

546

548

550

552

554

556

558

Для уменьшения погрешности симметрирования было принято решение использовать постепенное изменение напряжения, с помощью последовательного переключения идущих друг за другом отпаек вольтдобавочного трансформатора. В роли основной программной команды была использована проверка условий с помощью команд: если, то, иначе (if, then, else). При этом наиболее удобным оказалось использование цикла «while», с помощью которого производится постоянный мониторинг входящего сигнала.

Таким образом, была реализована программа в среде «MikroPascal PRO PIC» позволяющая с помощью микроконтроллера управлять отпайками вольтдобавочного трансформатора, который исправляет несимметрию напряжения в трехфазных цепях цеховых сетей, при этом регулировка фазного напряжения осуществляется с точностью до одного вольта, что позволяет обеспечить высокое качество электрической энергии на зажимах электроприемников.

При этом было принято решение об отключении устройства и соответственно отключении электрориемника, эта операция так же была достигнута программно путем подачи соответствующего сигнала на стробирующие выходы дешифратора КР1533ИД3 (рисунок 3.20).

Используемая программа написана на доступном языке программирования, что делает возможным ее дальнейшее усовершенствование даже с базовыми знаниями данного языка программирования.