Например TDA7294

Форум РадиоКот • Просмотр темы - Ds1307 и ATmega8
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 24, 2024 01:08:32

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 21 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Ds1307 и ATmega8
СообщениеДобавлено: Сб апр 22, 2017 19:55:44 
Вымогатель припоя

Карма: 8
Рейтинг сообщений: -1
Зарегистрирован: Пт ноя 08, 2013 01:01:18
Сообщений: 556
Рейтинг сообщения: 0
Доброй ночи, уважаемые коты! Делаю устройство на ATmega8, подключил DS1307. Устанавливаю время, оно записывается в микросхему часов, но не изменяется. снимаю питание., батарейка есть. Сохраняется время то что я ввел.Кварц менял. Плата разведена как в даташите. Ниже прикладываю фрагмент схемы и фрагмент платы. Может кто подскажет,в чем может быть трабла. Понимаю, что проблема в том что нет импульсов с кварца. Но кварц новый. уже пробовал корпус кварца на земля подключать. не помогает. Куда копать?
Изображение
Изображение
Использовал для проверки и свой код в AVRStudio и подключал Ардуино Мега и заливал готовый скетч. Все повторяется время устанавливает, но не меняется. До этого код из AVRStudio работал на другом устройстве. DS1307 китайская брал 10 на ebay. Микросхемы разные подкидывал, все одинаково.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ds1307 и ATmega8
СообщениеДобавлено: Сб апр 22, 2017 20:13:03 
Грызет канифоль

Карма: 9
Рейтинг сообщений: 80
Зарегистрирован: Чт ноя 06, 2014 13:09:06
Сообщений: 251
Рейтинг сообщения: 0
melandr писал(а):
Понимаю, что проблема в том что нет импульсов с кварца.


Так есть генерация или нет? Если нет генерации, софт можно бесконечно переписывать и проверять.
Как вариант, подать 32КHz с внешнего генератора.

Битик CH регистре #0 не в "1"-ке стоит?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ds1307 и ATmega8
СообщениеДобавлено: Сб апр 22, 2017 20:29:00 
Вымогатель припоя

Карма: 8
Рейтинг сообщений: -1
Зарегистрирован: Пт ноя 08, 2013 01:01:18
Сообщений: 556
Рейтинг сообщения: 0
А как генерацию проверить? Осциллограф есть. А по поводу битика СН. Я так понимаю в ардуиновском коде он должен быть установлен. А в моем вот так сделано
Спойлер
Код:
  // Запускаем ход часов
  uint8_t temp;
  DS1307Read(0x00, &temp);
  temp &= ~(1 << 7); // обнуляем 7 бит
  DS1307Write(0x00, temp);

  sei();


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Ds1307 и ATmega8
СообщениеДобавлено: Сб апр 22, 2017 20:32:06 
Это не хвост, это антенна
Аватар пользователя

Карма: 20
Рейтинг сообщений: 188
Зарегистрирован: Вс мар 28, 2010 12:52:22
Сообщений: 1368
Откуда: Беларусь
Рейтинг сообщения: 0
/*Бит 7 регистра 0 – это бит останова часов (clock halt - CH). Когда этот бит
установлен в 1, тактовый генератор выключен. Когда сброшен в 0, - тактовый генератор включен.
Имейте в виду, что при включении питания начальное состояние всех регистров не
определено. Поэтому необходимо принудительно включать тактовый генератор (бит CH = 0) во
время начальной инициализации.*/
У меня так работало.

_________________
«Еще я хотел бы, чтобы наши ученые изобрели какой-то новый источник энергии, чтобы мы на коленях не ползали даже перед нашими братьями, умоляя их и выпрашивая тонну нефти или кубометр газа», — рассказал белорусский президент.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Ds1307 и ATmega8
СообщениеДобавлено: Сб апр 22, 2017 21:54:45 
Грызет канифоль

Карма: 9
Рейтинг сообщений: 80
Зарегистрирован: Чт ноя 06, 2014 13:09:06
Сообщений: 251
Рейтинг сообщения: 0
melandr писал(а):
А по поводу битика СН. Я так понимаю в ардуиновском коде он должен быть установлен. А в моем вот так сделано

melandr, а если бит стоит в "1"? Он так и останется в "1", т.е.осциллятор как был выключен, так остался.

А что там делается в ардуино, мне смотреть лень :) А есть ли причины в своем коде не сбрасывать этот бит?


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Ds1307 и ATmega8
СообщениеДобавлено: Сб апр 22, 2017 22:40:09 
Вымогатель припоя

Карма: 8
Рейтинг сообщений: -1
Зарегистрирован: Пт ноя 08, 2013 01:01:18
Сообщений: 556
Рейтинг сообщения: 0
Так в моем коде он сбрасывается при запуске


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ds1307 и ATmega8
СообщениеДобавлено: Сб апр 22, 2017 23:32:59 
Первый раз сказал Мяу!

Зарегистрирован: Пн июн 18, 2012 09:21:00
Сообщений: 29
Рейтинг сообщения: 0
Может конденсаторы нужно поставить на кварц? 12,5p?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ds1307 и ATmega8
СообщениеДобавлено: Вс апр 23, 2017 00:04:20 
Грызет канифоль

Карма: 9
Рейтинг сообщений: 80
Зарегистрирован: Чт ноя 06, 2014 13:09:06
Сообщений: 251
Рейтинг сообщения: 0
melandr писал(а):
Так в моем коде он сбрасывается при запуске

Туплю :oops:

желательно бы DS1307 поменять на зведомо рабочую, а не из той же партии (китайцы - они такие, могут и фигню всякую продать)

убедиться что есть генерация (осциллографом на ножке X2 (выход осциллятора)). Может быть срыв генерации (у осциллографа входная емкость, сопротивление). Но если ты видишь осциллографом 32.768KHz, то скорей всего осциллятор работает.
Можно временно (для проверки) отцепить кварц и на ножку X1 подать частоту, например с выхода таймера, ... (т.е. не использовать кварц и осцилятор DS1307)
Еще можно вывести частоту на 7-ю ножку (см. datasheet) и там посмотреть осциллографом.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ds1307 и ATmega8
СообщениеДобавлено: Вс апр 23, 2017 10:21:57 
Мучитель микросхем

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Вт фев 09, 2010 17:52:26
Сообщений: 417
Рейтинг сообщения: 0
Кусок из рабочего проекта, обратите внимание на rtc_init

Код:
// работа с часами DS1307 (i2c)
#include "twi.h"
#include "ds1307.h"

unsigned char hour;
unsigned char min;
unsigned char sec;
unsigned char date;
unsigned char month;
unsigned char year;

unsigned char bcd2bin(unsigned char x)
{
    return (((x & 0xF0)>>4)*10 + (x & 0x0F));
}

unsigned char bin2bcd(unsigned char x)
{
    return ((x%10) | ((x/10)<<4));
}

void rtc_init(unsigned char PeriodSelect,   // выбор периода на выходе OUT
              // 0 - 1 гц
              // 1 - 4096 гц
              // 2 - 8192 гц
              // 3 - 32768 гц
              unsigned char SQWe,           // включение сигнала на выходе OUT
              unsigned char OUTlevel        // уровень на OUT, если SQWe==0
             )
{
    PeriodSelect &= 3;
    // устанавливаем флаги для записи в регистр
    if (SQWe) PeriodSelect |= 0x10;
    if (OUTlevel) PeriodSelect |= 0x80;
    // выводим в шину
    i2c_start(0xd0);
    i2c_write(7);
    i2c_write(PeriodSelect);
    i2c_stop();
}

void rtc_get_time(unsigned char *hour,unsigned char *min,unsigned char *sec)
{
    i2c_start(0xd0);
    i2c_write(0);
    i2c_start(0xd1);
    *sec = bcd2bin(i2c_read(1));
    *min = bcd2bin(i2c_read(1));
    *hour = bcd2bin(i2c_read(0));
    i2c_stop();
}

void rtc_set_time(unsigned char hour,unsigned char min,unsigned char sec)
{
    i2c_start(0xd0);
    i2c_write(0);
    i2c_write(bin2bcd(sec));
    i2c_write(bin2bcd(min));
    i2c_write(bin2bcd(hour));
    i2c_stop();
}

void rtc_get_date(unsigned char *date,unsigned char *month,unsigned char *year)
{
    i2c_start(0xd0);
    i2c_write(4);
    i2c_start(0xd1);
    *date=bcd2bin(i2c_read(1));
    *month=bcd2bin(i2c_read(1));
    *year=bcd2bin(i2c_read(0));
    i2c_stop();
}

void rtc_set_date(unsigned char date,unsigned char month,unsigned char year)
{
    i2c_start(0xd0);
    i2c_write(4);
    i2c_write(bin2bcd(date));
    i2c_write(bin2bcd(month));
    i2c_write(bin2bcd(year));
    i2c_stop();
}

// Zapisuje bait pod adres
void rtc_write_bait(unsigned char adres,unsigned char danne)
{
    if ((adres>7)&&(adres<=63)) //Sprawdza granicy adresu
    {
        i2c_start(0xd0);
        i2c_write(adres);
        i2c_write(danne);
        i2c_stop();
    }
}

// Czyta bait spod adresu
void rtc_read_bait(unsigned char adres,unsigned char *danne)
{
    if ((adres>7)&&(adres<=63)) //Sprawdza granicy adresu
    {
        i2c_start(0xd0);
        i2c_write(adres);
        i2c_start(0xd1);
        *danne = i2c_read(0);
        i2c_stop();
    }
}



Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ds1307 и ATmega8
СообщениеДобавлено: Вс апр 23, 2017 14:25:25 
Вымогатель припоя

Карма: 8
Рейтинг сообщений: -1
Зарегистрирован: Пт ноя 08, 2013 01:01:18
Сообщений: 556
Рейтинг сообщения: 0
Вытащил осциллограф , сейчас буду проверять. Микросхемы все из одной партии. Ведут себя одинаково. Но пару раз генерация начиналась, когда я плату дергал пока подключал, но потом пропадал


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ds1307 и ATmega8
СообщениеДобавлено: Вт апр 25, 2017 08:00:44 
Вымогатель припоя

Карма: 8
Рейтинг сообщений: -1
Зарегистрирован: Пт ноя 08, 2013 01:01:18
Сообщений: 556
Рейтинг сообщения: 0
Подключил осциллограф к пину Х2 микросхемы часов. не видно никакой генерация, видно постоянное напряжение 400 мВ. Вопрос в том, что осциллограф может сам вносить искажения. При подключении осциллографа к линии данных и линии SCK видно обмен по шине. Сегодня попробую впаять третий кварц, может с ним проблема. еще как вариант думаю подать тактовый сигнал с микроконтроллера. Правда нужно прикинуть как сделать частоту 32768 Гц. Как все таки можно проверить генерацию кварца?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ds1307 и ATmega8
СообщениеДобавлено: Вт апр 25, 2017 08:49:29 
Опытный кот
Аватар пользователя

Карма: 10
Рейтинг сообщений: 83
Зарегистрирован: Ср апр 16, 2008 13:22:54
Сообщений: 899
Откуда: Приднестровье, Тирасполь
Рейтинг сообщения: 0
Если кварц с материнки, то могут быть проблемы. Во всяком случае, у меня они с часами не работали, пробовал несколько штук

_________________
Любой, заслуживающий внимания, опыт приобретается себе в убыток...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ds1307 и ATmega8
СообщениеДобавлено: Вт апр 25, 2017 09:09:56 
Вымогатель припоя

Карма: 8
Рейтинг сообщений: -1
Зарегистрирован: Пт ноя 08, 2013 01:01:18
Сообщений: 556
Рейтинг сообщения: 0
да нет кварц покупал вот такой
http://www.kosmodrom.com.ua/prodlist.ph ... B%E0%E4%F3
не знаю, просто куда уже копать. микросхема вроде отвечает, и записывает время при установке. но не тикает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ds1307 и ATmega8
СообщениеДобавлено: Вт апр 25, 2017 09:34:04 
Опытный кот
Аватар пользователя

Карма: 10
Рейтинг сообщений: 83
Зарегистрирован: Ср апр 16, 2008 13:22:54
Сообщений: 899
Откуда: Приднестровье, Тирасполь
Рейтинг сообщения: 0
Я бы попробовал несколько разных кварцов

_________________
Любой, заслуживающий внимания, опыт приобретается себе в убыток...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ds1307 и ATmega8
СообщениеДобавлено: Вт апр 25, 2017 15:41:00 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 840
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 5598
Откуда: Minsk
Рейтинг сообщения: 0
melandr писал(а):
Как все таки можно проверить генерацию кварца?

Если мерить через выносной делитель (пробник) 1:10, то вносимая емкость небольшая и не должна срывать генерацию (если она была).

_________________
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ds1307 и ATmega8
СообщениеДобавлено: Ср апр 26, 2017 15:48:12 
Вымогатель припоя

Карма: 8
Рейтинг сообщений: -1
Зарегистрирован: Пт ноя 08, 2013 01:01:18
Сообщений: 556
Рейтинг сообщения: 0
В этом источнике http://www.getchip.net/posts/052-kak-za ... c/прочитал , что может влиять флюс,который остался на плате. Посмотрел, что у меня после перепайки старого кварца остался флюс. Почистил и часы завелись. Хотя после первого кварца плату помыл хорошо, а после перепайки не заметил.
ЗЫ: опять какой-то глюк, прихожу домой, а часы опять время стоит.Буду пробовать кварц менять, может поможет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ds1307 и ATmega8
СообщениеДобавлено: Чт апр 27, 2017 19:59:29 
Вымогатель припоя

Карма: 8
Рейтинг сообщений: -1
Зарегистрирован: Пт ноя 08, 2013 01:01:18
Сообщений: 556
Рейтинг сообщения: 0
Может неправильно сделана разводка платы возле DS1307? А то не знаю куда копать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ds1307 и ATmega8
СообщениеДобавлено: Сб апр 29, 2017 08:39:39 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 5
Рейтинг сообщений: 21
Зарегистрирован: Пн июл 04, 2016 16:51:22
Сообщений: 196
Откуда: Россия, Омск
Рейтинг сообщения: 0
Несколько раз собирал часы на данной микросхеме. Кварцы использовал какие попало - всё запускается. Единственные проблемы с ней - это резервная батарея, которая должна иметь напряжение около 3V.
Линии данных подтягиваю к питанию резисторами на 4.7кОм, трассы к кварцу - короткие, с максимально возможным расстоянием между проводниками и максимально далеко от других линий (лучше всего ставить кварц прямо у микросхемы).
После подачи питания - через 10-20мс читаю и записываю 0-й регистр (секунды и отключение кварца), сбрасывая верхний бит.
После этого всё работает.
Чтобы проверить, тикает ли микросхема - можете вывод 7 (SQW/OUT) подтянуть к питанию и записать в регистр 7 число 0x13. На выходе должны быть импульсы с частотой кварца.
0x12 - 8KHz
0x11 - 4KHz
0x10 - 1Hz.
0x0X - отключает пин и переводит его в 0
0x8X - отключает и переводит в 1 (Z состояние).

Если нет генерации - проверяйте остатки флюсов, замыкания и утечку у кварца.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ds1307 и ATmega8
СообщениеДобавлено: Сб апр 29, 2017 19:46:16 
Вымогатель припоя

Карма: 8
Рейтинг сообщений: -1
Зарегистрирован: Пт ноя 08, 2013 01:01:18
Сообщений: 556
Рейтинг сообщения: 0
Ну у меня в начале темы сделан скрин как сделана разводка возле часов. По поводу батареи, некоторые пишут, что можно без батареи. Может полигон земли нужен меньше возле кварца?
ЗЫ:Короче победил я эти часики. Рассказываю в чем была проблема. На печатной плате, которую заказывал, были невидимые глазу непротравы. Которые создавали сопротивление до 10МОм между выводами кварца и на землю. За счет этих непротравов и часики не работали. когда панельку микросхемы выпаял и начал замерять сопротивление. То на двух дорожках на кварц сопротивление мерял было и 2 МОм. Начал пропилы делать между дорожками. Визуально вроде все пропилил, а сопротивление не менялось. Но когда пропилил, что сопротивление показывало бесконечность, тогда и заработали часики.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ds1307 и ATmega8
СообщениеДобавлено: Вс апр 30, 2017 10:41:42 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 840
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 5598
Откуда: Minsk
Рейтинг сообщения: 1
melandr писал(а):
невидимые глазу непротравы. Которые создавали сопротивление до 10МОм

Чудеса... это какой же толщины должен быть непротравленный участок меди ? В один молекулярный слой ? Наверно, все-таки это были плохо очищенные остатки флюса или травильного раствора.

_________________
Изображение


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 21 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 67


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y