Ругается при первом открытии. При последующих уже не ругается и компилируется без ошибок.Seal писал(а):Can't read file : ..\cvavr2\inc\mega8.h.
Attiny2313+DS1307+DS18B20
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Attiny2313+DS1307+DS18B20
Последний раз редактировалось Danko Пт апр 23, 2010 15:08:44, всего редактировалось 1 раз.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
- Реклама
Re: Attiny2313+DS1307+DS18B20
Danko!
Собрал сей девайс, все заработало. За что огромный респект!!! Часы работают прекрасно, термометр тоже пашет ( использую с одним датчиком ds18b20), но на поверку оказалось, что показания завышены примерно на 1,5 градуса. Примерно, потому что ошибка плавающая в пределах 0.5 - 2.0 градуса. Сие картина одинаково наблюдается с разными датчиками температуры ( их у меня 5 штук). Сравнивал с ртутным термометром и двумя термометрами, собранными тоже на ATtiny2313, но другой конструкции и с другим кодом. Кстати показания ртутного и двух электронных совпадают. При проверке для чистоты эксперимента датчики трех указанных электронных термометров скреплены вместе липкой лентой. Вопрос естественно возникает один, в чем может быть причина и с какой стороны копать. Заранее благодарен!
Собрал сей девайс, все заработало. За что огромный респект!!! Часы работают прекрасно, термометр тоже пашет ( использую с одним датчиком ds18b20), но на поверку оказалось, что показания завышены примерно на 1,5 градуса. Примерно, потому что ошибка плавающая в пределах 0.5 - 2.0 градуса. Сие картина одинаково наблюдается с разными датчиками температуры ( их у меня 5 штук). Сравнивал с ртутным термометром и двумя термометрами, собранными тоже на ATtiny2313, но другой конструкции и с другим кодом. Кстати показания ртутного и двух электронных совпадают. При проверке для чистоты эксперимента датчики трех указанных электронных термометров скреплены вместе липкой лентой. Вопрос естественно возникает один, в чем может быть причина и с какой стороны копать. Заранее благодарен!
- pelican
- Открыл глаза
- Сообщения: 42
- Зарегистрирован: Пн апр 26, 2010 11:01:50
- Откуда: АРК Симферополь
Re: Attiny2313+DS1307+DS18B20
кто-нибудь собирал сей девайс? http://radiokot.ru/circuit/digital/home/24/Danko писал(а):...
Уважаемый Господин Кот Danko! К Вам лично обращаюсь:
интересует вот что: возможность вывода инфы на индикатор 16х1 но не с левого края, а по центру (или растянуть на всю ширину пробелами).
где-то тут в какой-то теме читал, что с этим ЖК есть неувязка (вроде бы он думает, что у него не 16х1, а 8х2 - т.е. перевод строки нужен...)
что скажете по этому поводу?
может, что-то можно в прошивке изменить (в статье ссылка есть)...
ПЫС: извините за назойливость (этот вопрос пытался поднять в другой ветке):
http://www.radiokot.ru/forum/viewtopic. ... 37&start=0
ПЫС:ПЫС: я, хоть и программер, но специализация у меня СОВЕРШЕННО другая (базы данных),
в С++, а особенно в ассемблере, можно сказать, я практически = 0, поэтому, в вышеупомянутых исходниках сообража оччччч туго, боюсь протупить...
Мне бы, хоть, пальцем (носом) ткнуть, откуда или где копать (то, что копать до обеда, это понятно
Я не жду готовой переделанной прошивки! Мне просто нужен <F1>!!!
ПЫС:ПЫС:ПЫС:: земляк, просвети, плз!!!
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Attiny2313+DS1307+DS18B20
Вот отсюданачинается вывод информации на "экран". Теоретически если до send_data('T'); на "экран" отправить несколько пробелов send_data(' ');send_data(' ');send_data(' '); (например три) можно сдвинуть "картинку" ближе к центру. На практике нужно смотреть. Это только приблизительный анализ кода.
Код: Выделить всё
SIGNAL(SIG_OVERFLOW1)
{
TCNT1=0xF3CB;
send_command(0x80);
if(precense_ds18b20!=0) //Если датчик откликнулся
{
send_data('T');
...Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
- pelican
- Открыл глаза
- Сообщения: 42
- Зарегистрирован: Пн апр 26, 2010 11:01:50
- Откуда: АРК Симферополь
Re: Attiny2313+DS1307+DS18B20
Спасибо! Буду пробовать.
- Реклама
Re: Attiny2313+DS1307+DS18B20
Уважаемый, Danko!
Извиняюсь, но скажите, Вы мой вопрос игнорируете? Хотелось бы все таки узнать ваше мнение насчет завышения показаний температуры.
Извиняюсь, но скажите, Вы мой вопрос игнорируете? Хотелось бы все таки узнать ваше мнение насчет завышения показаний температуры.
Re: Attiny2313+DS1307+DS18B20
А не выложит ли автор прошивку под индикатор с ОА
Re: Attiny2313+DS1307+DS18B20
ukrman этот проект больше не развивается, посмотри лучше вот этот http://radiokot.ru/forum/viewtopic.php? ... sc&start=0 Эти часы тоже от Danko. Там прошивка универсальная, может работать с любыми индикаторами и любыми ключами.
- pelican
- Открыл глаза
- Сообщения: 42
- Зарегистрирован: Пн апр 26, 2010 11:01:50
- Откуда: АРК Симферополь
Re: Attiny2313+DS1307+DS18B20
2 Danko!pelican писал(а): кто-нибудь собирал сей девайс? http://radiokot.ru/circuit/digital/home/24/
собрал, прошил, работает.
НО! жк-дисплей не постоянно горит, как и должно быть, а вспыхивает примерно с частотой 1 Гц. что может быть?
и ещё. при вкл. питания надпись "Start..." не выводится...
где зарыт пёс? исходник на сях, а я в них не силен... <F1>!!!
Re: Attiny2313+DS1307+DS18B20
Danko, спасибо за проекты, часы у тебя получаются интересные ! Вот решил собрать простенькие часы с 2-мяу датчиками температуры, скачал твой проект Clock-Term_tiny2313_DS1307_DS18B20_4LED_OK, добавил еще один датчик в протеусе, в параллель первому, а он не работает, определяется только один, где крутить?
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Attiny2313+DS1307+DS18B20
В жизни у каждого датчика свой уникальный серийный номер. В Протеусе если один датчик можно ничего не делать, а если несколько, либо каждому датчику назначить свой номер, либо авто.
т.е. нужно смотреть свойства DS18B20.
т.е. нужно смотреть свойства DS18B20.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Re: Attiny2313+DS1307+DS18B20
Уважаемый Данко!
Не сочтите за труд, все таки проясните ситуацию. Вопрос задается в третий раз, до вас похоже с этим вопросом не просто достучаться, но я попробую все таки еще разок. Повторил данный девайс, просто , оригинально, доступно за что и спасибо, но почему то показания термометра завышены на пару градусов. Хотелось бы услышать от автора в чем все таки может быть причина? Перепробовано немало датчиков и сравнивались показания с другими термометрами (промышленными и самидельными), результат однозначен. В итоге Ваш девайс в настоящее время исправно исполняет только функцию часов, т.к. считывать показания термометра и вычитать пару градусов как то не серьезно.
Не сочтите за труд, все таки проясните ситуацию. Вопрос задается в третий раз, до вас похоже с этим вопросом не просто достучаться, но я попробую все таки еще разок. Повторил данный девайс, просто , оригинально, доступно за что и спасибо, но почему то показания термометра завышены на пару градусов. Хотелось бы услышать от автора в чем все таки может быть причина? Перепробовано немало датчиков и сравнивались показания с другими термометрами (промышленными и самидельными), результат однозначен. В итоге Ваш девайс в настоящее время исправно исполняет только функцию часов, т.к. считывать показания термометра и вычитать пару градусов как то не серьезно.
Re: Attiny2313+DS1307+DS18B20
Danko, спасибо! Изменил серийник в свойствах и все пошло!
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Attiny2313+DS1307+DS18B20
Kazemir, во всех своих проектах я использую библиотеку из CVAVR, которую я слегка подправил, а точнее функция возвращает 16-битное число и выглядит оно как в даташнике на DS18B20.
А игнорирую я аналогичные вопросы только по одной причине на них у меня нет ответа.
С следующем проекте я не буду использовать CVAVR, и я сам хочу выяснить, по крайней мере увидеть разницу с одним и тем же датчиком и с разными библиотеками.
Возможно через время я смогу ответить на Ваш вопрос.
А игнорирую я аналогичные вопросы только по одной причине на них у меня нет ответа.
С следующем проекте я не буду использовать CVAVR, и я сам хочу выяснить, по крайней мере увидеть разницу с одним и тем же датчиком и с разными библиотеками.
Возможно через время я смогу ответить на Ваш вопрос.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Re: Attiny2313+DS1307+DS18B20
Danko!
Благодарю за ответ, будем ждать результата. Может быть тому виной слегка подправленная библиотека CVAVR, но это только предположение.
Благодарю за ответ, будем ждать результата. Может быть тому виной слегка подправленная библиотека CVAVR, но это только предположение.
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Attiny2313+DS1307+DS18B20
Не хочется ссылаться на Протеус, но:
почему в Протеусе сколько выставил на датчике - столько часы температуру и показывают ?
почему в Протеусе сколько выставил на датчике - столько часы температуру и показывают ?
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Re: Attiny2313+DS1307+DS18B20
В том то и дело! Протеус при эмуляции конкретного устройства может и не заработать, данный девайс он эмулирует прекрасно и без ошибки показаний датчика температуры, поэтому я и стал его реализовывать в железе, а в реальной жизни оказалось, что темп. завышается, ошибка накапливается и стабилизируется при превышении примерно на 2 градуса. Поэтому я и задал вопрос автору. Кстати ни одно устройство с ADC ( имеется ввиду часы на Atmega8) в протеусе не работают. Это только у меня так или еще у кого то так?
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Attiny2313+DS1307+DS18B20
не работают те у которых аппаратный TWI.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Re: Attiny2313+DS1307+DS18B20
Проясните пожалуйста, что такое "аппаратный TWI" и что конкретно надо в данном случае сделать, чтоб исправить ситуацию
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Attiny2313+DS1307+DS18B20
выкладывать теорию о двухпроводной шине я не буду.
Конкретно в моих первых проектах в main-файле исходников были строки:здесь програмный I2C отключен.
для включения програмного I2C и соответственно отключения аппаратного нужно снять комент с первой части (#asm...#include "ds1307_.h") и соответственно закомент. вторую т.е (#include "ds1307_twi.h")
еще нужно закомент.инициализацию TWI т.е. закомент. строки
TWSR=0x00;
TWBR=0x0C;
TWAR=0xD0;
TWCR=0x44;
В последующем я отказался от аппаратного TWI и использую програмный I2C.
Конкретно в моих первых проектах в main-файле исходников были строки:
Код: Выделить всё
/* если аппаратный TWI (I2C) протокол не работает - раскоментируй и получишь програмный
// I2C Bus functions (PORTC bit's 4, 5)
#asm
.equ __i2c_port=0x15
.equ __sda_bit=4
.equ __scl_bit=5
#endasm
// DS1307 Real Time Clock functions (I2C - програмный )
#include "ds1307_.h"
*/
// DS1307 Real Time Clock functions TWI (I2C - аппаратный)
#include "ds1307_twi.h" для включения програмного I2C и соответственно отключения аппаратного нужно снять комент с первой части (#asm...#include "ds1307_.h") и соответственно закомент. вторую т.е (#include "ds1307_twi.h")
еще нужно закомент.инициализацию TWI т.е. закомент. строки
TWSR=0x00;
TWBR=0x0C;
TWAR=0xD0;
TWCR=0x44;
В последующем я отказался от аппаратного TWI и использую програмный I2C.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"


