' HMGC 2.44 ' M.Rantala ' ' Disable priority levels on interrupts ' Disable all interrupts

Samankaltaiset tiedostot
Nopeuden mittaaminen

Arduino. Kimmo Silvonen (X)

NiMH Laturi. Suunnittelu Olli Haikarainen

ELEC-A4010 Sähköpaja Arduinon ohjelmointi. Jukka Helle

- Käyttäjä voi valita halutun sisääntulon signaalin asetusvalikosta (esim. 0 5V, 0 10 V tai 4 20 ma)

PR SARJA ASENNUS JA KYTKENTÄ

6.2. AVR_rauta. Analogia-komparaattori-ohjelmointia , pva

////// VENETIETO.FI \\\\\\ //// Autopilotti 2014 \\\\ #include <EEPROM.h> #include <SoftwareSerial.h> SoftwareSerial gps(10, 0); // RX, TX -pinnit

PR SARJA ASENNUS JA KYTKENTÄ

Taitaja2005/Elektroniikka. 1) Resistanssien sarjakytkentä kuormittaa a) enemmän b) vähemmän c) yhtä paljon sähkölähdettä kuin niiden rinnankytkentä

- Käyttäjä voi valita halutun sisääntulon signaalin asetusvalikosta (esim. 0 5V, 0 10 V tai 4 20 ma)

Calisto USB-kaiutinpuhelin. Käyttöopas

P I C A X E O H J E L M O I N T I

////// VENETIETO.FI \\\\\\ //// Autopilotti 2014 \\\\ //-PID säätimellä. #include <EEPROM.h> #include <SoftwareSerial.h>

MB 20 MODBUS RTU LIITYNTÄYKSIKKÖ SAR 410:LLE TEKNISET TIEDOT. MB 20 on liityntäkortti painesäädin SAR 410:n liittämiseksi Modbus RTU väylään.

MB 20 MODBUS RTU LIITYNTÄYKSIKKÖ SAR 410:LLE TEKNISET TIEDOT. MB 20 on liityntäkortti painesäädin SAR 410:n liittämiseksi Modbus RTU väylään.

LUMA SUOMI -kehittämisohjelma LUMA FINLAND -utvecklingsprogram LUMA FINLAND development programme Ohjelmointia Arduinolla

TAITAJA 2007 ELEKTRONIIKKAFINAALI KILPAILIJAN TEHTÄVÄT. Kilpailijan nimi / Nro:

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Q = pienin suunniteltu ilmamäärä ja k = puhaltimen tai iirispellin k-arvo.

Superintend VR-16 Vikavirtarele 5-johdinverkkoihin Lyhyt käyttöohje

AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 2, ratkaisuja

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

DIGITAALINEN AJASTIN ULKOKÄYTTÖÖN

HARJOITUSTYÖ: LabVIEW, Liiketunnistin

6.3. AVR_rauta. EEPROM-muisti pva

Asennus- ja käyttöohje. AquaPro-lähetin. Käyttö- ja asennusohje. Copyright 2015 Labkotec Oy

Käyttöohje Digitaaliseen ulkoajastimeen

KÄYTTÖOHJE HLS 35. Versio (6) TOIMINTOKAAVIO

2_1----~--~r--1.~--~--~--,.~~

Taitaja semifinaali 2010, Iisalmi Jääkaapin ovihälytin

Verkkodatalehti. T4000-1RBA01 T4000 Standard TUOTEVALIKOIMA

Mikrokontrollerit. Mikrokontrolleri

WehoFloor RF LCD 868MHz & laajennusmoduuli 4 tai 6 kanavalle

Tehtävä 5. ECIO dataloggeri lämpötila-anturilla

XW60K JA T620 V620 CX620

KÄYTTÖOHJE PEL 1000 / PEL 1000-M

VHDL Tehtävä 1 : JK-Kiikku toteutettu IF:llä

Pakettisynkronointitestauksen automaatio

Arduino. Kimmo Silvonen (X)

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

IRMPX asettelu ja asennusohje

MFW - I/O:n kaukoluentajärjestelmä

Käyttäjän opas Kaukosäädin Invest Living ROOM 5

PIKAKÄYTTÖOHJE V S&A Matintupa

HARJOITUSTYÖ: LabVIEW, Valokennoportti

Puhallinmoottorinohjaimen käsipäätteen käyttöohje, TBLZ-2-75, SILVER C

Käyttöohje EMT757 / 3567 Ohjelmoitava digitaalinen kellokytkin

MultiPlus-II 48/3000/ V (aiempi tuotenimi: MultiGrid-II)

VALOKUITULIITTYMÄN PÄÄTELAITE KÄYTTÖOHJE CTS FWR5-3105

TERMOMAT 4 - käyttöohje. Elektroninen lämpötilaerosäätäjä aurinkolämmityslaitteiston kiertovesipumpun ohjaukseen

KAUKO-OHJATTAVA OHJAUSKESKUS

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

Verilogvs. VHDL. Janne Koljonen University of Vaasa

PDS 2.2 yleissäädin PDS 2.2 on yleissäädin, jota voidaan käyttää esimerkiksi paineen, paine-eron, lämpötilan tai kosteuden säädössä.

Arto Salminen,

Verkkodatalehti. T4000-1RBA01 T4000 Standard KOSKETUKSETTOMAT TURVARAJAKYTKIMET

Taitaja2007/Elektroniikka

EMC Säteilevä häiriö

Sähköpajan elektroniikkaa

S85 laseretäisyysanturi

Ohjelmointiharjoituksia Arduino-ympäristössä

10. Kytkentäohje huonetermostaateille

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward.

Solar Water Heater Kit. EcoStyle. 1 User Manual/Operating Instructions. Contents FREE LESSON PLANS AVAILABLE.

Tämä on PicoLog Windows ohjelman suomenkielinen pikaohje.

Taajuusmuuttaja FC101 (pikaopas)

Arduino. Kimmo Silvonen (X)

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä

Adafruit Circuit Playground Express

RE11LMBM. Tuotelehti Tuntomerkit. Pääasiallinen. Vastaavanlainen 1 / 6

TWEN 131 PD / 1430 PD KÄYTTÖOHJE

7.3. Oheisrautaa. DS

MUISTIPIIRIT H. Honkanen

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

HARJOITUSTYÖ: LabVIEW, Kiihtyvyysanturi

NP-3T DL ohje. Nylund-Group

Arduino ohjelmistokehitys

ABT KERÄILYVAAKA PAKVAAKA2

ESPOO VANTAA INSTITUTE OF TECHNOLOGY. ser 0/0. Right WS-3 WS-4. Ennen QoS-määrittelyjä tehdään normaalit reititinmäärittelyt ja testataan IP-yhteys:

U-REMIX USB RF 2 RF 1 POWER

KÄYTTÖOHJE MOULTRIE M80 / M100

Käyttöohje Malli True RMS AC/DC 30A Mini Pihtimittari

ERISTYSTASON VALVONTARELE MEV-7 (LC-7/6)

Digitaalitekniikka (piirit), kertaustehtäviä: Vastaukset

6.6. Ajastin/laskuri - Timer/Counter pva, kuvat jma

Ohjelmoinnin peruskurssi Y1

1 Muutokset piirilevylle

Ohjelmoinnin perusteet Y Python

LOOP 1 OUT RET Silmukka 1 Lähtö CI NC NO C2 NC NO C3 NC NO C4 NC NO. Palo

ABT PÖYTÄVAAKA PAKVAAKA1

ILMASTOINTILAITTEEN KAUKO-OHJAIMEN KÄYTTÖ OHJE

Luento 5. Timo Savola. 28. huhtikuuta 2006

ZYXEL 645R MODEEMIN ASENTAMINEN SILLATTUUN SAUNALAHDEN ADSL- LIITTYMÄÄN

Tällä ohjelmoitavalla laitteella saat hälytyksen, mikäli lämpötila nousee liian korkeaksi.

KÄYTTÖOHJE PEL 2500 / PEL 2500-M

KÄYTTÖOHJE PEL / PEL-M

LOOP 1 OUT RET Silmukka 1 Lähtö CI NC NO C2 NC NO C3 NC NO C4 NC NO. Palo

Transkriptio:

rcon.7=0 intcon.7=0 DEFINE OSC 20 DEFINE LCD_BITS 4 DEFINE LCD_DREG PORTD DEFINE LCD_DBIT 0 DEFINE LCD_RSREG PORTD DEFINE LCD_RSBIT 4 DEFINE LCD_EREG PORTD DEFINE LCD_EBIT 5 DEFINE LCD_LINES 2 DEFINE LCD_DATAUS 100 DEFINE LCD_COMMANDUS 3000 DEFINE ADC_BITS 10 DEFINE ADC_CLOCK 3 DEFINE ADC_SAMPLEUS 24 Define USE_LFSR 1 adcon1.7=1 HMGC 2.44 24.1.2008 M.Rantala Disable priority levels on interrupts Disable all interrupts Kellotaajuus 20MHz LCD bus size 4 bits wide LCD data port LCD data start bit LCD Register select port LCD Register select bit LCD Enable bit port LCD Enable bit bit LCD with 2 lines LCD data delay (usek) LCD command delay(usek) ADC 10bit wide ADFM, 1=right justified adcon1.3=0 PCFG3 \ 0100 = DDDDADAA (3xanalog, Vref- = Vss) adcon1.2=1 PCFG2 \ adcon1.1=0 PCFG1 / See page 182 18F452 datasheet (DS39564B) adcon1.0=0 PCFG0 / adcon1.6=1 ADCS2 \ 111 = Frc (Clock from internal A/D RC osc) adcon0.7=1 ADCS1 > 000 = Fosc/2 100=Fosc/4 001=Fosc/8 adcon0.6=1 ADCS0 / 101 = Fosc/16 010=Fosc/32 110=Fosc/64 adcon0.2=0 adcon0.0=1 t1con.0=0 ADConversion status, 1=in progress, 0= done ADON; ADConverter ON disable timer1 => Enable portc for I/O Portti: Tyyppi ja suunta(käyttö) Nimitys kytkennässä Pin 1 Input _MCLR_ (Master reset) MCLR Pin 13 Input OSC1 (Kidetulo) OSC1 Pin 11,32 Positive supply Vdd, +5V Pin 12,31 Ground Vss, Gnd A_CURRENT VAR PORTA.0 Analog input0 (Virta) A_TEMP var PORTA.1 Analog input1 (Lampo) MON_RL3 VAR PORTA.2 Digital in RL3_MONITOR A_VOLT VAR PORTA.3 Analog input3 (Jannite) MON_RL4 VAR PORTA.4 Digital in RL4_MONITOR MON_RL5 VAR PORTA.5 Digital in RL5_MONITOR var PORTA.6 Digital input (OSC output) I_0 VAR PORTB.0 Interrupt 0 Naytto VAR PORTB.1 Digital in High if LCD is connected I_2 VAR PORTB.2 Interrupt 2 I_3 VAR PORTB.3 Interrupt 3 Nappi VAR PORTB.4 Digital in Button PGM var PORTB.5 Digital IO PGM PGC var PORTB.6 Digital IO PGC PGD var PORTB.7 Digital IO PGD Bus0 VAR PORTC.0 Digital Out Bus1 VAR PORTC.1 Digital Out Bus2 VAR PORTC.2 Digital Out Bus3 VAR PORTC.3 Digital Out Tila VAR PORTC.4 Digital Out Vika VAR PORTC.5 Digital Out Mode VAR PORTC.6 Digital In T90C VAR PORTC.7 Digital In LCD0 var PORTD.0 Digital Out LCD/Databus_0 LCD1 var PORTD.1 Digital Out LCD/Databus_1 LCD2 var PORTD.2 Digital Out LCD/Databus_2

LCD3 var PORTD.3 Digital Out LCD/Databus_3 LCDRS var PORTD.4 Digital Out LCD_RS LCDE var PORTD.5 Digital Out LCD_E D-bug VAR PORTD.6 Digital In DEBUG Magn VAR PORTD.7 Digital Out LED_MAGNET RL3 VAR PORTE.0 Digital Out (RL3) RL4 VAR PORTE.1 Digital Out (RL4) RL5 VAR PORTE.2 Digital Out (RL5) Jannite Virta Lampo Laskuri Tilakoodi Vikakoodi Yli0V Yli1A Yli5A Alle0V Alle_10V Alle0A VAR WORD VAR WORD var word VAR WORD VAR BYTE VAR BYTE CH_I CON 0 CH_T con 1 CH_V CON 3 Limit CON 872 Maksimi käynnistyslämpötila (t*4+512) 90C = 872 Ip20 CON 592 Minimivirtataso kaapelikatkolle (I*8+512) 10A = 592 Ip10 CON 552 Virtataso jarrutuksen 2 vaihe (I*8+512) 5A = 552 Ip01 CON 520 Virtataso demagnetoinnin alku (I*8+512) 1A = 520 In05 CON 508 Virtataso demagnetoinnin min (I*8+512)-0.5A = 472 Vp90 CON 973 Ylemmän ikkunan yläreuna 512+90% = +270V = 973 Vp80 CON 922 Ylemmän ikkunan alareuna 512+80% = +240V = 922 Vp50 CON 768 Minimitaso kaapelikatkolle 512+50% = +150V = 768 Vp10 CON 542 Minimitaso oikosulkulle 512+10% = + 30V = 542 Vn03 CON 502 Demagn. kytkentäjännite 512-3% = - 10V = 502 Vn50 CON 256 Demagn. kytkentäjännite 512-50% = -150V = 256 Vn70 CON 150 Alemman ikkunan yläreuna 512-70% = -210V = 150 Vn80 CON 100 Alemman ikkunan alareuna 512-80% = -240V = 100 OK CON 0 Vikakoodi OK HEAT CON 1 Vikakoodi ylikuuma CABLE CON 2 Vikakoodi kaapelikatko SHORT CON 3 Vikakoodi oikosulku IDLING CON 0 Tilakoodi Idlaa POWER CON 1 Tilakoodi Normaali ajo CUTOFF CON 2 Tilakoodi Cutoff tila BRAKING1 CON 3 Tilakoodi Jarrutusvaihe 1 BRAKING2 CON 4 Tilakoodi Jarrutusvaihe 2 DEMAGN CON 5 Tilakoodi Demagnetointi COOLDOWN CON 6 Tilakoodi Cooldown nousuaika CON 20000 Kaapelikatkon tunnistuslaskuri demaika CON 20000 Maksimi laskurin arvo dem ajalle lcdstep CON 40 kerroin kun lcd kiinni Ennakointi CON 514 virran suunnanvaihdon ennakointiarvo (510) TRISA = %00111111 TRISB = %11111111 TRISC = %11000000 TRISD = %01000000 TRISE = %000 CLEAR GOTO Idle Port Configuration: 0=output, 1=input Clear all variables INIT DONE, lets start lcd: LCD subroutine ADCIN CH_V,Jannite IF naytto THEN LCDOUT $FE,2,"T: ",DEC Tilakoodi," V: ",DEC Vikakoodi once naytto is HIGH portd.7 goes low..

ADCIN CH_I,Virta IF naytto THEN LCDOUT $Fe,$C0,DEC Jannite,"V ",DEC Virta,"A- ",DEC Laskuri," " once naytto is HIGH portd.7 goes low.. RETURN Idle: WHILE Nappi Tilakoodi=IDLING GOSUB Aseta_tila GOSUB lcd WEND Laskuri=0 GOTO Start Odotetaan että AC-jännite nousee yli 20Vac Nappi painettu aloitetaan nollaamalla laskuri Start: - START - preset Tila-latchs clk High preset Vika-latchs clk High ADCIN ch_t,lampo IF T90C THEN Jos termostaatti auki Overtemp vikakoodi=heat ylikuuma GOSUB Aseta_vika talleta vikakoodi WHILE NOT Nappi kunnes generaattori sammutettu GOSUB lcd WEND GOTO Idle aloita alusta ENDIF Overtemp Tilakoodi=POWER Main GOSUB Aseta_tila GOSUB lcd RL3 = 0 Asetetaan Demagnetointi-rele pois RL4 = 1 Asetetaan Jarrutus-rele valmiuteen RL5 = 1 Asetetaan Vauhtipyörä-rele valmiuteen Magn = 1 this SHOULD illuminate the led in portd.7 but not PULSOUT portd.7,65530 this will blink LED on the other hand.. WHILE NOT Nappi Niinkauan kuin generaattori pyörii nappi GOSUB lcd IF Virta>Ip20 AND Jannite < Vp10 THEN Jos virtaa 10A, mutta Umagn < 30V Oikosulku vikakoodi=short Oikosulku-vika RL4 = 1 Varmistetaan Jarrutus-rele RL5 = 1 Varmistetaan Vauhtipyörä-rele MAGN = 0 ja sammutetaan ajotyristorit GOSUB Aseta_vika Näytä vikakoodi WHILE NOT Nappi Odotetaan kunnes... GOSUB lcd WEND generaattori on sammutettu RL5 = 0 Vauhtipyörä-rele pois PAUSE 200 odotetaan 200mS RL4 = 0 Jarrutus-rele pois PAUSE 500 odotetaan vielä 500mS GOTO Idle paluu alkuun ENDIF Oikosulku GOSUB lcd IF Jannite>Vp50 AND Virta<Ip20 AND NOT Naytto THEN Laskuri=Laskuri+1 IF Jannite>Vp50 AND Virta<Ip20 THEN Laskuri=Laskuri+lcdstep IF Jannite>Vp50 AND Virta>Ip20 THEN Laskuri=0 IF Laskuri > nousuaika THEN Virta ei yli 10A 5sekunnissa Laskuri RL4 = 1 Varmistetaan Jarrutus-rele RL5 = 1 Varmistetaan Vauhtipyörä-rele MAGN = 0 ja sammutetaan ajotyristorit vikakoodi=cable Kaapelikatkos-vika Tilakoodi=IDLING GOSUB Aseta_tila GOSUB Aseta_vika Näytä vikakoodi GOSUB lcd RL5 = 0 Vauhtipyörä-rele pois 000 odotetaan varmuuden vuoksi 1 sek RL4 = 0 Jarrutus-rele pois

000 odotetaan varmuuden vuoksi 1 sek RL3 = 1 Tyhjätään accua hiljaa dem releellä 000 Odotetaan vähintään 10 sek (1sek) Yli0V = 1 WHILE Yli0V Jatketaan tyhjennysta RL3 = 0 PAUSE 200 GOSUB lcd IF Jannite>Vp10 THEN kunnes jannite laskenut alle 10% RL3 = 1 000 ELSE Yli0V = 0 ENDIF WEND Yli0V = 0 RL3 = 0 Dem-rele pois WHILE NOT Nappi Odotetaan kunnes generaattori GOSUB lcd on sammutettu ja vasta sitten WEND voidaan käynnistää uudelleen GOTO Idle paluu alkuun ENDIF Laskuri GOSUB lcd WEND Nappi Generaattori on pysähtynyt nappi Vikakoodi=0 Ei vikoja ennen sammutusta GOSUB Aseta_vika Nollataan vikakoodi Laskuri = 0 nollataan laskuri RL4 = 1 Varmistetaan Jarrutus-rele RL5 = 1 Varmistetaan Vauhtipyörä-rele MAGN = 0 ja sammutetaan ajotyristorit Tilakoodi=CUTOFF Sammutusvaihe - CUTOFF - GOSUB Aseta_tila GOSUB lcd PAUSE 500 odotetaan kommutointia 500mS RL5 = 0 Vauhtipyörä-rele pois -> -250V piikki Tilakoodi=BRAKING1 Jarrutusvaihe 1 BRAKING 1 GOSUB Aseta_tila GOSUB lcd 00 Yli5A = 1 WHILE Yli5A Kunnes virta pudonnut alle 3A Yli3A IF NOT Nappi THEN GOTO start Nappia painettu uudestaan->jatketaan GOSUB lcd IF Virta < Ip10 THEN Virta alle 5A RL4 = 0 avataan Jarrutusrele Yli5A = 0 -> toinen -250V piikki Tilakoodi=BRAKING2 Jarrutusvaihe 2 BRAKING 2 GOSUB Aseta_tila ENDIF WEND Yli3A 00 Yli1A = 1 Odotellaan kunnes WHILE Yli1A virta pudonnut alle 1A Yli1A ADCIN CH_I,Virta IF Virta < Ip01 THEN Yli1A=0 WEND nyt virta on laskenut alle 1A Yli1A 00 Tilakoodi = DEMAGN siirrytään vastamagnetointitilaan - DEMAGN - RL3 = 1 kytketään demagnetointi päälle GOSUB Aseta_tila

GOSUB lcd 00 odota 100mS Laskuri = 0 Alle0A = 1 WHILE Alle0A Min dem-virta GOSUB lcd ADCIN ch_i,virta IF Virta < In05 THEN Alle0A=0 Minimi dem-virta saavutettu Laskuri=Laskuri+1 kierroslaskurin lisäys IF Naytto THEN Laskuri=Laskuri+lcdstep IF Laskuri>demaika THEN Alle0A=0 Jos silmukkalaskuri täynnä WEND poistutaan silmukasta Minimi dem-virta Laskuri = 0 Alle0A = 1 Silmukkaehto, Virta negatiivinen WHILE Alle0A kunnes virta lähestyy nollaa Alle0A Laskuri=Laskuri+1 kierroslaskurin lisäys IF naytto THEN Laskuri=Laskuri+lcdstep GOSUB lcd IF Virta > Ennakointi THEN Virta vaihtamassa suuntaa RL3=0 Sammutetaan Demagnetointi-rele => Alle0A = 0 poistutaan silmukasta 00 ENDIF IF Laskuri>demaika THEN Alle0A=0 Jos silmukkalaskuri täynnä WEND poistutaan silmukasta Alle0A RL3=0 Varmistetaan Demagnetointi-rele => Laskuri=0 positiivinen demagnetoinnin takapotku GOTO Idle Palataan alkuun GOTO Idle Palataan alkuun

----------------------------------------------------- Aliohjelma-rutiinit ----------------------------------------------------- Aseta_tila Aseta_tila: Set Condition-info into cmos4511 (Condition-info) IDLING CON 0 Tilakoodi Idlaa POWER CON 1 Tilakoodi Normaali ajo CUTOFF CON 2 Tilakoodi Cutoff tila BRAKING1 CON 3 Tilakoodi Jarrutusvaihe 1 BRAKING2 CON 4 Tilakoodi Jarrutusvaihe 2 DEMAGN CON 5 Tilakoodi Demagnetointi COOLDOWN CON 6 Tilakoodi Cooldown SELECT CASE Tilakoodi CASE IDLING CASE POWER CASE CUTOFF CASE BRAKING1 CASE BRAKING2 portc.2= 1 CASE DEMAGN portc.2= 1 CASE COOLDOWN portc.2= 1 END SELECT RETURN

----------------------------------------------------- Aseta_vika Aseta_vika: Set Error-code into cmos4511 (error) OK CON 0 Vikakoodi OK HEAT CON 1 Vikakoodi ylikuuma CABLE CON 2 Vikakoodi kaapelikatko SHORT CON 3 Vikakoodi oikosulku Vika=1 SELECT CASE vikakoodi CASE OK CASE HEAT LCDOut $FE,$C0,"Ylikuuma" 000 CASE CABLE LCDOut $FE,$C0,"Kaapelikatko" 000 CASE SHORT LCDOut $FE,$C0,"Oikosulku" 000 END SELECT RETURN END