| Ваш IP: 3.239.7.207 | Online(25) - гости: 9, боты: 16 | Загрузка сервера: 2.88 ::::::::::::

Часы на ИВЛ1-7/5 (Arduino)

ИВЛ1-7/ 5 представляет собой цифровой многоразрядный вакуумный люминесцентный индикатор предназначенный для отображения информации в виде цифр от 0 до 9 в 1, 2, 4 и 5-м цифровых разрядах и двух точек в 3-м разряде в средствах отображения информации индивидуального и группового пользования.

Основные данные индикатора ИВЛ1–7/5:

  • Цвет свечения: Зеленый
  • Номинальная яркость индикатора 500 кд/м2, минимальная – 300 кд/м2.
  • Напряжение накала: 5 В
  • Ток накала: 120 ± 12 мА
  • Напряжение анода–сегмента импульсное: 27 В
  • Ток анодов–сегментов импульсный одного разряда: 12 мА
  • Напряжение сетки импульсное: 27 В
  • Ток сетки импульсный одного разряда: 12 мА
  • Скважность: 5 ± 0,5
  • Минимальная наработка: 10 000 ч
  • Яркость индикатора, изменяющаяся в течение минимальной наработки, не менее: 100 кд/м2
  • Срок хранения не менее: 4 лет

Предельно допустимый электрический режим индикатора ИВЛ1–7/5:

  • Напряжение накала строго в пределах: 4,5–5,8 В
  • Наибольшее напряжение анодов–сегментов: 50 В
  • Наибольшее напряжение сетки импульсное: 50 В

Не рекомендуется эксплуатировать индикатор ИВЛ1–7/5 при питании цепи накала постоянным током. Предпочтительно питать цепь накала переменным током от обмотки трансформатора с отводом от середины, служащим общей точкой вывода катода.

Видимое свечение анода-сегмента при поданном напряжении на сетку наступает при положительном потенциале анода-сегмента 2,5 — 3,0 В. Чтобы избежать возможной подсветки потенциал на аноде-сегменте не должен превышать 1,5 — 2,0 В.
В исключительном ряде случаев допускается эксплуатация индикатора ИВЛ1–7/5  при напряжении накала 6,0 В; общее время работы при данном режиме не должно превышать 10 % от всего времени минимальной наработки.

На платформе Arduino с использованием ИВЛ1–7/5 можно собрать достаточно простые часы. В часах применяются часы реального времени DS1307, но так же можно использовать DS3231 (без изменения скетча и подключения). Напряжения питания часов 5 В (подается на вход USB платы Arduino), при максимальном токе потребления 500-700 мА. Все напряжения (5 В и 27 В) необходимые для нормальной работы вакуумно люминесцентного индикатора получаются при помощи импульсного преобразователя.

Импульсный преобразователь работает на частоте 62,5 кГц и состоит из силового транзистора КТ819Г, трансформатора и выпрямительной схемы.

Трансформатор выполнен на ферритовом кольце М2000НМ1-17 К20х12х6 и содержит три обмотки:

  • Первичная обмотка состоит из 30 витков намотанных равномерно на ферритовое кольцо.
  • Вторичная обмотка 5 В для питания нити накала индикатора содержит 40 витков с отводом от середины.
  • Вторичная обмотка 18 В содержит 120 витков.

Во всех обмотках применен медный изолированный провод диаметром 0,4…0,45 мм.

Для получения необходимого анодного напряжения 27 В используется удвоитель напряжения состоящих из элементов C7 D5 D2 С5.

#include <Wire.h> 
#include <DS3231.h> //https://github.com/jarzebski/Arduino-DS3231/archive/master.zip
DS3231 clock;RTCDateTime DateTime;
  int an, segm,times,i;
  byte a[4];
  unsigned long d;
 
void setup() {
  // 62500 Hz
TCCR1A = TCCR1A & 0xe0 | 1;
TCCR1B = TCCR1B & 0xe0 | 0x09;
 analogWrite(9,85);// напряжение накала 4,5...5,5 В (ток потребления часов не более 600 мА)
 
 pinMode(0,OUTPUT);  // D0 === A1
 pinMode(1,OUTPUT);  // D1 === A2
 pinMode(2,OUTPUT);  // D2 === A3
 pinMode(3,OUTPUT);  // D3 === A4
 pinMode(4,OUTPUT);  // D4 === pd
 pinMode(12,OUTPUT);  // D12  === a
 pinMode(11,OUTPUT);  // D11  === b
 pinMode(10,OUTPUT);  // D10  === c
 pinMode(8,OUTPUT);   //  D8  === d
 pinMode(7,OUTPUT);   //  D7  === e
 pinMode(6,OUTPUT);   //  D6  === f
 pinMode(5,OUTPUT);   //  D5  === g
 
 Wire.begin();clock.begin();
 // clock.setDateTime(__DATE__, __TIME__); // Устанавливаем время на часах, основываясь на времени компиляции скетча
}
 
void loop() {
  DateTime=clock.getDateTime();// опрос времени
  times = DateTime.hour*100+DateTime.minute;
  a[0]=times/1000;
  a[1]=times/100%10;
  a[2]=times/10%10;
  a[3]=times%10%10;
 // a[0]=10;
 switch(i){
    case 0: cl();segm=a[0]; an=0; anod(); segment();delay(3);break;
    case 1: cl();segm=a[1]; an=1; anod(); segment();delay(3);break;
    case 2: cl();segm=a[2]; an=2; anod(); segment();delay(3);break;
    case 3: cl();segm=a[3]; an=3; anod(); segment();delay(3);break;
    }i++;if(i>3){i=0;}
   if(millis()-d<500){digitalWrite(4,HIGH);}else{digitalWrite(4,LOW);}if(millis()-d>1000){d=millis();}
}
 
 
void segment(){
  switch(segm){                                                                 
             //  A       B       C       D       E       F       G  
    case 0: ch(12,0);ch(11,0);ch(10,0);ch(8,0);ch(7,0);ch(6,0);ch(5,1);break;// 0 
    case 1: ch(12,1);ch(11,0);ch(10,0);ch(8,1);ch(7,1);ch(6,1);ch(5,1);break;// 1
    case 2: ch(12,0);ch(11,0);ch(10,1);ch(8,0);ch(7,0);ch(6,1);ch(5,0);break;// 2
    case 3: ch(12,0);ch(11,0);ch(10,0);ch(8,0);ch(7,1);ch(6,1);ch(5,0);break;// 3   
    case 4: ch(12,1);ch(11,0);ch(10,0);ch(8,1);ch(7,1);ch(6,0);ch(5,0);break;// 4 
    case 5: ch(12,0);ch(11,1);ch(10,0);ch(8,0);ch(7,1);ch(6,0);ch(5,0);break;// 5 
    case 6: ch(12,0);ch(11,1);ch(10,0);ch(8,0);ch(7,0);ch(6,0);ch(5,0);break;// 6 
    case 7: ch(12,0);ch(11,0);ch(10,0);ch(8,1);ch(7,1);ch(6,1);ch(5,1);break;// 7 
    case 8: ch(12,0);ch(11,0);ch(10,0);ch(8,0);ch(7,0);ch(6,0);ch(5,0);break;// 8
    case 9: ch(12,0);ch(11,0);ch(10,0);ch(8,0);ch(7,1);ch(6,0);ch(5,0);break;// 9  
    case 10: ch(12,1);ch(11,1);ch(10,1);ch(8,1);ch(7,1);ch(6,1);ch(5,1);break;// гашение цифры
  }}
void anod(){
  switch(an){                                                             
    case 0:ch(0,0);ch(1,1);ch(2,1);ch(3,1);break;  
    case 1:ch(0,1);ch(1,0);ch(2,1);ch(3,1);break; 
    case 2:ch(0,1);ch(1,1);ch(2,0);ch(3,1);break;
    case 3:ch(0,1);ch(1,1);ch(2,1);ch(3,0);break;
  }}
 
void cl(){ segm=10; an=3; segment();anod();an=2;  segment();anod();an=1;  segment();anod();an=0;  segment();anod();}  
 
  void ch(int pin, int logic){digitalWrite(pin,logic);}

http://forum.rcl-radio.ru/viewtopic.php?pid=1564#p1564


Часы-будильник с кнопочной корректировкой времени

Для корректировки часов или времени срабатывания будильника, необходимо нажать и удерживать кнопки «корр.времени» или «корр.буд», а кнопками «корр.часы» и «корр.минуты» установить нужное время часов и время срабатывания будильника.

Скетч — http://forum.rcl-radio.ru/viewtopic.php?pid=1571#p1571

Добавить комментарий

Войти с помощью: 

Случайные статьи

  • Бестрансформаторный источник питания 12 В / 15 мА

    Бестрансформаторный источник питания 12 В / 15 мА

    Некоторые схемы которые имеют небольшой ток потребления, поэтому для их работы можно использовать простые бестрансформаторные источники питания. В подобных источниках питания целесообразно использовать диодный мост, для увеличения величины выходного тока и меньшей пульсации выходного напряжения, что позволяет использовать конденсаторный фильтр меньшей емкости. Поэтому в предложенной схеме VD3 VD4 используются как …Подробнее...
  • Секундомер на ATtiny2313 (Arduino IDE)

    Секундомер на ATtiny2313 (Arduino IDE)

    На базе ATtiny2313 можно собрать простой секундомер. Информация выводится на дисплей LCD1602. Для управления секундомером используются три кнопки — СТАРТ, СТОП, СБРОС. Минимальный шаг секундомера 0,1 секунда, максимальное время измерения 24 часа. Кнопки СТОП и СТАРТ работают через прерывания IN0 и INT1 (пример — https://rcl-radio.ru/?p=94273), время тактируется при помощи таймера …Подробнее...
  • Часы-будильник на PIC16F877A

    Часы-будильник на PIC16F877A

    На рисунке показана схема часов с будильником. Часы отображают часы, минуты и секунды, будильник только часы и минуты. Дополнительной опцией часов является термометр, датчик температуры LM35 подключен к выводу 9 (AN6) микроконтроллера. После подачи питания на микроконтроллер необходимо установить правильное время, сделать это можно при помощи кнопки «Установка времени», при …Подробнее...
  • Автоматическая регулировка усиления

    Автоматическая регулировка усиления

    Автоматическая регулировка усиления  (АРУ) регулирует выходной сигнал в определенных пределах, при разном уровне входного сигнала.В результате устраняются различия громкости, которые могут раздражать, при смене каналов радиоприемника, телевизора… Полевой транзистор VT1 используется как переменное сопротивление. Это значение может  от бесконечности до 150Ω, тем самым регулируя усиление ОУ на TL072.Подробнее...
  • Регулируемый блок питания с цифровым управлением

    Схема регулируемого блока питания м цифровым управлением состоит из регулятора положительного напряжен7ия на KM317, КПОМ декадного счетчика CD4017, таймера NE555 и регулятора отрицательного напряжения на LM7912. Напряжение сети понижается трансформатором до напряжения +/-12В при токе 1А во вторичной обмотке, далее оно выпрямляется. С1-С5 емкостной фильтр постоянного напряжения. Светодиод LED1 сигнализирует …Подробнее...