Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



I2C CLOCK+ALARM

Сообщений 241 страница 270 из 300

241

Andrusha
да, вызов термометра нашел уже. не ожидал его там найти :)

0

242

Это то, как я Вам советовал изначально.

0

243

IDok написал(а):

прошивке есть дело, откуда запитан транзистор?

Нет, но судя по работе "железа" именно ему (железу) "дело есть"... ;)
Причина была указана ранее Александром...

0

244

Nord написал(а):

Нет, но судя по работе "железа"

ну я ж уже писал - дело было не в бобине, оба индикатора заработали. просто хочу большому поднять напряжение на аноде до 5В вместо 4.3, которые после транзистора. в динамическом режиме стерпит

0

245

IDok написал(а):

sasha_1973
проверил вашу последнюю программу в железе. ну, мигания действительно нет и яркость получше. но почему-то вместо часов\минут выводятся минуты\секунды. т.е. идет постоянный отсчет секунд. хотя в протеусе все норм


К сожалению, железной версии ds1307 нет в наличии (использую исключительно ds3231sn или ds3231mz), а покупать для попробовать ...

Отредактировано sasha_1973 (2017-10-25 07:02:40)

0

246

sasha_1973
да не заморачивайтесь, все нормально :)

0

247

если ds18b20 вдруг начинает показывать то -00, то правильную температуру, то 85 (с непонятной периодичностью) это что означает? на макетной плате было все нормально вроде, а как в схему впаял - уже глюки...

0

248

IDok написал(а):

если ds18b20 вдруг начинает показывать то -00, то правильную температуру, то 85 (с непонятной периодичностью) это что означает? на макетной плате было все нормально вроде, а как в схему впаял - уже глюки...

Резистор впаять не забыли ?

0

249

на 4.7 кОм, между плюсом и портом. мож я его паяльником попалил?

0

250

1 нога - на землю, вторая - на МК с резистором 4.7 на питание, 3 нога - +5В

0

251

нянька, "утку" уже не надо. подключил на паразитное питание и этому паразиту полегчало

0

252

почему-то не идет время. что кнопками выставлю - то и есть. смена даты\температуры идет исправно, а вот часики не тикают. монтаж проверил, соплей вроде нет. в протеусе все работает как надо, да и на макетке работало. на батарейке напряжение 3.3 (это которая 1307 питает). что смотреть\кто погорел?

код

'I2C KLOCK+ALARM
'P-a-h-a@yandex.ru
$regfile = "m8def.dat"                                      ' говорим компилятору что у нас микропроцессор Atmega 8
$crystal = 8000000                                          ' говорим компилятору что процессор тактируется от генератора с частотой 8, 000 000 мегагерц

$lib "mcsbyte.lbx"                                          ' for smaller code
$lib "ds1307clock.lib"                                      ' modified lib
Config Sda = Portc.4 : Config Scl = Portc.5
Const Ds1307w = &HD0                                        ' Addresses of Ds1307 clock
Const Ds1307r = &HD1
Config Clock = User                                         ' this will dim the bytes automatic
Config Pinb.4 = Input : Portb.4 = 1
Config Pinb.5 = Input : Portb.5 = 1
Config Pinc.6 = Input                                       ': PortC.6 = 1
Config Portb = Output : Config Portd = Output : Config Portc.0 = Output : Config Portc.1 = Output : Config Portc.2 = Output : Config Portc.3 = Output       ' конфигурируем порты на выход к которым подключен семисегментник                                       ' ‘
Config 1wire = Portb.6                                      ' на эту ножку подключим DS18B20 и подтягивающий резистор на 4,7 ком к + питания
Dim W As Byte , Z As Byte , Y As Byte , I As Byte , X As Byte , Chislo(8) As Integer , Chasi As Byte , Minuti As Byte , Secundi As Byte
Dim Weekday As Byte , Clock_flag As Byte , Dp_flag1 As Bit , Dp_flag2 As Bit , Dp_flag3 As Bit , Dp_flag4 As Bit , Dp_flag5 As Bit , Den As Byte , Mesjac As Byte , God As Byte
Dim Mode_flag As Byte , Nosave_time As Byte                 ' задаем переменные
Dim T1 As Integer , T2 As Integer , Byte0 As Byte , Byte1 As Byte , Tmp As Byte

A Alias Portd.5 : B Alias Portd.7 : C Alias Portd.3 : D Alias Portd.1 : E Alias Portd.0 : F Alias Portd.6 : G Alias Portd.4 : Dp Alias Portd.2       'Тут вписываем порты к которым подключены сегменты индикатора
Dig1 Alias Portb.3 : Dig2 Alias Portb.2 : Dig3 Alias Portb.1 : Dig4 Alias Portb.0 : Dig5 Alias Portc.0 : : Dig6 Alias Portc.1 : Dig7 Alias Portc.2 : Dig8 Alias Portc.3 : Dp2 Alias Portb.7       ' тут вписываем порты к которым подключены общие провода каждой цифры

For X = 1 To 8                                              ' присваиваем всем цифрам пустоту, чтоб в момент включения не высвечивались ноли
Chislo(x) = 11
Next
Config Timer0 = Timer , Prescale = 8 : On Timer0 Pulse :    ' конфигурируем таймер 0 и назначаем подпрограмму которая выполняется при переполнении таймера
Config Timer1 = Timer , Prescale = 8 : On Timer1 Bootons :  ' конфигурируем таймер 0 и назначаем подпрограмму которая выполняется при переполнении таймера
Enable Interrupts : Enable Timer0 : Enable Timer1           ' разрешаем прерывания и таймер 0
Tmp = 53
Do                                                          'Основной режим работы. Отображение времени, числа, температуры.
Times:
'*******************************************************************************
' Запрос по i2c времени и даты пересчет его в четырех значное число а также точка-разделитель даты (22.03)
Clock_flag = 1
Stop Timer0
Gosub Getdatetime
If Tmp > 106 Then
Gosub Temper
Tmp = 0
End If
Start Timer0
Waitms 500
Toggle Portb.7
Loop

' Запрос с DS18b20 Температуры, погашение первого числа если температура положительная и зажигания там минуса если отритцательная, либо единици если температура > 99. Зажигание последнего символа в виде буквы С и установка перед ней в верху точки (-22'C)(108'C)(05'C)
Temper:
Clock_flag = 0
1wreset
Stop Timer0                                                 ' : Portd = 255
1wwrite &HCC                                                ' Выдаем команду чтения ПЗУ
1wwrite &H44                                                ' Запуск измерения
Start Timer0
Waitms 750
Toggle Portb.7                                              ' Ждем окончания преобразования
1wreset
Stop Timer0                                                 ': Portd = 255
1wwrite &HCC
1wwrite &HBE                                                ' Команда чтения ОЗУ датчика
Byte0 = 1wread()                                            ' Читаем нулевой байт
Byte1 = 1wread()                                            ' Читаем первый байт
Start Timer0
If Byte1 >= 248 Then                                        ' Проверяем на отрицательную температуру.248 в десятичном - 11111000 в двоичном. Если температура отрицательная - вычитаем из &HFF
Byte0 = &HFF - Byte0
Byte1 = &HFF - Byte1
Chislo(4) = 10
Else
Chislo(4) = 11
End If
T1 = Byte0 / 16                                             ' Сдвигаем нулевой байт вправо на 4 бита (2*2*2*2=16)
T2 = Byte1 * 16                                             ' Сдвигаем первый байт влево на 4 бита (2*2*2*2=16)
T1 = T1 + T2                                                ' Формирмируем результам и выдаем его на индикатор. Команда LCD сама преобразует его в десятичный вид
Chislo(1) = 12
Chislo(2) = T1 Mod 10
Chislo(3) = T1 / 10
If T1 > 99 Then Chislo(4) = 1

Dp_flag1 = 1
Dp_flag2 = 0
Dp_flag3 = 0
Dp_flag4 = 0
Waitms 500
Toggle Portb.7
Waitms 500
Toggle Portb.7
Return
'*******************************************************************************
'работа с  ds1307
Getdatetime:
  I2cstart                                                  ' Generate start code
  I2cwbyte Ds1307w                                          ' send address
  I2cwbyte 0                                                ' start address in 1307

  I2cstart                                                  ' Generate start code
  I2cwbyte Ds1307r                                          ' send address
  I2crbyte _sec , Ack
  I2crbyte _min , Ack                                       ' MINUTES
  I2crbyte _hour , Ack                                      ' Hours
  I2crbyte Weekday , Ack                                    ' Day of Week
  I2crbyte _day , Ack                                       ' Day of Month
  I2crbyte _month , Ack                                     ' Month of Year
  I2crbyte _year , Nack                                     ' Year
  I2cstop
Secundi = Makedec(_sec) : Minuti = Makedec(_min) : Chasi = Makedec(_hour)

   Den = Makedec(_day) : Mesjac = Makedec(_month) : God = Makedec(_year)
Return

Setdate:
  _day = Makebcd(_day) : _month = Makebcd(_month) : _year = Makebcd(_year)
  I2cstart                                                  ' Generate start code
  I2cwbyte Ds1307w                                          ' send address
  I2cwbyte 4                                                ' starting address in 1307
  I2cwbyte _day                                             ' Send Data to SECONDS
  I2cwbyte _month                                           ' MINUTES
  I2cwbyte _year                                            ' Hours
  I2cstop
Return

Settime:
  _sec = Makebcd(_sec) : _min = Makebcd(_min) : _hour = Makebcd(_hour)
  I2cstart                                                  ' Generate start code
  I2cwbyte Ds1307w                                          ' send address
  I2cwbyte 0                                                ' starting address in 1307
  I2cwbyte _sec                                             ' Send Data to SECONDS
  I2cwbyte _min                                             ' MINUTES
  I2cwbyte _hour                                            ' Hours
  I2cstop
Return
'*******************************************************************************

'*************************Вывод на индикатор************************************
Pulse:
Stop Timer0                                                 ' останавливаем таймер 0
If Clock_flag < 2 Then                                      ' цикл в котором разбивается переменная на отдельные числа от 0 до 9
Chislo(8) = Chasi / 10
Chislo(7) = Chasi Mod 10
Chislo(6) = Minuti / 10
Chislo(5) = Minuti Mod 10

If Chasi < 10 Then Chislo(8) = 11

If Clock_flag = 1 Then
Chislo(4) = Den / 10
Chislo(3) = Den Mod 10
Chislo(2) = Mesjac / 10
Chislo(1) = Mesjac Mod 10

Dp_flag1 = 0
Dp_flag2 = 0
Dp_flag3 = 1
Dp_flag4 = 0

If Den < 10 Then Chislo(4) = 11
End If
End If

Reset Dig1 : Reset Dig2 : Reset Dig3 : Reset Dig4 : Reset Dig5 : Reset Dig6 : Reset Dig7 : Reset Dig8
Incr W : If W > 8 Then W = 1                                ' выбираем какую цифру сейчас включать
Y = 0
Gosub Look : A = Z                                          ' переходим к подпрограмме Look, которая определяет нужно ли сейчас загорется сегменту А
Gosub Look : B = Z
Gosub Look : C = Z
Gosub Look : D = Z
Gosub Look : E = Z
Gosub Look : F = Z
Gosub Look : G = Z

Select Case W                                               ' включаем цифру которую выбрали (w). Подаем плюс на общий провод конкретной цифры
Case 1 :
If Dp_flag1 = 1 Then Reset Dp Else Set Dp
Set Dig1
Case 2 :
If Dp_flag2 = 1 Then Reset Dp Else Set Dp
Set Dig2
Case 3 :
If Dp_flag3 = 1 Then Reset Dp Else Set Dp
Set Dig3
Case 4 :
If Dp_flag4 = 1 Then Reset Dp Else Set Dp
Set Dig4
Case 5 :
Set Dig5
Case 6 :
Set Dig6
Case 7 :
Set Dig7
Case 8 :
Set Dig8
End Select

Start Timer0                                                ' запускаем таймер0
Return                                                      ' возвращаемся к выполнению основной программы

Look:                                                       ' подпрограмма которая определяет нужно ли сейчас гореть сегменту, который вызвал эту подпрограмму
Z = Chislo(w) * 7 : Z = Y + Z                               ' определяем порядковый номер числа из таблици DATA. W - это цифра которую будем выводить 0..1..2..3.......9, Y это номер сегмента (A=0 B=1 C=2...G=7)
Z = Lookup(z , Cifri)                                       ' выбираем из таблици включить или выключить нужный сегмент
Incr Y                                                      'Y это номер сегмента (A=0 B=1 C=2...)

Return                                                      'возвращаемся на место откуда сюда прислали

Cifri:
' таблица сегментом для семисегментников с общим плюсом      |Chislo(i)| Символ |
Data 0 , 0 , 0 , 0 , 0 , 0 , 1                              '0
Data 1 , 0 , 0 , 1 , 1 , 1 , 1                              '1
Data 0 , 0 , 1 , 0 , 0 , 1 , 0                              '2
Data 0 , 0 , 0 , 0 , 1 , 1 , 0                              '3
Data 1 , 0 , 0 , 1 , 1 , 0 , 0                              '4
Data 0 , 1 , 0 , 0 , 1 , 0 , 0                              '5
Data 0 , 1 , 0 , 0 , 0 , 0 , 0                              '6
Data 0 , 0 , 0 , 1 , 1 , 1 , 1                              '7
Data 0 , 0 , 0 , 0 , 0 , 0 , 0                              '8
Data 0 , 0 , 0 , 0 , 1 , 0 , 0                              '9
Data 1 , 1 , 1 , 1 , 1 , 1 , 0                              '10           "-"
Data 1 , 1 , 1 , 1 , 1 , 1 , 1                              '11           ""
Data 0 , 1 , 1 , 0 , 0 , 0 , 1                              '12           "C"
Data 0 , 0 , 1 , 1 , 0 , 0 , 0                              '13           "P"
Data 1 , 1 , 1 , 0 , 0 , 0 , 0                              '14           "t"

'*******************************************************************************

'*****************************Работа с кнопками*********************************
Bootons:

Stop Timer1
Incr Tmp
'If Tmp > 106 Then Gosub Temper
If Pinb.5 = 0 Then Gosub Set_booton

Bitwait Pinb.5 , Set                                        'ждем пока не отпустят кнопку
'Bitwait Pinb.4 , Set

Start Timer1
Incr Tmp
Return

'*****************************вывод меню настройки******************************
Set_booton:
Enable Interrupts : Enable Timer0 : Start Timer0 : Stop Timer1

Clock_flag = 2

Bitwait Pinb.5 , Set                                        ' ждем пока не отпустим кнопку настроек
  Do                                                        ' цикл настройки часов
                                         ' включаем первые две цифры на которых показаны текущие часы суток, второй кнопкой их можно прибавлять
    Chislo(5) = 11
    Chislo(6) = 11
    Chislo(7) = Chasi Mod 10
    Chislo(8) = Chasi / 10
    Reset Dp_flag1
    Set Dp_flag2
    Set Dp_flag3
    Reset Dp_flag4
    Waitms 100
    If Pinb.4 = 0 Then : Incr Chasi : Set Nosave_time : End If
    If Chasi >= 24 Then Chasi = 0
  Loop Until Pinb.5 = 0
Bitwait Pinb.5 , Set                                        ' ждем пока не отпустят кнопку настроек

  Do                                                        ' цикл настройки минут
                                         ' включаем вторые две цифры с минутами -||-
    Chislo(5) = Minuti Mod 10
    Chislo(6) = Minuti / 10
    Chislo(7) = 11
    Chislo(8) = 11
    Reset Dp_flag1
    Set Dp_flag2
    Set Dp_flag3
    Reset Dp_flag4
    Waitms 100
    If Pinb.4 = 0 Then : Incr Minuti : _sec = 0 : Set Nosave_time : End If
    If Minuti >= 60 Then Minuti = 0
  Loop Until Pinb.5 = 0
Bitwait Pinb.5 , Set
    Chislo(5) = 11
    Chislo(6) = 11

  If Nosave_time = 1 Then                                   ' смотрим было ли изменение времени, если да то записываем установленное время по i2c
  _hour = Chasi
  _min = Minuti
  Gosub Settime                                             ' устанавливаем по i2c текущее время
  Else
  Reset Nosave_time
  End If

  Do                                                        ' цикл настройки номера месяца
                                          ' включаем первые две цифры с днем месяца -||-
    Chislo(1) = 11
    Chislo(2) = 11
    Chislo(3) = Den Mod 10
    Chislo(4) = Den / 10
    Reset Dp_flag1
    Reset Dp_flag2
    Set Dp_flag3
    Reset Dp_flag4
    Waitms 100
    If Pinb.4 = 0 Then : Incr Den : Set Nosave_time : End If
    If Den >= 32 Then Den = 1
  Loop Until Pinb.5 = 0
Bitwait Pinb.5 , Set

  Do                                                        ' цикл настройки дня месяца  ' включаем вторые две цифры с номером месяца -||-

    Chislo(1) = Mesjac Mod 10
    Chislo(2) = Mesjac / 10
    Chislo(3) = 11
    Chislo(4) = 11
    Reset Dp_flag1
    Reset Dp_flag2
    Set Dp_flag3
    Reset Dp_flag4
    Waitms 100
    If Pinb.4 = 0 Then : Incr Mesjac : Set Nosave_time : End If
    If Mesjac >= 13 Then Mesjac = 1
  Loop Until Pinb.5 = 0
Bitwait Pinb.5 , Set

  Do                                                        ' включаем первые две цифры с номером года 20 и вторые две, которые можно изменять 10. все изменяется от 2010 до 2099

    Chislo(1) = God Mod 10
    Chislo(2) = God / 10
    Chislo(3) = 0
    Chislo(4) = 2
    Reset Dp_flag1
    Reset Dp_flag2
    Reset Dp_flag3
    Reset Dp_flag4
    Waitms 100
    If Pinb.4 = 0 Then : Incr God : Set Nosave_time : End If
    If God >= 100 Then God = 10
  Loop Until Pinb.5 = 0
Bitwait Pinb.5 , Set

If Nosave_time = 1 Then
_day = Den
_month = Mesjac
_year = God
Gosub Setdate                                               ' устанавливаем по i2c текущую дату не зависимо меняли ее или нет
Else
  Reset Nosave_time
End If

Bitwait Pinb.5 , Set
Start Timer1
Clock_flag = 0
'Goto Times:                                                 ' переход к отображению времени

Return

0

253

да емае! ну стоит только тут поплакацца - как оно все само чинится. темные силы электричества, любить их коником...
вощем, это был рабочий код, если вдруг кому нужно. время на больших индикаторах, дата\температура на маленький. общий анод, канифоль, эпоха позднего Путина. фотки если нужны - будут позже, как корпус доделаю.
мммать! еще резюки в сегментах перепаивать. пленка 20% и то не спасает. ярко шо тот пипец

Отредактировано IDok (2017-11-06 18:24:09)

0

254

Появился вопросик. Пример из кода выше:

Код:
Config Pinb.4 = Input : Portb.4 = 1
Config Pinb.5 = Input : Portb.5 = 1
Config Pinc.6 = Input                                       ': PortC.6 = 1
Config Portb = Output : Config Portd = Output : Config Portc.0 = Output : Config Portc.1 = Output : Config Portc.2 = Output

Сначала POTRB.4 , PORTB.5 конфигурируются на вход, а потом весь PORTB на выход. Останутся ли B.4  B.5 входами, или лучше все таки так:

Код:
Config Portb = Output : Config Portd = Output : Config Portc.0 = Output : Config Portc.1 = Output : Config Portc.2 = Output
Config Pinb.4 = Input : Portb.4 = 1
Config Pinb.5 = Input : Portb.5 = 1
Config Pinc.6 = Input                                       ': PortC.6 = 1

IDok, у вас Incr Tmp два раза за одно прерывание таймера.

0

255

Andrusha написал(а):

Останутся ли B.4  B.5 входами

да вродь работает

Andrusha написал(а):

Incr Tmp два раза за одно прерывание таймера

о! сенкс, упустил

0

256

http://dropmefiles.com/XvDrb
джентельмены, кому вдруг не лень - посмотрите плату на косяки. два я нашел (петля по земле и общее аналоговое и цифровое питание), но вдруг еще есть? не могу понять, где здеся аналоговая и цифровая земли. вроде только цифровую вижу. и второй вопрос: Атмега8L, которая на 8МГц, она от внутреннего генератора на 8 МГц нормально работает или это ее предельный и нежелательный режим? а то на макетке все работало, а на плате чудеса чудесит.

0

257

Сначала нужно прошивку до ума довести. Мою пробовали залить? Что конкретно не работает?

0

258

Andrusha написал(а):

Сначала нужно прошивку до ума довести

а что с ней не так? ну кроме Инкр 2 раза

IDok написал(а):

Мою пробовали залить?

пробовал, но давно и результат не помню уже :( вроде работало
оно и это работает. как-то завелось и часа три крутилось, пока не выключил. просто на другой день опять глюки пошли. а в протеусе так вообще все нормально

0

259

Andrusha написал(а):

Что конкретно не работает?

0

260

IDok написал(а):

кому вдруг не лень - посмотрите плату на косяки. два я нашел (петля по земле и общее аналоговое и цифровое питание)

С этим форматом не работаю, но формулировка не понятна...
Чем, собственно, в схеме постоянного тока могут различаться "общий" провод цифры и аналога ?
Если, конечно, не идет речь о СВЧ-устройствах, радиоприемниках и т.п...
И что за "земля" ?  Часы заземлены ?
ИМХО, речь об одном и том же проводнике, которого на плате "мало быть не может"...

IDok написал(а):

Атмега8L, которая на 8МГц, она от внутреннего генератора на 8 МГц нормально работает или это ее предельный и нежелательный режим? а то на макетке все работало, а на плате чудеса чудесит.

Разводка на макетке и на печатке, уверен, различны по прохождению проводников.
К бабке не ходи... ;)
Начинайте "плясать" отсюда.
Где-то силовые линии вносят помеху в сигнальные.
А способ тактирования - внутреннее дело МК и расположение проводников тут мало влияет.

Отредактировано Nord (2017-11-08 20:55:48)

0

261

конкретно.... ну, по пунктам:
- схема включается только при определенном положении вилки блока питания в розетке. перевернешь вилку - не запустится. проверял с разными БП
- иногда схема включается, дата\температура меняются, светодиоды которые точки, мигают, но время не идет
- иногда индикаторы начинают бешено перемигиваться
- иногда кнопки и индикаторы  ведут себя странно, начинают слишком шустро менять показания, как будто частота сильно выросла
- а иногда все сходу включается и работает исправно и долго вплоть до выключения
- глюкал 18b20, но пересадил на паразитное питание и все прошло
питание на МК 5.18В, флюс промыт спиртом, дорожки нигде не коротят, корпус кварца заземлен на минус питания,
на макетке такого не было никогда ни разу, хотя там шина питания вообще единая для коллекторов транзюков и МК с часовой микросхемой. правда, на макетке я питал от 5В а не 12

0

262

Nord написал(а):

Чем, собственно, в схеме постоянного тока могут различаться "общий" провод цифры и аналога ?

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

Nord написал(а):

Где-то силовые линии вносят помеху в сигнальные

ага. два места нашел, но не уверен что это все

Nord написал(а):

Разводка на макетке и на печатке, уверен, различны по прохождению проводников

дык ясен пень! но не могу же я насверлить на текстолите макетку и собирать все проводами :)

0

263

а про 8L я спрашивал в плане что она чуть дешевше обычной 20МГерцовой. а то я эту попалил, неудачно уронив провод на плату...  :rolleyes:

0

264

IDok написал(а):

но не могу же я насверлить на текстолите макетку и собирать все проводами

Религия не позволяет ? ;)
Честно говоря, я последнее время для разовых поделок использую отрезанные от макетки куски и паяюсь на ней, где проводами, где выводами самих р/э (не отрезая).
Для удобства сначала расставляю и развожу в DipTrace.
Пока все живет... ;)

+1

265

IDok написал(а):

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

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

0

266

Nord написал(а):

Религия не позволяет ?

позволяет. а вот тяга к прекрасному - уже нет. да и запутаться легко при отладке.... :(
да и емае - вы видели, сколько эти макетки стоят?! за эти деньги можно квадратные метр текстолита купить (а хлорное железо у меня потыренное)

0

267

Andrusha написал(а):

Уберите самую верхнюю перемычку, и подключите другой блок питания.

убирал, замерял. 5.18В при любом положении электровилки.

Andrusha написал(а):

А то, что в базы транзисторов надо ставить резисторы- там не написано?

если все части схемы питаются одним напряжением - зачем они в ключевом режиме? и на что они повлияют? пара схем с таким включением транзисторов у меня работают уже достаточно долго, в том числе и часы по схеме с первой страницы. нареканий нет

0

268

IDok написал(а):

убирал, замерял. 5.18В при любом положении электровилки.

Я имею ввиду запитать схему от другого блока питания, от которого питалась макетка. Электролиты у вас стоят, а керамику я только одну увидел. Фонить может 12в блок питания. Земля у вас по всей плате разбросана. Плюс диода и правый вывод конденсатора 0,01 мкф соединяются, но только не напрямую, а в обход. Проводники надо стараться делать короче.

Отредактировано Andrusha (2017-11-08 22:17:26)

0

269

Andrusha
пробовал и от старого БП питать. керамика да, только одна. надо на 1307 тоже поставить?

Andrusha написал(а):

Плюс диода и правый вывод конденсатора 0,01 мкф соединяются, но только не напрямую, а в обход

тут не понял. анод диода согласно схеме сидит на земле.

Andrusha написал(а):

Земля у вас по всей плате разбросана

тут тоже не понял

0

270

Я про то, что несколько дорожек можно было выкинуть без ущерба, для дела. Но это не принципиально. Если на плате ошибок нет, должно работать и так. Но керамику прицепите. На +12в, на +5в хуже от этого не будет.

0