mit tudnak a bÉlyeg-mÉretŰ szÁmÍtÓgÉpek?
DESCRIPTION
MIT TUDNAK A BÉLYEG-MÉRETŰ SZÁMÍTÓGÉPEK?. ZÁMORI ZOLTÁN, KFKI. TANÁR-TOVÁBBKÉPZŐ SZÁMÍTÁSTECHNIKAI KONFERENCIA. FONYÓD 1998. 12. 1. PIC 16 C 57. 13. 24. BASIC STAMP 2. Vezérlési feladatokkal való ismerkedéshez ideális ez a bélyeg-méretű, - PowerPoint PPT PresentationTRANSCRIPT
1
MIT TUDNAK A BÉLYEG-MÉRETŰ SZÁMÍTÓGÉPEK?
FONYÓD 1998
ZÁMORI ZOLTÁN, KFKI
TANÁR-TOVÁBBKÉPZŐSZÁMÍTÁSTECHNIKAI KONFERENCIA
2
BASIC STAMP 2
112
13 24
PIC 16 C 57
Microcomputer
Kvarc
EEPROM2 kB
Stabili-zátor
Vezérlési feladatokkal való ismerkedéshez ideális ez a bélyeg-méretű, Basic-ben programozható komplett számítógép ( PIC uC-vel ).
3
PIC MIKROSZÁMÍTÓGÉPEK
PIC 16 C 572 K * 12 ROM72 BYTE RAM20 I/O PIN
CLKIN CLKOUTRA1 RA0 OSC1 OSC2 +5V RB7 RB6 RB5 RB4
T0CKI _____ INT RA2 RA3 RA4 MCLR GND RB0 RB1 RB2 RB3
PIC 16 F 84
PIC 16 F 841 K * 14 FLASH Mem.68 BYTE RAM64 BYTE EEPROM13 I/O PIN
A ROM-ban aBASIC interpreterA programnakkülső EEPROMkell!
Csak gépi kódbanprogramozható.A programnak 1 KFLASH memóriarajta van a chip-en.
A 10 eFt -os Basic Stamp 2 ezt a PIC uC-t tartalmazza
Ez az 1 eFt -os uC majdnem tudja azt, mint aBasic Stamp 2, csak gépi kódban kell programozni
Későbbmajdezt
használjuk !
4
PIC 16 F 84 (RISC UTASÍTÁSKÉSZLET)microcomputer [68 byte RAM, 64 byte + 1K x 14 EEPROM, 900 Ft ]
MOVFf,dMOVWF fSWAPF f,d
COMFf,dANDWF f,dIORWF f,dXORWF f,d
NOP -CLRW-CLRF fCLRWDT -SLEEP -
ADDWF f,dSUBWF f,dINCF f,dINCFSZ f,dDECF f,dDECFSZ f,dRLF f,dRRF f,d
BCF f,bBSF f,bBTFSC f,bBTFSS f,b
GOTOkCALL kRETURN -RETLW kRETFIE -
ANDLW kIORLW kXORLW k
ADDLW kSUBLW kMOVLW k
5
BASIC STAMP 2 UTASÍTÁSOK
IF … THENBRANCHGOTOGOSUBRETURN
FOR … NEXT
LOOKUPLOOKDOWNRANDOM
PULSINPULSOUTBUTTONSHIFTINSHIFTOUTCOUNTXOUT
SERINSEROUT
PWMRCTIME
FREQOUTDTMFOUT
DATAREADWRITE
PAUSE
NAPSLEEPEND
DEBUG
INPUTOUTPUTREVERSELOWHIGHTOGGLE
6
BASIC STAMP2 PROGRAMOZÁSAa PC soros portján keresztül
+5V
-
+_ 9
V
PCSerial Port
RTS-DSRösszekötendő
7
PC PRINTER PORT ___ ___
I4 I5 I7 I6 D7 D6 D5 D4 D3 D2 D1 D0 P0
___ ___
__ __ __ GND __ __ __ P3 I3 P2 P1
OUT 888, D
I = INP (889)
OUT 890, P
113
1425
Egy PC Printer portjánis található 8+4 kimenőés 5 bemenő vezeték.
A Basic Stamp 2-neka 16 ki-/ bemenő pontjaáltalunk konfigurálható.
8
BASIC STAMP 2
112
13 24
TXRXATNGNDP7 P6 P5 P4 P3 P2 P1 P0
P8 P9 P10 P11 P12 P13 P14 P15+5V RES GND PWR
AB
L
C DH
S
Pl .:DIR2 = 1OUT2 = 0
Pl .:DIR2 = 0X = IN2
9
RAM TERÜLET
WORD Bits Description R/W
$0 0000 0000 0000 0000 Pin input states read-only$1 0000 0000 0000 0000 Pin ouput latches read-write$2 0000 0000 0000 0000 Pin input directions read-write
$3 0000 0000 0000 0000 variable space read-write$4 0000 0000 0000 0000 variable space read-write$5 0000 0000 0000 0000 variable space read-write$6 0000 0000 0000 0000 variable space read-write$7 0000 0000 0000 0000 variable space read-write$8 0000 0000 0000 0000 variable space read-write$9 0000 0000 0000 0000 variable space read-write$A 0000 0000 0000 0000 variable space read-write$B 0000 0000 0000 0000 variable space read-write$C 0000 0000 0000 0000 variable space read-write$D 0000 0000 0000 0000 variable space read-write$E 0000 0000 0000 0000 variable space read-write$F 0000 0000 0000 0000 variable space read-write
10
LED DISPLAY HDSP-2111
___ ___RST FL A0 A1 A2 A3 ++ ++ ++ A4 CLS CLK WR +5V
__ __D7 D6 D5 D4 D3 D2 D1 D0 RD CE GND GND
1 14
1528
0 1 2 3 4 5 6 7
11
DISPLAY BÉLYEGCOMPUTERREL 1
+5V
-
DATADATA
ADDRADDR ___WR
___RST
__RD
DATA „FONYOD 98 ”
I VAR BYTEB VAR BYTE
FOR I=0 TO 7 READ I, B OUTD = I : OUTL= B PULSOUT 8, 2NEXT
DIRS = $FFFFOUTC=3PULSOUT 9, 2
C D
L
12
DISPLAY BÉLYEGCOMPUTERREL 2
+5V
-
DATADATA
ADDRADDR ___WR
___RST
__RD
DATA „FONYOD 98 … ”I VAR WORDB VAR BYTEM VAR BYTEDIRS = $FFFF : OUTC=3 M = 0
PRINT:FOR I=0 TO 7 READ I +M, B OUTD=I: OUTL=B PULSOUT 8, 2NEXT : RETURN
MAIN: GOSUB PRINT M = M + 1 PAUSE 200GOTO MAIN
13
ÉRZÉKELÉS I.
• Logikai állapot észlelése (tehát olyan kérdés, amire a válasz Igen vagy Nem). Pl.:
• Csukva van-e az ajtó (pl. gépkocsi)
• Nyitva van-e a vizvezeték (pl. mosógép)
• Sötét van-e. (pl. lámpa felgyujtás)
• Forr-e a víz (pl. a száraztészta beöntése) stb.
14
INPUT - OUTPUT KEZELÉS
D VAR BIT
DIR0 = 0 ‘INPUT 0DIR7 = 1 ‘OUTPUT 7
D = IN0OUT7 = D
+5V
-
D VAR NIB
DIRA = 0DIRB = 15 ‘$F
D = INAOUTB = D !
D VAR BYTE
DIRL = 0DIRH = 255 ‘$FF
D = INLOUTH = D !
15
FÉLVEZETŐ RELÉ (SSR)
+5V
-
+_ 9
V
~ SSR +FÉLVEZETŐ~ RELÉ -
~220V
Fogyasztó:LÁMPA
FŰTŐTESTMOTOR
stb.
DATA 5, 3, 10, 5, 20, 10, ….
I VAR BYTET VAR BYTE LOW 7: I=0LOOP:
TOGGLE 7 READ I,T: I=I+1SLEEP T
GOTO LOOP
16
NYOMÓGOMB KEZELÉS
C VAR BYTELOOP: BUTTON 0,0,50,10,C,0,NoKey PULSOUT 7, 1000NoKey: DEBUG DEC? CGOTO LOOP
+5V
-
17
NYOMÓGOMBOS ÉRTÉKADÁS
C VAR BYTEI VAR BYTELOOP: DEBUG DEC? I BUTTON 0,0,50,10,C,0,LOOP I=I+1: I=i & 63 PULSOUT 7, 300*IGOTO LOOP
+5V
-
18
ÉRZÉKELÉS II.
• Impulzus-számlálás
• Eseményszám időegyég alatt (pl.forgalomszáml)
• Áramlásmérés (pl. vízóra, fogyasztás, szélsebes)
• Fordulatszám (pl. generátor frekvencia)
• Elmozdulásmérés (pl. inkrementális enkóderrel)
19
IMPULZUS - SZÁMLÁLÁS
+5V
-
C VAR WORD
COUNT 8, 1000, C DEBUG DEC C SEROUT 16, 32, [C]
Impulzusforrás
SugárzásmérőÁramlásmérő
SebességmérőSzélerősség
stb.
20
RÁDIOAKTIV
SUGÁRZÁSMÉRŐ
Personal RadiationMonitor
Impulzuskimenet
Safe
1 uSv/h
10 uSv/h
MikroVákuum
Ki/Be
D
21
IMPULZUS-SZÁMOK REGISZTRÁLÁSA
C VAR BYTEI VAR BYTEMAIN: FOR I = 1 TO 200
COUNT 8, 1000, CWRITE I, C
IF IN9 = 0 THEN TRANSMIT NEXTGOTO MAIN
TRANSMIT: WRITE 0, IFOR I = 0 TO 200
READ I, CSEROUT 16, 32, [C]
NEXT: GOTO MAIN
22
GÁZ vagy FOLYADÉK
ÁRAMLÁSMÉRŐ
HALL KAPCSOLÓ
MÁGNESEK
IMPULZUSOK
23
ELMOZDULÁS-MÉRÉS
LEDFÉNYKIBOCSÁJTÓ
DIÓDA
FOTODETEKTOR
MOZGÓOPTIKAI RÁCS
IMPULZUSOK
24
ÉRZÉKELÉS III.
• Analóg mennyiségek mérése
• Ellenállás (pl. benzintank úszójának potmétere)
• Feszűltség (pl. akkumulátor töltöttségi foka)
• Fényerősség (pl. fényképezőgép fénymérője)
• Hőmérséklet (pl. pálinkalepárló zagy-hőfoka)
• Időtartam (pl. vonalkód csíkhosszúsága)
25
ELLENÁLLÁS (RC) MÉRÉS
+5V
-
T VAR WORD
HIGH 8 : PAUSE 1 RCTIME 8, 1, TDEBUG DEC T SEROUT 16, 32, [T]
10 k
0.1 uF
R
C
10 Ohm
26
HŐMÉRSÉKLET-MÉRÉS
+5V
-
+_ 9
V
DS1620
DS1620
___DQ CLK RST GND
+5V TH TL TC
T VAR WORD LOW 7
LOOP: TOGGLE 7: SHIFTOUT 5, 6, 0, [$AA]
SHIFTIN 5, 6, 1, [T\16] TOGGLE 7 DEBUG DEC T, ”/2 ”, CR: SLEEP 1GOTO LOOP
DS 1620 TERMOSZTÁT
27
IMPULZUSHOSSZ MÉRÉS
+5V
-
+_ 9
V
LED FOTODETEKTOR
FEKETE CSÍK
T VAR BYTE I VAR BYTELOOP:
PULSIN 8, 0, TWRITE I, TPULSIN 8, 1, T
VONALKÓD
28
DIGITAL ANALOG CONVERTER (DAC)
+_ 9
V
-+5V
Vout
Vout=5 V: PWM 9, 255, 1000 Vout=2.5V: PWM 9, 128, 1000….. …..
100K 10uF 1K
29
BEAVATKOZÁS
• RELAY ki / bekapcsolása (pl. áram)• SZELEP ki / bekapcsolása (pl. benzin)• KEVERÉK előírt adagolása (pl. festék)• DC MOTOR adott sebességű hajtása (PWM)
• POZICIONÁLÁS (pl. gépelemek, CNC)• PARANCS TOVÁBBÍTÁS beavatkozó
szerveknek, (pl. SHIFTOUT, SEROUT, XOUT, DTMFOUT ) stb.
30
MOS TRANZISZTOR
+
-12 V
Elektronokha V in > 2 V
V in
Áramigényes
FOGYASZTÓpl.:
LámpaRelé
Motorstb.
Vin=5V: OUT7 = 1Vin=0V: OUT7 = 0
Teljesítmény meghajtó (Power Driver)
MOSkapcsoló
31
DARLINGTON TRANZISZTOR
+
-12 V
Elektronokha V in > 2 V
V in
Áramigényes
FOGYASZTÓpl.:
LámpaRelé
Motorstb.
Vin=5V: OUT7 = 1Vin=0V: OUT7 = 0
Teljesítmény meghajtó (Power Driver)
32
ULN 2003 DARLINGTON ARRAY
Out0 Out1 Out2 Out3 Out4 Out5 Out6
In0 In1 In2 In3 In4 In5 In6
0V / 5V
0A / 0.3A ++V
ULN 2003
++V (< 35V )
33
PWM MOTOR-MEGHAJTÁS
+5V
-
+_ 9
V
ULN2003
_+6
-12
V
DCMOTOR
PWM
OUT8 = 0LOOP: PULSOUT 8, 50 PAUSE 10GOTO LOOP
34
LÉPTETŐ MOTOR
+
-12 V
0 0 0 10 0 1 0
I VAR NIB
DIRA = $F: I = 0
LOOP: OUTA = DCD I ‘ 2^I I = I + 1: I = I AND 3
PAUSE 20GOTO LOOP
Tekercsek
Permanens mágnestengelyezve
MOSkapcsoló
35
LÉPTETŐ MOTOR SZERKEZET 1
Vaslemezből stancolva, majd összehajtvaOlyan kicsik lesznek a lépések, amilyen sűrű fogazatot stancolunk
36
LÉPTETŐ MOTOR SZERKEZET 2
+
+
+
+
Itt patkó mágnes, a valóságban mandarinszerű mágnes-gerizdekből álló rotor
A két-két vezetéket (tekercset) magába foglaló fogazott vas-szelvény toroidszerűen körbehajtva
37
+5V
-
+_ 9
V
POZICIONÁLÁS 0
Léptetőmotor
_+6-12
V
S VAR WORDJ VAR WORDI VAR NIBP VAR NIBDIRA = 15FOR J = 1 TO S I = I + 1 : I = I AND 3 LOOKUP I, [ 1, 2, 4, 8 ], P OUTA = PNEXT
ULN2003
Meghajtóáramkör
38
UCN 4202 A (SPRAGUE)
UNIPOLÁRIS LÉPTETŐMOTOR VEZÉRLŐ
UCN4202
___EN OUT M4 M3 M2 M1 +Vmot GND
+5V IN DIR +5V STEP ST. EN
0 / 1
+5V
Ahány impulzus,annyi lépés
39
+_ 9
V+5V
-
UCN4202
Meghajtóáramkör
Léptetőmotor
_+6-12
V
D S
DATA 10, 50, 77, …I VAR BYTEJ VAR BYTES VAR BYTEDIRA = 3LOOP: READ I, S FOR J = 1 TO S PULSOUT 0, 2: PAUSE 20 NEXT: PAUSE 2000I = I + 1 : GOTO LOOP
POZICIONÁLÁS 1
40
POZICIONÁLÁS 2
+5V
-
+_ 9
V
UCN4202UCN4202
_+ 6
-12
V
Például:Plotter
EsztergaGravirozó
Két liftstb.
41
TCA 3727 (SIEMENS)BIPOLÁRIS LÉPTETŐ MOTOR VEZÉRLŐ
TCA 3727
I10 I11 P1 OSC GND GND Q11 R1 +VM Q12
I20 I21 P2 EN GND GND Q21 R2 +5V Q22
MOTOR TEKERCSEK
0 1 11/3 0 12/3 1 03/3 0 0
0 / 1
2.2 nF
P1 P20 00 11 11 0
1 Ohm
42
BIPOLÁRIS STEPPER
+5V
-
+_ 9
V
TCA 3727
_ +6-12
V
Y X0 00 11 11 0
I VAR WORDS VAR WORDJ VAR NIBP VAR NIB
FOR I = 1 TO S LOOKUP J, [0, 1, 3, 2], P OUTA = P J = J + 1 : J = J AND 3NEXT
43
SERVOMOTOR VEZÉRLÉS
+5V
-
SERVOMOTOR
SERVOMOTOR
t = 1ms MOZGÁS t = 3 ms I VAR BYTET VAR WORD
T =1000 ‘ 500 < T < 1500
FOR I = 1 TO 50 PULSOUT 8, T ‘x 2 us PAUSE 20NEXT
t
44
HANG-GENERÁLÁS
FREQOUT 8, 1000, 440
DATA 128, 100DATA 144, 100******************************
I VAR BYTEF VAR BYTEL VAR BYTEI=0
LOOP:READ I, F: READ I+1, L
FREQOUT 8, L, FI=I+2: GOTO LOOP
+5V
-
45
DTMF, XOUT GENERÁLÁS
+5V
-
DTMFOUT 8, [ 2,7,5,4,7,2,6]
XOUT 8, 9, [ 0 \ %10010 ]
M Z HOUSE COM
46
AZ UTASÍTÁSOK ISMÉTLÉSE
IF … THENBRANCHGOTOGOSUBRETURN
FOR … NEXT
LOOKUPLOOKDOWNRANDOM
PULSINPULSOUTBUTTONSHIFTINSHIFTOUTCOUNTXOUT
SERINSEROUT
PWMRCTIME
FREQOUTDTMFOUT
DATAREADWRITE
PAUSE
NAPSLEEPEND
DEBUG
INPUTOUTPUTREVERSELOWHIGHTOGGLE
47
Mit kellene beszerezni ?HA VAN ÉRDEKLŐDÉS A DIÁKJAINK KÖZÖTT
Basic Stamp 2 ~ 13,000 Ft ChipCadProtoboard 1,500 ConradElem (4.5 - 6 V) 400Színes vezeték 0.5 mm 200 MikrovillSzalagkábel 9 x 1m 100 „D9 konnektor, mama 200 „Tüskesor, 90° 100 „LED kijelzők, kül.szin 100 „Ellenállások .1,.4, 1,5,10 K 100 „Kondenzátorok 1,10,100 nF 100 „Potméter 10 k 100 „ULN 2003 Darlington IC 150 „DC motor 5V 200Léptető motor 600CdS fotoellenállás 200Termisztor 200
FÉL-PROFIKNAK :Csupaszító 500 Kőbányai BazárCsipesz 300 „Forrasztó-páka + ón 500 „
Összesen < 20,000