παράγει παλμούς 40kHz με μικροελεγκτή

F

fantabulous68

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

Παραγωγής που κατεγράφη κατά τη διάρκεια:

Λογισμικού που βασίζονται έκπτωση

Στις pluse Off χρόνο
1 0 Υπάρχει σίγουρα ένα εμπόδιο μπροστά του
Αισθητήρας

1 1 Ο αισθητήρας είναι κορεσμένη από φωτισμού περιβάλλοντος, με αποτέλεσμα να έχουμε
δεν μπορεί να ξέρει αν υπάρχει εμπόδιο

0 0 Υπάρχει σίγουρα Τίποτα δεν μπροστά από τον αισθητήρα,
ο δρόμος είναι ανοικτός0 1 Αυτή η ανάγνωση του ΟΗΕ είναι λογικό, υπάρχει κάτι λάθος
με τον αισθητήρα.συνδέσεις υλικό:1) LED συνδέεται με PIN RC3 των μικρο ελεγκτή?

2) δέκτη υπερύθρων IC TSOP48 έχει μια ψηφιακή έξοδο που μπορεί να επιβληθεί άμεσα από ένα μικρο ελεγκτή.Η παραγωγή της ΕΑΘ είναι σε Pin 1 της IC.Η έξοδος του δέκτη IC είναι συνδεδεμένο με pin RC2 του μικρο ελεγκτή.

3) μικροελεγκτή παράγει παλμούς κύκλο χαμηλής κατανάλωσης σε RA2 καρφίτσα σε 40kHz.
RA2 συνδέεται με την είσοδο ελέγχου που συνδέεται με έναν πομπό

η είσοδος CONTROL είναι συνδεδεμένο με την πηγή της χαμηλής κατανάλωσης οσπρίων κύκλου που θα μπορούσε να είναι από 555timer αλλά δεν im χρησιμοποιώντας 555timer.Θέλω να χρησιμοποιήσω το PIC16F690 να το κάνουμε αυτό.Περιγραφή:Η διαβιβάζει έκρηξη ξεκινά από το μικροελεγκτή.Η μετάδοση ρήξη είναι ουσιαστικά μια λειτουργία που λέγεται όταν οι αιτήσεις για το μικροελεγκτή.
Η κυματομορφή 40 kHz έχει μια περίοδο: 25usΛογισμικό Algorithm
Μια απλή λειτουργία καθυστέρηση θα χρησιμοποιηθεί για την εναλλαγή RA2 pin. Έθεσα το υψηλό μέρος της παραγωγής να 5uS και το χαμηλό μέρος να 20uS.

Μια μεταβλητή είναι απαραίτητη για να παρακολουθείτε τον αριθμό των καθυστερήσεων να αναφέρουν τέλος της μετάδοσης.Ο συνολικός αριθμός των καθυστερήσεων είναι ίση με 20 (10 * 2).Δέκα είναι ο αριθμός των παλμών έστειλε σε μια έκρηξη και 2 είναι ο αριθμός των καθυστερήσεων ανά παλμό.Κάθε φορά που παρουσιάζεται μια καθυστέρηση, μια μεταβλητή αυξάνεται για να παρακολουθείτε τον αριθμό των καθυστερήσεων.Μόλις ολοκληρωθεί αυτή η μεταβλητή φθάσει τα 20 την ολοκλήρωση της μετάδοσης.

Ψευδο κωδικός

Ορισμός RA2 pin υψηλή.Run πρώτη καθυστέρηση της 5uS.
Μετά την ολοκλήρωση της καθυστέρησης που RA2 καρφίτσα χαμηλά.Run δεύτερη καθυστέρηση για 20us.
Μετά από κάθε αύξηση καθυστέρηση μιας μεταβλητής.Παρακολουθήστε μεταβλητής μέχρι να φθάσει το 20.Σε αυτό το σημείο μετάδοσης είναι πλήρης.εδώ είναι ο κωδικός μου:# include <pic.h>
# include "pic.h"
# include "math.h"
# include <stdio.h>
# include <stdlib.h>
# include "delay.h"

bit ir1, ir2? / / 2 διαφορετικές εξόδους του αισθητήρα κατά τη διάρκεια Εντός & Εκτός παλμό
unsigned char ir? / / καταστήματα τελικό αποτέλεσμα
void Transmit40 (void)
(
ANSEL = 0? / / Set είσοδοι στις ψηφιακές
TRISC = 0x04? / / Λήψης pin RC2 εισόδου

int t = 0?
int cnt = 0?

ενώ (CNT <20) / / Tx 10 IR παλμούς / διάρρηξης
(If (t == 0)
(
PORTA PORTA = 0x04 ^? / / Στείλετε IR, Εναλλαγή RA2
DelayUs (5)?
ir1 = RC2? / / O / P IR bit1 = O / P pin του δέκτη IC
cnt ?
t = 1?

)
else if (t == 1)
(

PORTA PORTA = 0x04 ^? / / Stop IR, λίγο Εναλλαγή 2 του
/ / Porta-IR pin ελέγχου
/ / Που συνδέονται με RA2
DelayUs (20)?
ir2 = RC2? / / O / P IR bit2 = O / pin P
/ / Του δέκτη IC
cnt ?
t = 0?
)if ((ir1 == 1) & (ir2 == 0)) / / Obstacle ανιχνευθεί
(
ir = 1?
)άλλος
(
ir = 0? / / Ο δρόμος είναι ανοικτός μπροστά από τον αισθητήρα
)RC3 = ir? / / Ανάβει οδήγησε συνδέεται με RC3 αν ανίχνευση αντικειμένου?

)
)

void main (void)
(Transmit40 ()?

)Είμαι αρχάριος.χρειάζονται κάποια βοήθεια παρακαλώ για το έργο μου.

Είμαι παράγει παλμούς κύκλο χαμηλής κατανάλωσης από το μικροελεγκτή για την διαβίβαση των υπέρυθρων LED.

Θέλω το έργο μου "υπέρυθρο ανιχνευτή εγγύτητας" να ανοσία σε ατμοσφαιρικό φως.ΣΚΟΠΟΣ:όταν δέκτης εντοπίζει ένα αντικείμενο, τότε το LED να ανάβει.

όταν δεν εντοπίζει ένα αντικείμενο, το LED δεν πρέπει να ανάβει.

ατμοσφαιρικό φως όπως ένας προβολέας γραφείο μπορεί να προκαλέσει ψευδώς το δέκτη.
όταν θ λάμψει φως πάνω στο i δέκτη θέλετε το LED να παραμένουν ανοικτά.

όταν programed το τσιπ και το βάζουμε στο κύκλωμα.Το LED παλμούς αλλά i dont want this.

μπορούσε να βοηθήσει some1 παρακαλώ μου.

 
να σας εκφράζω εκ νέου σε λίγες γραμμές ό, τι θέλετε;
ακριβώς για να δημιουργήσετε ένα σήμα 40 kHz
pls είναι σύντομος

 

Welcome to EDABoard.com

Sponsor

Back
Top