Merhabalar 0-5V pulse kaynağından elde ettiğim sinyali potansiyometre ile mikroişlemcide kontrol etmeye çalıştım ancak istediğim sonucu elde edemedim. yazılımı micro c de yaptım.Nerde yanlış yaptığım hakkında en ufak bir fikrim yok...
unsigned int x;
void main() { ANSEL = 0x04; // Configure AN2 pin as analog ANSELH = 0; // Configure other AN pins as digital I/O C1ON_bit = 0; // Disable comparators C2ON_bit = 0;
TRISA = 0xFF; // PORTA is input TRISC = 0; // PORTC is output TRISB = 0; // PORTB is output
do { x = ADC_Read(2); // Get 10-bit results of AD conversion PORTB = x; // Send lower 8 bits to PORTB PORTC = x >> 8; // Send 2 most significant bits to RC1, RC0 } while(1); } < Resime gitmek için tıklayın >
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
öncelikle ilgilendiğiniz için teşekkür ederim ama pulse olması gerekiyor çünkü tristörü tetiklemek için burdan gecikme vericem. asıl yapmam gereken proje şu şekilde ; Biz bu sene bitirme tezi olarak "kontrollü doğrultucu ile dc motor hız kontrolü" yapmayı planlıyoruz. Hocamızın yönlendirmeleriyle baya da yol katettik gibi, Hocanın bizden istediği, 220v AC şebekedeki gerilimin sıfır geçiş noktalarını belirleyip, bunu PİC'e okutarak SCR ye tetik vermek. Yani bu sayede AC şebeke gerilimini , SCR 'ye verdiğimiz açıya göre kontrollü doğrultucu da düzenleyebileceğiz. Bu doğrultuda , sıfır geçiş devresini ve doğrultucu devresini tamamladık sıra sıfır geçişden elde ettiğimiz 0-5v sinyali PİC 'e okutup ona göre SCR sönüme giderken tetik vermeye geldi. @mylord92
Kullandığınız entegrede muhtemelen 0-5v sinyal geliyor. Bunu ADC kanalı ile okumak yerine düz bir pine bağlayın ve "pin state change interrupt" kullanarak çözmeye çalışın. Zero cross interrupt ile bizde geçenlerde böyle bir proje yaptık.
0-5V pulse kaynağından elde ettiğim sinyali potansiyometre ile mikroişlemcide kontrol etmeye çalıştım ancak istediğim sonucu elde edemedim. yazılımı micro c de yaptım.Nerde yanlış yaptığım hakkında en ufak bir fikrim yok...
unsigned int x;
void main() {
ANSEL = 0x04; // Configure AN2 pin as analog
ANSELH = 0; // Configure other AN pins as digital I/O
C1ON_bit = 0; // Disable comparators
C2ON_bit = 0;
TRISA = 0xFF; // PORTA is input
TRISC = 0; // PORTC is output
TRISB = 0; // PORTB is output
do {
x = ADC_Read(2); // Get 10-bit results of AD conversion
PORTB = x; // Send lower 8 bits to PORTB
PORTC = x >> 8; // Send 2 most significant bits to RC1, RC0
} while(1);
}
< Resime gitmek için tıklayın >
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.