Например TDA7294

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

Текущее время: Пн сен 08, 2025 09:34:53

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


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



Начать новую тему Ответить на тему  [ Сообщений: 6053 ]     ... , , , 21, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт окт 30, 2009 15:28:40 
Родился

Зарегистрирован: Вс сен 27, 2009 14:21:54
Сообщений: 14
Рейтинг сообщения: 0
Секретный кот писал(а):
ravilkh писал(а):
она вообще правильно время отсчитывать может?

При правильном кварце – почему бы и нет? От внутреннего генератора сильно врёт, но это и неудивительно.

ну не в разы же? ставил - "wait 10" на внутреннем. получал на выходе секунд так 40-45. тинька13, внутренний 128кГц.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт окт 30, 2009 20:28:24 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 4
Рейтинг сообщений: 26
Зарегистрирован: Ср сен 17, 2008 14:32:15
Сообщений: 2106
Откуда: Старые Васюки
Рейтинг сообщения: 0
У меня на 8 МГц вместо 1 минуты получалось где-то секунд 40.

_________________
Даже остановленные часы два раза в сутки показывают правильное время.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Сб ноя 07, 2009 18:25:13 
Родился

Зарегистрирован: Сб ноя 07, 2009 17:41:33
Сообщений: 12
Рейтинг сообщения: 0
Привет,напил прогу,компиляция и емуляция прошла какбы. Но на PROTEUS показывает 0 , нечитает DS18B20. Что тут плохо ?


$regfile = "2313def.dat"
$crystal = 4000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portb.5 , Rs = Portb.6

Config 1wire = Portd.5
Config Portd.4 = Output
Dim Dsid1(8) As Byte
Dim Dsid2(8) As Byte
Dim D As Byte
Dim I1 As Integer , S1 As String * 6 , S2 As String * 6
Dim I2 As Integer


Cursor Off

Cls

Dsid1(1) = 1wsearchfirst()
Dsid2(1) = 1wsearchnext()

Do

1wreset
1wwrite &H55
1wverify Dsid1(1)
1wwrite &HBE
I1 = 1wread(2)
1wreset
1wwrite &H55
1wverify Dsid2(1)
1wwrite &HBE
I2 = 1wread(2)
1wreset
1wwrite &HCC
1wwrite &H44

Wait 1

I1 = I1 * 10
I1 = I1 / 16
If I1 > 0 Then Cls
S1 = Str(i1)
Locate 1 , 1
Lcd "B=" ; S1 ; "C"

I2 = I2 * 10
I2 = I2 / 16
If I2 > 0 Then Cls
S2 = Str(i2)
Locate 2 , 1
Lcd "K=" ; S2 ; "C"

'D = S1 - S2
'D = D + 5
'If D => 5 Then
'Portd.4 = 1
'Else
'Portd.4 = 0
'End If

Loop

End


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт ноя 12, 2009 23:51:54 
Родился
Аватар пользователя

Зарегистрирован: Чт май 08, 2008 19:32:08
Сообщений: 10
Рейтинг сообщения: 0
вот что нужно:

Датчик один? Если да, то:

много не того, ждать нужно перед считыванием данных с датчика и кода не те


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт ноя 13, 2009 19:56:54 
Родился

Зарегистрирован: Сб ноя 07, 2009 17:41:33
Сообщений: 12
Рейтинг сообщения: 0
Два датчика .


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт ноя 13, 2009 21:11:27 
Родился
Аватар пользователя

Зарегистрирован: Чт май 08, 2008 19:32:08
Сообщений: 10
Рейтинг сообщения: 0
Тут отличный пример с 2-мя :)
http://bascomavr.3bb.ru/viewtopic.php?id=169


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт ноя 20, 2009 05:40:43 
Первый раз сказал Мяу!

Зарегистрирован: Пт июн 05, 2009 19:55:11
Сообщений: 30
Откуда: Украина Кривой Рог
Рейтинг сообщения: 0
Не открывается "Обучалка BASCOM AVR" от WildCat http://avr.easycoding.org/bascom_lessons/index.htm .Помогите найти.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт ноя 20, 2009 19:28:45 
Родился
Аватар пользователя

Зарегистрирован: Чт май 08, 2008 19:32:08
Сообщений: 10
Рейтинг сообщения: 0
kilgur писал(а):
Не открывается "Обучалка BASCOM AVR" от WildCat http://avr.easycoding.org/bascom_lessons/index.htm .Помогите найти.

Входи с главной страницы сайта, avr.easycoding.org


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт ноя 20, 2009 22:22:44 
Первый раз сказал Мяу!

Зарегистрирован: Пт июн 05, 2009 19:55:11
Сообщений: 30
Откуда: Украина Кривой Рог
Рейтинг сообщения: 0
Пробовал ,но пишет "Internet Explorer не может отобразить эту веб-страницу"

Всё заработало. Спасибо Mihael.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Сб ноя 21, 2009 02:05:26 
Родился
Аватар пользователя

Зарегистрирован: Чт май 08, 2008 19:32:08
Сообщений: 10
Рейтинг сообщения: 0
kilgur не за что :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн ноя 23, 2009 14:16:21 
Электрический кот
Аватар пользователя

Карма: 3
Рейтинг сообщений: 2
Зарегистрирован: Вт окт 21, 2008 11:46:23
Сообщений: 1051
Откуда: Барнаул
Рейтинг сообщения: 0
Мяу Всем!
Ну вот, вроде как в тему. :))) Написал прогу для DS18B20.
Что интересно, при сдвиге В0 вправо на 4 бита и В1 влево на 4 бита (по даташиту) наблюдалось удвоение показаний, т.е. вместо +18 С показывало +36 С, когда изменил на 5 и 3 все стало на свои места. В чем здесь засада?
И еще: как вывести десятичные доли градуса на индикатор (откуда их считывать?) и как вывести все это дело на 7-сегментные LED?
Код:
$regfile = "attiny2313.dat"
$crystal = 4000000


Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.0 , Rs = Portb.1

Config 1wire = Portd.5                                     

Dim B0 As Byte
Dim B1 As Byte
Dim T As Byte
Dim Sign As String * 1

Config Lcd = 16 * 1
                                         
Do
1wreset
1wwrite &HCC                                                 
1wwrite &H44
                                               
Waitms 750
                                                     
1wreset
1wwrite &HC
1wwrite &HBE                                                 

B0 = 1wread()                                               
B1 = 1wread()                                               
 
1wreset

If B1 >= 248 Then                                           
B0 = &HFF - B0
B1 = &HFF - B1
Sign = "-"
Else
Sign = "+"
End If

Shift B0 , Right , 5                                         
Shift B1 , Left , 3
                                         
T = B0 + B1
                                                 
Cls
Lcd Sign ; T ; "C"
Wait 2
Loop

End

Кстати, применение конструкций Shift дает более компактный код по сравнению с применением обычных арифметических действий: / и *. Имейте ввиду! :tea:

_________________
Цапу крутить надо!!! Ку или не ку?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт ноя 27, 2009 17:02:50 
Родился

Зарегистрирован: Сб ноя 07, 2009 17:41:33
Сообщений: 12
Рейтинг сообщения: 0
Попробовал пример,работает.Но если ATtiny2313 меняю на AT90S2313 неработает. А нельзяли такойже компактный код на два датчика :)) а то зациклился.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт ноя 27, 2009 17:08:44 
Электрический кот
Аватар пользователя

Карма: 3
Рейтинг сообщений: 2
Зарегистрирован: Вт окт 21, 2008 11:46:23
Сообщений: 1051
Откуда: Барнаул
Рейтинг сообщения: 0
Это вы применительно к чему?

_________________
Цапу крутить надо!!! Ку или не ку?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Сб ноя 28, 2009 20:41:53 
Родился

Зарегистрирован: Сб ноя 07, 2009 17:41:33
Сообщений: 12
Рейтинг сообщения: 0
Во первых если меняю в PROTEUS ATtiny2313 на AT90 s2313 симуляция неработает. Т.е. lcd показывает нолъ. И даже на ATtiny2313 немогу заставитъ работатъ два датчика.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн ноя 30, 2009 23:06:19 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вс дек 07, 2008 00:45:10
Сообщений: 43
Откуда: Задворки родины
Рейтинг сообщения: 0
Попробуй такую программку.


Вложения:
18B20 2шт.rar [798 байт]
Скачиваний: 308
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 03, 2009 21:08:31 
Родился

Зарегистрирован: Сб ноя 07, 2009 17:41:33
Сообщений: 12
Рейтинг сообщения: 0
На Proteus не работает.


Вложения:
aaaaaaaaaaaaa.rar [9.01 KiB]
Скачиваний: 219
Вернуться наверх
 
Не в сети
 Заголовок сообщения: КОНКУРС
СообщениеДобавлено: Пт дек 04, 2009 09:16:54 
Мучитель микросхем

Карма: 7
Рейтинг сообщений: 44
Зарегистрирован: Ср июн 21, 2006 08:24:32
Сообщений: 465
Откуда: Лисичанск
Рейтинг сообщения: 0
Объявляется очередной(третий) ежегодный конкурс БАСКОМ-2010!
Более подробно о конкурсе:
http://bascomavr.3bb.ru/viewtopic.php?id=283

Организаторы конкурса обещают победителей наградить призами - лицензионным ПО БАСКОМ.
Все работы будут опубликованы на сайте http://bascom.at.ua/.
Лучшие работы войдут в коллекцию примеров на http://www.mcselec.com

Желаю удачи!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Вопрос знатокам.
СообщениеДобавлено: Пн дек 07, 2009 01:32:16 
Родился

Зарегистрирован: Пн дек 07, 2009 01:08:27
Сообщений: 3
Рейтинг сообщения: 0
Всем доброго времени суток!
Только начал осваивать AVR и Васик, в схемотехнике разбираюсь тоже на уровне радиокружка, поэтому заранее прошу тапками не кидать. критиковать - пожалуйста, особенно если конструктивно, с объяснениями :)

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

Использовал связку ATtiny 26 и LM35. Навороты в виде LCD и органов управления не контоллере не нужны, поэтому пороговые значения прошиты в программе.

Несмотря на убогость кода и схемы, в Протеусе всё работает :)

Вот схема и код.
Изображение

http://slil.ru/28304751 (исходник и hex)


Теперь вопрос. Было крайне полезно организвать сбор данных от нескольких подобных контроллеров (по i2C) и возможность опять же, дистанционно перешивать пороговые величины включения печки/охлажения. Как это можно сделать?

Ну и поктитикуйте увиденное, если не лень.
Спасибо!

:shock:


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 08, 2009 07:04:06 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вс дек 07, 2008 00:45:10
Сообщений: 43
Откуда: Задворки родины
Рейтинг сообщения: 0
Менять пороговые величины можно если прописать их в еепроме,
а организация i2c есть в хелпе.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопрос знатокам.
СообщениеДобавлено: Пт дек 11, 2009 02:50:29 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пт дек 11, 2009 02:40:44
Сообщений: 67
Откуда: C-Петербург
Рейтинг сообщения: 0
fabrique писал(а):
- сделать термоконтроллер
который помогал бы выдерживать определенную температуру в небольшом ящике


уж не инкубатор ли?

_________________
не судите, я учусь -)


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

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


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

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


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

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


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