Автор Тема: Първият ни проект на микроконтролер  (Прочетена 95628 пъти)

yasko

  • Administrator
  • *****
  • Публикации: 484
    • Профил
Първият ни проект на микроконтролер
« -: Септември 18, 2007, 12:16:35 am »


Да обобщя малко нещата. Всеки микроконтролер има нужда от тактов сигнал за да функционира, значи ни трябва генератор. Класическата схема е да се ползва кварцово стабилизиран генертор и това е схемата по горе. Генератора е вграден в MCU, а външно се добавя кварцов резонатор и кондезатори, обикновено керамични с малка стойност. В описанието на конкретния MCU има препоръчителни стойности. За ATMEGA8 са в диапазона от 12-22pF, така че електролитни кондензатори въобще нямат място тук. Повечето съсвременни микроконтролери имат на разположение и други възможности за тактов сигнал, обикновено това са така наречените RC генератори. ATMEGA8 има вграден прецизен RC генератор, който позволява работа на честоти 1,2,4,8 MHz, така че контролера може да се пусне и без кварц, като се ползва този генератор. Недостатъка спрямо кварцовия е по ниската стабилност на честота, но тук вече конкретното приложение определя дали това е приемливо.
Избора на тактов сигнал се осъществява с така наречените "fuse bits", те се настройват с помщта на програматора и определят откъде ще идва ткатови я сигнал. ATMEGA стандартно идва с настроени "fuse bits" за 1 МHz от вградения RC генератор, затова ако трябва да се пусне на кварцов трябва, да се препрограмират, но за това ше пиша по-подробно в статията за прогрмирането на контролера.


Вече успях да прехвърля нашата схема върху монтажна платка и сега може да видим как станаха нещата. Това е снимка отгоре:

На нея се виждат микроконтролера, кварца X1 (8MHz), кондензатора C3 (10uF), светодиода LED1 и конекторса за програмиране J1.
Може би се чудите къде са другите елементи, ето и снимка отдолу:

На снимката съм означил останалите елементи, за тях използвал съм така наречените SMD (surface mount device) или елементи за повърхностен монтаж. Тези елементи нямат крачета в класическия смисъл на думата и позволяват да се пести място. В конкретния случай, растера на монтажната палтка, позволява те да се монтират между крачетата на контролера и площадките на платката. Е малко са ситни, но човек като свикне дори става по лесно спрямо обикновените елементи. Разбира се схемата може да се направи и със стандартни компоненти.
Този тип монтажна платка разполага с две общи шини едната съм я използвам за VCC , а другата за GND. Цялата схема я захранвам с плоска батерия от 4.5V през двупиновия конектора в десния ъгъл.
Е вече имам готов хардуер и може да продължим с програмирането нашата примерна програма :)
Ясен Паунски,  гр.София, 39 г.

tommyboy

  • Направо Робот! :)
  • *****
  • Публикации: 416
    • Профил
Първият ни проект на микроконтролер
« Отговор #1 -: Септември 18, 2007, 10:00:13 am »
Да питам трява ли да се свържи корпуса на кварца към масата?

DataMatrix

  • Заклет Роботостроител
  • *****
  • Публикации: 308
    • Профил
    • http://datamatrix-bg.net/
Първият ни проект на микроконтролер
« Отговор #2 -: Септември 18, 2007, 10:29:58 am »
Не, не е нужно. Даже до сега никога не съм го правил и не съм виждал така поставен кварц.
Димитър Бояджиев, гр. София

Methuselah

  • Вече знае какво е робот!
  • *****
  • Публикации: 67
    • Профил
Първият ни проект на микроконтролер
« Отговор #3 -: Септември 19, 2007, 08:50:45 pm »
Имам две въпросчета относно тактовия генератор.
1. Задължително ли е да се ползват керамични кондензатори? В пасат нямаха и аз си взех електролитни. И понеже те имат поляритет, предполагам че може да ги вържа минуса към гнд, а плюса към кварца.
2. Изобщо нужен ли е, или просто стабилизира работата на микроконтролера?

tommyboy

  • Направо Робот! :)
  • *****
  • Публикации: 416
    • Профил
Първият ни проект на микроконтролер
« Отговор #4 -: Септември 19, 2007, 10:26:09 pm »
е как да не е важен тактовия гератор без него е невъзможно извършването на операциите в процесора на мицроконтролера а и не само на него :)

Methuselah

  • Вече знае какво е робот!
  • *****
  • Публикации: 67
    • Профил
Първият ни проект на микроконтролер
« Отговор #5 -: Септември 19, 2007, 10:44:13 pm »
Просто бях чувал че без генератор ползвал нещо вътре.
А за кондензаторите?

INF1n1t

  • Бил знаел какво е Мехатроника!
  • *****
  • Публикации: 139
    • Профил
Първият ни проект на микроконтролер
« Отговор #6 -: Септември 19, 2007, 11:30:27 pm »
Неправилно си чул. Има си вграден тактов генератор, но за да го ползваш ти трябват честотнозадаващи елементи. Това се отнася за ПИК, а предполагам че за Atmega е същото. Дали да са керамични или т.н.

 Митко и аз не съм виждал, дали трябва или не трябва не мога да кажа.

За кондензаторите: защо да не могат да се ползват. Идеята е просто да си взел дадените капацитети (както са ги описали в даташийтовете). Нека все пак някой, който има опит да каже...
Иван Занев - град София

spp

  • Global Moderator
  • *****
  • Публикации: 414
    • Профил
    • http://robotics.cnc-bg.net/
Първият ни проект на микроконтролер
« Отговор #7 -: Септември 20, 2007, 09:32:31 am »
Кондензаторите трябва да са като на схемата.ЗАДЪЛЖИТЕЛНО.Електролитни не вършат работа.Корпуса на кварцовия резонатор няма нужда да се запоява към маса.
Това са външно задаващи честотни елементи .Без тях няма да работи контролера .Търсете описанието на контролерите.Те там имат табличка в която е описано с какви елементи какви честоти могат да се постигнат и какви са възможностите на определения модел.
В Пулсатор нямат 22р ??? :shock: И какви електролитни ти дадоха за заместител??? :shock: Много ми е интересно.Ако това е бил съвета им направо са за медал.Е тиквен разбира се.
Слави Петков
София 49г

yasko

  • Administrator
  • *****
  • Публикации: 484
    • Профил
Първият ни проект на микроконтролер
« Отговор #8 -: Септември 22, 2007, 04:49:02 pm »
За да допълня темата за кварца и кондезаторите ще каже, че те трябва да бъдат монирани максимално близко до микроконтролера. Сега малко за другите елементи:
Кондензаторите C3,C4 -това се филтрови кондезатори на захранването. C3 електролитен кондезатор, C4 е керамичен. Ако си ги спестите има вероятност микроконтролера да не тръгне. C4 трябва да се монтира максимално близко до захранващите пинове.
Резистора R1 задава установен понтенциал на пина RESET, в нашия случай високо ниво, или за по накратко се нарича  "pull-up" резистор. По този начин пина RESET се установява в неактивно ниво и MCU функционира нормално.  С пина RESET  трябва да се внимва, защото е чуствителен външни смущения и може да предизвика нежелан ресет на MCU. Затова често ползват и по малки стойности за R1, а и понякога се слага кондензатор към маса (100nF). Най-сиурния начин да го защитим е да го вържем директно към захранване, но тогава няма как да програмираме контролера.
За светодиода и  резистора към него мисля че всичко е ясно. (сега видях че и този резистор съм го кръстил R1, а трябва да е R2)
Остана конектора J1, на него са изведени пиновете на MCU необходими за програмирането му.
Като ми остане малко врме ще прехвърля тази схема на монтажна пплатка и ще видим как изглеждат в реален вид нещата.
Ясен Паунски,  гр.София, 39 г.

yasko

  • Administrator
  • *****
  • Публикации: 484
    • Профил
Първият ни проект на микроконтролер
« Отговор #9 -: Октомври 15, 2007, 12:27:04 am »
Някои допълнителни обяснения относно хардуера. Ако всичко е сглобено  правилно след пускане на захранването на 7 и 20 краче на процесора трябва да имаме захранващо напрежение (VCC). На пин 1 (RESET) също трябва да имаме напрежение близко до VCC.  Самото захранващо напрежение трябва да бъде в границите от 3-5.5V, ако не се ползва батерия е важно захранващия източник да бъде стабилизиран.
Ето и един списък с компоненти. Почти всички могат да се купят от магазина на Комет и затова ги давам как се водят в техния каталог:
C1,C2  -   C0805 22pF  (SMD)
C4       -  C0805 100nF (SMD)
R1       -  R0805 10k    (SMD)
R2       -  R0805 220R  (SMD)
C3       - 10uF/16V (електролитен кондензатор)
X1        - Q8.000 MHz HC-49S
LED1    - L-934GD (зелен светодиод)
J1        - WF6S (женската част е HU6)
цокъл за MCU - LC28-03
конектора за батерията е WF2S с HU2 (женската част)
SMD компонентите могат да бъдат заменени с обикновени, ако е нужно. Монтажната платка също я има в Комет, единственето което не може да се купи оттам е ATMEGA8, него го има във фирма Футурел. Въпреки че ако някой реши да прави тази схема аз препоръчвам да си взема ATMEGA88 -това е усъвершенствана версия на ATMEGA8 и има повече възможности. Аз мислех да направя схемата с него, но понеже темата беше започната с ATMEGA8 затова го оставих.
Ясен Паунски,  гр.София, 39 г.

TheDarkSoul

  • Заклет Роботостроител
  • *****
  • Публикации: 293
    • Профил
Първият ни проект на микроконтролер
« Отговор #10 -: Февруари 14, 2008, 10:44:10 pm »
Здравейте.Защото не мога да се разбера със тези който съм питал,моля да ми помогнете! ;( ATMega8 как да го програмирам?Преди да го запоя ли трябва да се програмира или как?Нещо немога да схвана,също и със какъв програматор?По-точно това J1 какво е?Аз прочетох,но за какво се ползва?

П.П.Какъв е този резистор R2-220R?Какво е това "R"
Иван Зарев-14г.-гр.Дупница Skype:thedarksoul4
Не подценявай този, който прави крачка назад, защото може и да се засилва...:!:

ka4a4e

  • Бил знаел какво е Мехатроника!
  • *****
  • Публикации: 114
    • Профил
    • http://google.bg
Първият ни проект на микроконтролер
« Отговор #11 -: Февруари 14, 2008, 11:51:08 pm »
Имам AtMega8 и наи лесен AVR програматор но немога да го програмирам моля за помощ

tar: J1 е съединител към програматора само с това мога да ти помогна
Деян Георгиев на 20г. от град Любимец област Хасковска студент в ТУ Габрово спец. Е курс ІI

TheDarkSoul

  • Заклет Роботостроител
  • *****
  • Публикации: 293
    • Профил
Първият ни проект на микроконтролер
« Отговор #12 -: Февруари 15, 2008, 12:24:34 am »
Аха,и то се свързва съм конектора на програматора и се програмира,нали?

Ако е така значи мистерията е разкрита!!! :twisted:
П.П.  А аз не намерих конектор,някой може ли да даде линк към някой който ще стане или да каже дали става без. :roll: Ако е възможно да е от МК линка ако го има.
Иван Зарев-14г.-гр.Дупница Skype:thedarksoul4
Не подценявай този, който прави крачка назад, защото може и да се засилва...:!:

yasko

  • Administrator
  • *****
  • Публикации: 484
    • Профил
Първият ни проект на микроконтролер
« Отговор #13 -: Февруари 15, 2008, 08:39:19 pm »
@ka4a4e какъв точно е проблема с програмирането?
@tar няма значение какъв точно е конектора, важно е да се свържат правилно отделните сигнали между програматора и микроконтролера.
Ясен Паунски,  гр.София, 39 г.

ka4a4e

  • Бил знаел какво е Мехатроника!
  • *****
  • Публикации: 114
    • Профил
    • http://google.bg
Първият ни проект на микроконтролер
« Отговор #14 -: Февруари 15, 2008, 10:00:24 pm »
@yasko аз не кога да му вкарам програмата но пък и съм накравил схемата на борислав не твоита
Деян Георгиев на 20г. от град Любимец област Хасковска студент в ТУ Габрово спец. Е курс ІI