В предыдущей статье я привёл способ создания магнитного левитатора-ночника, но он ещё недостаточно поражает воображение. Пришло время заставить левитирующий светильник переливаться всеми цветами. .
Для нашей цели подойдёт простой микроконтроллер Attiny44A. На борту у него имеется два таймера с четырьмя ШИМ-выходами, три из которых мы и используем. К сожалению, заполнение ШИМ можно изменять всего от 0 до 255, но и этого хватает для плавного изменения свечения каждого из цветов RGB светодиода. .
Катушка L1 содержит 200 витков эмалированного провода 0,3 мм. Конденсатор C1 – танталовый на 16 В. Конденсатор C2 служит для устранения высокочастотных помех в питании микроконтроллера. Далее идёт стабилизатор напряжения на TL431, делителем R6-R8 задаётся напряжение стабилизации (в моём случае это 5,12 В), а через резистор R2 излишки напряжения уходят на землю. И здесь стоит пояснить почему именно так организована стабилизация напряжения. В первом варианте LDO-стабилизатор стоял только на питании микроконтроллера и ограничивал напряжение на нём на 3,3 В. После включения устройство проработало буквально несколько секунд и как только ярко загорелся зелёный светодиод, всё погасло. Вскрытие показало пробой конденсатора С1. Я поспешил и не учёл, что энергия от первичной катушки поступает постоянно в неизменном объёме, а потребление схемы изменяется в зависимости от текущего сигнала на транзисторах светодиодов и при низком потреблении энергии (горит только зелёный светодиод через резистор в 1 кОм) напряжение на конденсаторе улетало больше 30 В. Соответственно один из выходов был стабилизировать потребление энергии с чем прекрасно справляется TL431, которая открывается при напряжении на управляющем контакте 2,5 В и ток начинает утекать на землю через ограничивающий резистор. .
Резисторы R3, R4, R5 имеют разный номинал, так как светодиоды разного цвета имеют разную яркость свечения при одинаковом токе. Самый яркий оказывается зелёный, синий немного тусклее и самый тусклый и прожорливый – красный. .
Перебор цветов осуществляется по данной схеме. На первом этапе на красный светодиод подаётся единица, на синий ноль, а на зелёный подаётся ШИМ, с постепенно увеличивающемся коэффициентом заполнения, пока не будет достигнута единица, после этого переходим ко второму этапу и так далее. .
RGB-светодиод необходимо подпилить, чтобы свет рассеивался на окружающий корпус, а не светил в одну точку. Вся схема уместилась на небольшой плате и была собрана в такой же корпус, что и светильник из предыдущей статьи.
Код для микроконтроллера писал в CodeVisionAVR. Микроконтроллер работает на частоте в 1 МГц, соответственно ШИМ настроен на 3,9 кГц. .
#include
#include
//Заменяем названия регистров ШИМ на наименования цветов для удобства
#define RED OCR0A
#define BLUE OCR0B
#define GREEN OCR1AL
int RGB=0;
int i=0;
void main(void)
{
// Настроаиваем биты 6 и 7 порта А на выход
DDRA=(1<
В итоге получилось завораживающее устройство, которое красиво переливается в темноте. .
И бонусом для всех дочитавших схема магнитного левитатора из 2007 года. .
Левитатор был собран в виде П-образной конструкции. Сверху был закреплён электромагнит, намотанный проводом 0,5 мм на болте М10. В полутора сантиметрах ниже располагалась оптопара HL1-BL1, в луче которой висел металлический предмет (например АА батарейка). К сожалению, фото готового левитатора не сохранились. Жаль, что в те годы про неодимовые магниты я не знал, а датчик холла был только в трамблёре девятки) .