Εμφάνιση αποτελεσμάτων : 1 έως 9 από 9

Θέμα: Παραγωγή παλμών χρονισμού 1sec, 0.1min, 0.1h με PIC

  1. #1
    Μέλος
    Όνομα
    Γιώργος
    Εγγραφή
    Feb 2010
    Περιοχή
    Αθήνα
    Μηνύματα
    4.618

    Προεπιλογή Παραγωγή παλμών χρονισμού 1sec, 0.1min, 0.1h με PIC

    Αρκετές φορές χρειαζόμαστε παλμούς χρονισμού για μέτρηση ή καταγραφή συμβάντων (ωρομετρητές, καταγραφικά, συχνόμετρα). Υπάρχουν αρκετά εξειδικευμένα ολοκληρωμένα κυκλώματα που καλύπτουν αυτή την ανάγκη αλλά δεν είναι πάντα διαθέσιμα.

    Παρακάτω δείχνω μια απλή εφαρμογή για "παραγωγή παλμών χρονισμού 1sec, 0.1min, 0.1h" με PIC των 8pin μικρής δυναμικότητας.



    Ο χρονισμός έρχεται από τον κρύσταλλο 32768Hz. Μικρομετρική ρύθμιση μπορεί να γίνει με μεταβολή της χωρητικότητας των πυκνωτών 15pF.

    Η είσοδος COUNT (pin4) ενεργοποιεί ή σταματά την παραγωγή παλμών στην έξοδο. Οταν η επαφή είναι κλειστή (pin4=0V) η παραγωγή παλμών είναι συνεχής. Οταν η επαφή ανοίξει (pin4=Vdd) οι παλμοί "παγώνουν" στο σημείο αυτό μέχρις ότου ξανακλείσει η επαφή οπότε η μέτρηση συνεχίζεται από το σημείο που σταμάτησε.

    Υπάρχουν 3 έξοδοι παλμών για κύκλο 1 δευτερόλεπτο, 0.1 λεπτά και 0.1 ώρες.
    Οι παλμοί στην έξοδο έχουν σχεδόν 50% duty cycle.



    Χρονισμός εξόδων:
    pin7 1 sec: 500 mSec HIGH και 500 mSec LOW
    pin6 1/10 min: 3 Sec HIGH και 3 Sec LOW
    pin5 1/10 hour: 180 Sec HIGH και 180 Sec LOW

    Η εφαρμογή δοκιμάστηκε σε PIC12C509A με το πρόγραμμα time360.hex

    Αν θέλετε να προσαρμόσετε το πρόγραμμα σε άλλο PIC θα ξεκινήσετε από το παρακάτω αρχείο .asm:
    Κώδικας:
    ;**********************************************************************
    ;    File:	time360.asm
    ;    Date:	18-FEB-11
    ;    Last:	19-FEB-11
    ;**********************************************************************
    
    	list      p=12c508a, R=DEC
    	#include <p12c508a.inc>
    
    	__CONFIG   _CP_OFF & _WDT_OFF & _MCLRE_OFF & _LP_OSC 
    
    ;------------------------------------------------------------------------
    Time6		equ	0x09
    Time360		equ	0x0A
    TMRbuffer	equ	0x0C
    OUTbuffer	equ	0x0D
    ;------------------------------------------------------------------------
    		org	0x00
    		goto	Start
    ;------------------------------------------------------------------------
    		org	0x10
    		dt	"GeorgeVita - Time counter 360 seconds"
    ;------------------------------------------------------------------------
    
    Start		movlw	b'11000011'
    		option
    		movlw	b'00111000'
    		tris	GPIO
    
    		clrf	OUTbuffer
    		clrf	GPIO
    		clrf	Time6
    		clrf	Time360
    
    ;------------------------------------------------------------------------
    
    Main
    loop_00
    		movfw	TMR0
    		skpz
    		goto	Main
    loop_01
    		decfsz	TMR0,W
    		goto	loop_01
    tstENB
    		btfsc	GPIO,3
    		goto	Main
    toggleT1
    		movlw	b'00000001'
    		xorwf	OUTbuffer,F
    		movfw	OUTbuffer
    		movwf	GPIO
    		btfsc	OUTbuffer,0
    		goto	Main
    incrT6
    		incf	Time6,F
    		movlw	.3
    		xorwf	Time6,W
    		skpz
    		goto	incrT360
    toggleT6
    		clrf	Time6
    		movlw	b'00000010'
    		xorwf	OUTbuffer,F
    incrT360
    		incf	Time360,F
    		movlw	.180
    		xorwf	Time360,W
    		skpz
    		goto	Main
    toggleT360
    		clrf	Time360
    		movlw	b'00000100'
    		xorwf	OUTbuffer,F
    		goto	Main
    
    ;------------------------------------------------------------------------
    
    	END
    Φιλικά,
    Γιώργος

    0 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη GeorgeVita : 19-02-11 στις 17:58

  2. #2
    Μέλος
    Όνομα
    Γιώργος
    Εγγραφή
    Feb 2010
    Περιοχή
    Αθήνα
    Μηνύματα
    4.618

    Προεπιλογή

    (Το θέμα μεταφέρθηκε στη Συζήτηση Κυκλωμάτων για να υπάρχει σχολιασμός. Τα παρακάτω "γράφτηκαν" αρχικά στα προσωπικά μηνύματα. Κοινοποιούνται για χρήση από όλους.)

    Παράθεση Αρχικό μήνυμα από _ab
    ... αυτό το κυκλωματάκι έχει ακρίβεια; Εννοώ εάν το χρησιμοποιήσω να παίρνω παλμούς δευτερολέπτου για μια μέρα π.χ θα χάσει καθόλου;
    Η ακρίβεια είναι όση του κρυστάλλου. Αν ο κρύσταλλος ταλαντώνει στους 32768 ακριβώς θα έχεις στην έξοδο παλμό με συνολική διάρκεια 1sec, 0.1min, 0.1h ακριβώς για πάντα.

    Ο κάθε κρύσταλλος χαρακτηρίζεται από τη θερμοκρασιακή του σταθερότητα σε ppm/°C.
    Τα 5ppm είναι καλύτερα από τα 100ppm και σημαίνει απόκλιση 5 εκατομμυριοστά (των 32768Hz) για κάθε βαθμό Κελσίου πάνω ή κάτω από τους 23°C (συνήθως). Τα κρύσταλλα όμως "τσουλάνε" και με τις χωρητικότητες που βάζουμε για να ταλαντώσουν. Οι πίστες στην πλακέτα είναι και αυτές "πυκνωτές" όπως και οι είσοδοι στο ολοκληρωμένο. Ενα ακόμη "τσούλημα" γίνεται στην προσπάθεια να μετρήσεις τη συχνότητα ταλάντωσης λόγω φορτίου (αντίσταση, χωρητικότητα) που προστίθεται με το probe μέτρησης...

    Πρακτικά ακολουθείς τις οδηγίες του κατασκευαστή κρυστάλλων (μορφή πίστας, τιμές πυκνωτών, παράδειγμα εφαρμογής) και μετράς έμμεσα το αποτέλεσμα δηλαδή τον παλμό που θα σου βγάλει το κύκλωμα (λ.χ. 1Hz). Αν είναι πάλι δύσκολη η μέτρηση κοιτάς το αποτέλεσμα σε βάθος χρόνου. "Ρύθμιση" της συχνότητας γίνεται με αυξομείωση της χωρητικότητας συνήθως του ενός πυκνωτή (βλέπε datasheet κρυστάλλου και μC). Προσωπικά δεν συμπαθώ τη λύση πυκνωτή trimmer γιατί χαλάει με το χρόνο. Είναι καλύτερη η χρήση πυκνωτών NPO/COG μικρής χωρητικότητας.

    Με αυτά που περιγράφω παραπάνω με ένα καλό κρύσταλλο πετυχαίνεις ακρίβεια +/- 1 έως 5 λεπτά το χρόνο για θερμοκρασίες +/-20°C από το σημείο ρύθμισης. Αν το σημείο λειτουργίας είναι διαφορετικό (λ.χ. κατάψυξη) ρυθμίζεις όσο το δυνατόν στην "θερμοκρασία λειτουργίας".

    Ελπίζω να μη χρειάζεσαι καλύτερη ακρίβεια ...

    Παράθεση Αρχικό μήνυμα από _ab
    ... Τι εννοείς "Οι πίστες στην πλακέτα είναι και αυτές "πυκνωτές" όπως και οι είσοδοι στο ολοκληρωμένο"; Που μπορώ να βρω datasheet; Τι είναι οι πυκνωτές NPO/COG; Εντάξει είπαμε ... από 1-5 λεπτά τον ΧΡΟΝΟ είναι υπερκαλά!!!!
    1. datasheet θα βρεις από εκεί που θα πάρεις τον κρύσταλλο (λ.χ. gr.mouser.com)
    2. θα κάνεις το κύκλωμά σου κανονικά και θα αφήσεις χώρο για ένα πυκνωτή smd 1206 ή 0805 δίπλα στον κρύσταλλο.
    3. θα μοντάρεις το κύκλωμα βάζοντας τους πυκνωτές που γράφω ή που προτείνει στο datasheet του κρυστάλλου (ακόμη και το datasheet του PIC έχει κωδικούς για κρύσταλλα και γράφει χωρητικότητες).
    4. μετράς τη συχνότητα (ή την τελική περίοδο) και αν αποκλίνει κολλάς από κάτω έναν πυκνωτή 2p2 μετά 4π7 μετά 5p6 (πριν αγοράσεις θα δεις ότι αυτοί είναι COG/NPO δηλαδή σταθεροί θερμοκρασιακά). Εφόσον βρεις τι ταιριάζει στο κύκλωμά σου αλλάζεις τον σταθερό πυκνωτή που είναι από πάνω ή τα αφήνεις έτσι με το "calibration".

    Φιλικά,
    Γιώργος

    0 Not allowed! Not allowed!

  3. #3
    Μέλος
    Εγγραφή
    Dec 2004
    Μηνύματα
    691

    Προεπιλογή

    Κατι ακομα ρε γιωργο....
    1)εχω δει σε καποιους κρυσταλλους που στο σασι τους "κελυφος τους",το αγκαλιαζουν με ενα συρματακι που ακουμπα την γειωση εαν θυμαμαι καλα.Αυτο παιζει ρολο?
    2)Μπορει να ακουστει χαζο....Εαν λιωσουμε κερι οπως κανουν στα πηνια,θα εχουμε καλυτερα αποτελεσματα? το κερι δρα ως μονωτικο για την θερμοκρασια?
    3)βρηκα αυτο εντελως τυχαια... http://www.abracon.com/Resonators/AB38T.pdf και λεει

    ABRACON P/N: AB38T Series
    Nominal frequency: 32.768kHz
    Operating temperature: -10°C to + 60°C (see option)
    Storage temperature: -40°C to + 85°C
    Turn-over temperature: +25°C ± 5°C
    Frequency tolerance: ± 20 ppm max.(see option)
    Temperature Coefficient:
    Equivalent series resistance: 30 kΩ max.
    Shunt capacitance C0:
    Load capacitance CL: 12.5 pF typ. (see option)
    Motional capacitance C1:
    Capacitance ratio:
    Quality factor:
    Drive level: 1.0 μW max.
    Aging @ 25° C first year: ± 3 ppm max. (32.768kHz) and ± 5 ppm max. (others)
    Insulation resistance: 500 Mohms min. at 100Vdc ± 15V
    -0.034 ± 0.006 ppm/ T²

    Ποιο απ'ολα κοιτω?


    Ευχαριστω πολυ Παναγιωτης.

    0 Not allowed! Not allowed!

  4. #4
    Μέλος
    Όνομα
    Γιώργος
    Εγγραφή
    Feb 2010
    Περιοχή
    Αθήνα
    Μηνύματα
    4.618

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από _ab Εμφάνιση μηνυμάτων
    Κατι ακομα ...
    Τα μονωτικά "καθυστερούν" τη μεταφορά θερμοκρασίας από το ζεστό στο ψυχρό, δηλαδή αν έχεις κάτι που θα ζεσταθεί/παγώσει για λίγη ώρα θα μειώσεις τις αυξομειώσεις στο εξάρτημά σου.Αν όλη η συσκευή βρεθεί στη ζέστη/κρύο για μεγάλο χρονικό διάστημα το μονωτικό θα φτάσει κάποια στιγμή αυτή τη θερμοκρασία. Λ.χ. ένα κομμάτι Teflon αν το βάλεις στην κατάψυξη δεν θα παγώσει;

    Κάτι "τσίχλες" που βλέπεις είναι για να μειωθούν οι κραδασμοί που μπορεί να χαλάσουν τον κρύσταλλο.
    Το 3ο συρματάκι είναι γείωση του περιβλήματος, μηχανική στήριξη, ακροδέκτης του εξαρτήματος αν είναι Ceramic Resonator ή κρύσταλλος με ενσωματωμένους πυκνωτές. Πάντα "κατά περίπτωση".

    Από τη σειρά που αναφέρεις καλύτερο είναι το : ABT38T-32.768KHz-12-B-1 (12pF, -20...+70°C, +/-10ppm max)
    (γενικά οποιοδήποτε σου κάνει)

    G

    0 Not allowed! Not allowed!

  5. #5
    Μέλος
    Εγγραφή
    Dec 2004
    Μηνύματα
    691

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από GeorgeVita Εμφάνιση μηνυμάτων
    Κάτι "τσίχλες" που βλέπεις είναι για να μειωθούν οι κραδασμοί που μπορεί να χαλάσουν τον κρύσταλλο.
    Το 3ο συρματάκι είναι γείωση του περιβλήματος, μηχανική στήριξη, ακροδέκτης του εξαρτήματος αν είναι Ceramic Resonator ή κρύσταλλος με ενσωματωμένους πυκνωτές. Πάντα "κατά περίπτωση".


    G

    Tσιχλες που λες δεν εχω δει....Δεν ξερω πως ειναι....Σαν Μπλου τακ?

    Αυτο δεν τοποθετηται παντα....Ειναι πως να το πω σαν Προαιρετικο και χωρις αυτο δουλευει....Εξυπηρετει σε κατι αν το γειωσεις?Καλυτερη σταθεροτητα παλμων?

    Ευχαριστω πολυ

    0 Not allowed! Not allowed!

  6. #6
    Μέλος
    Όνομα
    Γιώργος
    Εγγραφή
    Feb 2010
    Περιοχή
    Αθήνα
    Μηνύματα
    4.618

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από _ab Εμφάνιση μηνυμάτων
    Εξυπηρετει σε κατι αν το γειωσεις?Καλυτερη σταθεροτητα παλμων?
    Αρα είναι γείωση/μηχανική στήριξη του περιβλήματος. Καλύτερα γειωμένο (ή ότι λέει στο datasheet).
    G

    0 Not allowed! Not allowed!

  7. #7
    Μέλος
    Όνομα
    Γιώργος
    Εγγραφή
    Feb 2010
    Περιοχή
    Αθήνα
    Μηνύματα
    4.618


    0 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη GeorgeVita : 16-04-11 στις 16:09

  8. #8
    Μέλος Το avatar του χρήστη timekeeper
    Όνομα
    Νίκος
    Εγγραφή
    Sep 2010
    Περιοχή
    Λάρισα
    Μηνύματα
    99

    Προεπιλογή

    Κι ότι έψαχνα κάτι ανάλογο για pic! Να σαι καλά!

    0 Not allowed! Not allowed!

  9. #9
    Μέλος
    Όνομα
    Γιώργος
    Εγγραφή
    Feb 2010
    Περιοχή
    Αθήνα
    Μηνύματα
    4.618

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από timekeeper Εμφάνιση μηνυμάτων
    Κι ότι έψαχνα κάτι ανάλογο για pic! Να σαι καλά!
    Κύκλωμα "ειδικό για timekeeper"!
    G

    0 Not allowed! Not allowed!

Παρόμοια Θέματα

  1. Απαντήσεις: 8
    Τελευταίο Μήνυμα: 24-12-11, 12:29
  2. Παραγωγή Ήχου από PIC
    By vaggelis25 in forum Μικροελεγκτές
    Απαντήσεις: 33
    Τελευταίο Μήνυμα: 15-06-11, 23:44
  3. Γεννήτρια παλμών
    By pol in forum Όργανα & Εξοπλισμός
    Απαντήσεις: 3
    Τελευταίο Μήνυμα: 11-01-08, 16:31

Tags for this Thread

Δικαιώματα - Επιλογές

  • Δημιουργία θεμάτων: Όχι
  • Υποβολή μηνυμάτων: Όχι
  • Σύναψη αρχείων: Όχι
  • Επεξεργασία μηνυμάτων: Όχι
  •  
  • BB code: σε λειτουργία
  • Smilies: σε λειτουργία
  • [IMG]: σε λειτουργία
  • [VIDEO] code is σε λειτουργία
  • HTML: εκτός λειτουργίας