Форумы Modlabs.net: Хитрый регулятор - Форумы Modlabs.net

Перейти к содержимому

  • (3 Страниц)
  • +
  • 1
  • 2
  • 3
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Хитрый регулятор

#21 Пользователь офлайн   VladE 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 321
  • Регистрация: 14 Сентябрь 03

Отправлено 09 Апрель 2005 - 00:49

DruKiller

Цитата

А причём тут I2C?

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

Цитата

закрыл зимнюю сессию -))

Поздравляю... :)
0

#22 Пользователь офлайн   Dreadatour 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 121
  • Регистрация: 14 Март 05

Отправлено 12 Апрель 2005 - 05:36

VladE, я юзал (для домашнего термометра) микросхемы AD7414

[OFFTOP]
У меня две такие микросхемы (улица/дом) вешались на USB по переделанной схеме IgorPlug (контроллер - AT90S2313) и на комп выводилась температура. Весь девайс обошёлся мне во что-то вроде 3-4 баксов, когда один датчик DS1820 у нас стоит около 5 баксов =)))
[/OFFTOP]

ЗЫ: а вообще все датчики температуры Analog Devices - тут: http://www.analog.com/en/subCat/0,2879,760...F0%255F,00.html
0

#23 Пользователь офлайн   AlchemisT 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 452
  • Регистрация: 24 Январь 04

Отправлено 12 Апрель 2005 - 21:02

1-wire это значит, что один провод сигнальный и он же для питалова. А землю они не учитывают :beer: Как правило, температурным датчикам требуется еще и питалово дополнительное, поэтому провода уже 3.
0

#24 Пользователь офлайн   VladE 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 321
  • Регистрация: 14 Сентябрь 03

Отправлено 13 Апрель 2005 - 01:41

AlchemisT

Цитата

1-wire это значит


Да нет я знаю что такое 1 - wire, наверное просто мало смайликов в том посте поставил :gigi:

Dreadatour
Посмотрел ссылку...
И вот смотри при точности ±2 - цена "копейки", а вот при точности в ±0.5 (как у далласа) цена к нему и приближается :gigi:
0

#25 Пользователь офлайн   Dreadatour 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 121
  • Регистрация: 14 Март 05

Отправлено 13 Апрель 2005 - 05:46

VladE, смотрим сюда: http://www.analog.com/UploadedFiles/Data_S...5AD7414_5_d.pdf - датчик стоит почти 1 у.е. читаем даташит:

Typical Accuracy of +/-0.5`C at +40`C

У DS1820 погрешность 0,5 градусов тоже только в определённом диапазоне (околокомнатные температуры), а вне него (например, при низких температурах) там вообще погрешность от 3-х градусов =))))))))

У AD7414 погрешность +/- 2 градуса при диапазоне от -40 до +85 градусов. А от -20 до +70 (по даташиту - там график есть) погрешность +/- 0,5 градусов. Просто Analog Devices более "честно" пишет про погрешность своих датчиков =)))

И даже у AD7314 (чуть больше 50 центов) при температурах от -55 до +125 погрешность не больше 1 градуса!

1-wire хорош там, где надо, к примеру, уж очень много (несколько десятков) датчиков посадить на одну и ту же управляющую систему (микроконтроллер =))... или когда датчики очень далеко удалены от системы (I2C по спецификации не позволяет делать провод в десятки метров, хотя можно и искуственно скорость занизить... =)))))))))))))))
0

#26 Пользователь офлайн   VladE 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 321
  • Регистрация: 14 Сентябрь 03

Отправлено 13 Апрель 2005 - 23:52

Dreadatour
Да все так, спасибо за разъяснения, сейчас глянул в даташит DS1820

tERR -55°C to +125°C = мах ±2, 0,5 при -10°C to +85°C
0

#27 Пользователь офлайн   DruKiller 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 940
  • Регистрация: 04 Март 05

Отправлено 17 Апрель 2005 - 00:14

Эх, вот я высвободилось немножечко времени. Взял сегодня одну LM335 на пробу. Подключил, действительно измеряет температуру -)
Завтра поеду в чипдип, куплю мегу8 (ATmega8-16PI PDIP28), продолжу свои взыскания -)
0

#28 Пользователь офлайн   SP! 

  • Junior
  • Pip
  • Группа: Пользователи
  • Сообщений: 53
  • Регистрация: 28 Март 05

Отправлено 17 Апрель 2005 - 14:29

LM335 дешево и сердито... 10mv/K (10mv/C) :)
а вот мой вариант схемы термоконтроля... правда без МК.

http://cp.people.overclockers.ru/cgi-bin/d...name=cooler.png

только вместо резистора R1 используется источник тока LM334, как нарисовано в даташите на LM335...
0

#29 Пользователь офлайн   DruKiller 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 940
  • Регистрация: 04 Март 05

Отправлено 17 Апрель 2005 - 14:54

ШИМ это конечно здорово, но обвязки слишком много -)
Я до сих пор пользуюсь КТ819г + переменник -)
Не посоветуешь самую простую схему для прошивания Меги8? В интернете туева хуча различных вариантов, глаза разбегаются...
0

#30 Пользователь офлайн   SP! 

  • Junior
  • Pip
  • Группа: Пользователи
  • Сообщений: 53
  • Регистрация: 28 Март 05

Отправлено 17 Апрель 2005 - 15:20

STK200+ponyprog?
0

#31 Пользователь офлайн   DruKiller 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 940
  • Регистрация: 04 Март 05

Отправлено 18 Апрель 2005 - 23:37

Купил микруху для STK200, мегу8... поскорее с работой расквитаюсь и сяду экспериментировать -)
0

#32 Пользователь офлайн   SP! 

  • Junior
  • Pip
  • Группа: Пользователи
  • Сообщений: 53
  • Регистрация: 28 Март 05

Отправлено 19 Апрель 2005 - 19:17

DruKiller

а чем ты программы пишешь?
я вот попробовал WinAVR+AVR Studio... получается неплохо :D
пишешь в WinAVR, отлаживаешь в AVR Studio.
в WinAVR есть встороенный программатор с поддержкой STK200

PS ассемблеру давно уже сказал "прощай" :eek: пишу на С для всех знакомых мне МК.
0

#33 Пользователь офлайн   VladE 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 321
  • Регистрация: 14 Сентябрь 03

Отправлено 19 Апрель 2005 - 21:27

SP!

Не знаю может "америку открою", но мне нравится VMLab, и особенно его осцилограф...
0

#34 Пользователь офлайн   DruKiller 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 940
  • Регистрация: 04 Март 05

Отправлено 22 Апрель 2005 - 00:12

если честно-то пока ничем -) Вот за указанную тобой связочку спасибо, буду ковырять -)
На работе звалили... 30ти часовая смена у станков- это круто -) В перекуре пробрался за комп, хотел залезть на форум, но... форум пишет, что "запрещён вход на форум"... не для ника, а вобщем...
0

#35 Пользователь офлайн   DruKiller 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 940
  • Регистрация: 04 Март 05

Отправлено 25 Апрель 2005 - 07:47

Ночь копался в ICCAVR + VMLAB и написал мигалку... в вмлабе работает, но есть одно но... если импульсы замерять по осцилографу, то их длительность совсем мизерная получается.
Мега8, как я понял, изначально использует внутренний генератор на 16 Мгц. Используя задержку на переполнение Timer0 с предделителем на 1024 получа 16 000 000 / 1024 / 255=61 переполнение в секунду, т.е. 16 мс в одном положении вкл-выкл для светодиода. Для увеличения задержки приходится записывать вызов процедуры один за другим... как это сделать красивее и умнее?
ЗЫ: скоре бы из универа прийти, зашить в мегу и посмотреть как это будет в железе -))
0

#36 Пользователь офлайн   VladE 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 321
  • Регистрация: 14 Сентябрь 03

Отправлено 25 Апрель 2005 - 19:33

DruKiller


Цитата

Мега8, как я понял, изначально использует внутренний генератор на 16 Мгц.


Может ты ошибся, нету в меге8 - 16 мегагерц.
Цитата из даташита

Цитата

The calibrated internal RC Oscillator provides a fixed 1.0, 2.0, 4.0, or 8.0 MHz clock. All frequencies are nominal values at 5V and 25°C.

0

#37 Пользователь офлайн   DruKiller 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 940
  • Регистрация: 04 Март 05

Отправлено 26 Апрель 2005 - 00:27

VladE

Цитата

Может ты ошибся, нету в меге8 - 16 мегагерц.

Твоя правда, ошибся- нету -) и по умолчанию там всего 1 Мгц.
НО. Исходя из верхних рассчётов, получается, что 0,25 с
А по показаниям осцилографа, настоящего, а не вмлабовского- в районе 15 микросекунд.. в чём затык я не понимаю...
код задержки такой использую

void initialization(void)

{ 

DDRB = 0xff;

TCCR0 = 0x05;

}



void delay(void)  

	  {

while (!(TIFR = 0x02)); 

TIFR = 0x02;

}

0

#38 Пользователь офлайн   VladE 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 321
  • Регистрация: 14 Сентябрь 03

Отправлено 26 Апрель 2005 - 01:48

DruKiller

Я конечно в си пока не разбирался, но ты задаешь свою функцию delay, а в ICC она уже вроде есть (delay(X ms)) может в этом проблема...

Цитата

написал мигалку...

Напиши , что она у тебя конкретно должна делать...
0

#39 Пользователь офлайн   DruKiller 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 940
  • Регистрация: 04 Март 05

Отправлено 26 Апрель 2005 - 10:47

VladE

Цитата

Я конечно в си пока не разбирался, но ты задаешь свою функцию delay, а в ICC она уже вроде есть (delay(X ms)) может в этом проблема...

Она в WinAVR есть, в библиотеках, delay.h . Чтобы уж точно проверить- переименовал функцию. Всё осталось так же.

Цитата

Напиши , что она у тебя конкретно должна делать...

Должна мигать светодиодом с определённой частотой -)) Хочу научиться рассчитывать и выставлять задержки, а тут такой затык на ровном месте....


Получил боле-мене что хотел, пришлось копаться в прерываниях -))
0

#40 Пользователь офлайн   VladE 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 321
  • Регистрация: 14 Сентябрь 03

Отправлено 26 Апрель 2005 - 18:54

DruKiller

А ты прерывание от таймера разрешил?
регистр TIMSK бит TOIE0

Цитата

while (!(TIFR = 0x02));


А почему ты с 0x02 сравниваешь?
Из мегавского даташита:

регистр TIFR бит TOV0 это бит 0 , а не 1, или я что-то нет то думаю

2 All
Люди работавшие с разными Си, расскажите какой лучше, вот тоже думаю "сказать прощай ассемблеру" Copyright by SP! :) наверное с ICC

Еще такой вопрос код написан на каком-нибудь Си? который не ICC, ICC его поймет и откомпилит как положено или какие-нибудь косяки могут быть, подскажите...
0

Поделиться темой:


  • (3 Страниц)
  • +
  • 1
  • 2
  • 3
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

20 человек читают эту тему
0 members, 20 guests, 0 anonymous users