470 likes | 584 Views
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ű,
E N D
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ű, Basic-ben programozható komplett számítógép ( PIC uC-vel ). EEPROM 2 kB Micro computer Stabili- zátor Kvarc
CLKIN CLKOUT RA1 RA0 OSC1 OSC2 +5VRB7 RB6 RB5 RB4 PIC 16 F 84 T0CKI _____ INT RA2 RA3 RA4 MCLR GND RB0 RB1 RB2 RB3 PIC MIKROSZÁMÍTÓGÉPEK A 10 eFt -os Basic Stamp 2 ezt a PIC uC-t tartalmazza Ez az 1 eFt -os uC majdnem tudja azt, mint a Basic Stamp 2, csak gépi kódban kell programozni A ROM-ban aBASIC interpreter A programnak külső EEPROM kell! Csak gépi kódban programozható. A programnak 1 K FLASH memória rajta van a chip-en. PIC 16 C 57 2 K * 12 ROM 72 BYTE RAM 20 I/O PIN PIC 16 F 84 1 K * 14 FLASH Mem. 68 BYTE RAM 64 BYTE EEPROM 13 I/O PIN Később majd ezt használjuk !
PIC 16 F 84 (RISC UTASÍTÁSKÉSZLET)microcomputer [68 byte RAM, 64 byte + 1K x 14 EEPROM, 900 Ft ] MOVF f,d MOVWF f SWAPF f,d COMF f,d ANDWF f,d IORWF f,d XORWF f,d NOP -CLRW - CLRF f CLRWDT - SLEEP - ADDWF f,d SUBWF f,d INCF f,d INCFSZ f,d DECF f,d DECFSZ f,d RLF f,d RRF f,d BCF f,b BSF f,b BTFSC f,b BTFSS f,b GOTO k CALL k RETURN - RETLW k RETFIE - ANDLW k IORLW k XORLW k ADDLW k SUBLW k MOVLW k
IF … THEN BRANCH GOTO GOSUB RETURN FOR … NEXT LOOKUP LOOKDOWN RANDOM INPUT OUTPUT REVERSE LOW HIGH TOGGLE PULSIN PULSOUT BUTTON SHIFTIN SHIFTOUT COUNT XOUT SERIN SEROUT PWM RCTIME FREQOUT DTMFOUT DATA READ WRITE PAUSE NAP SLEEP END DEBUG BASIC STAMP 2 UTASÍTÁSOK
PC Serial Port +5V _ + - 9V BASIC STAMP2 PROGRAMOZÁSAa PC soros portján keresztül RTS-DSR összekötendő
PC PRINTER PORT ___ ___ I4 I5 I7 I6 D7 D6 D5 D4 D3 D2 D1 D0 P0 ___ ___ __ __ __ GND __ __ __ P3 I3 P2 P1 13 1 25 14 OUT 888, D I = INP (889) OUT 890, P Egy PC Printer portján is található 8+4 kimenő és 5 bemenő vezeték. A Basic Stamp 2-nek a 16 ki-/ bemenő pontja általunk konfigurálható.
ATN RX TX GND 12 1 24 13 +5V RES GND PWR BASIC STAMP 2 Pl .: DIR2 = 0 X = IN2 Pl .: DIR2 = 1 OUT2 = 0 L B A P7 P6 P5 P4 P3 P2 P1 P0 S P8 P9 P10 P11 P12 P13 P14 P15 D C H
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
LED DISPLAY HDSP-2111 __ __ D7 D6 D5 D4 D3 D2 D1 D0RD CE GND GND 15 28 0 1 2 3 4 7 5 6 1 ___ ___ RSTFLA0 A1 A2A3++ ++ ++A4 CLS CLK WR+5V 14
DISPLAY BÉLYEGCOMPUTERREL 1 FOR I=0 TO 7 READ I, B OUTD = I : OUTL= B PULSOUT 8, 2 NEXT DATA „FONYOD 98 ” I VAR BYTE B VAR BYTE DIRS = $FFFF OUTC=3 PULSOUT 9, 2 __ RD DATA DATA L C D +5V - ___ RST ___ WR ADDR ADDR
+5V - DISPLAY BÉLYEGCOMPUTERREL 2 PRINT: FOR I=0 TO 7 READ I +M, B OUTD=I: OUTL=B PULSOUT 8, 2 NEXT : RETURN MAIN: GOSUB PRINT M = M + 1 PAUSE 200 GOTO MAIN DATA „FONYOD 98 … ” I VAR WORD B VAR BYTE M VAR BYTE DIRS = $FFFF : OUTC=3 M = 0 __ RD DATA DATA ___ RST ___ WR ADDR ADDR
É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.
+5V - INPUT - OUTPUT KEZELÉS D VAR BIT DIR0 = 0 ‘INPUT 0 DIR7 = 1 ‘OUTPUT 7 D = IN0 OUT7 = D D VAR NIB DIRA = 0 DIRB = 15 ‘$F D = INA OUTB = D ! D VAR BYTE DIRL = 0 DIRH = 255 ‘$FF D = INL OUTH = D !
+5V _ ~ SSR + FÉLVEZETŐ ~ RELÉ - + - 9V FÉLVEZETŐ RELÉ (SSR) ~220V DATA 5, 3, 10, 5, 20, 10, …. I VAR BYTE T VAR BYTE LOW 7: I=0 LOOP: TOGGLE 7 READ I,T: I=I+1 SLEEP T GOTO LOOP Fogyasztó: LÁMPA FŰTŐTEST MOTOR stb.
+5V - NYOMÓGOMB KEZELÉS C VAR BYTE LOOP: BUTTON 0,0,50,10,C,0,NoKey PULSOUT 7, 1000 NoKey: DEBUG DEC? C GOTO LOOP
+5V - NYOMÓGOMBOS ÉRTÉKADÁS C VAR BYTE I VAR BYTE LOOP: DEBUG DEC? I BUTTON 0,0,50,10,C,0,LOOP I=I+1: I=i & 63 PULSOUT 7, 300*I GOTO LOOP
É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)
+5V - IMPULZUS - SZÁMLÁLÁS Sugárzásmérő Áramlásmérő Sebességmérő Szélerősség stb. Impulzus forrás C VAR WORD COUNT 8, 1000, C DEBUG DEC C SEROUT 16, 32, [C]
RÁDIOAKTIVSUGÁRZÁSMÉRŐ Impulzus kimenet Ki/Be Personal Radiation Monitor D Safe 1 uSv/h 10 uSv/h MikroVákuum
IMPULZUS-SZÁMOK REGISZTRÁLÁSA C VAR BYTE I VAR BYTE MAIN: FOR I = 1 TO 200 COUNT 8, 1000, C WRITE I, C IF IN9 = 0 THEN TRANSMIT NEXT GOTO MAIN TRANSMIT: WRITE 0, I FOR I = 0 TO 200 READ I, C SEROUT 16, 32, [C] NEXT: GOTO MAIN
GÁZ vagy FOLYADÉKÁRAMLÁSMÉRŐ IMPULZUSOK HALL KAPCSOLÓ MÁGNESEK
ELMOZDULÁS-MÉRÉS LED FÉNYKIBOCSÁJTÓ DIÓDA MOZGÓ OPTIKAI RÁCS FOTODETEKTOR IMPULZUSOK
É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)
+5V - ELLENÁLLÁS (RC) MÉRÉS 10 k R C 0.1 uF 10 Ohm T VAR WORD HIGH 8 : PAUSE 1 RCTIME 8, 1, T DEBUG DEC T SEROUT 16, 32, [T]
DS1620 DS1620 +5V _ + - 9V HŐMÉRSÉKLET-MÉRÉS 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 1 GOTO LOOP DS 1620 TERMOSZTÁT +5V TH TL TC ___ DQCLK RST GND
+5V _ + - 9V IMPULZUSHOSSZ MÉRÉS FEKETE CSÍK VONALKÓD T VAR BYTE I VAR BYTE LOOP: PULSIN 8, 0, T WRITE I, T PULSIN 8, 1, T LED FOTODETEKTOR
+5V - _ + 9V DIGITAL ANALOG CONVERTER (DAC) Vout 100K 10uF 1K Vout=5 V: PWM 9, 255, 1000 Vout=2.5V: PWM 9, 128, 1000 ….. …..
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.
+ 12 V - MOS TRANZISZTOR Teljesítmény meghajtó (Power Driver) Áramigényes FOGYASZTÓ pl.: Lámpa Relé Motor stb. Elektronok ha V in > 2 V V in Vin=5V: OUT7 = 1 Vin=0V: OUT7 = 0 MOS kapcsoló
+ 12 V - DARLINGTON TRANZISZTOR Teljesítmény meghajtó (Power Driver) Áramigényes FOGYASZTÓ pl.: Lámpa Relé Motor stb. Elektronok ha V in > 2 V V in Vin=5V: OUT7 = 1 Vin=0V: OUT7 = 0
ULN 2003 DARLINGTON ARRAY ++V (< 35V ) ++V 0A / 0.3A Out0 Out1 Out2 Out3 Out4 Out5 Out6 ULN 2003 In0 In1 In2 In3 In4 In5 In6 0V / 5V
ULN2003 +5V _ + - _ 9V + 6-12 V PWM MOTOR-MEGHAJTÁS DC MOTOR PWM OUT8 = 0 LOOP: PULSOUT 8, 50 PAUSE 10 GOTO LOOP
+ 12 V - LÉPTETŐ MOTOR Tekercsek Permanens mágnes tengelyezve I VAR NIB DIRA = $F: I = 0 LOOP: OUTA = DCD I ‘ 2^I I = I + 1: I = I AND 3 PAUSE 20 GOTO LOOP MOS kapcsoló 0 0 0 1 0 0 1 0
LÉPTETŐ MOTOR SZERKEZET 1 Vaslemezből stancolva, majd összehajtva Olyan kicsik lesznek a lépések, amilyen sűrű fogazatot stancolunk
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
ULN2003 +5V _ + - _ 9V + 6-12 V POZICIONÁLÁS 0 Meghajtó áramkör S VAR WORD J VAR WORD I VAR NIB P VAR NIB DIRA = 15 FOR J = 1 TO S I = I + 1 : I = I AND 3 LOOKUP I, [ 1, 2, 4, 8 ], P OUTA = P NEXT Léptető motor
UCN4202 UCN 4202 A (SPRAGUE)UNIPOLÁRIS LÉPTETŐMOTOR VEZÉRLŐ Ahány impulzus, annyi lépés 0 / 1 +5V +5V INDIR +5V STEP ST. EN ___ EN OUTM4 M3 M2 M1+Vmot GND
UCN4202 +5V _ + - _ 9V + 6-12 V POZICIONÁLÁS 1 D S Meghajtó áramkör DATA 10, 50, 77, … I VAR BYTE J VAR BYTE S VAR BYTE DIRA = 3 LOOP: READ I, S FOR J = 1 TO S PULSOUT 0, 2: PAUSE 20 NEXT: PAUSE 2000 I = I + 1 : GOTO LOOP Léptető motor
UCN4202 UCN4202 +5V _ + - _ 9V + 6-12 V POZICIONÁLÁS 2 Például: Plotter Eszterga Gravirozó Két lift stb.
TCA 3727 P1 P2 0 0 0 1 1 1 1 0 I20 I21P2 EN GND GND Q21 R2 +5V Q22 I10 I11P1 OSC GND GND Q11 R1 +VM Q12 TCA 3727 (SIEMENS)BIPOLÁRIS LÉPTETŐ MOTOR VEZÉRLŐ 0 1 1 1/3 0 1 2/3 1 0 3/3 0 0 0 / 1 MOTOR TEKERCSEK 2.2 nF 1 Ohm
TCA 3727 Y X 0 0 0 1 1 1 1 0 +5V _ + - _ 9V + 6-12 V BIPOLÁRIS STEPPER I VAR WORD S VAR WORD J VAR NIB P VAR NIB FOR I = 1 TO S LOOKUP J, [0, 1, 3, 2], P OUTA = P J = J + 1 : J = J AND 3 NEXT
+5V - SERVOMOTOR VEZÉRLÉS t = 1ms MOZGÁS t = 3 ms I VAR BYTE T VAR WORD T =1000 ‘ 500 < T < 1500 FOR I = 1 TO 50 PULSOUT 8, T ‘x 2 us PAUSE 20 NEXT SERVO MOTOR t
+5V - HANG-GENERÁLÁS DATA 128, 100 DATA 144, 100 *************** *************** I VAR BYTE F VAR BYTE L VAR BYTE I=0 LOOP: READ I, F: READ I+1, L FREQOUT 8, L, F I=I+2: GOTO LOOP FREQOUT 8, 1000, 440
+5V - DTMF, XOUT GENERÁLÁS M Z HOUSE COM XOUT 8, 9, [ 0 \ %10010 ] DTMFOUT 8, [ 2,7,5,4,7,2,6]
IF … THEN BRANCH GOTO GOSUB RETURN FOR … NEXT LOOKUP LOOKDOWN RANDOM INPUT OUTPUT REVERSE LOW HIGH TOGGLE PULSIN PULSOUT BUTTON SHIFTIN SHIFTOUT COUNT XOUT SERIN SEROUT PWM RCTIME FREQOUT DTMFOUT DATA READ WRITE PAUSE NAP SLEEP END DEBUG AZ UTASÍTÁSOK ISMÉTLÉSE
Mit kellene beszerezni ?HA VAN ÉRDEKLŐDÉS A DIÁKJAINK KÖZÖTT Basic Stamp 2 ~ 13,000 Ft ChipCad Protoboard 1,500 Conrad Elem (4.5 - 6 V) 400 Színes vezeték 0.5 mm 200 Mikrovill Szalagká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 200 Léptető motor 600 CdS fotoellenállás 200 Termisztor 200 FÉL-PROFIKNAK : Csupaszító 500 Kőbányai Bazár Csipesz 300 „ Forrasztó-páka + ón 500 „ Összesen < 20,000