Автор Тема: Микроконтролер на ATTiny2313 [Отворен проект]  (Прочетена 21993 пъти)

Borislav

  • Administrator
  • *****
  • Публикации: 1010
    • Профил
    • http://robotics-bg.com
Здравейте, приятели! :)
От доста време ми се върти идеята за контролер, базиран на ATTiny2313, поради това, че чипът е сравнително малък (DIP 20), портовете му не са много, а паметта достатъчна (вж. Даташийт), според мен го прави идеален за целите на хоби Роботиката.

Целта на проекта е главно да се създаде универсален Робо-контролер с некомерсиална цел, включваш в себе си основна ("дънна") платка и модули, които могат да са както на самия контролер, така и на т.нар. "модули за сандвичен монтаж". Разбира се, ако в разработката се използва друг чип на Atmel (ATmega8, ATmega88, ATmega16 и т.н.), контролерът ще работи еднакво добре, след внасянето на необходимите корекции, където трябва.

>> Схема на идеята ми за контролер <<

И така, на схемата е показан самият контролер (горе-вляво) с няколко модула към него. Едва ли е необходимо някакво обяснение по схемата, защото е елементарна. Единственото, което си струва да се отбележи, че изводът за програматора (ISP) е според стандарта за такъв и ще пасне с всеки програматор, стига последният да е със стандартизиран такъв. :) На контролера има 2 мъжки рейки (гребенче), към които са изведени всички пинове на портовете на ATTiny2313 + 4 (4x+5V и 4xGND) извода за захранване. Резисторът R2 (10k Ома) предпазва контролера от случаен Erase на паметта. При проектирането на платка, може кварцовият резонатор и двата кондензатора по 22pF могат да бъдат заместени с ПКФ (Пиезо-кристален филтър).

Описание на модулите:
Модул "Мигащ светодиод" (Module "Blinking LED"): При проектирането на платката, може да се предвиди този модул да бъде на основната платка на контролера. Положението на Джъмпера LED_J1 е описано под схемата на модула.

Модул "RS232": Едва ли е необходимо някакво пояснение. Модулът RS232 служи за обратна връзка на контролера с компютъра. Предвидено е да се използва "сандвичен монтаж" при връзката му с контролера.

Модул "Светофар" (Module "Traffic-light"): Според мен ще е интересно да има и такъв модул, тъй като след "Мигането на светодиод", често се прилага и упражнението "Светофар" от начинаещите. Предвидено е да се използва "сандвичен монтаж" при връзката му с контролера.

Модул "Захранване" (Module "Power supply"): Захранването се подава през жака J. Много пъти сме обяснявали работата на този модул във форума, така че няма да изпадам в подробности. Трябва да се спомене, че модулът е предвиден за монтаж на основната платка при проектирането на платката за контролера. Изходът J9 се свързва с описания по-долу модул "H-мост". Изходът POWER_J1 служи за захранване на допълнителни модули (6 на брой), датчици и т.н. посредством стабилизирани 5V.

Модул "Прост Н-мост" (Module "Simple H-bridge"): Няма смисъл от подробно обяснение... Предвидено е да се използва "сандвичен монтаж" при връзката му с контролера. J5 се свързва с J9 от модула "Захранване".

Засега е това. Постарах се да обхвана колкото се може повече аспекти от упражненията, необходими на всеки за навлизане в основите на Роботиката, Електрониката и Програмирането. Всеки, който желае, може да се включи в разработката на модула. Също така, очаквам мнения, препоръки и критики, защото именно с тях се върви напред. :)


Схемата във формат SPlan 6, можете да изтеглите от ТУК! (Размер на файла: 24536 B).

Поздрави!
Роботиката не е хоби - тя е начин на живот!

zoro1

  • Global Moderator
  • *****
  • Публикации: 610
    • Профил
    • http://www.zoro1.com
Микроконтролер на ATTiny2313 [Отворен проект]
« Отговор #1 -: Януари 15, 2010, 01:08:21 pm »
Добра идея Боби ,но може да се добави  и 16х2  дисплей.


...Великите нации  се държат като гангстери,а малките като проститутки...
И.Несторов
Skype:Zorro1430

Borislav

  • Administrator
  • *****
  • Публикации: 1010
    • Профил
    • http://robotics-bg.com
Микроконтролер на ATTiny2313 [Отворен проект]
« Отговор #2 -: Януари 15, 2010, 02:13:30 pm »
Цитат на: "zoro1"
Добра идея Боби ,но може да се добави  и 16х2  дисплей.


Дисплей и 4х4 клавиатура мислех да начертая на отделен лист... Защото този вече не побира модулите. :) Следва да бъдат добавени... Но като цяло мисля първо да се заема с начертаването на основната платка във формат Sprint Layout 5.
Роботиката не е хоби - тя е начин на живот!

sv_shady

  • Administrator
  • *****
  • Публикации: 636
    • Профил
Микроконтролер на ATTiny2313 [Отворен проект]
« Отговор #3 -: Януари 15, 2010, 05:08:29 pm »
Боби, махни го този L293 и сложи 8 мосфета, по два в корпуса са 4 SOIC8 корпуса, които са доста по малки от L293, а и ще вършат много по-добра работа :)
Виж във Футурел какви продават. Аз не веднъж съм ползвал тези -      TRANSM-SI9942DY, N+P/Ch 20V 3.0/2.5A 2.0W SO8 и съм много доволен от тях.
Imagination is the only limit.......

Светлин Пенков
София / Рединг, Великобритания

Borislav

  • Administrator
  • *****
  • Публикации: 1010
    • Профил
    • http://robotics-bg.com
Микроконтролер на ATTiny2313 [Отворен проект]
« Отговор #4 -: Януари 15, 2010, 07:07:21 pm »
Още като замислях темата знаех, че ще се подхване темата за L293D-то. :-D Като цяло съм замисли контролерът в първо време да работи с H-мостовете на Яско, когато стигна до този етап.

Но, Светльо беше прав, затова днес се позанимавах с проектирането на H-мост на MOSFET транзистори (вж. Даташийт за SI9942DY). :)

Засега, схемата ми придоби следния вид.

Разбира се, както всички публикувани схеми в темата, очаквам критики, предложения и мнения. :)

Схемата във формат SPlan 6, можете да изтеглите от ТУК! (Размер на файла: 8140 B)

Поздрави!
Роботиката не е хоби - тя е начин на живот!

sv_shady

  • Administrator
  • *****
  • Публикации: 636
    • Профил
Микроконтролер на ATTiny2313 [Отворен проект]
« Отговор #5 -: Януари 16, 2010, 12:34:21 am »
Само сложи по един резистор 10к или към маса или към плюс, защото иначе транзисторите ще се побъркват дори и от статично електричество и ще започнат да грея (казвам го от опит, колкото и да се опитвам без тях да мина не става :) )
Imagination is the only limit.......

Светлин Пенков
София / Рединг, Великобритания

Borislav

  • Administrator
  • *****
  • Публикации: 1010
    • Профил
    • http://robotics-bg.com
Микроконтролер на ATTiny2313 [Отворен проект]
« Отговор #6 -: Януари 16, 2010, 01:26:56 pm »
Дотук стигнах днес:

>> Схема модули <<

Mодул "H-мост": Този модул вече беше разяснен, като добавих 10kОма резистори на входовете на драйвера. Възможно е да се вгради в основната платка, тъй като преди всичко това е Робо-контролер. :)

Модул "Управление за стъпков мотор" (Module "Stepper Motor Driver"): Изграден е на базата на ULN2803 и служи за управление на стъпкови мотори.

Модул "Пиезоизлъчвател" (Module "Buzzer"): Семпъл модул, който позволява възпроизвеждането на звук от микроконтролера. При разработването на платката ще имам впредвид установката на този модул върху основната платка. :)

И накрая, но не на последно място, модулът за 16х2 дисплей (Module "16x2 LCD Display"): Едва ли има какво да се разяснява тук. Позволява включването на 16х2 LCD дисплей към контролера.

Поздрави!

Схемата във формат SPlan 6, можете да изтеглите от ТУК! (Размер на файла: 16511 B)

П.п. Реших да сложа още един (вероятно последен модул засега), който да позволява свързването на MMC карта към контролера. Очевадно е, че ATTiny2313 може да се замени с по-добър и мощен програмируем чип. Затова, след разработката на основната платка може да се помисли за разработката на такава под ATmega32/ATmega644, тъй като са с в еднакви корпуси (DIP40). Интересното при тях е, че портовете им са точно разпределени в четирите края на чипа, което може да позволи разделянето им на 4 отделни рейки. :)
Роботиката не е хоби - тя е начин на живот!

IbT

  • Зомбиран Роботостроител
  • *****
  • Публикации: 156
    • Профил
Микроконтролер на ATTiny2313 [Отворен проект]
« Отговор #7 -: Януари 16, 2010, 06:28:31 pm »
Като завършиш модула за MMC картата, би ли дал по-подробна информация, понеже от това, което четох из нета разбрах, че реализирането на файловата система става доста трудно и обемно (особено с PIC), а ми е доста интересно. Понеже ще ми се наложи да работа върху проект, който трябва да съхранява данните и после те да се четат от компютър и засега съм стигнал до комбинацията външен EEPROM-USB.

hunter

  • Направо Робот! :)
  • *****
  • Публикации: 638
    • Профил
Микроконтролер на ATTiny2313 [Отворен проект]
« Отговор #8 -: Януари 16, 2010, 08:03:19 pm »
Темата е доста интересна а и както виждам набира скорост  :D Аз също се бях замислил за подобна разработка но в последствие си разработих друга платка която служи за тестове на някой видове програми на PIC16F84A посредством джъмпери променям кой пин какво да е дали изход или вход на платката има свето диоди за индикация на всеки пин освен това има и бутонче на всеки пин  :D  Искам да попитам тези мосфет на каква цена са в София и от каде да ги закупя.
Цвятко Цветков/ Бургас

http://www.youtube.com/watch?v=I1y67hzRWQY&feature=related

Borislav

  • Administrator
  • *****
  • Публикации: 1010
    • Профил
    • http://robotics-bg.com
Микроконтролер на ATTiny2313 [Отворен проект]
« Отговор #9 -: Януари 16, 2010, 08:24:06 pm »
Добре, за два дни работа успях да направя всички модули, които ми се прииска да има един такъв универсален Робо-Контролер. :) Ако някой желае, може да публикува своя разработка, за да я поместя на печатната платка.

Финален изглед на схемите (направени са някои малки изменения, които ще опиша сега). Вече всички елементи са преименувани както трябва (във всички схеми на модулите, нoмерацията на елементите е във възходящ ред).

>> Основна схема на Микроконтролера + някои от модулите<<
Изменения по горната схема:
- Джъмперите J3 и J4 при изводите за ISP програматора - Сложени са, понеже при някои USB програматори (Какъвто е и моят всъщност :)), 4-тия и 6-тия изводи на програматора не се свързват към GND. По подразбиране са СВЪРЗАНИ!
----------------------------------------------

>> Схема на допълнителните модули <<
Изменения по горната схема:
- Добавен е кондензатор C13 в схемата на H-моста. За него отделна платка няма да се прави. Тази проста схема за Н-мост ще бъде поместена на основната платка на контролера. Ще се ползва само за експерименти, а за проектите ще се ползва такъв като на Яско, доказал работоспособността си. :)
----------------------------------------------

>> Схема на модул за MMC карта <<
Съвсем скоро ще напиша урок за начина, по който се програмират подобни карти. :) За целите на Роботиката се ползват именно те, защото са най-лесни за управление.
----------------------------------------------

Целият архив с всички схеми на контролера, във формат за SPlan 6 (Размер: 49818 B)

В крайна сметка, след доста умуване, избрах кои модули да са на основната платка. Това са:
- Модул "Захранване";
- Модул "Мигане на светодиод";
- Модул "Светофар";
- Модул "Н-мост";
- Модул "Пиезоизлъчвател".

Останалите са предвидени за платки тип "сандвичен монтаж".

Поздрави! :)
Роботиката не е хоби - тя е начин на живот!

sv_shady

  • Administrator
  • *****
  • Публикации: 636
    • Профил
Микроконтролер на ATTiny2313 [Отворен проект]
« Отговор #10 -: Януари 17, 2010, 01:44:43 pm »
@hunter
Цитат
Виж във Футурел какви продават. Аз не веднъж съм ползвал тези -      TRANSM-SI9942DY, N+P/Ch 20V 3.0/2.5A 2.0W SO8


На линка, който съм дал, можеш да намереш информация какви пари са, а също така можеш и да си поръчаш с доставка.
Imagination is the only limit.......

Светлин Пенков
София / Рединг, Великобритания

Borislav

  • Administrator
  • *****
  • Публикации: 1010
    • Профил
    • http://robotics-bg.com
Микроконтролер на ATTiny2313 [Отворен проект]
« Отговор #11 -: Януари 17, 2010, 02:43:32 pm »
Пояснение за модула с MMC картата (пропуснато).
CD - Card Detect. Представлява краче на куплунга, който ползвате. Може да се свърже към земята през ключе, за да може да намира и отхвърля картата.
WP - Write Protect. Представлява краче на куплунга, който ползвате. Може да се свърже към земята през ключе, за да може да отключва и заключва картата.
CD и WP задължително се свързват към контролера!

Пример за PINOUT на MMC карта:


Примерен Конектор за SD карти:


>> Коригирана схема на модулът за MMC карта <<

Сваляне на файловете на модула от ТУК! (Размер: 8118 B)
Поздрави!
Роботиката не е хоби - тя е начин на живот!

Borislav

  • Administrator
  • *****
  • Публикации: 1010
    • Профил
    • http://robotics-bg.com
Микроконтролер на ATTiny2313 [Отворен проект]
« Отговор #12 -: Януари 20, 2010, 01:39:21 pm »
Ето го и развитието по темата.
Започнах с разработката на печатните платки (доста сложен и разточителен процес). Някой ако има информация и стандарти за проектиране на печатни платки - да дава материали, сайтове, книги. :)

Започнах с упражнение в проектирането, като сложа само основната платка на контролера на базата на ATTiny2313. Постигнах следния резултат:

Платка

Забележка! (Дебелината на пистите към Кварцовия резонатор са направени 0.6 мм след публикуването на снимката! На снимката те са 0.4 мм!)

Това, което следва да спомена е, че използвах керамичен резонатор (От каталога на Comet.bg - CRM0800) на 8MHz. Той е с два вградени кондензатора от по 33pF. Средното краче е земята (GND), а двете крайни - Input и Output. Единственият правилен път покрай пистите можах да направя с използването на двуслойна платка (или еднослойна, ако сините пътечки са мостчета).

Тъй като съм самоук в тези среди, прекарах значително време в изследването на други платки, за да видя разположението и дебелината на пистите. Дебелината на пътечките, които съм ползвал е: 0.8 мм за захранващи и 0.6 мм за всички останали. Това, което забелязах е и че пътечките вървят успоредно една на друга каквото и да става на платката (т.е. включително и на ъгловите участъци). :) >>Пример<<. Разбира се, в моята платка последното е крайно неспазено, но следва да бъде направено, поради което няма да публикувам все още платката в lay-формат. Разстоянието между пистите е не по-малко от 0.2 мм.
Засега е това!
Поздрави! :)
Роботиката не е хоби - тя е начин на живот!

Borislav

  • Administrator
  • *****
  • Публикации: 1010
    • Профил
    • http://robotics-bg.com
Микроконтролер на ATTiny2313 [Отворен проект]
« Отговор #13 -: Януари 25, 2010, 08:45:06 am »
Здравейте отново, колеги!
Успях да завърша контролера за начинаещи, както и началната идея за него. Засега параметрите му са следните:
- ATTiny2313 микроконтролер;
- Размери на платката: 70х52 мм - едностранна;
- 10 пинов ISP Prog извод;
- Захранващо напрежение от 7,5 до 12 V.
- 17 изведени порта;
- 9 допълнителни жака за захранване (GND/+5V) - ползва се за различни модули;
- 1 допълнителен жак за захранване (GND/+7,5-12V) - ползва се за Н-мост;
- вграден модул "Мигащ светодиод";
- вграден модул "Светофар";
- вграден модул "Пиезоизлъчвател";
- вграден модул "Захранване" с чинч DC0002A;
- диод за предпазване от "обръщане" на захранването.

Мисля, че е това. Както виждате, в долния десен ъгъл остана малко място, което все още не съм решил как да оползотворя. Мислех да побера H-мост там, но ще се наложи използването на SMD елементи, тъй като мястото е доста ограничено. :)
Остава да проверя пътечките, тъй като не ми остана време през уикенда, за да го направя, а също така и да премеря монтажните отвори така, че да пасват на нашата платформа, разработка отново на Робоклуба. :) След тези две операции ще публикувам окончателната схема и платка за контролера.

Поздрави!
Роботиката не е хоби - тя е начин на живот!

Borislav

  • Administrator
  • *****
  • Публикации: 1010
    • Профил
    • http://robotics-bg.com
Микроконтролер на ATTiny2313 [Отворен проект]
« Отговор #14 -: Януари 25, 2010, 06:34:59 pm »
Платката беше щателно проверена и няма отклонения от желаната схема. Смятам проектирането на схемата и печатната платка за финализиран процес! :)

По схемата са направени някои изменения (като например - кварцовият осцилатор е заменен с ПКФ), но всички са отразени ясно в нея. По платката измененията са единствено козметични с цел по-добрата визия (доколкото това е възможно :-D).

Следващата стъпка е ецването на платката, сглобяването и тестването на контролера.
На експериментална платка контролерът не показа никакви отклонения от работоспособното си положение. :)

Финален вариант:


>> Схемата на контролера (формат SPlan 6) и печатната платка (формат Sprint Layout 5) <<

Единствените уточнения, които забравих да спомена са:
- Свързването на изводите на модула "Пиезоизлъчвател" (J4) към желаните портове (крачета на ATTiny2313), трябва да се осъществи посредством двойно кабелче със съответната дължина (около 40-50 мм);
- Свързването на изводите на модула "Светофар" ("Traffic-light") към желаните портове (крачета на ATTiny2313), трябва да се осъществи посредством тройно кабелче със съответната дължина (около 40-50 мм);
- Отново напомням, че за да работи модулът "Мигащ светодиод" (веригата R3-LED2), джъмперът LED_J1 трябва да бъде в положение 1-2. В противен случай няма как да стане свързването на светодиода с порта PB7/SCK.

Тези решения са взети на базата на следното неприятно явление: В случай, че например на PB7 (модул "Мигащ светодиод") се постави някакъв друг модул (да речем, извод на Н-мост), т.е. PB7 е конфигуриран като изход, моторът би се въртял, но и светодиодът би светил. Аналогично би могло да се получи с всички показани по-горе модули. Именно поради тази причина не са свързани директно към никой от портовете.
Поздрави!
Роботиката не е хоби - тя е начин на живот!