Имитатор горения свечи на pic12f675. Готовый прото

Имитатор горения свечи на pic12f675


В этой статье мы попробуем создать имитатор горения свечи. Пламя свечи, как правило, горит ровно, лишь изредка волнуясь, плавно покачиваясь от случайного дуновения, малейшего изменения воздушных потоков в окружающем пространстве. Мы же попробуем, используя генератора случайных чисел на PIC контроллере, получить подобный эффект используя светодиод, или лампу накаливания.

Во время наших исследований, мы использовали и светодиоды и лампы накаливания, конечно светодиоды потребляют намного меньше электроэнергии, чем лампы, но эффект от ламп получается более мягким и реалистичным.

И хотя в этом проекте мы будем использовать светодиоды, вам ничто не мешает использовать обычные лампы накаливания, пояснения и дополнения для этого имеются.

 

Яркостью светодиода будет управлять ШИМ (широтно импульсная модуляция), количеством и колебаниями будет управлять генератор случайных чисел, на основе линейной обратной связи регистра сдвига.

Программа симулятора «горения свечи» написана для микроконтроллера PIC 12F629 и 12F675. У этих микроконтроллеров существует ограничение, по току нагрузки на выводы — 25mA, и этого вполне хватит для обычного 5мм светодиода, но не для лам накаливания.

Для ламп накаливания, или более мощного светодиода, чтобы не сжечь микроконтроллер, необходимо использовать мощный ключ — транзистор BS170 MOSFET n-канального типа, он и будет управлять более мощной нагрузкой.

Две схемы, Имитатора Горения Свечи, представленные ниже, почти одинаковые, отличием является цепь управления нагрузкой, для более мощной нагрузки используем MOSFET.

Две ртнципиальные схемы имитаторов горения свечи на PIC микроконтроллерах 12f675 и PIC 12f629

Две схемы имитаторов горения свечи на PIC 12f675 и PIC 12f629

Детали для схемы со свето диодом:

Резистор R1 — 68?
Резистор R2 – 4.7K?
Регулятор напряжения IC2 — 78L05
Конденсатор керамический 100nF
Микроконтроллер PIC 12f629,или 12F675

Расчет сопротивления резистора R1:

Напряжение питания — разъем J1 -5V
Vcc = 5V, Vled = 3.3V, Iled = 0.025A
I=(Vcc-Vled)/0.025 = 68?
Детали для схемы с мощной нагрузкой:

Резистор R2 – 4.7K?
Регулятор напряжения IC2 — 78L05
Конденсатор керамический 100nF
Микроконтроллер PIC 12f629,или 12F675
Транзистор Q1 — MOSFET BS170

Расчет сопротивления резистора R1:

Напряжение питания — разъем J1 -12V

Vпит = 12 В, Vсв.диод = 3,3, Idesired = 0.3A
R = (Vcc-Vled) / Iled
R = (12-3.3) / 0,3 = 29?

На схеме этого резистора нет, но для безопасности, вы можете его добавить.

В обоих схемах, напряжением питания микроконтроллера управляет регулятор напряжения 78L05. Этот небольшой регулятор умеет справляться с токами до 100 мА.

С нагрузкой до 1Вт, справится MOSFET транзистор n-типа BS170, он может управлять максимальной нагрузкой до 500 мА, этого вполне должно хватить для нескольких лампочек, включенных параллельно, или одноватовогого светодиода.

Почти все изменения в программу можно внести в отдельном куске, в нижней части исходного файла у вас есть основной цикл. Он имеет 3 параметры, которые изменяют поведение эффекта.

while(1)

{

if(getRandomBit())

i += 3; // if bit is 1 increment 10

else

i -= 3; // if bit is 0 decrement 10;

/* protect i within 0…100 limit */

if( i<50 ) i=50; // not too low so the LED doesn’t go off completely

if( i>80 ) i=80; // not too high to obfuscate the surroundings

/* configure t1value for pwm generation and pause */

t1value = 65535-(100+99*i)+1;

for(pause=0; pause<6000; pause++);

}

Прошу учесть следующее, если вы внесёте свои изменения в код программы, вам придется её перекомпилировать, для своего PIC контроллера.

Скачать прошивки для 12F629 и 12F675 (в архивах есть исходники)

Печатная плата и схема с мощной нагрузкой

Печатная плата Имитатора свечи со светодиодом

Справочные данные:

PIC 12F629/675 datasheet — файл PDF

BS170 datasheet — файл PDF

78L05 voltage regulator datasheet — файл PDF

Имитатор горения свечи — Cо светодиодом — Видео