Программирование BASCOM
Меню сайта
Категории каталога
Мои статьи [115]
Наш опрос
Оцените мой сайт
Всего ответов: 1292
Главная » Статьи » Мои статьи

USB & PWM
В предыдущих статьях можно прочитать о том, как с помощью микроконтроллера AVR и языка Bascom подключить к компьютеру через USB много полезных вещей - термометры, лампочки, кнопочки, ЖКИ, реле, RC5 и даже светомузыку. Данный материал помогает сделать ещё один шаг - использовать ШИМ(PWM) для своих нужд. 



Для чего можно использовать ШИМ, я надеюсь объяснять не надо. Есть много заумных статей, в которых расписано и как этот ШИМ работает, и что с ним полезного сделать можно. Цель этой заметки - не повторить то, что можно и так найти, а показать возможность реализации встроенного ШИМ с помощью BASCOM с возможностью управления через USB.

В качестве подопытных использовались 2 популярных контроллера семейства AVR - Atmega8 и Atmega48. На первом реализован 3-канальный ШИМ, на втором - 6. Управляющие программы написаны на VBNET(2008 студия). Ничего заумного в них нет - только слайдеры с помощью которых изменяется ШИМ в каждом канале. 



Можно поставить RGB диоды и сделать лампу настроения, можно повесить через драйверы кулеры и управлять ими, а можно...
Если найдёте, что с этим можно делать или как скрестить с предыдущими проектами - просьба делиться с другими.
Схемы не привожу преднамеренно, т.к. это не законченная конструкция, а заготовка для других. Пины, к которым подключены данные от USB и выходы PWM, легко находятся в прокомментированном коде для контроллера.


Удачи!

Категория: Мои статьи | Добавил: bascom (20.11.2010)
Просмотров: 9453 | Комментарии: 29
Всего комментариев: 291 2 »
27 CverG  
0
А где бы скачать программку bascom 2.0.4 или 2.0.2 там есть файлик m48pdef.dat, что то мне подсказывает что он именно от этих чипов. не мог бы кто хотябы его выложить и сюда ссылочку кинуть. Я думаю 1.11.9.8 должна будет его понять. и судя по этому http://bascomavr.3bb.ru/viewtopic.php?id=415 он там точно есть. smile зарание благодарен.

28 bascom  
0
m48pdef.dat
Такого файла в версии 2.0.4.0 нет!
И в более ранних тоже! Есть m88pdef.dat, не знаю, подойдёт ли он.
И ещё, откуда информация о DEVID=1E920a, с какого документа?

29 CverG  
0
Боюсь, что это всё же не из документа, а по анологии с AVRDUDE.conf. На сколько я понимаю это единственная строка отведственная за сигнатуру чипа. с 88р ещё не пробовал. Пользуюсь программатором AVRDUDE USB собраннам на меге8. Так же есть собранный AVR910 USB, на той же меге8. Так вот пока я не поправил эту строку "DEVID" в которой коментарий ; device ID, (и что это может быть как не сигнатура чипа?!) чип вообше никак не определялся

26 CverG  
0
Извеняюсь за ложную информацию. sad а ШИМ то на самом деле не работает. я на радостях написал что всё хорошо пришёл домой а тут это же устройство просто весит программу на компе и всё тут. так что боюсь исторя на этом не закончилась

23 CverG  
0
Усё! хорошие новости. прошил AVRDUDE и заработало, но только с обвязкой на стабилитроних. smile надеюсь моя борьба с этими чипами кому нибудь поможет smile

24 bascom  
0
Тоесть ШИМ работает?

25 CverG  
0
Т.Е. Всё устройство целиком работает. Для этого я с провленным файликом библиотеки m48_PA_def.dat сделал HEX файл, а потом залил его в чип с правленным avrdude.conf с помощью avrdude. устройство полноценно заработало, но только с обвязкой на стабилитронах(питание контроллера +5v) на других обвязках устройство не определилось. все 6 коналов ШИМ работа. хорошо программу с ПК слушаються безпракасловно cool

22 CverG  
0
Спешу срочно сообщить, что когда чип прошиваеться из баскома (мега48па) с подправленным файликом m48_PA_def.dat он шьёт не правельно. с ошибками. просто моргание диодом работало стабильно. а как только я попытался залить свеженаписанную программу бегающей дорожки на порте D ничего не заработало. Прошив этимже HEX файлом при помоши AVRDUDE всё прошло успешно и я получил бегушую дорожку. позже отпешусь по поводу USB девайса

21 CverG  
0
да бог с ним с шимом то пока этим, устройство нет ни на одном компе, при любых известных до этого момента ввода обвязки. и с стабилитронами и с диодами и даже стабилизатор нашёл. ничего! Буквально фокус-покус винимаю этот чип(мега48па) ставлю на мокетке на его место мегу8 в дип корпусе всё отлично! То что шим заработает я не сомниваюсь, что там мудрёного то?! а вот то что эти чипы странные какие то, это да. А я по незнанию купил Ажны 20 шт. чтож теперь к стенке гвоздиком? пробовал на них что нить простенькое типо помегаем деодом, мегает.

18 CverG  
0
1-е т.к. по PDF чипы почти индентичны, значит можно использовать настройки от меги48. BASCOM`е: заходим в католог где лежит программа видем файлик m48def.dat копируем его сдесь же и называем m48_PA_def.dat. Потом открываем наш m48_PA_def.dat с помощью блокнота ищем строку сигнатуры. здесь она будет выглядеть так - DEVID=1E9205 ; device ID
и меняем последнию циферку 5 на a, чтобы получилось так - DEVID=1E920a ; device ID. ВНИМАНИЕ! буковка должна быть естественно в Английской раскладке. Следовательно после всех монипуляций получим в BASCOM`е в списке девайсов ещё один m48_PA_def.dat пре выборе которого проблема с прошивкой отпадёт. smile
В AVRDUDE всё мение приятно, т.к. как добавить в список новый девай я так и не нащёл, пришлось просто заменить старый девайс т.е. мегу48 на мегу48ПА. и на всякий случай я держу 2-а файлика с настройками от старой и от новой. Файлик называеться avrdude.conf в нём ишем блок от ATMEGA48 в блоке меняем строку - signature = 0x1e 0x92 0x05; на сроку - signature = 0x1e 0x92 0x0a;. вот в принципе и всё. smile

19 bascom  
0
Спасибо! smile
А вот про версию я не зря писал,на 1.11.9.8 и 9.9 я компилировал без проблем, затем какие-то причуды в версиях 2.0... , пока Марк не исправил в 2.0.4.0
Почитайте всю ветку http://www.mcselec.com/index2.....hlight=

20 bascom  
0
Тут ещё такой момент - может изменения коснулись не только сигнатуры? Нада ерраты почитать. А ещё, как пример, возьмите и залейте прошивку для формирования Шима без кода ЮСБ, чтобы проверить эту часть отдельно. Меняйте в цикле значения ШИМ и наблюдайте результат

16 CverG  
0
Итак: разбившись головой об стенку, выяснил, где у меня была 1-я засада. Новые чипы ATmega48PA содержат сигнатуру signature = 0x1e 0x92 0x0a; а старые signature = 0x1e 0x92 0x05; так что некоторые программаторы-программы этот чип отказывается видеть. могу поделиться опытом, как это полечить в BASCOM`е и в AVRDUDE. программатор AVR910 c avrProg шьёт их очень криво. прошить после поправки получилось влёт... НО сей девайс так и не заработал. думаю, дело во фьюзах, хотя и не обязательно, выставлял как показано на приведённом рисунке Гр. bascom, за что ему в Очередной раз спасибо.

17 bascom  
0
Я использовал в этой конструкции микросхемы в ДИП корпусах. Всё работало без проблем. К сожалению, проверить в СМД я сейчас не могу. Посмотрите здесь, может что-то прояснится - http://bascomavr.3bb.ru/viewtopic.php?id=413#p4010
Поделитесь опытом, как это полечить в BASCOM`е и в AVRDUDE. Я бы поступил так: Взял за основу программу без реализации ШИМ, запустил девайс, чтобы он определился системой, затем уже разбирался с ШИМом. И ещё вопрос, какой версией Баскома вы компилировали (Это важно!)?

14 CverG  
0
и схемку если можно. :-[

15 bascom  
0
Входная часть для ДИП - http://bascom.at.ua/2010/Cats_Eye/Cat-s_Eye_shem.jpg Для СМД будет как на этом рисунке - http://bascom.at.ua/2010/Cats_Eye/Cat-s_Eye_shem_mini.jpg
Фьюзы: http://bascom.at.ua/2010/Cats_Eye/mega48_fuse.gif и http://bascom.at.ua/2010/Cats_Eye/mega8_fuse.gif
Светодиоды на выходах ШИМ, смотрите или в коде, или по даташиту.

13 CverG  
0
а можно фьюзы для ATmegi48PA 32 ноги. в баскоме например. а то может я там чего портачу?

11 CverG  
0
та же история! уже весь лоб об стол разбил. собираю на меге48па СМД на 32 ноги. по ночалу просто писал неизвестное устройство, а после 2-перепрошивки просто молчанка какаято. я уже совсем расстроился. а ни меги8 всё кулл. и стабильно. в чем пречина? Поможите.... sad

12 bascom  
0
Во первых, посмотрите внимательно ещё раз на распиновку. Она отличается от DIP! Во вторых - фьюзы! В третьих, проверяйте монтаж, хорошо промывайте от остатков флюса, контролируйте,запустился ли кварцевый резонатор.

1-10 11-17
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright Radan Studio © 2024