• No results found

Laboration 4. Process-styrning

N/A
N/A
Protected

Academic year: 2022

Share "Laboration 4. Process-styrning"

Copied!
6
0
0

Loading.... (view fulltext now)

Full text

(1)

Laboration 4

Process-styrning

Omfattning

Under denna laboration skall en enchips mikroprocessor anslutas till en lab-process. Den inbyggda A/D-omvandlare skall användas och antalet in/ut-signaler utökas. Anpassning av signalnivå för ställdon och mätsignaler skall göras. (Till stor del färdigt men studeras.) En enklare sekvensstyrning skall implementeras i assembler-kod.

Lab-processen

V1 V4

V3 V2

L H

P

Labprocessen består av två tankar. Vätska kan pumpas mellan tankarna genom att ställa om de fyra magnetventilerna. Om samma tank väljes på både sug- och tryck-sida rörs vätskan om i den tanken. I den lilla tanken finns ett värmeelement och 8 st metalliska stift för nivåavkänning.

(Endast 4 inkopplade.) Bägge tankarna har en temperaturgivare (AD590) nedsänkt i vätskan.

(Endast den i lilla tanken används.)

Magnetventilerna drivs med 24V AC och styrs via halvledar-relä. Pumpen drivs med 12 V DC och styrs med ett relä. Värmeelementet drivs med nätspänning (230 V AC) och styrs med ett kapslat halvledarrelä. Alla signaler är gentemot styrsystemet omvandlade så att de kan drivas med TTL-logik. Anpassningen kommer att studeras närmre på laborationen.

A/D-omvandlaren används för 8-bitars omvandling och då kommer en bitenhet att motsvarar 0,5 grader Celsius.

(2)

Hjälpmedel

Databladet för processorn PIC16F876 bör studeras i förväg så att det går lätt att hitta I/O- enheterna som används i laborationen. Studera särskilt A/D-omvandlaren.

Schemat över prototypkortet (A3-format) skall tas med.

På följande sidor finns schema över anpassningselektroniken mellan prototypkortet och processen.

Avslutningsvis finns ett programexempel som räknar upp ett 8-bitars tal en gång i sekunden och lägger ut talet på prototypkortets parallellport.

Istället för att använda LCD-displayen på prototypkortet finns en enkel display med två sjusegmentssiffror. Om man skriver en byte till LCD-porten så kommer siffrorna att visa det hexadecimala värdet.

Parallellportarnas inkoppling:

D7 D6 D5 D4 D3 D2 D1 D0

Par ut LED PUMP HEAT V4 V3 V2 V1

Par in BUTT LEV4 LEV3 LEV2 LEV1

Förberedelseuppgifter

Fu 1 Studera prototypkortets schema så att du förstår hur du kan komma åt olika enheter. Jämför med programexemplet.

Fu 2 Skriv en funktion som läser den parallella inporten.

Fu 3 Skriv en funktion som baserat på en inläsning med hjälp av rutinen ovan returnerar ett sant värde om tryckknappen är nedtryckt. Observera att tryckknappen är den enda signal som har omvänd logik dvs biten blir noll när knappen trycks ned.

(3)

Labuppgifter

1. Skriv en programinledning som ställer alla utgångar låga och därefter väntar på att knappen skall tryckas ned. När knappen trycks skall programmet fylla lilla tanken under 10 sekunder och sedan tömma den under lika lång tid.

2. Ändra programmet i uppgift 1 så att tanken fylls till ¾ och därefter töms.

3. Mät temperaturen med A/D-omvandlaren och skriv ut den i grader Celsius på displayen.

4. Implementera följande sekvens under det att temperaturen visas:

 Vänta på knapptryckning

 Fyll den lilla tanken till 3/4 (6 stift täckta)

 Rör om i lilla tanken under uppvärmning

 Avbryt uppvärmningen vid 35 grader

 Fyll lilla tanken helt

 Rör om ca 10 sekunder

 Töm lilla tanken

 Vänta på ny knapptryckning

(4)
(5)

OBS! Det är inte denna 7-segmentsdisplay som används.

(6)

/*

* File: pmex.c * Author: Gunnar *

* Exampel program for Lab 4 PM.

* increases the variable x every second and presents * the current value at the parallel output port

*

* Created on den 18 oktober 2016, 23:30 */

// CONFIG

#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator)

#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)

#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)

#pragma config BOREN = ON // Brown-out Reset Enable bit (BOR enabled)

#pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming)

#pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)

#pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)

#pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off)

#include <xc.h>

//Definitions for protoboard. Compare with drawing!

#define DATABUS PORTB

#define DBTRIS TRISB

#define ADRPORT PORTC

#define APTRIS TRISC

#define ADRENABLE RC5

#define PAROUTADR 2 //Fill up with the other addr

#define _XTAL_FREQ 4000000

void ParallellOut( unsigned char b) {

ADRPORT = PAROUTADR;

DATABUS = b;

ADRENABLE = 1;

ADRENABLE = 0;

}

void main(void) { unsigned char x;

DBTRIS = 0;

APTRIS = 0;

while(1){

ParallellOut(x);

x++;

__delay_ms(1000);

}

return;

}

References

Related documents

Unga stockholmares intresse för att skapa musik, gaming, konserter och videoproduktion reflekteras inte fullt i stadsmiljön och det finns ett behov av att skapa mötesplatser för

a) Konstruera av kodomvandlare som omvandlar koden som kommer från en Flash- omvandlares komparatorer (termometerkod) till binärkod. Flash-omvandlaren är på 2- bitar.. b) Konstruera

a) Konstruera av kodomvandlare som omvandlar koden som kommer från en Flash- omvandlares komparatorer (termometerkod) till binärkod. Flash-omvandlaren är på 2- bitar. b)

uppnå en bra immersion så måste spelaren leva sig in i spelet, och för att göra detta måste informationen ha en hög begriplighet, alltså hur lätt det är för mottagaren att

ÄR DET INTE ÄNNU vanskligare att göra sådana kopplingar än att ta den senaste tioårsperiodens stilla- stående temperatur till intäkt för att klimatförändringarna inte

För att Klara skall komma upp på morgonen behöver hon hjälp av två personer som använder en personlyft för att flytta Klara från sängen till duschstol på hjul... Det

a) Först vill man undersöka om data från de 7 patienterna stöder vår misstanke att medicinen sänker salivproduktionen Ställ upp lämpliga hypoteser. b) Beräkna medelvärdet

Placera en sten på knappen i boet och låt deltagarna spela sin sten för att försöka slå den ur spel. Laget med flest poäng efter att alla deltagare spelat sin