Краткий Курс - программирование AVR - часть VII

 
1 2 3 4 5 6 7 12
RU termostat #12.09.2005 15:11
+
-
edit
 

termostat

аксакал

предыдущая 6-я часть целиком по ссылке:
Форумы Авиабазы
Откройте и сохраните на своем ПК предыдущие части топика кнопкой "версия для печати"


Краткий Курс AVR начинающим - тем кто хочет применить микроконтроллер (МК) в своем
электронном устройстве - но не знает как сделать первый шаг, с чего конкретно начать".

Сайт - avr123.nm.ru

Главное на первой странице !!! - Обязательно читатйте первую страницу Курса он-лайн!
там ключ ко всему курсу и последние изменения.


Вы можете скачать "Краткий Курс AVR с нуля" одним файлом
h--p://avr123.nm.ru/avr123.nm.ru.rar
(1006 Кб - архив сентябрь 2005 года)

Качайте, читайте, программируйте.


FAQ AVR - к курсу h--p://avr123.nm.ru/AVRFAQ.rar (103 кб)

Многое уже спрашивали, там есть ответы!


Если вы начинающий:

- используй МК ATmega16 (-32 -64 -128)

- лучший (на мой взгляд) для начинающего
компилятор Си для AVR CodeVisionAVR.

Дистрибутив содержит папку 'example' с великолепными примерами!


Проверить работу вашего устройства, не покупая радио
деталей (эл. копонентов) и без пайки, можно с помощью -
софт симулятора (почти эмулятора) для AVR:

VMLAB (маленькое чудо - помоему) от AmcTools.com

я видел его здесь: lord-n.narod.ru/walla.html

Там же куча книг в электронном виде для начинающих, и

Книга "Исскуство схемотехники" Хоровиц Хилл - оно вам НАДА!!!


СкринШот и "рыба" (Шаблон) для совместной
работы CodeVisionAVR и VMLAB.
Форумы Авиабазы
http://forums.airbase.ru/uploads/post-833-1112014456_thumb.jpg [image link error]

RU termostat #12.09.2005 15:13
+
-
edit
 

termostat

аксакал

Примеры применения МК - главное Схемы ! теория ! и практика:

"AVR 8-Bit RISC - Application Notes"
atmel.com/dyn/products/app_notes.asp?family_id=607

"Проекты на Микроконтроллерах - рус."
telesys.ru/projects.shtml

"PIC - Application Notes" > 800 штук !
microchip.com/1010/suppdoc/appnote/alpha/index.htm


Приобрести МК и все эл. компоненты,
ГОТОВЫЕ эл. наборы Velleman

можно почтой в интернет магазине компании ПЛАТАН (Platan.ru),
там же скачать документацию на различные эл. компоненты.

Узнать о ценах и наличии эл. компонентов
можно на REL.ru и eFind.ru

ГОТОВЫЕ эл. наборы MasterKit.ru
На сайте есть схемы и некоторые прошивки!

pokos

аксакал

Тут пришла новость от Тексаса:
MSP430 Ultra-Low Power Microcontrollers:


TI Launches Massive MCU Portfolio Expansion with Industry's Smallest,
Lowest Power Devices

TI announces a massive expansion of the MSP430 ultra-low power
microcontroller (MCU) platform with plans to add over 50 new devices in
the next 18 months. The first devices introduces TI's smallest, lowest
power MCUs ever - the MSP430F20xx MCU series - which offers a tiny
14- pin, 4x4mm footprint and 16 million instructions per second (MIPS) of
16-bit performance. For more information on TI's MSP430 MCU platform
expansion and the new MSP430F20xx devices, visit
http://www.ti.com/msp430expansion.

Говоря простыми словами - новая серия маложрущих 16-ти битных контроллеров для нижнего сегмента цены. Сахер немеряный.
К тому же, в последнем девайсе АтМега8 у меня жрёт 30мА при необходимости бестрансформаторного питания от сети. Через это уже хлебнул горя....
Вощщем, как только новая серия станет доступна живьём, перехожу на неё.

Всем творческих успехов!
 
RU termostat #13.09.2005 17:47
+
-
edit
 

termostat

аксакал

SAA ! прекрасный челендж для тебя! и возможность двинуть эмбедерство в массы.

Я придумал как сделать юзер-модель конденсатора не связаного с землей!

Может ты запрограммируешь это?

=====

Итак модель имеет 3 контакта А В Д - нарисуй на бумажке.

В проекте VMLAB моделируемый конденсатор (емкость - С) это вывод А компонента и узел схемы - например net01.

от узла net01 идет резистор R1 минимально возможный в VMLAB - напрмиер 0.1 Ом к В.
и от узла net01 идет резистор R2 любой - напрмиер 1 Ом к Д.

Итак юзер компонент измеряет напряжение на резисторе R1 - это значит между точками В и Д и получает ток протекающий через конденсатор!

Интегрирует ток по времени получает заряд накапливаемый в конденсаторе и делит его на задаваемую в окошке (лучше бы в строчке проекта при объявлении компонента конечно!) ёмкость конденсатора - получается текущее значение напряжения на конденсаторе - оно выводится на клемы А и В.

Суммировать по времени (типа интеграла) вот такие элементарные изменения:

Дельта (напряжения АВ) = ((напряжение ВД) * (дельта времени))/(C * R1)

дельта времени - наверно 1 клок процессора AVR - доступен он программисту?

Вроде ограничения на "юзер компонент" не нарушаются:

Any analog/digital subsystem, with the following restrictions:

· Infinite impedance in inputs, either analog or digital. Current flow through pins is not
allowed in this release.

· Analog outputs will be clamped to the VDD - VSS values.

· Analog outputs cannot be a function of analog inputs at a given time.
а к контактам


R2 только для выполнения условия VMLAB не соединения двух узлов схемы напрямую.

RU termostat #13.09.2005 17:48
+
-
edit
 

termostat

аксакал

Аналогично можно создать модель диода оторваного от земли - хотябы идеального - обратный ток 0, примой 0 до 0.7 вольт и далее любой ток а напряжение 0.7 вольта.

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


Можно и индуктивность но она в схемах редко используется в местах требующих симуляции.


Во я губу раскатал!

еще б забацить вводилку цифрового сигнала из .wav файла закэпченого звуковой картой. т.е. компонент имеет кнопку "проиграть" (а лучше несколько) и при нажатии выводит цифровые данные на 16 выходов компонента - а там их ждет описаный в файле проекта VMLAB простой резисторный ЦАП, конденсатор на землю и ножка МК.

SAA

втянувшийся

termostat> Может ты запрограммируешь это?
termostat> =====

Попытаюсь только мне нужно совершенно четко представлять что делать.

termostat> Итак модель имеет 3 контакта А В Д - нарисуй на бумажке.


Т.е. именно в файле компонента должно быть описано 3 контакта. Но я понял что резисторы ты используешь для соединения потому что VMLab по другому не может подключаться. Тогда каким образом они влияют на компонент конденсатора который нужно запрограммировать? Так что излагай по порядку, в виде:

Нужно сделать так:

Описать в userlib в файле capacitor.cpp столько то входов и выходов аналогового типа.....
 

Yuran

опытный

To Termostat. не подскажешь, в архивах у тебя не лежат примеры для AVR c поддержкой стека IrDA и схемка =) Хочется пока делаются платы подумать над возможность, также сделать устройство, чтобы можно было в КПК через IrDA перегонять инфу с приёмника и GPS'a. Хотябы почитать пока, что для этого нужно =) Всё равно первый рабочий вариант расчитан на бук =)
 
RU termostat #22.09.2005 19:10
+
-
edit
 

termostat

аксакал

Вот сдесь есть исходники

http://blaulogic.com/pico_irda.shtml

вот еще

infrared

и в Апликухах Атмел для АВР есть пример

и вот вот вот вам....

Инфракрасный протокол связи - IrDA (рус)



MCP2120 Infrared encoder/decoder

Microchip Technology Inc. is a Leading Provider of Microcontroller and Analog Semiconductors, providing low-risk product development, lower total system cost and faster time to market for thousands of diverse customer applications worldwide. там описания и апликухи

TI1000 Standalone IrDA
encoder/decoder
Texas Instruments, Inc.
(800) 336-5236
Analog, Embedded Processing, Semiconductor Company, Texas Instruments

TOIM4232 SIR Endec for IrDA
applications
Vishay Semiconductor GmbH
Vishay - manufacturer of discrete semiconductors and passive components

ZHX1810 Slim series SIR
transceiver
Zilog.com



IrDA IR transceivers
Agilent Technologies, Inc.
Agilent | Looking for Semiconductor Products Information?

Infineon Technologies AG
Infineon Technologies

Rohm, Co., Ltd.
ROHM Semiconductor - ROHM Co., Ltd.

Vishay Semiconductor GmBH


Zilog, Inc.
http://www.zilog.com/products/parts.asp?
id=ZHX1810
Это сообщение редактировалось 22.09.2005 в 19:53
RU termostat #24.09.2005 13:05
+
-
edit
 

termostat

аксакал

неожидано нашел лекрство для великолепной рисовалки схем- авторазводилки плат EAGLE последней версии 4.15

Классно что при выборе компонентов в библиотеках появляется его условное изображение для схемы и платы и краткое описание - сразу ясно что ставить.

Качайте с cadsoft.de

и лечите вот этим
Прикреплённые файлы:
 

GOGI

координатор
★★★★
А лекарство точно помогает? А то там написано для 3.13-3.15

1  
RU termostat #24.09.2005 16:05
+
-
edit
 

termostat

аксакал

Дак это я ж написал то! я архивчик зарарил. У меня помогло для 4.15

а когда его скачивал на нем было написано - пилюля для 4.13

SAA

втянувшийся

Про конденсатор то что решил? Я ведь так и не понял изложения.

 
RU termostat #28.09.2005 13:51
+
-
edit
 

termostat

аксакал

Пользовательский компонент для моделирования "плавающего" конденсатора имеет:

3 входа: in1 in2 in3

2 выхода: Out1 Out2

плюс 7 резисторов и Операц.Усилитель (ОУ) в проекте VMLAB.

Когда в следующей реализации VMLAB пользовательский компонент сможет потреблять ток - внешние компоненты станут не нужными.

=====

Так как модель ОУ в VMLAB идеальная и резисторы R2-R5 равны то
напряжения относительно напряжения в точке F будут:

CA = Out1 - Out2

F - это виртуальная земля диф. усилителя на ОУ с коэф. усиления -1

=====

Плавающий моделируемый конденсатор имеет выводы CA и CB

1) в начале симуляции конденсатор разряжен и на Out1 и Out2 нужно вывести одинаковое напряжение - по 2.5 вольт - т.е. напряжение на CA будет равно напряжению в F и практически равно CB

2) компонент измеряет разность напряжений in2 - in1 и делит ее на сопротивление 0.1 Ом (т.е. реально умножает на 10) получается ток через конденсатор.

3) интегрируя ток по времени определяется накопленый заряд в конденсаторе в кулонах.

4) поделив накопленый заряд на емкость конденсатора вычисляет напряжение V на его обкладках

5) НЕ ОБЯЗАТЕЛЬНЫЙ - затем учитывается падение напряжение на токоизмерительном резисторе:
V = V + CB - F; или V = V + in1 - in2;

6) вычисленное напряжение V на конденсаторе выводится в виде разности напряжение между Out1 и Out2

Out1 = 2.5 + V/2;
Out2 = 2.5 - V/2;

ВСЁ ! теперь между обкладками моделируемого конденсатора CA и CB напряжение V


R2 - R7 по 100 кОм

in3 опциональный и позволяет проверить соответсвует
выполняется ли равенство:

in3 - in1 == CA - CB == V

Прикреплённые файлы:
 
Это сообщение редактировалось 28.09.2005 в 15:59

SAA

втянувшийся

Уххх! Слушай а он нужен так сложно исполненый? Нельзя ли попроще, пусть существует cap user defined компонент имеющий только две ноги, обе аналоговые, двнуаправленные по классификации VMlab. И от этого плясать, т.е. цепялем компонент в проект, есстесвенно на его ногах появляется какая то разность потенциалов, раз есть разность потенциалов есть ток протекающий от меньшего к большему, интегрируем ток по времени, каждый раз снижая потребление экспоненциально. Или я чего то не понимаю?
 
+
-
edit
 

Shurka

новичок
Друзья. вчера попал в неловкую ситуацию....
в общем ищу второй день кодвижнАВР леченый и нормальную версию...
может кто чем поможет... знаю, что тема избитая на этом форуме... но люди, будте милосердны...
2 termostat - у меняесть компилятор msp430 ... да и в руках я эти железки держал.... там корпуса совсем мелкие....если нужен компилятор - могу выложить
 
RU termostat #29.09.2005 12:19
+
-
edit
 

termostat

аксакал

SAA >
раз есть разность потенциалов есть ток протекающий от меньшего к большему
 


в розетке тоже разность потенциалов, но ток не течет пока ты его потреблять не начнешь подключив что-то.

Как ты ток измеришь? Через что и Куда он у тебя течь будет?

=======

Моя идея такая: измеряем ток через измерительный резистор, вычисляем напряжение между обкладками и создаем его с помощью диф. усилителя с плавающей землей.

Без ОУ не могу обойтись, потому что я не знаю какое в начале симуляции напряжение должно быть на обкладках конденсатора, знаю только что между ними 0.

А где будет конденсатор в начале симуляции определяют другие компоненты схемы. Еслиб это напряжение было известно то ОУ был бы не нужен, а потребовался лишь 1 внешний токоизмерительный резистор.

=======

Он не сложный вобщем-то - "юзер компонент С" это то что красным на рисунке, необходимы 2 входа и 2 выхода. 3-й вход и R7 не обязательны.

Есмкость можно в проекте .prj задавать, так что графическое изображение в "контрол пэнел" не нужно.

Математика тоже не ахти какая - всего 5 пунктов.

=======

"Плавающий" конденсатор очень нужен когда моделируешь фильтр какой нибудь. Нужно не более 3-4 в устройстве.

А ограничений на колич. ОУ и резисторов в проекте VMLAB не накладывает.


\\\\\\\\\\\\\\\\\\\\\\\

Shurka >
ищу второй день кодвижнАВР
 


Вот там спроси пожалуйста:

Телесистемы - миниатюрные аудио и видео устройства

Телесистемы - миниатюрные аудио и видео устройства

// telesys.ru
 


регистрация не треба!

Только в просьбе сразу свое мыло укажи!

SAA

втянувшийся

termostat> [/QUOTE]
termostat> в розетке тоже разность потенциалов, но ток не течет пока ты его потреблять не начнешь подключив что-то.
termostat> Как ты ток измеришь? Через что и Куда он у тебя течь будет?
termostat> =======

Ты не ругайся, а действуй конструктивней, я бы тоже от модели конденсатора не отказался но не такой ценой, конечно как ты предлагаешь - это крайне неконструктивно. Тебе принцип "бритвы Окама" напомнить?
Как реализуются конденсаторы в других симуляторах? Ведь сопротивление конденсатора (активное = бесконечности) значит и в тех симуляторах ток через конденсатор не посчитать. Но как то же эммулируют.

termostat> Моя идея такая: измеряем ток через измерительный резистор, вычисляем напряжение между обкладками и создаем его с помощью диф. усилителя с плавающей землей.
termostat> Без ОУ не могу обойтись, потому что я не знаю какое в начале симуляции напряжение должно быть на обкладках конденсатора, знаю только что между ними 0.

Почему не знаешь? В начале симуляции есть возможность запросить потенциал на любой ноге юзер компонента.

termostat> А где будет конденсатор в начале симуляции определяют другие компоненты схемы. Еслиб это напряжение было известно то ОУ был бы не нужен, а потребовался лишь 1 внешний токоизмерительный резистор.
termostat> =======

Объясни мне почему напряжение не известно? Только спокойно и обстоятельно.

termostat> Он не сложный вобщем-то - "юзер компонент С" это то что красным на рисунке, необходимы 2 входа и 2 выхода. 3-й вход и R7 не обязательны.

Я понимаю несложность юзер компонента, при всей его несложности, сложность его реализации в проекте потрясающая. Если не будет другой возможности можно будет действовать как этого хочешь ты. Но городить такой огород из за кондера.... Должен быть выход.

termostat> Есмкость можно в проекте .prj задавать, так что графическое изображение в "контрол пэнел" не нужно.

Это вопрос, я не совсем кстати понимаю, можно ли обойтись вовсе без нее, и каким образом? Не описывать в .rc?

termostat> Математика тоже не ахти какая - всего 5 пунктов.
termostat> =======

Испугал бабу голым ....! Не о математике я тебе говорю, меня и матрицы не пугали бы, если бы мы вдруг в комплексные вычисления полезли бы.

Просто ИМХО инструментом можно пользоваться лиш до тех пор пока он твои действия сковывать перестанет. А так получается куча эммуляторов существует с теми же возможностями почему тогда именно VMLab. К примеру Proteus. Мне так же как и тебе нужны и кондеры и другие аналоговые устройства, вплоть до транзистора. Но если все это будет через терни к звездам, то может лучше вообще самому все написать ;) вплоть до симулятора. Кстати у этой компании же есть далеко идущие планы, так вот что они там пишут?

termostat> "Плавающий" конденсатор очень нужен когда моделируешь фильтр какой нибудь. Нужно не более 3-4 в устройстве.

Ну почему только фильтр?
 
RU termostat #30.09.2005 11:35
+
-
edit
 

termostat

аксакал


SAA >
Ты не ругайся, а действуй конструктивней
 


Нет я не ругаюсь ни в коем случае. Я просто пример привел с розеткой для наглядности того что разность потенциалов и есть разность потенциалов, а ток возникает когда разность потенциалов приложена к тому через что может протекать ток.

Так как юзер моделям в VMLAB запрещено потреблять ток то нужен внешний токоизмерительный резистор.

======

Вобщем нужно запрограммить всего-то, что обведено красным на рисунке

SAA >
как ты предлагаешь - это крайне неконструктивно.
Тебе принцип "бритвы Окама" напомнить?

Как реализуются конденсаторы в других симуляторах?
 


Я не знаю как сделать иначе.

В других симуляторах нет ограничения по непотреблению тока.

SAA >
Ведь сопротивление конденсатора (активное = бесконечности) значит и в тех симуляторах ток через конденсатор не посчитать. Но как то же эммулируют.
 


Конденсатор славится имеено своим РЕАКТИВНЫМ сопротивлением которое тем ниже чем выше частота. Соответсвенно ток через конденсатор зависит от скорости изменения напряжения на нем.

Зависимости я в посте выше написал.

termostat: Без ОУ не могу обойтись, потому что я не знаю какое в начале симуляции напряжение должно быть на обкладках конденсатора, знаю только что между ними 0.

SAA: Почему не знаешь? В начале симуляции есть возможность запросить потенциал на любой ноге юзер компонента.
 


Ну например к одному концу конденсатора подключены 2 резистора по 10 кОм на +5 и на землю а к другому концу 10 кОм на землю.

Какое напряжение ты запросишь в начале симуляции? и кто в начале симуляции виртуально замкнет концы конденсатора чтоб VMLAB мог просчитать что ЕСТЬ конденсатор и через него течет ток?

Я вижу такой "замыкатель" в виде диф. ОУ с плавающей землей.

Я не говорю что нельзя по другому сделать, я просто так придумал, если кто придумает с меньшим колич деталей то я ЗА !

Мне хочется модель правильно работающую - какой она будет не суть важно.

SAA >
Но городить такой огород из за кондера...
 


Дак мы городим ТАКОЙ огород из за ограничения на юзер компонент.

SAA >
Должен быть выход.
 


дождаться новой версии VMLAB где компонент сможет потреблять ток.
и надеятся что лекарство будет доступно.

SAA >
Это вопрос, я не совсем кстати понимаю, можно ли обойтись вовсе без нее, и каким образом?
Не описывать в .rc?
 


Не описывать, ведь ни какая графика и чек боксы не нужны, а емкость задавать как параметр при объявлении в проекте.

termostat: Математика тоже не ахти какая - всего 5 пунктов.

SAA: Испугал бабу голым ....! Не о математике я тебе говорю
 


SAA >
Мне так же как и тебе нужны и кондеры и другие
аналоговые устройства, вплоть до транзистора.
 


Мне нужны именно конденсаторы плавающие, потому что резисторы есть а спомощью их и ОУ можно слепить почти что угодно.

Диод еще плавающий сделаем.

SAA >
может лучше вообще самому все написать вплоть до симулятора.
Кстати у этой компании же есть далеко идущие планы, так вот что они там пишут?
 


Я просто другим занимаюсь.

А так хороший бизнес был бы написать такой симулятор для
популярных ARM7 ARM9 - щас это в тему было бы.

bsdk

новичок
Привет всем ! Я тут в первый раз и в програмирование чайник полный
но желающий от этого избавиться .
У меня есть тема только не знаю с какого конца начать.
Сделать систему 5.1 с электро частью проблем нет все решаемо
а с МК и прогой пипец уровень не тот. Если интересно подскажите.
 
RU termostat #30.09.2005 15:34
+
-
edit
 
RU termostat #01.10.2005 02:44
+
-
edit
 
RU aleksakfima #01.10.2005 15:22
+
-
edit
 

aleksakfima

новичок
День добрый... хотя для меня он очередной не добрый... :(

Господа не могли бы вы подсказать мне, что делать в следующей ситуации...

Вот уже неделю бьюсь над тем, чтобы запрограммировать контроллер AtMega128 и результат нулевой...
Собрал уже 2 платки соответственно с 2-мя контроллерами...
Пытался программировать( ну т.у. пытался подключиться хотя бы) с помощью 5-ти проводков от LPT и с помощью фирменного AVRISP во всквозможный программах... результат один - это полное отсутствие результата...
Подключение проверено и перепроверено, сверено с ДатаШитом ...
Питание подаётся и распределяется... когда подключаю AVRISP на SCK 0 и на Reset 0 ... всё вроде нормально... пытаюсь считать хоть что то т.е. хоя бы сконектиться... ответа нет... в конце концов стал проверять все осциллографом...(к сожалению не могу проверить схему 5 проводков т.к. осциллогроф у меня подключается к LPT ав НоутБуке LPT нету...) так что тестировал только в режиме программировани через AVRISP....
Снял сигнал с MOSI(ну в смысле не с порта MOSI, с порта PE0 т.к. именно через этот порт надо подключать MOSI согласно ДатаШиту в случае последовательного программирования mega128) в момент попытки подключения... сигнал полностью соответствует коду запроса на программироапние...(картинку приложил).
Затем стал проверять MISO .... никаких сигналов не обнаружил :(
И тут решил проверить SCK... какого же было моё удивление, когда и на SCK, в момент отправки сигналов на MOSI, пусто т.е. 0мВ ууууу что же это, что же это... неужели неисправен AVRISP я ведь его только позавчера приобрёл....
Дальше я возможно очень туплю(ну уж простите меня я уже неделю бьюсь над в общем то простой задачий и крышу сносит от того что чтолько время потрачено в пустую).. так вот как мне проверить кварц... я его подключил по стандартной схеме(XTAL1 - XTAL2) + 2 конденсатора... тыкал тыкал в него осциллографом никакой генерации импульсов не заметил.... отсюдо вопрос как проврить правильность работы кварца.... я конечно понимаю, что mega128 не должна работать от внешнего генератора, а должна от внутреннего на ч-те 1Мгц... но этого не происходит... вот и теряюсь в догадках....

Помогите советом, очень нужно.... а то уже готов наложить руки ... :) на контроллер...

Всех благ, Алексей.
Прикреплённые файлы:
 
 
RU termostat #01.10.2005 18:12
+
-
edit
 

termostat

аксакал

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

Прочитай пожалуйста внимательно стр. 7 моего курса.

И сделай все нужные для программирования соединения заново.

"5-проводков" работают точно.

======

Кварц не должен работать ведь с завода у всех МЕГ помоему
включен внутренний RC-генератор.
Это сообщение редактировалось 01.10.2005 в 18:35
+
-
edit
 

Yuran

опытный

termostat> Кварц не должен работать ведь с завода у всех МЕГ помоему
termostat> включен внутренний RC-генератор. [»]

Да ты прав. У всех Мег у которых он есть =) но не у всех AVR'ок =)

 

bsdk

новичок
Привет! Система 5.1 применяется в домашних кинотеатрах и везде где есть выход 5.1 Это 5 сателитов и сабвуфер и усилки к ним и все управляется контроллером через регуляторы уровня и баланса вуфер отдельно вот с
управлением проблема желательно что бы с ПДУ и выводом уровней на LCD или на экран TV. Вот.
 
1 2 3 4 5 6 7 12

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