PDA

Επιστροφή στο Forum : Έλεγχος τάσης γραμμής



kagelos
28-11-10, 18:27
Καλησπέρα και καλώς σας βρήκα όλους μιας και είναι το πρώτο μου μήνυμα σε αυτό το forum.
Γενικά είμαι εντελώς αρχάριος (για να μην πω άσχετος) από ηλεκτρονικά κυκλώματα. Έχω πειραματιστεί λίγο με Arduino και PIC. Ξέρω κάποια πολύ βασικά πράγματα και αυτό είναι όλο.
Θα ήθελα να δοκιμάσω να φτιάξω ένα κύκλωμα που θα μετράει πόση ώρα περνάει ρεύμα από μια γραμμή εναλλασσόμενου ρεύματος 230V (γραμμή σπιτιού). Έναν απλό μετρητή δηλαδή. Μπορείτε να με βοηθήσετε να μου πείτε περίπου τι στοιχεία θα χρειαζόμουν αν αποφάσιζα να το κάνω με έναν MCU αυτό; Χρειάζεται rectifier;
Ευχαριστώ

herctrap
28-11-10, 18:36
δλδ ποση ωρα καταμαλωνεις?
και ποση ωρα ειναι σβηστα τα παντα?

χωρις να σε νοιαζει το ποσο?

παντως ολη την ωρα καποιο ρευμα ερχετε σπιτι *λαμπακια πινακα

kagelos
28-11-10, 18:55
Θέλω απλά να μετράω πόση ώρα είναι αναμμένη μια συσκευή και να το αποθηκεύω στην EEPROM π.χ. Δεν με νοιάζει η κατανάλωση. Απλά πόση ώρα. Σκέψου ότι έχω μια συσκευή η οποία ενεργοποιείται με χρονοδιακόπτη. Εγώ θέλω να βάλω τον μετρητή μου μετά τον χρονοδιακόπτη και απλά να μου λέει για πόση ώρα πέρναγε ρεύμα. Σαν πείραμα θέλω να το κάνω ... για αυτοδιδακτικούς σκοπούς :)

herctrap
28-11-10, 18:58
και τι εχεις απο εξαρτηματα?

kagelos
28-11-10, 19:04
Δεν έχω τίποτα για το συγκεκριμένο "project". Γενικά έχω PIC18F4520 και ένα devboard από MikroElektronika, ένα Arduino devboard ... αντιστάσεις, πυκνωτές, κάποιο transistor ίσως να υπάρχει κάπου ... αυτά.

herctrap
28-11-10, 19:26
η λογικη μου ειναι να βαλεις στην εξοδο του χρονοδιακοπτη ενα Opto-isolator (http://en.wikipedia.org/wiki/Opto-isolator)
σε σειρα με μια αντισταση και να μετρας ποσο ειναι HIGH με το Arduino και να το σωζεις στην Epprom


πχ



#include <EEPROM.h>

long secON;
boolean writeEpprom;

void setup(){
pinMode(13, INPUT)
}
void loop(){

while(digitalRead(13) = HIGH){
secON++;
delay(1000);
writeEpprom = false;
}
if ( ( digitalRead(13 ) = LOW) && ( writeEpprom = false ) )
{
EEPROM.write(0, ( secON / 65025 ) );
EEPROM.write(1, ( secON % 65025 ) );
writeEpprom = true;
}
}




βεβαια θες και εναν πυκνωτη με μια διοδο στο LED για να μενει ανοιχτο και οσο εισαι στην αρνητικη ημιπεριοδο

kagelos
28-11-10, 19:43
Σε ευχαριστώ πολύ φίλε. Βασικά ο κώδικας δεν με προβληματίζει (είμαι προγραμματιστής Η/Υ στο επάγγελμα και στο hobby :) ). Τα υλικά και το κύκλωμα με ενδιαφέρουν. Θα το δοκιμάσω και στο Proteus και μετά κανονικά και θα σας πω. Ευχαριστώ.

Υ.Γ. στα if θέλει == όχι =