Автор Тема: Sumoduino v.1.0  (Прочетена 9357 пъти)

Borislav

  • Administrator
  • *****
  • Публикации: 1010
    • Профил
    • http://robotics-bg.com
Sumoduino v.1.0
« -: Септември 03, 2010, 07:01:45 pm »
Здравейте, приятели!
Ето и новата тема за размисъл...
След като в Интернет плъзнаха микроконтролери, съвместими с основата Arduino (като например Roboduino, Cuad2Duoduino, Neoduino, MRC, Wires и много други), в мен се зароди идеята за контролер за сумо и следячи на линия, който да съчетава всичко необходимо за лесно сглобяване на електрониката и лекия алгоритъм на Arduino.
Идеята ми е съвсем проста - Контролер с вграден Н-мост (може и с генератор за 36-40kHz на NE555), няколко извода за всички необходими датчици и прост стабилизатор на напрежение. Ето и неговата схема:


Обяснения по схемата:
Порт В (PB..) не е свързан с основните мъжки рейки J3 и J4 (Освен РВ0), защото идеята е те още в началото да се поставят в режим на изходи и да се ползват само и единствено за управлението на моторите. Моторите се захранват от 9-тте Волта, подавани от жака на батерията J, като върху L293D-тата ЗАДЪЛЖИТЕЛНО се монтират охлаждащи радиатори. XTAL1 представлява кварцов филтър на 8 MHz с вградени 33pF кондензатори, за да се спести място. ШИМ-ът към моторите може да се включи чрез маркираната позиция "Е" на джъмперите J1 и J2. Стартовият бутон за роботите е всъщност Reset-бутона S1. Програматорът е ISP (куплунгът може да се махне и чипът да се поставя след програмирането му върху контролера), стандартен, 10 пинов. На рейките има и по допълнителни изводи за 5 и 9V захранване за други електронни компоненти.
Остава да се направи:
1. Генератор на 36-40kHz;
2. Очевидно трябва да има и USB връзка с компютър, за да може да се използва средата на Arduino (или Serial-кабел - като първата версия на Ардуиното);
3. Управление за 2 сервомоторчета - за сканиращ радар, примерно;
4. Според по-простите схеми за стабилизатори на 5V и повечето даташийтове на 7805 (LM7805, 78L05, L7805 и т.н.), кондензаторът C2 е излишен. Достатъчни са: C1 - 100uF и C3 - 10uF (на схемата е 100).
5. Oще...?
Това е засега, оставям на вас проектирането на платката. Ще се опитам да вмъкна в графика си едно такова занимание по проектирането на печатна платка с размери 80х80 мм (може би ATmega-та трябва да бъде SMD...?). :)
Поздрави!
Роботиката не е хоби - тя е начин на живот!

Аматьор

  • Бил знаел какво е Мехатроника!
  • *****
  • Публикации: 107
    • Профил
Sumoduino v.1.0
« Отговор #1 -: Септември 03, 2010, 09:13:08 pm »
Няма ли, от тази серия контролери с вътрешен генератор? Не е необходима за тези приложения голяма точност и стабилност на честотата.
За да се избегнат радиаторите L293 може да се смени с по-съвременен драйвер.
Според мене един свободен куплунг с SPI ще позволи да се слагат лесно след това други процесорни схеми с интересни приложения.
Красимир Милев    51г

Borislav

  • Administrator
  • *****
  • Публикации: 1010
    • Профил
    • http://robotics-bg.com
Sumoduino v.1.0
« Отговор #2 -: Септември 03, 2010, 10:56:15 pm »
Цитат на: "Аматьор"
Няма ли, от тази серия контролери с вътрешен генератор? Не е необходима за тези приложения голяма точност и стабилност на честотата.
За да се избегнат радиаторите L293 може да се смени с по-съвременен драйвер.
Според мене един свободен куплунг с SPI ще позволи да се слагат лесно след това други процесорни схеми с интересни приложения.


За съжаление няма АТмега серия с вграден тактов генератор. Единствено АТтини-серията имат. За щастие и те стават за целите на сумо и следене на линия... :)
Драйверът съм го предвидил с това, което разполагам. Иначе най-добрата схема за Н-мост е с транзистори. За SPI-я наистина е идейно. Тази тема е Open Source, така че всеки, който има идея може да се заеме с изпълнението и. Така ще обменим много повече идеи.
Прилагам схемата: http://upload.robotics-bg.com/files/Sumoduino.spl
Поздрави!
Роботиката не е хоби - тя е начин на живот!

zoro1

  • Global Moderator
  • *****
  • Публикации: 610
    • Профил
    • http://www.zoro1.com
Sumoduino v.1.0
« Отговор #3 -: Септември 04, 2010, 01:13:48 pm »
Драйвера с транзистори има същите проблеми като 293-ката,обаче ако се използват мосфет-и и други подобни ,това вече е друго.
Все пак в повечето готови платки се използва именно л293.


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

zoro1

  • Global Moderator
  • *****
  • Публикации: 610
    • Профил
    • http://www.zoro1.com
Sumoduino v.1.0
« Отговор #4 -: Септември 05, 2010, 11:04:41 pm »
Може да махнеш диода на захранването,така и така ще се ползва захранване прав ток ,като се направи куплунга няма как да се обърка,стабилизатора  -low drop ,стиг с 7805,много "харчат"


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

Ivo hobby

  • Робо-Новак
  • *****
  • Публикации: 28
    • Профил
Sumoduino v.1.0
« Отговор #5 -: Септември 15, 2010, 06:34:37 pm »
Много добра идея!
Като гледам с какви проблеми се сблъскват робо-моделистите мисля, че наистина ще е полезно да има поне схема.

Ето няколко идеи/препоръки  и от мен:
1. Мисля, че ще е по-добре разширителния модул да може да се конструира и като добавка към Ардуиното. Продава се готов Proto Shield с куплунзи.
. Нека ги има и двете версии. За тези които имат готово Ардуино и могат да си позволят място за разширителен модул, ще е по-добре така.
. Ако трябва да се събереш в много малко пространство тогава да е компактната версия.

2. Идеята да се свържат в паралел два изхода на L293D ми хареса  :bravo: . По принцип изходите на L293D (версията B или без буква е по-мощна) са ограничени до 600mA. Повечето ел. двигатели в магазин Robotev са <1.2A. Изключение правят няколко специални моторчета.
2.1. Бих предложил на платката да се предвиди да има охладител за L293D. както е показано в Datasheet-а стр.11. Т.е. пътечки с около 1 кв.см. от двете страни на чипа свързани към краката за маса. Това би трябвало да е достатъчно за да се охлажда.

3. С цел да се намали броя на използваните портове на процесора, може да се постави един 7404, съдържа 6 инвертора.
. Един изход на процесора се подава на едната половина на H-моста, а през инвертор на другата половина.
. Така ще може с един изход да се управлява посоката на мотора. 0 = напред и 1 = назад.
. и с друг стоп-старт и скоростта (PWM). 0 = стоп, 255 = 100% мощност
. спестяват се два изхода на процесора

3.1. Виждам, че си добавил вариант с или без PWM. В случая на т.3. това ще трябва да се замени с избор между изход с PWM или друг изход без PWM.

4. Желателно е да има резистори на входовете на L293D. От +5V към всеки вход (например по 10к). По време на първоначална инициализация процесора си установява портовете като входове и в този момент L293D е с "увиснали" входове и е възможно  да задвижи двигателя преди инициализацията на процесора. Не е критично, но е досадно.

5. По въпроса за работа без кварц... това е само за версията "всичко в едно", мисля, че е възможно.
. Симеон от м-н Роботев разработи версия на AtMega8 и AtMega168 които успешно използвам в автономен режим. т.е. работи само процесора без допълнителните добавки на Ардуиното. В случая при мен е твърде малко свободното пространство и затова използвам само батерия, AtMega168 и светодиоди без допълнителни елементи.
. в програмната среда на Ардуино трябва да се добави описание на този чип и може да се програмира и да работи, НО само на 8MHz! (което едва ли има значение за роботите)

6. Генератор на 38KHz, желателно е да има, тъй като гледам, че доста се използва (освен в LineTracer).
Обикновените NE555 могат да подават до 200mA ток на изхода си. Тук трябва да се прецени колко светодиода може да захранва

айде стига съм писал... Идеята е супер!
Мисля, че можете да я доразвиете на сбирките в събота
Иво, София, 42г.

Ivo hobby

  • Робо-Новак
  • *****
  • Публикации: 28
    • Профил
Sumoduino v.1.0
« Отговор #6 -: Септември 16, 2010, 07:10:47 pm »
Нещо съм проспал в предния пост...

т.4 - съпротивленията да са към маса! по грешка съм писал че са към +5
Иво, София, 42г.