151

Re: Ретро часы на ИВ-6

Возможно проблема в источнике питания 5В, установите по питанию конденсаторы 100 мкФ и 0,1 мкФ керамику, так же 0,1 мкФ припояйте прямо к пинам VCC и GND DS3231.
В своих часах я использую напряжение 9 В, которое стабилизировано до 5 В при помощи стабилизатора 7805

152

Re: Ретро часы на ИВ-6

спасибо попробую.

153

Re: Ретро часы на ИВ-6

Добрый день хочу собрать на шести ив11может кто подскажет схему с прошивкой буду благодарен.

154

Re: Ретро часы на ИВ-6

за конденсаторы спасибо пошли.

155

Re: Ретро часы на ИВ-6

Добрый день хочу собрать на шести ив11может кто подскажет схему с прошивкой буду благодарен.

http://forum.rcl-radio.ru/viewtopic.php?pid=957#p957

156

Re: Ретро часы на ИВ-6

добрый день подскажите собрал часы на ив 3 но почемуто на последнем индикаторе засвечиваются лишние сигменты.

157

Re: Ретро часы на ИВ-6

Опубликуйте Ваш скетч и фото засветки

158

Re: Ретро часы на ИВ-6

http://forum.rcl-radio.ru/uploads/images/2022/01/6030ae4683f34e3716c03eefd1357285.jpg

159

Re: Ретро часы на ИВ-6

последняя это четверка.

160

Re: Ретро часы на ИВ-6

#include <MsTimer2.h>
#include <Wire.h>
#include <DS3231.h>
  DS3231 clock;RTCDateTime DateTime;
  int an, segm,times,i;
  byte a[4];
  int menu,year,month,day,hour,minute,sec,w,w2;

void setup(){  Wire.begin();clock.begin();MsTimer2::set(2, to_Timer);MsTimer2::start();Serial.begin(9600);
  // clock.setDateTime(__DATE__, __TIME__); // Устанавливаем время на часах, основываясь на времени компиляции скетча
pinMode(9,OUTPUT);  // D9  === A0
pinMode(10,OUTPUT); // D10 === A1
pinMode(11,OUTPUT); // D11 === A2
pinMode(12,OUTPUT); // D12 === A3
pinMode(2,OUTPUT);  // D2  === a
pinMode(3,OUTPUT);  // D3  === b
pinMode(4,OUTPUT);  // D4  === c
pinMode(5,OUTPUT);  // D5  === d
pinMode(6,OUTPUT);  // D6  === e
pinMode(7,OUTPUT);  // D7  === f
pinMode(8,OUTPUT);  // D8  === g
pinMode(13,OUTPUT);// D13  === dp
pinMode(A0,INPUT); // SQW
///// BUTTON //////
pinMode(A1,INPUT); // SET
pinMode(A2,INPUT); // +/sec
pinMode(A3,INPUT); // -/temp
////  текущее время перенос в переменные коррекции времени
DateTime=clock.getDateTime();// опрос времени
readTime();
}

void loop(){ DateTime=clock.getDateTime();// опрос времени
  readTime();
  if(analogRead(A1)>900){menu++;delay(200);if(menu>4){menu=0;}}

  if(menu==0){
  if(sec>=20 && sec<=25){times = DateTime.day*100+DateTime.month;
  a[0]=times/1000;
  a[1]=times/100%10;
  a[2]=times/10%10;
  a[3]=times%10%10;
  digitalWrite(13,LOW);
  }
  else if(sec>=35 && sec<=40){times = int(clock.readTemperature());
  a[0]=12;
  a[1]=10;
  a[2]=times/10;
  a[3]=times%10;
  digitalWrite(13,HIGH);
  } 
  else if(sec>=55 && sec<=59){times = DateTime.second;digitalWrite(13,HIGH);
  a[0]=11;
  a[1]=10;
  a[2]=times/10;
  a[3]=times%10;}

  else{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;
   if(analogRead(A0)>900){digitalWrite(13,HIGH);}else{digitalWrite(13,LOW);}// dp
  }
  }


///////// коррекция минут /////////////////
  if(menu==1){
    if(analogRead(A2)>900){minute++;delay(300);if(minute>59){minute=0;}korr_time();}
    if(analogRead(A3)>900){minute--;delay(300);if(minute<0){minute=0;}korr_time();}
    times=minute;
  a[0]=1;
  a[1]=10;
  a[2]=times/10;
  a[3]=times%10;}

///////// коррекция часов /////////////////
  if(menu==2){
    if(analogRead(A2)>900){hour++;delay(300);if(hour>23){hour=0;}korr_time();}
    if(analogRead(A3)>900){hour--;delay(300);if(hour<0){hour=0;}korr_time();}
    times=hour;
  a[0]=2;
  a[1]=10;
  a[2]=times/10;
  a[3]=times%10;}

///////// коррекция дата /////////////////
  if(menu==3){
    if(analogRead(A2)>900){day++;delay(300);if(day>31){day=0;}korr_time();}
    if(analogRead(A3)>900){day--;delay(300);if(day<0){day=0;}korr_time();}
    times=day;
  a[0]=3;
  a[1]=10;
  a[2]=times/10;
  a[3]=times%10;}

///////// коррекция месяц /////////////////
  if(menu==4){
    if(analogRead(A2)>900){month++;delay(300);if(month>12){month=0;}korr_time();}
    if(analogRead(A3)>900){month--;delay(300);if(month<0){month=0;}korr_time();}
    times=month;
  a[0]=4;
  a[1]=10;
  a[2]=times/10;
  a[3]=times%10;}


  } // loop

void to_Timer(){
  switch(i){
    case 0: cl();segm=a[0]; an=0; anod(); segment();break;
    case 1: cl();segm=a[1]; an=1; anod(); segment();break;
    case 2: cl();segm=a[2]; an=2; anod(); segment();break;
    case 3: cl();segm=a[3]; an=3; anod(); segment();break;
    }i++;if(i>3){i=0;}}


void segment(){
  switch(segm){                                                                 
             //  A       B       C       D       E       F       G 
    case 0: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,1);break;// 0
    case 1: ch(2,1);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,1);ch(8,1);break;// 1
    case 2: ch(2,0);ch(3,0);ch(4,1);ch(5,0);ch(6,0);ch(7,1);ch(8,0);break;// 2
    case 3: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,1);ch(7,1);ch(8,0);break;// 3   
    case 4: ch(2,1);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,0);ch(8,0);break;// 4
    case 5: ch(2,0);ch(3,1);ch(4,0);ch(5,0);ch(6,1);ch(7,0);ch(8,0);break;// 5
    case 6: ch(2,0);ch(3,1);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,0);break;// 6
    case 7: ch(2,0);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,1);ch(8,1);break;// 7
    case 8: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,0);break;// 8
    case 9: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,1);ch(7,0);ch(8,0);break;// 9 
    case 10:ch(2,1);ch(3,1);ch(4,1);ch(5,1);ch(6,1);ch(7,1);ch(8,1);break;// ПУСТО 
    case 11:ch(2,0);ch(3,1);ch(4,0);ch(5,0);ch(6,1);ch(7,0);ch(8,0);break;// S
    case 12:ch(2,1);ch(3,1);ch(4,1);ch(5,0);ch(6,0);ch(7,0);ch(8,0);break;// t 
  }}
void anod(){
  switch(an){                                                             
    case 0:ch(9,0);ch(10,1);ch(11,1);ch(12,1);break; 
    case 1:ch(9,1);ch(10,0);ch(11,1);ch(12,1);break;
    case 2:ch(9,1);ch(10,1);ch(11,0);ch(12,1);break;
    case 3:ch(9,1);ch(10,1);ch(11,1);ch(12,0);break;
  }}

void cl(){
     segm=10; an=0; segment(); anod(); an=1; segment(); anod();  an=2; segment(); anod();  an=3; segment();anod();
  }

  void ch(int pin, int logic){digitalWrite(pin,logic);}

  void readTime(){
   year = DateTime.year;
   month = DateTime.month;
   day = DateTime.day;
   hour = DateTime.hour;
   minute = DateTime.minute;
   sec=DateTime.second;
    }
   void korr_time(){clock.setDateTime(year+2000, month, day, hour, minute, 59 );}

161

Re: Ретро часы на ИВ-6

Попробуйте это скетч:

#include <MsTimer2.h>
#include <Wire.h>
#include <DS3231.h>
  DS3231 clock;RTCDateTime DateTime;
  int an, segm,times,i;
  byte a[4];
  int menu,year,month,day,hour,minute,sec,w,w2;

void setup(){  Wire.begin();clock.begin();MsTimer2::set(2, to_Timer);MsTimer2::start();Serial.begin(9600);
  // clock.setDateTime(__DATE__, __TIME__); // Устанавливаем время на часах, основываясь на времени компиляции скетча
pinMode(9,OUTPUT);  // D9  === A0
pinMode(10,OUTPUT); // D10 === A1
pinMode(11,OUTPUT); // D11 === A2
pinMode(12,OUTPUT); // D12 === A3
pinMode(2,OUTPUT);  // D2  === a
pinMode(3,OUTPUT);  // D3  === b
pinMode(4,OUTPUT);  // D4  === c
pinMode(5,OUTPUT);  // D5  === d
pinMode(6,OUTPUT);  // D6  === e
pinMode(7,OUTPUT);  // D7  === f
pinMode(8,OUTPUT);  // D8  === g
pinMode(13,OUTPUT);// D13  === dp
pinMode(A0,INPUT); // SQW
///// BUTTON //////
pinMode(A1,INPUT); // SET
pinMode(A2,INPUT); // +/sec
pinMode(A3,INPUT); // -/temp
////  текущее время перенос в переменные коррекции времени
DateTime=clock.getDateTime();// опрос времени
readTime();
}

void loop(){ DateTime=clock.getDateTime();// опрос времени
  readTime();
  if(analogRead(A1)>900){menu++;delay(200);if(menu>4){menu=0;}}

  if(menu==0){
  if(sec>=20 && sec<=25){times = DateTime.day*100+DateTime.month;
  a[0]=times/1000;
  a[1]=times/100%10;
  a[2]=times/10%10;
  a[3]=times%10%10;
  digitalWrite(13,LOW);
  }
  else if(sec>=35 && sec<=40){times = int(clock.readTemperature());
  a[0]=12;
  a[1]=10;
  a[2]=times/10;
  a[3]=times%10;
  digitalWrite(13,HIGH);
  } 
  else if(sec>=55 && sec<=59){times = DateTime.second;digitalWrite(13,HIGH);
  a[0]=11;
  a[1]=10;
  a[2]=times/10;
  a[3]=times%10;}

  else{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;
   if(analogRead(A0)>900){digitalWrite(13,HIGH);}else{digitalWrite(13,LOW);}// dp
  }
  }


///////// коррекция минут /////////////////
  if(menu==1){
    if(analogRead(A2)>900){minute++;delay(300);if(minute>59){minute=0;}korr_time();}
    if(analogRead(A3)>900){minute--;delay(300);if(minute<0){minute=0;}korr_time();}
    times=minute;
  a[0]=1;
  a[1]=10;
  a[2]=times/10;
  a[3]=times%10;}

///////// коррекция часов /////////////////
  if(menu==2){
    if(analogRead(A2)>900){hour++;delay(300);if(hour>23){hour=0;}korr_time();}
    if(analogRead(A3)>900){hour--;delay(300);if(hour<0){hour=0;}korr_time();}
    times=hour;
  a[0]=2;
  a[1]=10;
  a[2]=times/10;
  a[3]=times%10;}

///////// коррекция дата /////////////////
  if(menu==3){
    if(analogRead(A2)>900){day++;delay(300);if(day>31){day=0;}korr_time();}
    if(analogRead(A3)>900){day--;delay(300);if(day<0){day=0;}korr_time();}
    times=day;
  a[0]=3;
  a[1]=10;
  a[2]=times/10;
  a[3]=times%10;}

///////// коррекция месяц /////////////////
  if(menu==4){
    if(analogRead(A2)>900){month++;delay(300);if(month>12){month=0;}korr_time();}
    if(analogRead(A3)>900){month--;delay(300);if(month<0){month=0;}korr_time();}
    times=month;
  a[0]=4;
  a[1]=10;
  a[2]=times/10;
  a[3]=times%10;}


  } // loop

void to_Timer(){
  switch(i){
    case 0: segm=10; an=0; segment(); anod(); delayMicroseconds(1000);segm=a[0]; an=0; anod(); segment();break;
    case 1: segm=10; an=1; segment(); anod(); delayMicroseconds(1000);segm=a[1]; an=1; anod(); segment();break;
    case 2: segm=10; an=2; segment(); anod(); delayMicroseconds(1000);segm=a[2]; an=2; anod(); segment();break;
    case 3: segm=10; an=3; segment(); anod(); delayMicroseconds(1000);segm=a[3]; an=3; anod(); segment();break;
    }i++;if(i>3){i=0;}}


void segment(){
  switch(segm){                                                                 
             //  A       B       C       D       E       F       G 
    case 0: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,1);break;// 0
    case 1: ch(2,1);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,1);ch(8,1);break;// 1
    case 2: ch(2,0);ch(3,0);ch(4,1);ch(5,0);ch(6,0);ch(7,1);ch(8,0);break;// 2
    case 3: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,1);ch(7,1);ch(8,0);break;// 3   
    case 4: ch(2,1);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,0);ch(8,0);break;// 4
    case 5: ch(2,0);ch(3,1);ch(4,0);ch(5,0);ch(6,1);ch(7,0);ch(8,0);break;// 5
    case 6: ch(2,0);ch(3,1);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,0);break;// 6
    case 7: ch(2,0);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,1);ch(8,1);break;// 7
    case 8: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,0);break;// 8
    case 9: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,1);ch(7,0);ch(8,0);break;// 9 
    case 10:ch(2,1);ch(3,1);ch(4,1);ch(5,1);ch(6,1);ch(7,1);ch(8,1);break;// ПУСТО 
    case 11:ch(2,0);ch(3,1);ch(4,0);ch(5,0);ch(6,1);ch(7,0);ch(8,0);break;// S
    case 12:ch(2,1);ch(3,1);ch(4,1);ch(5,0);ch(6,0);ch(7,0);ch(8,0);break;// t 
  }}
void anod(){
  switch(an){                                                             
    case 0:ch(9,0);ch(10,1);ch(11,1);ch(12,1);break; 
    case 1:ch(9,1);ch(10,0);ch(11,1);ch(12,1);break;
    case 2:ch(9,1);ch(10,1);ch(11,0);ch(12,1);break;
    case 3:ch(9,1);ch(10,1);ch(11,1);ch(12,0);break;
  }}

  void ch(int pin, int logic){digitalWrite(pin,logic);}

  void readTime(){
   year = DateTime.year;
   month = DateTime.month;
   day = DateTime.day;
   hour = DateTime.hour;
   minute = DateTime.minute;
   sec=DateTime.second;
    }
   void korr_time(){clock.setDateTime(year+2000, month, day, hour, minute, 59 );}

162

Re: Ретро часы на ИВ-6

спасибо попробую.

163

Re: Ретро часы на ИВ-6

liman324 пишет:

Уменьшите сопротивление резистора R28 270...150 Ом
Возможно  понадобится перемотать дроссель более толстым проводом.

Всем привет, с Новым Годом!

Поменял дроссель, вместо гантельки поставил на кольце, намотан проводом 0,6мм, резистор уменьшил до 160 ом, не помогло. Напряжение на холостом ходу почти 40 вольт, при подключении индикаторов или ардуины падает до 7,5 вольт. Соответственно, индикаторы еле-еле светят...
Куда еще можно копать?

164

Re: Ретро часы на ИВ-6

Вам нужно увеличить индуктивность дросселя

Вот фото моего дросселя

http://forum.rcl-radio.ru/uploads/images/2021/03/5fc04ce4fc443b3856a51ac01b1bb21f.png

165

Re: Ретро часы на ИВ-6

IRF740 сильно греется?

166

Re: Ретро часы на ИВ-6

liman324 пишет:

IRF740 сильно греется?

Не греется, еле-еле теплый. А какая индуктивность у вашего дросселя?

167

Re: Ретро часы на ИВ-6

Точно сейчас не могу сказать, где то 100-150 мкГн

168

Re: Ретро часы на ИВ-6

Перемотал дроссель 0,5мм проводом на гантельке 12мм. Индуктивность 190 мкГн получилась. Подпаял в схему - все равно под нагрузкой 7,11 вольт, лампы еле светят...
http://forum.rcl-radio.ru/uploads/images/2022/01/25631fb071ab06fa6f8d5fc1ef2524d3.jpg

Ничего не понимаю... sad

169

Re: Ретро часы на ИВ-6

Резисторы на коллекторах транзисторов 68К и 47К?

Если есть схема по которой Вы собирали часы, то опубликуйте ее.

170 (2022-01-04 21:17:03 отредактировано glasscat)

Re: Ретро часы на ИВ-6

Собирал по этой вот схеме:

http://forum.rcl-radio.ru/uploads/images/2022/01/e678bbfa3a67e73dbddfdb2e81d8463b.jpg

ссылка на источник: https://telegra.ph/IV-6-clock-06-10

только ставил ИВ-11 и выставлял напряжение накала 1,5 вольта

171

Re: Ретро часы на ИВ-6

Резисторы на коллекторах ключей имеют низкое сопротивление, я использовал 68К и 47К. Так же проверьте напряжение накала, для ИВ-3 оно 0,85 В

172

Re: Ретро часы на ИВ-6

напряжение накала выставил 1,5 вольта (у меня индикаторы ИВ-11), фото платы выкладывал на предыдущей странице. Попробую поменять резисторы с 22к на 47к. Спасибо.

173

Re: Ретро часы на ИВ-6

Напряжение 5 В не просело?

174

Re: Ретро часы на ИВ-6

5 В чётко есть, и под нагрузкой, и в холостом ходу. Заменил все резисторы в коллекторах с 10к на 47к, с 22к на 68к. Напряжение под нагрузкой поднялось до 9,5 В, но это все равно мало, индикаторы еле светят как и прежде...

175

Re: Ретро часы на ИВ-6

Замкните пинцетом накоротко R28, посмотрите максимум что выдает преобразователь (под нагрузкой)