سلام به همه
برای اینکه بخوایم ولتاژ 220 ولت رو کم کنیم ساده ترین روش استفاده از دیمر هست .
دیمر آنالوگ قابلیت زیادی نداره ولی اگر بخوایم یک نمایشگر به مدارمون اضافه کنیم یا اینکه میزان زاویه آتش تریاک رو دقیق کنترل کنیم و ... احتیاج به دیمر دیجیتال داریم
اصل این مدار رو از سایت مهندس لاچینی به آدرس زیر گرفتم:
http://www.hlachini.com/Projects/Dimer-Digital-Atmega8/Dimer-Digital-Atmega8.htm
که اون رو مطابق میکرو pic تغییر دادم.
توضیحات رو لطفا تا اونجا که میشه از روی همون سایت بردارید
درصورتی که سوالی بود بفرمایید در خدمتم .
محتویات فایل پروژه
شماتیک
برنامه برای -pic16f877a-pcwhd-picc:
توضیح عملکرد مدار
و غیره!! :mrgreen:
موفق باشید
یا علی
برای اینکه بخوایم ولتاژ 220 ولت رو کم کنیم ساده ترین روش استفاده از دیمر هست .
دیمر آنالوگ قابلیت زیادی نداره ولی اگر بخوایم یک نمایشگر به مدارمون اضافه کنیم یا اینکه میزان زاویه آتش تریاک رو دقیق کنترل کنیم و ... احتیاج به دیمر دیجیتال داریم
اصل این مدار رو از سایت مهندس لاچینی به آدرس زیر گرفتم:
http://www.hlachini.com/Projects/Dimer-Digital-Atmega8/Dimer-Digital-Atmega8.htm
که اون رو مطابق میکرو pic تغییر دادم.
توضیحات رو لطفا تا اونجا که میشه از روی همون سایت بردارید
درصورتی که سوالی بود بفرمایید در خدمتم .
محتویات فایل پروژه
شماتیک
برنامه برای -pic16f877a-pcwhd-picc:
توضیح عملکرد مدار
و غیره!! :mrgreen:
کد:
//!In the name of god the compassionate the merciful
#include <16F877A.h>
//-------------------------------------------------------
#device WRITE_EEPROM = NOINT//ASYNC//this argument is for preventing interrupt service routin problem during writting EEProm
#use delay(clock=10000000)
//-------------------------------------------------------
#FUSES HS
#FUSES noPROTECT
#FUSES NOPUT
#FUSES NOBROWNOUT
#FUSES NOWDT
#fuses NOLVP
#fuses NOCPD
//-------------------------------Global Variables-------------------
unsigned int16 takhir;// a variable for controlling triac gate-takhir says that how much time should be waitted ( in us ) from begining of the cycle ( half cycle ) to start the triac conduction.so Takhir tell us how much of the cycle should be removed from the begining
//------------------------Pins----------------------
#define pin_zero pin_a5
#define triac_order_pin pin_a1
//-------------------------------Functions Prototype------------------------
void set_primary(void);// setting primary values to the system
//------------------------------------Interrupts-------------------
#int_ext
void external_interrupt_service_routin(void)//for controlling triac_controlling_pin when zero cross section give a pulse
{
delay_us(takhir);
output_low(triac_order_pin);
delay_us(400);
output_high(triac_order_pin);
}
//------------------------------------Main-------------------
void main(void)
{
//! set_primary();
while(1)
{
}
}
void set_primary(void)
{
enable_interrupts(global);
enable_interrupts(INT_EXT);
enable_interrupts(INT_TIMER1);
}
موفق باشید
یا علی



ببینید لحظه ای حداکثر چقدر جریان می کشه

دیدگاه