Микроконтроллеры AVR - применение и Краткий Курс - часть 9

 
1 41 42 43 44 45 46 47

GOGI

координатор
★★★★
Снялся вопрос, тупой я.
Система простая до ужаса. В шесть утра в течении часа плавно разгорается свет, в шесть вечера плавно гасится.
Вот эти вот 12 часов интервала я и хотел таймером считать. Но сейчас понял, что поскольку все равно идет прерываение каждые пол-периода, то лучше их и считать, тем более, что это будет много точнее, чем встроенный RC-генератор.
Кстати, возник другой вопрос. А каковы шансы, что тинька хотя бы неделю так без сбоя проработает?
1  
+
-
edit
 

GOGI

координатор
★★★★
Попросили сделать освещение курятника :-)
Оказывается, куры не любят, когда свет загорается и гаснет резко, хуже несутся.
1  
+
-
edit
 

termostat

аксакал

GOGI> А каковы шансы, что тинька хотя бы неделю так без сбоя проработает?

зависит от правильности конструкции. Разводка, развязка и питание. Апноуты AVR040 AVR042 для начала.

Serge77

модератор

GOGI> Оказывается, куры не любят, когда свет загорается и гаснет резко, хуже несутся.

О, жизненная задача ;^))
Ещё музычку надо добавить.

А почему без кварца? Разве по частоте сети будет точнее?
+
-
edit
 

termostat

аксакал

hcube> Прерывания в АВР имеют приоритет равный их номеру. Т.е. из обработчика 9-го прерывания может вызваться 3-е, но не наоборот.

Поразительный бред !!! Зачем вы пишите о том чего не понимаете ???

Почитайте как устроены прерывания в AVR ! avr123.nm.ru/03.htm

GOGI

координатор
★★★★
Serge77> О, жизненная задача ;^))
Serge77> Ещё музычку надо добавить.
Смейся, смейся. Но тот мужик, что попросил, свое дело знает. Показывал фотографию с кроликом на руках. Кролик размером со среднюю собаку! Специально хрен-знает откуда привез такую породу. Сразу вспомнился анекдот про соседских кроликов, бьющих морду псу :-)

Serge77> А почему без кварца? Разве по частоте сети будет точнее?
Потому что Tiny13 не может работать от кварца. Или внутренний RC-генератор или внешний клок.
Предвосхищая вопрос, почему именно его взял, говорю: что было, то и поставил :-)
1  
RU termostat #11.05.2007 18:30
+
-
edit
 

termostat

аксакал

GOGI> Tiny13 уходит в обработку Pin Change прерывания. В это время случается прерывание по переполнению таймера.
GOGI> Вопросы:
GOGI> 1. Уйдет ли он в обработку этого прерывания?
GOGI> 2. Вернется ли в незаконченную обработку первого?

Если будет настроение посмотри пожалуйста короткую выжимку по устройству прерываний в AVR - avr123.nm.ru/03.htm

===

Тини13 очень хороший - я щас добиваюсь чтоб его начал поддерживать PROTEUS и еще ATmega48 88 168

Пока для Тини13 я нашел только 1 приличный симулятор он же бэйсик для AVR - Oshon Software Project Homepage причем когда загружаешь hex из папки CVAVR он предлагает использовать листинг - получается отладка практически пл Си коду !

GOGI

координатор
★★★★
Термостат, поменяй шрифт на сайте! Шрифт не truetype, когда увеличиваешь размер он выглядит просто ужасно.
1  

GOGI

координатор
★★★★
Почитал. Теперь вопрос более-менее прояснился.
Кстати, pin change прерывание единственное, ради которого пришлось лезть в даташит за описаниями регистров, при написании программы в Bascom
1  

GOGI

координатор
★★★★
Я сильно сомневаюсь что это правильный метод, но неподдерживаемые контроллеры я симулирую, компилируя программу под поддерживаемые :-)
На самом деле сложно использовать кучу программ, когда занимаешься этим раз в несколько месяцев. Я вот использую исключительно Bascom и, с недавних пор, (тут спасибо Термостату) Proteus и то каждый раз приходится многое заново вспоминать.
1  
+
-
edit
 

termostat

аксакал

GOGI> Я сильно сомневаюсь что это правильный метод, но неподдерживаемые контроллеры я симулирую, компилируя программу под поддерживаемые :-)


Я так же ИМЕННО ЩАС делаю !

Это будет задача-упражнение 13 в краткий курс AVR для ATtiny13 - фазовое регулирование, плавное включение ламп накаливания и защита от превышния напряжения в сети.

Пока пишу код и симулирую на ATmega16 - когда отлажу алгоритм
буду переносить код на Тини13.

Вот выкладываю проект "СЫРОЙ" но работает

cvavr + vmlab + proteus - плавно включает лампу по
таблице но пока без защиты от перенапряжения.

Там у меня тоже прерывания друг из друга вызываются.
Прикреплённые файлы:
 

GOGI

координатор
★★★★
Не, у меня сейчас получается что все будет идти внутри одного прерывания по переходу через ноль.
И задержки я циклами сделал.
А вот с эмуляцией туго :-).
Протеус на работе не хотят ставить, а двухканальный осциллограф домой не дают
1  
+
-
edit
 

MartKot

втянувшийся

К вопросу о выборе кварца, для Меги 16. Какой лучше использовать 7,3728мГц или 8,000мГц. С точки зрения минимальной ошибки передачи данных по COM порту, лучше использовать на 7мГц – уровень ошибок -0%, 8мГц в синхронном режиме на скорости 9600 даёт ошибку 0,2%. Если писать в память вмести с данными временные метки, то лучше использовать 8мГц – деление частоты для таймера реального времени получается более «гладким» - целое число без дроби. Вопрос, какой лучше ставить?(в магазинах на 7,3728 почему-то нет).
Простите,-спросили Мартовского Кота,-действительно ли в марте месяце? Какая чушь,- ответил Мартовский Кот,- и март месяц не исключение! http://martkot.embedders.org  
RU termostat #12.05.2007 18:53
+
-
edit
 

termostat

аксакал

8 конечно если 9600 тебя устроит. Но долго данные из памяти будут перекидываться в ПК на 9600.

Я люблю 115200 делать так как удобно отлаживать посылая данные на ПК - при такой скорости байты улетают очень быстро и отладочные сообщения можно не убирать а так и оставить в окончательном варианте проги.
RU termostat #12.05.2007 18:55  @MartKot#12.05.2007 18:38
+
-
edit
 

termostat

аксакал

MartKot> 8мГц – деление частоты для таймера реального времени получается более «гладким» - целое число без дроби.

Тебе не обязательно привязываться к реальному времени. привязывй отсчеты к уелым числам в таймерах. А софт на ПК учтет реальный интервал записи данных.

hcube

старожил
★★
Ага. Термостат НЕ СОВСЕМ прав. По умолчанию, действительно, прерывания запрещаются на время обработки прерывания. Но записав 1 в бит I регистра GEI, можно разрешить вызов прерывания из прерывания.

Вот с возвратом - вопрос. Написано, что возврат всегда происходит в главную программу, т.е. прерванное прерывание сразу после возвраты вызовется заново. В общем, лучше видимо логику на вложенных прерываниях не строить.
Убей в себе зомби!  
+
-
edit
 

termostat

аксакал

hcube> Ага. Термостат НЕ СОВСЕМ прав.

В чем ?

hcube> регистра GEI

Нет такого регистра.


Еще раз - прерывания подрбно описаны на стр 3 курса. Там и название этого регистра.


hcube> Вот с возвратом - вопрос. Написано, что возврат всегда происходит в главную программу

Опять неправда! написано так - цитата: "программа продолжает выполняться с того места где она была в момент возникновения прерывания."

========

Не нужно спешить с неверными заключениями - нужно не спеша внимательно прочитать и понять. Не спеша !
+
-
edit
 

MartKot

втянувшийся

Господа, спасибо!!! Начинаю работать.
Простите,-спросили Мартовского Кота,-действительно ли в марте месяце? Какая чушь,- ответил Мартовский Кот,- и март месяц не исключение! http://martkot.embedders.org  
Это сообщение редактировалось 12.05.2007 в 22:24
RU termostat #17.05.2007 02:20
+
-
edit
 

termostat

аксакал

Микроконтроллеры AVR семейства Mega. Руководство пользователя.

Mega_AVR_2007.rar http://natahaus.rusfolder.net/files/1907153

natahaus.rusfolder.net/files - бесплатный хостинг файлов. У нас вы можете бесплатно разместить файл до 1 Гб. Количество и время хранения файлов не ограничены. Вы можете скачивать файлы без рекламы напрямую, после покупки услуги «Без рекламы»   Внимание! Скачать данный файл можно будет только с того компьютера, на котором вы работаете в данный момент. Для того что бы скачивание было доступно вам с любого компьютера надо предварительно зарегистрироваться/авторизоваться. '; if ( $.browser.mozilla ) { var iframe = document.getElementById('custom-top-iframe'); iframe.contentWindow.location.href = iframe.src; iframe.src = iframe.src; } } function iframeDoc(iframeNode) { if ( iframeNode.contentDocument ) { return iframeNode.contentDocument; }… // Дальше — natahaus.ifolder.ru
 

Автор: А.В. Евстифеев Издательство: Додэка-XXI 2007 Страниц: 594
ISBN: 978-5-94120-090-0

рапида Ссылка запрещена по требованию [показать]

спбланд На сервере проводятся технические работы.
или тут Free large file hosting. Send big files the easy way!
RU termostat #18.05.2007 12:54
+
-
edit
 
+
-
edit
 

MartKot

втянувшийся

Вопрос по USART – COM. Если скорость UARTа МК ставим 38400 удвоенную U2X=1 (38400х2=76800), какая скорость должна быть у COM порта компа в терминале? – 38400, 57600, 115200.
Вопрос по кварцу(8MHz – Mega16) – если, CKOPT =1 (не запрограммирован), какое напряжение должно быть на кристалле (13 нога у меня показывает размах 0,4В)?


Хм… Объять необъятное невозможно, но можно (никто не обнимет необъятного – Козьма Прутков)
Здесь тоже про AVR - RadioSpec.ru «Микроконтроллеры AVR. Ступень 1 СМ. Рюмик, г. Чернигов»
Программирование фьюзов, PonyProg…
Простите,-спросили Мартовского Кота,-действительно ли в марте месяце? Какая чушь,- ответил Мартовский Кот,- и март месяц не исключение! http://martkot.embedders.org  
Это сообщение редактировалось 18.05.2007 в 22:19
RU termostat #19.05.2007 16:12  @MartKot#18.05.2007 21:13
+
-
edit
 

termostat

аксакал

MartKot> Вопрос по USART – COM. Если скорость UARTа МК ставим 38400 удвоенную U2X=1 (38400х2=76800), какая скорость должна быть у COM порта компа в терминале? – 38400

Это не удвоение бод-рейта !!! это удвоение скорости процессов в AVR внутри !

Скорость приема-передачи так и будет 38400.
+
-
edit
 

MartKot

втянувшийся

Спасибо!
Простите,-спросили Мартовского Кота,-действительно ли в марте месяце? Какая чушь,- ответил Мартовский Кот,- и март месяц не исключение! http://martkot.embedders.org  
AD Реклама Google — средство выживания форумов :)
UA gora_electric #21.05.2007 16:43  @termostat#11.05.2007 19:24
+
-
edit
 

gora_electric

новичок
GOGI>> Я сильно сомневаюсь что это правильный метод, но неподдерживаемые контроллеры я симулирую, компилируя программу под поддерживаемые :-)
termostat> Я так же ИМЕННО ЩАС делаю !
termostat> Это будет задача-упражнение 13 в краткий курс AVR для ATtiny13 - фазовое регулирование, плавное включение ламп накаливания и защита от превышния напряжения в сети.
termostat> Пока пишу код и симулирую на ATmega16 - когда отлажу алгоритм
termostat> буду переносить код на Тини13.
termostat> Вот выкладываю проект "СЫРОЙ" но работает
termostat> cvavr + vmlab + proteus - плавно включает лампу по
termostat> таблице но пока без защиты от перенапряжения.
termostat> Там у меня тоже прерывания друг из друга вызываются.

Добрый день !!!
А прикрепленный файл не скачивается...
 
1 41 42 43 44 45 46 47

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru