Fórum témák

» Több friss téma
Fórum » Geiger-Müller számláló (hobbi)
 
Témaindító: imi84, idő: Jan 8, 2007
Lapozás: OK   42 / 42
(#) soskajoska válasza sonajkniz hozzászólására (») Nov 19, 2017 / 1
 
Szia!
Kíváncsi lennék a progira is. Tudja egy időben figyelni a feszültséget és a bejövő impulzusokat? Vagy esetleg megszakítás keretében figyeli a 400V-ot? Ez utóbbi a hibája Radu Mothisan egyszerű GM detektorának is, amit a népszerű atmega328-ra épített meg. Vagyis alacsony beütésszámnál még nincs jelentős eltérés a valódi és a mért érték között. Azonban ahogy nő a sugárzás, egyre több beütés történik a 400V-ot figyelő megszakítás alatt (amit a proci nem mér) és így egyre nagyobb lesz az eltérés a két érték között. Persze programozással ez kiküszöbölhető, ha teszel bele egy olyan átlagolót, ami a bejövő impulzusokból kiszámolja a megszakítás alatt várható impulzusok számát és hozzáadja a mért értékhez. Vagy a másik lehetőség, hogy a mérés ciklusidejét a megszakításokkal megnöveled (alacsony sugárzásnál, ahol akár 1 perc is lehet a mérési ciklus, több megszakítási időt számolsz bele, majd ahogy rövidül a ciklus, úgy egyre kevesebbet.)
És akkor még beszélhetnénk a cső linearitási hibáinak a kompenzálásáról, (mert a kisülés után van egy rekombinációs idő) azonban erről nagyon kevés hiteles adatot lehet beszerezni az egyes csövekről és mint mondani szoktam, akkora sugárzást, ahol ez a hiba jelentkezik, nagyon nem szeretnék mérni.
(#) sonajkniz válasza soskajoska hozzászólására (») Nov 19, 2017 / 1
 
Szia!

Hétfőn feltöltöm majd a proramot és a paneltervet.
Előzetesben annyit, hogy a 400 vot figyelés ciklusból történik, viszont a becsapódást megszakításból érzékeli.
Így nem marad ki egy sem. Viszont a hangjelzés ideje nyújtott, így egy becsapódási szint fölött már folyamatosan fütyülne. De ezt én nem szeretném hallani.
(#) Shance válasza soskajoska hozzászólására (») Nov 19, 2017 / 1
 
Hello,
Nemrégiben "BroHogan" tett közzé egy Arduino Pro mini-re írt változatot. Ebben már mindent a mikrovezérlő csinál. Bővebben: Link
A leírás szerint így is elmegy 250000 CPM-ig, ami nagyon szép érték. (kb az SBM-20 maximuma)
Én most ennek az OLED-kijelzős változatával foglalkozom, amit véletlenül találtam YouTube-on. Bővebben: Link
Sajnos kijelzőm még nincsen, de próbaképpen feltöltöttem a programot egy Arduino Pro mini-re, és úgy fest működik. Vagyis amit kijelző nélkül megtudtam nézni az megy.(LED-ek vezérlése, PWM jel)
Amint lesz kijelzőm letesztelem élesben is. Amúgy Radu Atmega8-ra épített, és lehet nála a mikrovezérlő "gyengesége" okozta a belassulást.
(#) sonajkniz hozzászólása Nov 20, 2017 /
 
Sziasztok.

Amint ígértem, itt a program, valamint a hex és a nyákterv.
A nyákterven pirossal bekarikázott tranzisztor és ellenállás nem szerepel a kapcsolási rajzon. Az csak akkor kell, ha nagyobb teljesítményű, vagy nagyobb feszültségigényű hangjelző kerül bele.
A panel ehhez a dobozhoz van méretezve. A doboz eredetileg 2db AA elem számára kialakított elemtartóval rendelkezik, de tökéletesen passzol bele a 9V-os elem csatlakozóval együtt.
A program assemblyben van írva. A könnyebb érthetőség kedvéért végig kommenteztem.
  1. ;*******************************************************************************
  2. ;*                             Sugárzás jelző                               *
  3. ;*        Egytekercses feszültségnövel 400V-os GM csővel PIC10F322-vel         *
  4. ;*******************************************************************************
  5.        
  6.         LIST    P=PIC10F322 ; lista megad??sa
  7.         RADIX   hex                ; alap?©rtelmezet sz??mrendszer megad??sa
  8.         #include "p10F322.inc"
  9.  
  10.  
  11.  __CONFIG _FOSC_INTOSC & _BOREN_OFF & _WDTE_OFF & _MCLRE_OFF & _LVP_OFF & _LPBOR_OFF
  12.  
  13.     CBLOCK  0x40
  14.     WAIT                    ;Várakozás
  15.     MENT_WREG               ;W regiszter értéktároló
  16.     SIP_IDO                 ;Hangjelzés időtartama részecske becsapódáskor
  17.     TOLTES_H                ;A 400V meglétét figyelő várakozás felső byteja
  18.     TOLTES_L                ;A 400V meglétét figyelő várakozás alsó byteja
  19.     MB                      ;Belső kapcsolók
  20.     ENDC
  21. IDOZITO MACRO    MENNYI      ;Időzítő értékfeltöltése macro. 
  22.         MOVLW   HIGH MENNYI
  23.         MOVWF   TOLTES_H
  24.         MOVLW   LOW MENNYI
  25.         MOVWF   TOLTES_L
  26.         ENDM
  27.        
  28. #define     BUZZER  LATA,2  ;Hangjelző
  29. #define     ISW      MB,1    ;Időzítő segédkapcsoló
  30. #define     TGYSW   MB,2    ;Telep gyenge segédkapcsoló        
  31.    
  32.     org     0x0000          ;Programmemória kezd? címe
  33.     nop
  34.     GOTO    INICIALIZALAS
  35.     org     0x0004
  36.     GOTO    MEGSZAKITAS
  37.     nop
  38.     org     0x000A
  39.  
  40. INICIALIZALAS
  41.     CLRF    LATA            ;Kimenetek kikapcsolása
  42.     MOVLW   B'00000010'     ;\
  43.     MOVWF   ANSELA          ; \
  44.     MOVLW   B'1100101'      ;--Analóg bemenet beállítása
  45.     MOVWF   ADCON           ;_/
  46.     MOVLW   B'00001010'     ;\
  47.     MOVWF   TRISA           ;-Ki és bemenetek beállítása
  48.     MOVLW   B'00001000'     ;\
  49.     MOVWF   WPUA            ;-RA3-on belső felhúzó ellenállás bekapcsolása
  50.     MOVLW   B'01110000'     ;\
  51.     MOVWF   OSCCON          ;-Oszcillátor beállítása 16MHz-re
  52.     MOVLW   B'11001000'     ;\
  53.     MOVWF   INTCON          ;-Megszakítás bemenet változásra engedélyezése
  54.     MOVLW   B'00000010'     ;\
  55.     MOVWF   PIE1            ;-Timer 2 megszakítás engedélyezése
  56.     CLRF    IOCAP           ;\
  57.     MOVLW   B'00001000'     ;-Megszakítást kiváltó bemenet kiválasztása
  58.     MOVWF   IOCAN           ;/
  59.     CLRF    OPTION_REG      ;OPTION_REG törlése
  60.     MOVLW   B'01111100'     ;\
  61.     MOVWF   T2CON           ; \
  62.     MOVLW   D'99'           ;  \
  63.     MOVWF   PR2             ;---PWM beállítása 40KHz-re 70%-os kitöltéssel, FLAG
  64.     CLRF    PWM1DCL         ;---bit beállítása 400usecenkénti bebillenésre.
  65.     MOVLW   D'70'           ;  /
  66.     MOVWF   PWM1DCH         ;_/
  67.     CLRF    MB              ;Belső kapcsolók törlése
  68. MAIN
  69.     BTFSC   TGYSW           ;Ha telep gyenge kapcsoló be vankapcsolva, a program
  70.     GOTO    TELEP_GYENGE    ;átugrik TELEP_GYENGE rutinra.
  71.     INCFSZ  WAIT            ;Mivel a 400V-os feszültség felépülése jóval lassabb
  72.     GOTO    $-1             ;folyamat annál, mint amennyi idő alatt a program
  73.     BSF     ADCON,1         ;körbefordul, ezért kivárok két mérés között.
  74.     BTFSC   ADCON,1         ;Bár az időközben bejövő megszakítás elronthatja a
  75.     GOTO    $-1             ;mérési eredményt, a teljes működésre nincs komoly
  76.     MOVLW   D'100'          ;kihatása, viszont ha ilyenkor leállítom a megsza-
  77.     SUBWF   ADRES,W         ;kítást, lemaradhatok egy jelről, ezért nem teszem.
  78.     BTFSS   STATUS,C        ;Ezután ellenőrzöm, elérte-e a feszültség a kívánt
  79.     GOTO    MAIN2           ;értéket. Ha nem, MAIN2-re ugrok. Ha igen, leállítom
  80.     CLRF    PWM1CON         ;a PWM kimenetet, kikapcsolom időzítő segédkapcsoló-
  81.     BCF     ISW             ;ját, és visszatérek a program elejére.
  82.     GOTO    MAIN
  83. MAIN2
  84.     MOVLW   B'11000000'     ;Ha a program ide jön, bekapcsolom a PWM-et, és be-
  85.     MOVWF   PWM1CON         ;állítom a PWM kimenetét.
  86.     BTFSC   ISW             ;Ellenőrzöm időzítő segédkapcsolóját. Ha be van kap-
  87.     GOTO    MAIN            ;csolva, visszatérek a program elejére. Ha nincs,
  88.     IDOZITO D'12500'        ;feltöltöm értékkel az időzítőt, majd bekapcsolom
  89.     BSF     ISW             ;időzítő segédkapcsolóját.
  90.     GOTO    MAIN            ;Visszatérek a program elejére.
  91. ;-------------------------------------------------------------------------------   
  92. TELEP_GYENGE                ;Ha a telep gyengesége, vagy egyéb okból nem jön
  93.     CLRF    PWM1CON         ;létre megadott időn belűl a 400V, akkor kikapcsolom
  94.     BSF     BUZZER          ;a PWM csatornát, és szaggatott hangjelzést adok.
  95.     IDOZITO D'1250'
  96.     BSF     ISW
  97.     NOP
  98.     BTFSC   ISW
  99.     GOTO    $-1
  100.     BCF     BUZZER
  101.     IDOZITO D'800'
  102.     BSF     ISW
  103.     NOP
  104.     BTFSC   ISW
  105.     GOTO    $-1
  106.     GOTO    TELEP_GYENGE
  107. ;-------------------------------------------------------------------------------   
  108. MEGSZAKITAS
  109.     MOVWF   MENT_WREG    ;Elmentem W regiszter aktuális értékét
  110.     BTFSS   INTCON,0     ;Ellenőrzöm, mi váltotta ki a megszakítást. Ha nem
  111.     GOTO    MSZ1         ;részecske becsapódás, akkor csak Timer 2 lehetett,
  112.     MOVLW   D'100'       ;ezért átugrom MSZ1-re. Ha mégis, akkor SIP_IDO-be
  113.     MOVWF   SIP_IDO      ;100-at töltök, bekapcsolom a Buzzert, törlöm IOC
  114.     BSF     BUZZER       ;FLAG bitjét, valamint IOCAF regisztert, majd MSZ4-re
  115.     BCF     INTCON,0     ;ugrok.
  116.     CLRF    IOCAF
  117.     GOTO    MSZ4
  118. MSZ1         
  119.     BTFSS   ISW          ;Ha időzítő segédkapcsoló be van kapcsolva, akkor
  120.     GOTO    MSZ2         ;visszaszámoltatom a beálított értékről.
  121.     MOVLW   1            ;Mivel a PIC10-es nem ismeri a SUBWFB parancsot, és a
  122.     SUBWF   TOLTES_L     ;DECF parancs nincs hatással a CARRY bitre, ezért
  123.     BTFSC   STATUS,C     ;kicsit kacifántosabb a két byteos érték visszaszámolá-
  124.     GOTO    MSZ2         ;sa. Valamint nem 0-nál, hanem csak mínusz 1-nél jár
  125.     SUBWF   TOLTES_H     ;le, de ennek nincs nagy jelentőssége.
  126.     BTFSC   STATUS,C     ;Ha lejár, kikapcsolom időzítő segédkapcsolóját, és
  127.     GOTO    MSZ2         ;bekapcsolom telep gyenge segédkapcsolót.
  128.     BSF     TGYSW
  129.     BCF     ISW
  130. MSZ2   
  131.     BTFSC   TGYSW        ;Ha a telep gyenge segédkapcsoló be van kapcsolva, ezt
  132.     GOTO    MSZ3         ;a rutint átugrom. Ez a rutin a becsapódáskori hang-
  133.     BTFSS   BUZZER       ;jelzés idejét állítja be 40msec-re.
  134.     GOTO    MSZ3
  135.     DECFSZ  SIP_IDO
  136.     GOTO    MSZ3
  137.     BCF     BUZZER
  138. MSZ3
  139.     BCF     PIR1,1      ;Timer 2 FLAG bitjének kikapcsolása.
  140. MSZ4
  141.     MOVF    MENT_WREG,W ;W regiszter tartalmának visszatöltése
  142.     RETFIE              ;Kilépés a megszakításból.
  143.    
  144.     END

Sikeres után-építést kívánok.
(#) soskajoska válasza Shance hozzászólására (») Nov 22, 2017 /
 
Igazad van! Azt elírtam.
(#) soskajoska válasza Shance hozzászólására (») Nov 26, 2017 /
 
Ilyen kijelzővel megy?
Egy kicsit részletezhette volna a gombok funkcióját. Legalábbis én nem találtam.
A hozzászólás módosítva: Nov 26, 2017
(#) soskajoska válasza sonajkniz hozzászólására (») Nov 26, 2017 /
 
Szia!

Ha már a huzalozást felraktad, felraknád a kapcsolási rajzot is EAGLE-ben?

Köszi.
(#) Shance válasza soskajoska hozzászólására (») Nov 26, 2017 /
 
Igen elvileg kell mennie. Amit Ő használt annak pont fordítva van a VCC és a GND lába, de valamelyik eladónál olvastam, hogy ez nem probléma csak figyelni kell a bekötésnél.
Én ilyet vettem. Sajnos még mindig nem tudtam kipróbálni mert a 15mH induktivitás miatt 4 napig állt a rendelésem. A gombokról nincs semmi csak a videó, meg majd kitapasztaljuk. Holnap megjön a kijelző, majd beszámolok róla hogy hogy megy.
(#) sonajkniz válasza soskajoska hozzászólására (») Nov 26, 2017 /
 
Szia!

A kapcsolási rajzot itt találod.
Sosem tervezek kapcsolást Eagle-ben. Csak panelt.
(#) soskajoska válasza Shance hozzászólására (») Nov 27, 2017 /
 
Köszi! Várom
(#) soskajoska válasza sonajkniz hozzászólására (») Nov 27, 2017 /
 
OK! Ezt nem tudtam. De köszönöm. Viszont lenne egy kérésem. Mivel én kuka vagyok PIC programozásban, felraknád a programnak csak a 400V előállítására szolgáló PWM részét? És egy kérdés: FET kapcsolóval nem próbálkoztál? Kisebb feszültség veszteség, gyorsabb kapcsolás?
(#) sonajkniz válasza soskajoska hozzászólására (») Nov 27, 2017 /
 
Eredetileg én is FET-et szerettem volna tenni bele, csakhogy nem találtam megfelelő feszültségűt.
Ha csak a PWM részt akarod használni a szabályzó kőr nélkül, akkor a tranzisztor is, és a tekercs is túl fog melegedni. Ha csak a jelfeldolgozó rész nem kell, akkor egyszerűen ne kösd be. A feszültség növelő működik anélkül is.
(#) soskajoska válasza sonajkniz hozzászólására (») Nov 27, 2017 /
 
Igazság szerint megtetszett a kapcsolás, és az Arduino verzióhoz szeretném használni a 7555 kapcsolás helyett, mivel sokkal korrektebb.
(#) sonajkniz válasza soskajoska hozzászólására (») Nov 27, 2017 /
 
Örülök, hogy tetszik.
Ha nagyon akarod, kiveszem belőle a jelfeldolgozó részt, de mint írtam, mivel az megszakításból működik, ha nincs jel, akkor kizárólag a 400V előállításával foglalkozik.
(#) Sanyesz5 hozzászólása Nov 30, 2017 /
 
Valakinek nincs elfekvőben valami régi füstérzékelő? Természetesen teszt céljából
(#) soskajoska válasza sonajkniz hozzászólására (») Nov 30, 2017 /
 
Köszi, de igazából ha a PIC RA3 bemenetét R9-el felhúzom, az R7, R8, C2, C3 T2, Z2 és a Buzzert nem rakom be, akkor simán működik, ha jól értem. Vagy a buzzer maradjon?
Még egy kérdés: a 400V-ot szoftverből is tudom állítani, vagy a feszültségosztót változtassam, ha pl. 450V-ot szeretnék előállítani?
(#) sonajkniz válasza soskajoska hozzászólására (») Nov 30, 2017 /
 
Idézet:
„Vagy a buzzer maradjon?”

Felesleges. Ha az említett alkatrészeket kihagyod, a buzzer nem csinál semmit.

A 400V-os mérőkőrt itt találod. Kb 125.öt kell beírni a 450V-hoz.
  1. 76    MOVLW   D'100'       ;Ezután ellenőrzöm, elérte-e a feszültség a kívánt  értéket.
  2. 77    SUBWF   ADRES,W       
  3. 78    BTFSS   STATUS,C     
  4. 79    GOTO    MAIN2

De ha nem éri el a 450V-ot 2 másodperc alatt, a védelem lekapcsolja.
Márpedig valószínű nem fogja elérni, mert szkóppal nézve 9V-os tápról csak 420V-os csúcsokat láttam.
Ahhoz növelni kellene a tápfeszültséget.
(#) Shance válasza soskajoska hozzászólására (») Dec 3, 2017 /
 
Nos összeraktam. A kijelzővel megszenvedtem, először azt hittem hibás mert az egész el volt csúszva két pixellel balra, de aztán megtaláltam eBay-en ugyanezt a típust és kiderült, hogy nem SSD1306-os a vezérlője hanem SSH1106. Szerencsére nincs nagy különbség köztük. Az SSH vezérlő 132x64-es kijelzőhöz való, de mivel 128-ast kapott ezért két-két pixel két oldalt le van "csúszva”. Csak a start pozíciót kellett átírnom 0-ról 2-re. De mire rájöttem hol kell átírni...
A számláló hiba nélkül kb: 130,000 CPM-ig megy, afelett a bargraph megkergül és az "ALARM” helyett oda-vissza rohangál a kijelzőn, de ettől függetlenül továbbra is jól számol. Egy véletlenek köszönhetően (lógva hagytam a bemenetet, és a vezetéke közel volt az induktivitáshoz) kiderült, hogy simán elszámol akár 4-500 ezer CPM-ig (2200-2500usv/h olvastam le).
A kapcsoláson feltüntetett feszültségosztó (10M/49,9k) nem jó. A helyes érték 10M/68k. A progihoz mellékelt foton látszik, hogy Ő 680k ellenállást használt, vagyis a felette lévő SMD ellenállások összértéke 100Mohm. Érdemes az osztó értéket 100Mohmos nagyságrendre növelni, mert a 10Mohm ezeket a kis teljesítményű tápokat nagyon leterheli (az induktivitás hangosan cicereg).
Próbálgatás közben sikerült ráküldeni a 400V-ot az Arduinomra, úgyhogy meghalt szegény. A képen ennek folyománya látható egy Arduino pro mini "klón”.
A saját tápjában, mivel nincs visszacsatolás nem bíztam meg, ezért a méricskéléshez a GK-B5 deszkamodellemet használtam.
Sajnos a menüben nem lehet állítani a display period értékét, az fix 1,5 másodperc. Én ezt keveselltem, ezért visszaírtam 5 másodpercre.
Belinkelem ide is a progit.
(#) soskajoska válasza Shance hozzászólására (») Dec 23, 2017 /
 
Szia Shance!
Mivel sikerült helyettesítened az STX0560 tranyót?
(#) Shance válasza soskajoska hozzászólására (») Dec 23, 2017 /
 
Hello,
Én KSP44-et használtam, de a MPSA42 is jó lehet. Mondjuk a 300V kicsit határeset, de az OLED-es kapcsolásban az van.
A hozzászólás módosítva: Dec 23, 2017
(#) Shance válasza Shance hozzászólására (») Dec 23, 2017 /
 
Már nem engedte szerkeszteni. Egy kicsit benéztem, MPSA44 van benne.
(#) Sanyesz5 hozzászólása Sze, 9:42 /
 
Sziasztok!

Egy amatőr kérdésem lenne, megépítettem én egy számlálót ami teszi szépen a dolgát, annyi a gondom vele hogy mR/h ban mér, hozzáteszem vagyok otthon a mértékegységekben.
Találtam egy online táblázatot, miszerint 1mR/h az egyenlő 10usv/h.
Egy attiny2313 van a számlálómban, megvan a forrásfájl, elvileg egy hozzáértő ember át tudja állítani hogy usv ben mérjek, és nem röntgenben?

Bővebben: Link

Köszönöm!
(#) Laslie74 válasza Sanyesz5 hozzászólására (») Pé, 8:26 /
 
Az egyszerűbb TTL IC-s műszerek is csak a tizedes pontot rakják arrébb.
(#) Sanyesz5 válasza Laslie74 hozzászólására (») Pé, 10:04 / 1
 
Értem, köszönöm, akkor már csak valaki kell aki ért a programhoz!
(#) Sanyesz5 hozzászólása Hé, 17:51 /
 
Bővebben: Link

Üdv, mellékelek egy képet, ha valaki esetleg megépítette már ezt, hátha tudja hogy az IC5 melyik verziója kell.
A hozzászólás módosítva: Hé, 17:52
Következő: »»   42 / 42
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu