Сколько DS18B20 может обслужить Atmega16

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

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

Код: Выделить всё

COMMTIMEOUTS rCommTimeouts;
rCommTimeouts.ReadTotalTimeoutConstant =4000; // 4000 миллисекунд
rCommTimeouts.ReadTotalTimeoutMultiplier = 1;
port.SetTimeouts(rCommTimeouts);
 if( port.Read(rBuf,4)!=4) // количество принятых байт (4) за время Timeout
//не соответствует ожидаемому 
 {
	port.Close();
	MessageBox("Контроллер не подключен !","Ответ отсутствует или искажен!",MB_OK);
Контактная информация:
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

lkote68 писал(а):Да уже все работает ...
Ну и отлично. :)
Реклама
Прорезались зубы
Аватара пользователя
Сообщения: 231
Зарегистрирован: Пн мар 30, 2009 15:58:32
Откуда: Украина Запорожье

Сообщение lkote68 »

Тигра помоги разобраться с оценкой свободной памяти. В приложении скриншот билдинга проекта.
Вопрос:
1.что за data stack и как вычислился его размер?
2. Зона глобальных переменных 500байт
у меня всего то их

char PLC_Id[] = "PLC_N02";
char Num[3];
char buff[20];
signed char Values[70];
unsigned char LanN,pockcnt,k,Mode,DevLan_0,DevLan_1,DevLan_2,DevLan_3,DevLan_4,DevLan_5,DevLan_6,DevLan_7;

#define RX_BUFFER_SIZE 20
char rx_buffer[RX_BUFFER_SIZE];
unsigned char rx_wr_index,rx_rd_index,rx_counter;

ну никак не 500байт

и насчет Hardware stack Ну пусть какие то настройки но не на 260байт
Вложения
Inf.PNG
(16 КБ) 372 скачивания
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

lkote68 писал(а):1.что за data stack и как вычислился его размер?
2. Зона глобальных переменных 500байт ... у меня всего то их ... ну никак не 500байт
Да тут не сами переменные упомянуты - тут сегменты под них указаны, с размерами. Вот, глянь сюда и узнаешь "те же лица":
Изображение Изображение
Узнаешь "брата Колю"? :)))

Надо тебе прочитать в хэлпе "Setting the C Compiler Options" и "memory models" (в разделе про опции есть ссылка на статью про модели памяти). Там не супер-подробно, но-таки - да... есть. :)))
Реклама
Эиком - электронные компоненты и радиодетали
Прорезались зубы
Аватара пользователя
Сообщения: 231
Зарегистрирован: Пн мар 30, 2009 15:58:32
Откуда: Украина Запорожье

Сообщение lkote68 »

Уважаемые коты И снова здрасьте Не прошло много времени как моя разработка начала чихать Все было хорошо пока на датчиках было в районе 50 градусов. А после 76 взбрык. Я еще точно не разобрался но виню пулап ключ подтягивающий сеть датчиков во время зарядки.
И того сбоят у меня две линии длина которых самая большая и самые горячие. Пулап у меня собран по схеме данной в приложении. Может кто то что то умное скажет по этому поводу. Особо надеюсь на советы ТигроКота. В моей схеме по идее напряжение в момент подтяжки микролана не бывает больше (Uвых линии контроллера - 1.4в). Хотелось бы поднять напругу. А вообще то по уму бы поставить полевик. Да не силен :(
Вложения
.PNG
(12.13 КБ) 321 скачивание
Реклама
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса

Сообщение clawham »

у меня такое же было....3 датчика...только один из них на компрессор поставил как всё умерло - это слабый выход у микроконтроллера.....поставил резюк не килоом а пол кила - всё снова заработало
Контактная информация:
Реклама
Прорезались зубы
Аватара пользователя
Сообщения: 231
Зарегистрирован: Пн мар 30, 2009 15:58:32
Откуда: Украина Запорожье

Сообщение lkote68 »

У меня резюком ниче не добьешься До входа в банку метров 7-8 и подвеска 16 Тута только пулап нужен
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса

Сообщение clawham »

дак эт я к тому что именно пуллапа не хватает...видать транзюки встроенные утечку давать начинают на высокой температуре....ессесmyf круто было б провести ещё один провод к банке и там посреди линии поставить стабилизатор на 5 вольт кренку, ну и подавать на неё +12 с микроконтроллера каким-нить ключем
Контактная информация:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

lkote68 писал(а):До входа в банку метров 7-8 и подвеска 16 Тута только пулап нужен
24 метра, в общем-то, еще не слишком много, но погонная емкость ведь зависит от кабеля. В общем, почитай еще разок апнот 148 - если с емкостью всё нормально, то можно пуллап уменьшить до 1к (бывает и меньше), а если нет, то, действительно, придется думать об активных промежуточных устройствах на линии. Сравни осциллографом фронты на выходе м/к и в конце линии - сильно ли исказились?
Схему я как-то не очень внятно представил; там, что - резистор шунтирует составной транзистор? И почему это всё упирается не в землю, а в C0? :?
Прорезались зубы
Аватара пользователя
Сообщения: 231
Зарегистрирован: Пн мар 30, 2009 15:58:32
Откуда: Украина Запорожье

Сообщение lkote68 »

Смотри Тигра я вложил кусок из даташита у меня по сути то же самое.
в землю оно и не должно упираться. По одной линии опрашиваются данные и она подтянута резистором и этого хватает для того что бы прочесть адреса. Для считывания температуры на эту же линию вешается ключ и после команды 44H (начать преобразование) подаю туда питание. И система работала 3 месяца, а потом с подъемом температуры дык. Но дык какой то странный вообще то (глючат линии 1и2) отключаешь все остальные линии кроме 1 все работает только цепляешь вторую происходит какой то дык. и уже эти две линии показывют то ли одни адреса то ли второй линни вообще не видно.
Сделали адаптер, я написал прогу для компа вроде видит эти линии по отдельности. А осцила у меня нет, да и что он даст ты ж на нем ничего толком не увидишь сигналы то не периодические. А такого чтоб с запоминанием ну это для нас сильно круто будет.
Вложения
1.PNG
(56.88 КБ) 349 скачиваний
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса

Сообщение clawham »

ещё раз отвечаю на ваш вопрос - не хватает питания! проседает линия или ключ слабый или источник не 5 выдаёт а 4.8
ну или банальный ВЧ "звон" в проводах - когда "повезло" и длина кабеля = длине волны в кабеле :) но эт редкость
попробуйте резюк на 500 ом поставить
Контактная информация:
Прорезались зубы
Аватара пользователя
Сообщения: 231
Зарегистрирован: Пн мар 30, 2009 15:58:32
Откуда: Украина Запорожье

Сообщение lkote68 »

Вот сейчас ребята подкинули новые две подвески и все на том же расстоянии работает но не в банке те температура градусов 30 Завтра кинут в банку, потом банку заполнят вот и глянем в чем баг.
И мысль подкинуть диод под кренку те поднять на 0,7в у меня была сегодня утром. Но надо глянуть пределы на Atmega16 ST485 и 6N136 чтоб не перебрать. Вот щас померял на выходе кренки 4,99
Последний раз редактировалось lkote68 Ср сен 30, 2009 12:23:30, всего редактировалось 1 раз.
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса

Сообщение clawham »

вопрос 2
а вы уверены что транзюк сажающий линию на землю способен до земли эту линию дотянуть? какой там транзик? сколько у него сопротивление в открытом виде?
это раз
второе..а почему 815 транзюк? он-то открывается током между эммитером и базой....а какой же будет ток если эммитер в принципе-то в воздухе висит?
надо 817 брать чтоб его эммитер на + сидел а коллектором он подтягивал линию конечно применение 315 для усиления выхода мк очень правильное эти (815-817) транзюки имеют всего 18 коэф усиления по току....

в общемкогда нужно активировать пулап тащите на землю базу 817 транза который эммитером на+ сидит а коллектор подтяните килоомом на землю...так правильнее будет...
Последний раз редактировалось clawham Ср сен 30, 2009 12:27:07, всего редактировалось 1 раз.
Контактная информация:
Прорезались зубы
Аватара пользователя
Сообщения: 231
Зарегистрирован: Пн мар 30, 2009 15:58:32
Откуда: Украина Запорожье

Сообщение lkote68 »

Может я не совсем что то разъяснил Транзюк подтягивает не к земле а к +5В. Глянь в редыдущем посте кусок из даташита. А транс там стоит составной 315+815 Знаю бага в том что я поставил его как эмитерный повторитель Нуна бы поменять схему включения Но и платы уже протравлены.....
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса

Сообщение clawham »

у вас должно быть 3 транзюка учавствующих в этой шине - одним вы делаете сброс и передаете в линию 0, вторым ты поднимаете в процессе передачи линию в +5 чтоб передать 1 и третий мощный транзюк обеспечивает мощную подтяжку на время преобразования температуры всеми приборами на линии
Контактная информация:
Прорезались зубы
Аватара пользователя
Сообщения: 231
Зарегистрирован: Пн мар 30, 2009 15:58:32
Откуда: Украина Запорожье

Сообщение lkote68 »

Три совершенно излишне. Посмотрите даташит в предыдушем посте.
Даже при реализации всего на транзисторах их нужно 2. Смотри приложение
Вложения
2.PNG
(47.97 КБ) 332 скачивания
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса

Сообщение clawham »

вы имеете ввиду то что ножка МК работает без транзисторов?
Я говорю применительно к нашему случаю....
транзюк в МК который тянет ножку в землю имеет сопротивление 33 ома(примерно для АтМега 8-16-32) такой же но примерно 40 ом - на питание....они слабые...пожтому им нужно помогать внешними ключами....хотя бы ещё одним(третим) внешним подтягивающим на +5
Контактная информация:
Прорезались зубы
Аватара пользователя
Сообщения: 231
Зарегистрирован: Пн мар 30, 2009 15:58:32
Откуда: Украина Запорожье

Сообщение lkote68 »

Но даташит то чего то стоит. Раз там написано пером что вполне хватит только подтягивающего к +5в значит не вырубишь топором. Посмотрите мои вложения.
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса

Сообщение clawham »

если у вас всё по даташиту и всё сделано нормально то оно и рабоатет а раз оно не работает то я вам говорю почему может не работать!!! у меня была подобная ситуация....вложение что вы прикрепили больше напоминает выходную цепь ножки МК :) разница только в мощности ключей...+ в том же даташите черным по белому написано что еслю юзать термометры с паразитным питанием - надо ЕЩЁ ОДИН жестко подтягивающий на + питания шину транзюк!

так что я больше и не знаю что сказать - у меня была именно такая проблема - 4 термометра работали нормально но как только один поставил на компрессор сразу выяснилось что при температуре больше 60 начинаются проблемы - встроенный транзюк в термометре начинает подмыкать линию на массу....следовательно её надо сильнее на + поднимать вот и всё! и у меня это решилось просто резюком на 500 ом шину на +5 внешних транзюков у меня вообще нет...только те хилые что в мк ножку дергают - мне их хватает
Контактная информация:
Прорезались зубы
Аватара пользователя
Сообщения: 231
Зарегистрирован: Пн мар 30, 2009 15:58:32
Откуда: Украина Запорожье

Сообщение lkote68 »

Сделано почти по даташиту. Там полевик надо. Я поставил составной.
Потому что с полевиками не на Вы но все же почти никогда не пользовался. Сейчас понимаю что нужно бы перевернуть тразистор коллектором а не делать эмитерный повторитель.Он же мне еще 1.4в съедает. Специфика проекта в том что нет не осцилографа чтоб глянуть ни толком времени. Сделал увидели что до 60гр работает заказали плат. Я им грю надо бы поэкспериментировать.-А че экспериментировать 3 месяца работает Значит все ок. На кружке 82гр проверили все типа Ок А когда вот 10 датчиков выше 75 посыпались глюки.
Мне бы переделать на полевик вот и собираю сведения Потому что в даташите толком не указано.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»