
Имитатор горения свечи на pic12f675
В этой статье мы попробуем создать имитатор горения свечи. Пламя свечи, как правило, горит ровно, лишь изредка волнуясь, плавно покачиваясь от случайного дуновения, малейшего изменения воздушных потоков в окружающем пространстве. Мы же попробуем, используя генератора случайных чисел на PIC контроллере, получить подобный эффект используя светодиод, или лампу накаливания.
Во время наших исследований, мы использовали и светодиоды и лампы накаливания, конечно светодиоды потребляют намного меньше электроэнергии, чем лампы, но эффект от ламп получается более мягким и реалистичным.
И хотя в этом проекте мы будем использовать светодиоды, вам ничто не мешает использовать обычные лампы накаливания, пояснения и дополнения для этого имеются.
Яркостью светодиода будет управлять ШИМ (широтно импульсная модуляция), количеством и колебаниями будет управлять генератор случайных чисел, на основе линейной обратной связи регистра сдвига.
Программа симулятора «горения свечи» написана для микроконтроллера PIC 12F629 и 12F675. У этих микроконтроллеров существует ограничение, по току нагрузки на выводы — 25mA, и этого вполне хватит для обычного 5мм светодиода, но не для лам накаливания.
Для ламп накаливания, или более мощного светодиода, чтобы не сжечь микроконтроллер, необходимо использовать мощный ключ — транзистор BS170 MOSFET n-канального типа, он и будет управлять более мощной нагрузкой.
Две схемы, Имитатора Горения Свечи, представленные ниже, почти одинаковые, отличием является цепь управления нагрузкой, для более мощной нагрузки используем MOSFET.

Две схемы имитаторов горения свечи на 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о светодиодом — Видео
Оставить комментарий