![]() |
Микроконтроллеры AVR от Atmel.Введение
Что такое микроконтроллеры в общих чертах отлично рассказал MegaDeth (респект). Но должна быть свобода выбора.
Микроконтроллеры AVR и PIC приблизительно равны по параметрам. Но все же AVR немного лучше (с моей субъективной стороны): дешевле, производительнее, ПРОЩЕ в освоении. Например, есть такая модель ATmega8. Цена - 1,5у.е. Частота - 16 МГц. 32 8-ми битных регистра общего назначения. 1 Кб оперативной памяти. 512 байт флеш памяти, 8 Кб памяти под программу. Плюс АЦП, ЦАП и еще много полезной мелочи. И к тому же 23 линии ввода вывода. А еще можно перезаписывать программу ну почти неограниченное количество (10 000 раз). Теперь самое приятное - для его программирование кроме софта нужно лишь 5 проводков. Не надо паять никакого программатора, просто подключаем к LPT пятью проводками. Программировать лучше на С. Дока на avr123.nm.ru и там же ссылка на компилятор http://www.hpinfotech.ro/cvavre.zip Неплохой консольный программатор здесь - http://ln.com.ua/~real/avreal/http://ln.com.ua/~real/avreal/ Ссылки: atmel.com - сайт производителя, документация на английском gaw.ru - документация на русском avr123.nm.ru - отличный самоучитель. Теперь жду вопросов. И есть предложение - сделать маленький девайсик с нуля. С полным разбором каждого элемента. Ну только нужны предложения - полезные и простенькие. ПС: На AVR реализовал: систему управление температурой (обогреватель в комнате), светильник с изменением яркости в зависимости от освещение (чтобы ночью клавиатуру было нормально видно), шахматные часы, и на диплом систему поиска жучков и еще много никому не нужных мелочей. :) ПСС: Предложение для MegaDeth - можна сделать один и тот же девайс но паралельно на AVR и PIC? |
Отлично! Развивается здоровая конкуренция! :)) Как человек свято преданный пикам, AVR никогда не занимался, так что будет очень интересно посмотреть.
Для начала хотелось бы увидеть тот же "Hello, World!", как и в параллельной теме MegaDeth - несколько светодиодов мигающих с кратной частотой. Пожалуйста схему в студию, текст программы на С. Убедительная просьба давать подробные комментарии к строкам, связанным с конфигурацией контроллера. |
Далее
Все что дальше буду писать относится к микроконтроллеру ATmega8.
Надеюсь скачали компилятор (ссылка выше) и таблетку к нему. Если таблетку не найдете, то пишите – помогу. (кстати, модераторы, может разрешите мне прикреплять файлы, без этого неудобно :)). Итак, запускаем CodeVision. Создаем новый проект, дальше нас спрашивают – будем ли мы использовать мастера. Конечно, жмем ОК. Дальше в вкладке Chip выбираем наш МК, а в поле частота вводим 1 МГц (по умолчании внутренний генератор настроен именно на 1 МГц). Дальше идем на вкладку Ports – и всем линиям на порте В указываем – out. Дальше выбираем файл-генерировать, сохранить и выход. Вводим имена файлов и постоянно жмем ОК. Ухты! Как много кода сгенерировано. Но на самом деле его можна очень сильно урезать. Теперь на основе этого кода напишем программу для для мигания светодиодами. Тоесть 8 светодиодов, горят через один и раз в секунду меняются местами - эфект бегущих огоньков. Текст программы: Код:
//будем использовать МК mega8 |
Схема
http://img193.imagevenue.com/aAfkjfp..._122_532lo.JPG
какая гадость рисовать в Paint, но под рукой ничего другого нету. Квадратик красного цвета нужно повторить к каждой линии порта В - PB0,PB1,PB2,PB3,PB4,PB5,PB6,PB7 И хорошая новость, что никакой другой обвязки не надо. После подачи питание МК сразу начнет работать на частоте 1Мгц. На днях помещу программатор, чтобы можна было каждому попробовать. Пишу с расчетом на какие то минимальные знание в МК, но если будут вопросы или что-то не будет получатся отвечу. |
Зачетно! Пока все понятно. :) На счет схем: я рисую в P-CADе 2004. Помоему, если контроллерами заниматься, к его изучению все равно придешь в конце концов. Давай, presidentua, ждем продолжения! ;)
|
Согласен P-CAD нужен будет. Но сейчас в основном пользуюсь Proteus. Хотя это отличный симулятор, но принт-скрин дает отличные рисунки. Выше же его не использовал чтобы показать внешнюю обвязку полностью ( Proteus некоторые вещи сам добавляет ).
ПС: Ночью размещу программатор. Ждем-с-с-с |
presidentua, чуваккк =))) рад видеть новых микронотроллерщиков =)))))))
Цитата:
но я бы советовал резисторы воткнуть на 4,7 Ком... и вообще юзать LVP (Low Voltage Programming) я разрабатываю девайс сейчас "мигающее сердце" на светодиодах... я взял мощный контроллер с 22 линиями, чтобы отдельным светодиодом можно было управлять без заморочек с разширителями ввода вывода, ктомуже ШИМ аппаратный есть. контроллер PIC16F873A... это конечно как по мухе из пушки но я хотел деффке на денюху подарить - всеравно не успел :D кстати хороший подарок на 8 марта будет =))) я печатку 10 раз переделывал. я решил что небуду играничивать ток светодиодов резисторами, пусть ярко горят, но контроллер может не выдержать (для всего порта макс 25 Ма) светодиод один жрет 3 Ма примерно... вообще их дофига и больше но если брать слаботочные и яркие то разоришся =))) вывод - ставить транзисторные ключи... вот такая сумашедшая идея у меня =)))))))) еще у меня в задумках просто сделать Блок управления аудиомикросхемами (TDA 7313, аудиоконтроллер. по I2c управляется, регулирует громкость, бас,тембр, балланс двух своих каналов) наподобие того что у мя ща усилке но усовершенствовать надо, например экран цветной с часами и пр. в мечтах у мя собрать ЦАП и юзать цифровой звук (S\PDIF) |
Да, Мега, просторное ты поле деятельности задумал. Молодец! :)
Ты давай в пиковскую тему возвращайся! Ато переметнулся на сторону вероятного соперника, понимаете ли. :))) |
Перспективные проекты на МК
Возникла идея обсудить кого какие проекты интересуют. Что-бы хотелось сделать или посмотреть как это сделают другие :). Особенно интересна возможность применения в сфере соответствующей направленности сайта. Короче, теме нужен КРЕАТИВ! :))
Полет фантазии не ограничен! Я, например, давно мечтаю сделать робота-шпиона: машинка на колесах с камерой и микрофоном. :) |
Интересуют много интересных тем, но к сожалению на реализацию одних не хватает времени, а на других не хватает УМА.
Например: Замок на отпечатках пальцев. |
Программатор
http://www.hostpic.biz/uploads/5f47e6b9d9.jpg
Просто, не правда ли. Но к тому же я никогда не использовал ограничительных резисторов, но вам советую использовать. Линию РЕСЕТ тоже не использую - на схеме ставлю кнопочку которая заземляет РЕСЕТ, тоесть нужно программировать - нажал кнопку и потом запустил программу на ПК. Программируется при питании 5 вольт, у меня все от ЮСБ. На это вводная квази-статья о АВР закончена. Целью не было рассказать все, а лишь показать простоту и то что КАЖДЫЙ может попробывать сделать интересные девайсы и это действительно просто (почти :)). А дальше читайте специальную литературу. Ее в нете полно. Теперь жду лишь вопросов. Если будут какието проблемы спрашивайте. Пожелание тоже принимаются, только не очень глобальные :) |
MegaDeth, ты что мысли читать умеешь. Я уже месяц собираюсь сделать для девченки сердце, но никак не начну. Я хотел сделать Сердце которое стучит и мигает, но частота его "биения" зависит от расстояния к ближайшему обьекту. Тоесть если девченка подходит к сердцу, то оно начинает чаще биться. А если берет в руки, то играет какую-то мелодию. Давай обьединимся и сделаем какой-то симбиоз из наших идей, только с разными МК. Заведем тему и будем пошагово раздумывать реализацию программирование, схемы и другое. Конечно за поддержки Animal (
Цитата:
Что думаешь? |
Епт! Ничего себе ты загнул! Может для начала на i-button? :)
|
Для реализации замка на i-button надо аж где-то 10 строчек кода (при использовании стандартных библиотек). Это очень простая задача которая решается за один вечер. Другое дело отпечатки пальцев.
Я над этим много работал, хотел на диплом магистра сделать. Нашел классный датчик от фирмы Atmel - AT77101b. Датчик почти все делает сам и картинку передает через параллельный интерфейс. Дальше можем через МК передать на комп. И проводить там уже анализ картинки. Если сравнение делать по всем правилам дактилоскопии, то это очень сложная робота (очень-очень). Но что нам мешает сравнивать просто картинки, или их части. Нам не надо идентифицировать тысячи людей. Надо лишь узнать одного-двух - а это вполне реализуемо. Но меня остановило лишь наш украинский рынок радиоелементов. У меня нет таких слов чтобы его охарактеризовать. Вот такая хня. ПС: Если у кого-то есть возможность приобрести этот датчик, то очень прошу свяжитесь со мной, обговорим, расчитаемся. Буду должен до конца жизни. |
хехе. а я мечтаю сделать себе на отдельном диске подобие ИИ %-)
|
Цитата:
|
ИИ - типа искуственный интелект. :)
Это еще более грандиозная идея чем с отпечатками пальцев :))))))))))))) |
Еще идея. Подключить датчик алкоголя к микроконтроллеру и три лампочки. Повесить это устройство на воротник и идти на пьянку. Зеленый свет - трезвый. Желтый свет уже пьяный, но не очень. И красный - харе пить, а то к дому не дойдешь. :)))))))
Кстати цена устройства будет около 5 баксов. |
не, насчет "подходить" нереально. я видел что если 2 сердца подносиш к другдругу то это да... в руки берешь - сенсорные контакты делать можно, но если сделать большие по площади то оно по любой причине бедт моргать...
много нерешеных проблем с питанием. я посчитал 300Ма - батарейки 9В ненадолго хватит... можно сделать маленький импульсник (не больше спичечного коробка получается) но надо чтобы было 1000000% безопасно и никаких там 220 чтобы можно было юзать как ночник. не решен вопрос с корпусом, не подаришь же плату стеклотекстолитоваю гы =))) мелодия - куда ты ее совать будеш? ЦАП делать еще гы? кажется приятна будет если просто делать "мигалку". печатку еще уже успел неско раз переделать, хреновай я художнег :(((( |
Avr
насчет питания - может использовать ЮСБ (бесопасно), что-бы не сильно думать о экономии. Хотя там ограничение 100 мА. Тоесть нужно будет использовать экономичные светодиоды. А можна соединить к корпусу непосредственно - к контактам где 5 вольт даже при выключении компа.
Корпус: Можна плату поместить в коробку, типа подставка, а все светодиоды аккуратно на оргстекле в виде сердца. Мелодия: маленькую в МК можно поместить. Типа ряд частота и время играния этой частоты. ЦАП: можно использовать встроенный, его качества для нашей цели хватит с головой. А вот с "приближением" действительно проблема. А излучать ультразвук и оценивать время его "возвращения"? |
Цитата:
каждый светодиод 20Ма. 3,5В. подобрал в зависимости ток\яркость (от 5+в питать и резистор на 1К) из чего сделать коробку? из картона? надо чтобы все красиво было в этом случае. есть мысль с коробами широкими от проводки... помоему, такая мелодия будет сильно резать слух. если играть мелодию изменяя частоту, то цап вообще ненужен :D (или ты имелл ввиду ШИМ?) а от чего будет он отражатся? от всего! ультразвук... да это целый эхолот собирать :D :D :D |
Далее
Все таки хоч на батарейках. Ну давай прикинем время автономной роботы - пускай ставим 2 батарейки по 3000 мА/ч = 6000 мА/ч. Светодиодов приблизительно 10 шт по 5мА (хорошие светодиоды) и МК - где-то 20 мА. Что в сумме 70 мА. Пускай дополнительные росходы и получается 100 мА. Тогда, 9000/100 = 90 часов = 4 дня. Не сильно это мало? Ну тогда можно купить импульсной блок питания. Если брать от нормального фирменного телефона, то он будет безопасен. Но все же лучше исключить функцию мелодии при прикосновении.
Цитата:
Цитата:
|
модер! уважительно прошу перенести это в тему "проекты на МК..."
хорошие светодиоды - 20Ма каждый, и у меня их 52 штуки. (сердце так сердце!) а точнее два (одно вложеное, для эффекта анимации "биения") думаю и затея с сонаром извини чесна гря бредовая :rolleyes: лучше собрать второе такоеже, и в зависимости от расстояния между ними будет изменяться частота "биения" маломощные передатчики\приемники. а, вот идея реальная. сердце начинает "включатся" (мк выполнять свою работу) когда достигнут минимальный предел освящености. просто, и полезная фишка :) фотодетектор... с шимом была идея да для управления светодиодами, но надо чтобы он поддерживался он аппаратно. программный шим не прокатит... импульсник простой есть схемка, но всетаки 220... я дкмал уже питать от телефона но не подариш же ты с блоком питания фирменным свое изделие.... батарейку "крону" надо и стабилизатор 5В слаботочный... |
МК
Цитата:
Кстати, сроки поджимают - желательно успеть к Новому Году. Думаю надо в ближайшее время определятся с конкретикой и начинать реализацию. Про "эхолот" согласен - хня, хотя было бы прикольно. Ты недавно говорил что типа будет как ночник - если так то мигания надо свести к минимуму в ночное время, не очень приятно спать когда что-то мигает. |
Что я одного не понимаю - где остальные. Или МК никто не интересуется. Может у кого-то идеи. Советы. Наставления !!!!!!!! :)
Ждемсссссссс |
ВОТОНО ЧТО!!! идейа!
можно бесконечна распаралеливать перебор пассов! тоесть связать в одну систему неско мк, научить генерировать и сравнивать хэши... не совсем уверен еще в реальности её реализации, но всетаки... чем проще устройство - выще производительность. если МК с этой задачкой справятся будет очень хорошо..... |
?
Цитата:
Хотя кто-его знает. Вот если бы сделать всю операцию по перебору на дискретных компонентах. И запустить с частотой хотя-бы 16 МГц - то получится 16 милионов паролей в секунду. Что очень класно. Правда? И очень дешево. :) Про сложность реализации не знаю. Надо почиать документацию по хешированию. |
Раньше писал про датчик алкоголя. Купил МК AVR Mega8L=1,5у.е и сам датчик MQ-3=3у.е. Сейчас собираю схему. Она очень простая - буквально несколько элементов. К концу недели соберу и протестирую ( и как тут не выпить :) ) и опубликую. Но пока не начал програмную часть реализовывать может у кого-то есть идеи применения
Одна из идей (спешиал фо френд): присоединить к входной двери и не пропускать трезвых или без ПИВА :) |
Как много вопросов у новичка возникает! И как говорится лучше раз увидеть чем сто раз услышать, поэтому снял видео о том как юзать МК фирмы Атмел.
Хотелось показать, что ничего сложного в этом нет. А есть только много интересного! http://slil.ru/25238590 |
давно хочу заняться изучением да руки не доходят. брат двоюродный работает на заводе - постоянно имеет дело с мк, советует Msp430 от Ti - сверхнизкое энергопотребление, 16тибитные высокопроизводительные, ассемблер близок к асму Pdp-7 (кто кодил для БК0010 знает его).
|
Лучше пойти от простого к сложному. Помоему не стоит сразу хвататься за 16-ти битные контроллеры, а взять что нибудь простое и дешевое (чтоб сжечь не жалко было) из восьмибитных. Все равно все и всегда начинают с мигающих светодиодов! :)
Передо мной и до сих пор еще не вставала задача, для решения которой мне бы понадобилась производительность 16-битных. :) pdp-7 ни о чем не говорит, но применение программирования на асме для такого камня нецелесообразно, помоему опять же. :( Ну, вообщем, дерзай! О достижениях - расскажешь. :) |
Согласен с Animal. Лучше начинать с 8 битных. Хотя если у него брат в этой сфере занимается и будет контролировать первые шаги, то можна и с 16-битных. Хотя я тоже пока не вижу смысла их внедрения в производство...
|
ну может для начала они и дороговаты (хотя младшая модель и нас в Кирове вроде около 100р стоит)
за то для крупных проектов какие преимущества: сверхнизкое потребление (от 200 до 350 микроампер в активном режиме для младших и старших моделей соответственно), менеджер питания с 5ю режимами энергосбережения, высокая производительность, и т.д. если неохота искать описание http://slil.ru/25319239 |
to kostolana
Заинтесовало описание, от подробностей бы не оказался, а лучше б кратенькое видео. Мож сделать? |
Цитата:
|
Цитата:
ну что то в этом роде :) |
в связи с тем что у брата инет ток на работе, выкладываю что нашол у себя.
Микроконтроллеры MSP430 имеют очень простую в освоении систему команд с малым числом инструкций. Кроме ассемблера, писать программы можно также на языках Си, Паскаль и Форт. Texas Instruments для первоначального ознакомления и начала работы с MSP430 выпускает стартовые наборы FET (Flash Emulation Tools), укомплектованные необходимым программным обеспечением, которое к тому же свободно доступно для загрузки на сайте производителя. Средства программирования и отладки выпускаются и сторонними разработчиками. Доступны также полноценные бесплатные компиляторы Си. На текущий момент создано большое количество средств разработки и отладки программ для MSP430. Среди них — как коммерческие продукты, так и бесплатные свободные для загрузки через Интернет программные средства. Для того чтобы начать работать с микроконтроллерами MSP430F, достаточно приобрести стартовый набор FET (Flash Emulation Tools), выпускаемый для всех типов микроконтроллеров семейства. В состав набора, как правило, входит отладочная плата с панелькой для установки микроконтроллера, пара контроллеров соответствующего типа, комплект документации на CD и программное обеспечение. ПО содержит внутрисхемный JTAG-эмулятор, ассемблер, компоновщик, программный эмулятор и ограниченную версию Си-компилятора компании IAR. Доступна также библиотека программ для вычислений с плавающей точкой. В то же время схема отладочной платы и программное обеспечение отладочного набора, а также схема и ПО последовательного загрузчика доступны для свободной загрузки на сайте Texas Instruments. Схемы очень простые и могут быть легко воспроизведены своими силами. Средства разработки и отладки предлагаются также сторонними разработчиками, список которых можно найти на сайте Texas Instruments. Особый интерес для российского инженера могут представлять бесплатные свободные для загрузки программные средства, а именно IDE430 (до апреля 2002 носил название MSP430 C Compiler) и MSPGCC. IDE430 IDE430 — это интегрированная среда разработки программ для MSP430 на языке С. Скриншот программы представлен на рис. 3. В состав IDE430 входят компилятор С, редактор с подсветкой синтаксиса, менеджер проектов и другие инструментальные средства. Компилятор, входящий в пакет, представляет собой узкоспециализированный компилятор С, который генерирует чрезвычайно быстрый и компактный код на ассемблере TI/IAR MSP430. MSPGCC Инструментарий GCC для MSP430 (http://mspgcc.sourceforge.net) представляет собой набор программных модулей, позволяющий добавить MSP430 к списку целевых платформ пакета GCC (GNU Compiler Collection), при этом разработка может проводиться как в среде Unix (Linux, Free BSD, Open BSD и др.), так и под DOS/Windows. Набор утилит Binutils также был пополнен ассемблером, компоновщиком и конвертором объектных файлов для MSP430, при этом обеспечена полная совместимость ассемблерной мнемоники с форматом TI, а команды управления и имена сегментов сохранены в стиле GNU. Из GCC был портирован компилятор С и частично С++. GNU C — это полнофункциональный компилятор, совместимый с ANSI C98, поддерживающий различные уровни оптимизации, встроенный ассемблер, операции с плавающей точкой и т. п. В рамках проекта MSPGCC были портированы также базовые библиотеки С, такие как libgcc и crts. Недавно стал доступен двоичный инсталлятор для Windows, который можно загрузить по адресу http://www.mikrocontroller.net/msp430.en.htm. схема программатора для MSP430FXX http://slil.ru/25328827 |
Самая последняя инфа:
http://focus.ti.com/paramsearch/docs/parametricsearch.tsp?familyId=342§ionId=95&tab Id=1200&family=mcu Русские сайты, поэтому не сама последняя: http://www.compel.ru/catalog/microcontrollers/msp430/user_guides http://stock.planar.ru/html.cgi/txt/app/micros/msp430/index.htm http://stock.planar.ru/html.cgi/txt/doc/micros/msp430/index.htm самый простой MSP430F2001 стоит от 30руб . среда программирования от Phyton (ASM и C): http://www.phyton.ru/cp1251/description/msp430.shtml страдает, как и их программатор незнанием семейства MSP430F2xxx (во всяком случае, когда качал последний раз) на сайте www.TI.com была среда от IAR Embedded Workbench, то есть должна знать все семейства MSP430. |
presidentua: ты не мог бы выложить опять видео, файл уже удален...А вообще надо возраждать тему, что-то она загнулась
|
Цитата:
Рад за тебя что ты этим заинтерисовался, это довольно таки перспективная область в будущем. Сколько сейчас розвелось ПХП-кодеров... а сколько МКашников... Ну это мое ИМХО. Вот ссылка на два видео... http://rapidshare.com/files/113972306/video.rar.html (4 МБ) С удовольствием отвечу на все вопросы! |
| Время: 06:49 |