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

 
1 39 40 41 42 43 47

hcube

старожил
★★
Для меги с ее 10-битным АЦП совершенно не критично, как соединять земли. Я лично делаю земляной полигон подо всем контроллером, НАД ним - полигон питания, питание завожу через переход между слоями, внутри полигона питания - вырез, через дырки выведена земля и размещены фильтрующие конденсаторы. Конкретно в приведенном рисунке аналоговое и цифровое питание обьединены.
Прикреплённые файлы:
sch1.gif (скачать) [18,4 кБ]
 
 
Убей в себе зомби!  
+
-
edit
 

pokos

аксакал

Andrey10> Тогда земля конденсаторов возле кварцевого резонатора будет относится к цифровому полигону.
Очень хорошо! Насчёт некритичности соединения земель, я не согласен. Надо привыкать делать хорошо сразу, потом пригодится.
 

hcube

старожил
★★
Я читал доку, там сказано было относительно этого в том смысле, что надо соединять поближе к АЦП и так чтобы сопротивление до АЦП было минимальным
Убей в себе зомби!  
Вопросы по подключению потенциометра к ЦАП микроконтроллера.
Гоги любезно нарисовал схему. Форумы Balancer`а / Image view - 222.jpg -

В даташите вроде написано (языки знаю плохо), что микроконтроллер оцифровывает напряжение ниже 2,56 вольт. Наверное есть смысл включить потенциометр последовательно с равным ему сопротивлением, чтобы при полностью вывернутом движке напряжение не вышло за предел 2,5 вольт? Что будет, если измеряемое напряжение превысит 2,56 вольта?

Обязательно ли сопротивление потенциометра 10 ком? А если взять 20, 50 или 100?
Обязательно ли подключать потенциометр к означенной на схеме ножке ADC9\int0\T0 ли можно к другим ногам?
"Вся история науки на каждом шагу показывает, что отдельные личности были более правы в своих утверждениях, чем целые корпорации ученых или сотни и тысячи исследователей, придерживающихся господствующих взглядов". В. И. Вернадский  

GOGI

координатор
★★★★
АЦП может оцифровывать напряжение от напряжения питания до нуля, в случае использования в качестве опорного напряжения питания. 2,56 это когда от внутреннего опорного.
Сопротивление может быть разным, можно взять и 20 и 50 и 100.
Можно подключить к любой ноге, к которой подключен АЦП (это ноги с обозначением ADC).
В общем широкий простор для вариаций.
1  
RU termostat #29.04.2007 23:55
+
-
edit
 
RU lenivec #05.05.2007 00:01  @termostat#29.04.2007 23:55
+
-
edit
 
Достает меня уже «дурная бесконечность» возни с неработающими программами.
Игл работать не захотел, Протеус 7.02 с сайта авр 123 тоже.
В спринт лайот 5 спроектировал платку, вытравил, напаял компоненты, собрал программатор на порт ltp (5 проводков с резисторами).

Сейчас нужна простая программа для проверки работы всего этого «добра».
Используемый микроконтроллер – attyni 26l-8 si. К ножке 20 ( порт PA0 ) подключен тестовый светодиод. К ножке 19 ( порт PA1 ) – рабочий оптрон.
Нужна простая программа –мигалка под Code vision avr C compiler или VM lab.

Усвоение теории с сайта avr 123 чего-то туго идёт и ни хрена не получается. Например команду delay_ms Code vision avr поддерживать отказывается.

Помогите! Очень нужно для нормального настроения мигание как хоть какой-то практический результат! От теоретических материалов развился черный-черный пессимизм и депрессняк :-(
Прикреплённые файлы:
 
"Вся история науки на каждом шагу показывает, что отдельные личности были более правы в своих утверждениях, чем целые корпорации ученых или сотни и тысячи исследователей, придерживающихся господствующих взглядов". В. И. Вернадский  

Yuran

опытный

.
 
Это сообщение редактировалось 05.05.2007 в 00:40

Yuran

опытный

чтобы заработала комманды delay_ms(...), необходимо подкючить заголовочный файл.

#include <delay.h>

Также в настройках проекта убедись, что выставлена правильная частота, иначе delay работать будет некорректно.
 

hcube

старожил
★★
Программируешь таймер, вешаешь на него обработчик по переполнению, в обработчике переключаешь ножку. Что сложного? Вот у меня - я понимаю, задача - мигать 128 светодиодами, да еще с ШИМ - чтобы яркость имела хотя бы 16 уровней... да еще логику обработки и приема данных...
Убей в себе зомби!  
RU termostat #05.05.2007 03:02  @lenivec#05.05.2007 00:01
+
-
edit
 

termostat

аксакал

lenivec> Игл работать не захотел, Протеус 7.02 с сайта авр 123 тоже.

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

lenivec> Сейчас нужна простая программа для проверки работы всего этого «добра».

примеров полно и в CVAVR и в VMLAB

Вот вам сделал прогу по avr123.nm.ru/z3.htm - мастером CVAVR

Переключает ножку PA0 2 раза в секунду при частоте такта 4 МГц.

=========

Используйте МК поддерживаемые VMLAB и PROTEUS - это мега 8 16 32 64 128
Прикреплённые файлы:
tiny26.rar (скачать) [14,4 кБ]
 
 
hcube> Программируешь таймер, вешаешь на него обработчик по переполнению, в обработчике переключаешь ножку. Что сложного?

То, что мне понятны только слова "переключаешь ножку" %(

И вообще ИМХО, курс авр 123 слишком оптимистично рекомендует юзать МК широким кругам любителей %(
Его по-хорошему надо начинать следующими словами:

"Никогда не пытайтесь изготавливать электронное устройство, если не имеете для этого специальных знаний, требующих нескольких лет для усвоения и закрепления.
Никогда не пытайтесь использовать микроконтроллеры даже в самых простых схемах, если не имеете профессиональных навыков работы с ними.
Потраченные многие месяцы времени на освоение основ программирования МК,нервы на освоение их и их глюков и багов, интернет на скачивание окупят себя только в случае профессионального использования полученных навыков"
"Вся история науки на каждом шагу показывает, что отдельные личности были более правы в своих утверждениях, чем целые корпорации ученых или сотни и тысячи исследователей, придерживающихся господствующих взглядов". В. И. Вернадский  
UA Southern Bear #05.05.2007 15:32  @lenivec#05.05.2007 15:18
+
-
edit
 

Southern Bear

новичок
lenivec> Никогда не пытайтесь использовать микроконтроллеры
и т.д. и т.п.
Ужас какой. Что же в них такого мегасложного? Я их куда ни попадя использую.
Был случай, не мог ТМ2 найти в закромах, а в магазин идти лень (в последствии половина схемы перекочевала в контроллер). И так от мелочей до IR-штор с определением направления и количества шастающих, smart-card хабов И это всё на любительском уровне (не по основному роду деятельности).
 
+
-
edit
 

Serge77

модератор

lenivec, могу сказать по своему опыту, как я хоть чуть-чуть научился.
Взял готовую рабочую программу (высотомер от Lioxa) и разобрался с каждым оператором с помощью книжки, всё подписал в тексте программы. Спаял схему и запрограммировал, всё заработало.
Потом начал понемногу что-то изменять в программе. Стало получаться.
Это был ассемблер. Учить С я даже не пробовал, мои мозги это слишком напрягает.
Поскольку я программирую на Basic, то перешёл на BasCom, стало ещё проще.
RU lenivec #05.05.2007 16:15  @Southern Bear#05.05.2007 15:32
+
-
edit
 
S.B.>...И это всё на любительском уровне (не по основному роду деятельности).

А основной род - наверняка электроника или программирование %(
"Вся история науки на каждом шагу показывает, что отдельные личности были более правы в своих утверждениях, чем целые корпорации ученых или сотни и тысячи исследователей, придерживающихся господствующих взглядов". В. И. Вернадский  
UA Southern Bear #05.05.2007 16:21
+
-
edit
 

Southern Bear

новичок
Основной род занятий последние 10 лет - системный администратор. До этого - геодезист. Никакого отношения к профессиональной электронике и программированию не имею. Хобби в чистом виде.
 
+
-
edit
 
Serge77>...Спаял схему и запрограммировал, всё заработало...

У меня также было с предыдущим аналоговым вариантом на реле. Спаял - работает, но плохо. Начал менять номиналы конденсаторов и резисторов удовителя - в конце концов заработало хорошо. Но тут понадобилось датчик Холла подключить...Тут я дурень вместо того, чтобы через транзиторный или тиристорный ключ к уже работающей схеме его подключать повелся на речи о микроконтроллерах %) их гибкости и перспективности...

И начался АД %(. НИФИГА непонятно %( Вот написал мне Термостат программку. Очень простая программка, однако же это всё добро НЕ РАБОТАЕТ. Выдаёт ошибки постоянно. То библиотеки аттини 26 толи неправильно указаны толи некорректны %( То ещё что-то там.
И НИФИГА непонятно с..а б...ь! Эта е...ая цепочка компьютер-программа-порт-программатор-схема совершенно непрозрачна ! В отличие от имевшейся аналоговой где тестером можно было найти причину.
"Вся история науки на каждом шагу показывает, что отдельные личности были более правы в своих утверждениях, чем целые корпорации ученых или сотни и тысячи исследователей, придерживающихся господствующих взглядов". В. И. Вернадский  
RU lenivec #05.05.2007 16:36  @Southern Bear#05.05.2007 16:21
+
-
edit
 
S.B.> ...последние 10 лет - системный администратор...

Это ключевые слова. ИМХО весьма и весьма плотное понятие о электронике и программировании приобрёл ;-)
"Вся история науки на каждом шагу показывает, что отдельные личности были более правы в своих утверждениях, чем целые корпорации ученых или сотни и тысячи исследователей, придерживающихся господствующих взглядов". В. И. Вернадский  

hcube

старожил
★★
Да все там примитивно. Самое сложное - программатор спаять ;-).

По моему, на C все-таки контроллер проще программить чем на асме или на бейсике.

Конкретно твоя проблема, решается так - сначала инитишь таймер. Допустим, тебе надо мигать лампочкой с частотой в 1 Гц.

Смотрим на описание тини 26 - ага, там есть 2 8-битный таймера.
От внутреннего генератора контроллер работает на 1.6 МГц. Делим на 256 - получается 6,5 КГц. То есть 6500. Смотрим какой прескалер перекрывает эту цифру... ага, есть такое. 8196. Ставим его. Получается, что нам надо сбрасывать таймер чаще. На значении 224. И генерировать им ШИМ. ТОгда наше мигание со скважностью 1/2 получится совершенно автоматически. Или не 1/2 - какое значение ШИМ задать....

Используем таймер1, канал B -

TCCR1B = 10001110
OCR1C = 224
OCR1B = 112 - это сравнение для ШИМ
TCCR1A = 00000001 - PWM, канал B

Тебе даже прерывания не надо делать - контроллер все за тебя сделает.

Причем каналов там 2 - установив

TCCR1A = 00000010 и OCR1A = 112 - получишь генерацию на другом канале.

Выход ШИМ - это ножки PB0-3 - прямые и инверсные выходы.
Убей в себе зомби!  
RU termostat #05.05.2007 20:31  @lenivec#05.05.2007 16:32
+
-
edit
 

termostat

аксакал

lenivec> Вот написал мне Термостат программку. Очень простая программка, однако же это всё добро НЕ РАБОТАЕТ. Выдаёт ошибки постоянно. То библиотеки аттини 26 толи неправильно указаны толи некорректны %( То ещё что-то там.

А что вы сделали и что не так ?
RU lenivec #05.05.2007 21:37  @termostat#05.05.2007 20:31
+
-
edit
 
termostat> А что вы сделали и что не так ?

Подключил программатор к ltp-порту компа и плате, подключил питание платы от компа, открыл твою програмку led pa0 в CVAVR и после проверочной компиляции нажал на "программинг".

Скиншот прилагается. Думаю, что дело как обычно в глючной программе. Хотелось бы испытать другой ltp-программатор помимо CVAVR, но не могу найти, бо не знаю какой
Прикреплённые файлы:
 
"Вся история науки на каждом шагу показывает, что отдельные личности были более правы в своих утверждениях, чем целые корпорации ученых или сотни и тысячи исследователей, придерживающихся господствующих взглядов". В. И. Вернадский  
Это сообщение редактировалось 05.05.2007 в 21:47
+
-
edit
 

Serge77

модератор

Я использую PonyProg, он бесплатный. И 5 проводков на LPT.
RU termostat #06.05.2007 01:57  @lenivec#05.05.2007 21:37
+
-
edit
 

termostat

аксакал

lenivec> Скиншот прилагается. Думаю, что дело как обычно в глючной программе.

Там же написано - ошибка, отсутствие свзяи. Проверьте правильность подключения и достаточность по avr123.nm.ru/07.htm


Зачем же вы вот это писали:

lenivec> Вот написал мне Термостат программку. Очень простая программка, однако же это всё добро НЕ РАБОТАЕТ. Выдаёт ошибки постоянно. То библиотеки аттини 26 толи неправильно указаны толи некорректны %( То ещё что-то там.

Какие библиотеки ?


lenivec> Хотелось бы испытать другой ltp-программатор помимо CVAVR, но не могу найти, бо не знаю какой

Угу... и на странице avr123.nm.ru/07.htm не написано... вот облом !

kirya

втянувшийся

lenivec> Скиншот прилагается. Думаю, что дело как обычно в глючной программе. Хотелось бы испытать другой ltp-программатор помимо CVAVR, но не могу найти, бо не знаю какой

У термостата и впрямь все написано. Читайте там есть ответы почти на все вопросы даже не касающиеся АВР. Это все не просто и это факт, что бы там не говорили. Ведь когда освоишь то и впрямь все просто кажется.
Ваш программатор нормальный. Я правда не видел вашей схемы, по по всей видимости у вас все без кварца работает, от внутреннего RC-генератора, программатор - "5проводков" STK200.
Проблема может быть в следующем: у вас не поставлены нужные фьюзы(CKSEL1,CKSEL2,CKSEL3,SUT0). Они говорят программатору что контроллер надо прошивать для работы с внутренним RC-генератором, а без них(как у вас) контроллер бумает что он от кварца работает. Я тоже как-то раз забыл об этом и прошил, даже не заметил что прошилось. Включил, а не работает и не прошивается больше. Почитал термостата, понял что надо бы кварц припаять. Все заработало. Потом я как-то раз забыл и прошил контроллер для работы от внешн.генератора, по ошибке. Когда понял в чем проблема, то пришлось купить еще один АВР и на нем сделать генератор для тактирования старого АВР, снова все заработало :-)
Не жди легкого пути, все получится если долго париться.

1)Не забывайте подать питание на схему во время программирования.
2)Попробуйте припаять кварц к ногам XTAL1,XTAL2, частота кварца скажем 3.58МГц, найдете везде.
3)установите вышеупомянутые фьюзы
4)попробуйте прошить.
5)не получится, проверьте правильность пайки, не торопитесь.
www.kirov-rockets.ru  
Это сообщение редактировалось 06.05.2007 в 05:16
AD Реклама Google — средство выживания форумов :)
RU lenivec #06.05.2007 09:08  @termostat#06.05.2007 01:57
+
-
edit
 
termostat> Проверьте правильность подключения и достаточность...

Не понял, достаточность чего?

termostat> Угу... и на странице avr123.nm.ru/07.htm не написано...

Не написано! Авреал требует для работы изготовления другого ltp-программатора

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

Жаль что эта реальная оценка трудности несколько запоздала :-)

kirya> ...2)Попробуйте припаять кварц к ногам XTAL1,XTAL2, частота кварца скажем 3.58МГц, найдете везде... пришлось купить еще один АВР и на нем сделать генератор для тактирования старого АВР, снова все заработало...

В изготовленной схеме нет места под кварц. Из этого вытекает, что изготовленная схема - брак и надо всё начинать сначала.

Постараюсь успокоится и хорошо подумать прежде чем в очередном варианте схемы юзать микроконтроллеры. В конце концов здесь они продвигаются для всякого рода сложных систем управления бортовым оборудованием, а вмоем случае "гибкость и перепрограммируемость" совершенно не нужна.
"Вся история науки на каждом шагу показывает, что отдельные личности были более правы в своих утверждениях, чем целые корпорации ученых или сотни и тысячи исследователей, придерживающихся господствующих взглядов". В. И. Вернадский  
1 39 40 41 42 43 47

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