Покажи участието

От тук може да видиш всички публикации на този потребител.


Публикации - yasko

Страници: 1 ... 16 17 [18] 19 20 ... 31
256
Електроника / Практически схеми на H-мост
« -: Април 12, 2009, 10:19:14 pm »
Настъпи малко объркване относно схемата по-горе и дължа  да внеса малкоо разяснение: схемата  е проверена и тествана. Може би има какво още да се желае  по нея, но е работеща.

257
Електроника / Инфрачервен сензор (infrared)
« -: Април 11, 2009, 11:07:50 pm »
По молба на Иван (durankulakat ) поствам горния код преработен за ATMEGA8:

#include <avr/io.h>
#define F_CPU 8000000UL // 8 MHz тактова честота

int main(void)
{    
DDRC = 1<<PC5;
DDRB =1<<PB2;
PORTD=1<<PD2;
TCCR1A=(1<<COM1B1)|(1<<WGM11)|(1<<WGM10);
TCNT1=0;
OCR1A=210; //настройваме на 38kHz
OCR1B=105; //50% коефициент на запълване
TCCR1B=(1<<WGM12)|(1<<WGM13)|(1<<CS10);

     while(1) {

if (PIND&(1<<PD2)){  
PORTC|=_BV(PC5);
}
else {
PORTC&=~(1<<PC5);

}
    }

}

Разликата е че при ATMEGA8 таймер 0,  няма PWM модул, затова в този код ползвам Таймер 1. Съответно изходния сигнал (38kHz), не излиза на PD5(pin 11), а на PB2 (пин 16).

258
Електроника / Батерии
« -: Април 11, 2009, 11:15:12 am »
Тук има малко нформация по въпрос за Li-Ion батериите:
http://www.robotics-bg.com/forum/viewtopic.php?t=431
Първо и основно трябва да се внимава при работа с тях. Тези батерии не търпят презаряд и това трябва да се следи стриктно. Иначе се зарежда по схемата CC-CV (constant current, constant voltage) T.e в началото се пуска константен ток събобразен с капацитета на батерията. Примерно ако елемента е 2000mAh, не бива да се зарежда с повече от 2А (1C), а най добре не повече от 0.5C (в този случай 1А). След като батерията стигне напрежение 4.2V, се преминава в режим на константно напрежение, т.е подържат се 4.2V върху батерията, а зарядния ток намалява постепено и когат спадне под определена стойност се смята че батерията е заредена и заряда спира. По време на цикъла на заряд се следи температурата на батрията и ако надвиши определена стойност (обик. 50 градуса) заряда се прекратява. Също така има защитен таймер по време, който изключва след като изтече определено време. Нормално при подходящо избран ток една батерия може да се зареди за около 1.5h
Друг важен момент е че при разряд, че напрежението на батерията не трябва да  пада под 3V, в противен случай се съкращава живота на батерията. Принципно е по лесно да се зарежда един и най-много два елемента последователно, ако са повече е необходимо да се балансира заряда на отделните елемнти.
След тази теория, може да пристъпим към практическото решаване на проблема със зареждането. Най добрия вариант е да си купиш готово зарядно, съобразено с капацитета на твоите батерии. По магазините за моделистика и електроника се предлагат такива. Другия вариант е да се ползва зарядната електроника на някое готово ел. устройство, което работи с такива батерии.  И накрая остава по-трудния варианта да си правиш сам зарядно. Има ралични готови IC за целта, но не винаги се намират по нашите магазини. Аз лично съм правил зарядно за Li-Ion на базата на LTC4002 (хубава схема). Може де се разгледа из нета за разни по-прости схеми. Мисля че съм срещал разни направени със табилизатори на напрежение.
В заключение бих казл че Li-Ion батериите имат предимства - като голям капацитет, ниско тегло, но изискват повече електроника и внимание за да се ползват. Смятам че за начинаещи по удачен избор са NiMH батерии.

259
В кода който си постнал, няма кой да загаси светодиода. Пробвай този код:

#include <avr/io.h>
#include <avr/delay.h>
#define F_CPU 4000000UL

   
int main(void)
{
   
     DDRD=0xff;
     DDRC=0x00;
   
  while (1) {

     if (PINC&_BV(PC5)){
          PORTD|=_BV(PD1); //пали светодиода ако PC5=1
     }
     else{
           PORTD&=~_BV(PD1); //гаси светодиода ако PC5=0
     }
   }
}


За тези които се чудят какво е _BV, това е вграден макрос. Дефиниране е по следния начин:
#define _BV(bit) (1 << (bit)) и следователно _BV(PC5) е еквиеалентно на (1<<PC5)
И накрая ако PC5 е оставан висящ във въздуха, няма гаранция какво ще бъде неговото входно състояние.

260
Погледни този пост:
http://www.robotics-bg.com/forum/viewtopic.php?p=6240#6240
Всеки I/O порт на AVR има няколко регистъра през, които се управлява. Четенето става през PINX,  където X  е името на порта.
Примерно ако искаш  да провериш дали пин PD3 на Порт D  е във високо ниво:
if(PIND&(1<<PD3)){

     
}

261
Електроника / 6 Channel Radio Mini RC Receiver 72Mhz
« -: Април 07, 2009, 07:31:21 am »
Това е стандартен приемник за радиоуправление със 6 канала, т.е може да управляваш 6 изпълнителни механизъма -примерно сервомашинки, спиид контролери и др. За да може да се ползва ще ти трябва и пулт за радиоуправление.

262
Благодаря за подкрепата :)
Относно подръжката на форума, да наистина необходима е една минимална годишна сума, която в момента отива за плащане на домейна и хостинга и за мен не е проблем да я осигурявам, също както и Борислав осигурява безвъзмездно софтуерна подръжка на форума .  Много по-важен и ценен обаче е труда на всички нас които създаваме идеи и напълваме форума със съдържание и помагаме да се развива роботиката в България.  
За клуба по роботика, който развиваме тук София имаме спонсор в лицето на фирма Pixeye  в която работя и нейния изп. директор г-н Ангелов. Заедно с него решихме още навремето когато стартира форума да направим клуб (кръжок) в който да реализираме интересни идеи и да подкрепяме форума. В крайна сметка е важно да се инвестира в младото поколение на България.
Сега няколко думи за състезанието. Определено беше интересно и организацията бе добра, но наистина участниците бяха много малко. И голяма вина за това има липсата на добра и достъпна материална база, осбено по отношение на механиката. Аз лично видях няколко кандидат участници, чиито роботи бяха направени буквално с подръчни средства. Благодаря на Евгени и Елена за предостваните ваучери, но си мисля дали не е по добре те да се предоствят на някои от  тези момчета за да могат да подобрят роботите. Видяното на състезанието затвърди мнението ми че трябва да продължим работата по създаване на една по масова и достъпна робо-платформа, за да може следващи път да направим едно истинско състезание с много роботи и много забавление.

263
Купувам-Продавам / Доставка на TSOP2438
« -: Април 03, 2009, 01:46:59 pm »
Както писах вече в тази  тема, TSOP2438 е добър заместител на TSOP1238, RPM7138 и други подобни.  Сега организираме една доставка за клуба и ще вземем 30-40 броя. Ако има други желаещи могат да се включат и ако се съберат 80-100 броя ще може да се получи добра цена от около 1.20 лв бройката. Който иска нека пише тук, на лични или по някой от другите канали за комуникация.

264
Електроника / Инфрачервен сензор (infrared)
« -: Април 03, 2009, 01:24:07 am »
И така след като направих малко проучване и търсене мисля че намерих подходящ приемник за IR сензора. Това е TSOP2438, който е аналогичен вариант на TSOP1238, но е в по-компактен корпус. При него изхода е постиянно в ниско ниво, докато постъпва модулиран сигнал, за разлика от RPM7138. Малък недостатък е че не се намира по родните магазини, но може да се достави бързо на цена колкото е RPM7138. Мисля в скоро време да сформирам една по-голяма доставка.
Спретнах набързо една схемичка с ATMEGA88 за тестове:



Тук ползвам един от вградените таймери да ми генерира 38kHz, които чрез транзистора Q1 модулират излъчването на IR светодиода.  Приемника (TSOP2438) e вързан на един от входовете на MCU и когато се приме отразен сигнал се запалва индикаторния светодиод LED1. Ето и кода, който прави всичко това:

#include <avr/io.h>
#define F_CPU 8000000UL  // 8 MHz тактова честота



int main(void)
{
   
DDRC = 1<<PC5;
DDRD =1<<PD5;
PORTD=1<<PD2;
TCCR0A=(1<<COM0B1)|(1<<WGM01)|(1<<WGM00);
TCNT0=0;
OCR0A=210; //настройваме на 38kHz
OCR0B=105; //50% коефициент на запълване
TCCR0B=(1<<WGM02)|(1<<CS00);

     while(1) {

if (PIND&(1<<PD2)){  
PORTC|=(1<<PC5);
}
else {
PORTC&=~(1<<PC5);

}
    }

}


Утре ще дам малко повече коментари по схемата и кода.

265
Малко линкове за последните версии на:

AVR Studio 4.16 (build 628)  (126 MB, updated 2/09)
http://www.atmel.com/dyn/resources/prod_documents/AvrStudio416Setup.exe

и WinAVR December 6, 2008:
http://sourceforge.net/project/showfiles.php?group_id=68108&package_id=66543&release_id=645436

266
От известно време обмисляме как дейността на клуба да помогне за рзвитието на любителската роботика в България. Досега основно се занимавахме с разработването на мобилния робот, но вече имаме някои нови идеи:
Започнахме да работим върху създаването на нещо като курс по основи на роботиката, който да включва електроника, сензори, микроконтролери и малко механика. Идеята е всяка лекция, която провеждаме да се направи в текстов вид и да се качва във форума, а накрая може да направим нещо като малка книжка. Разбира се има много неща за обсъждане и скоро ще стартираме тема по въпроса.
Другия проект, който стартирахме е разработка на малък мобилен робот, който да може да се използва като стартова платформа за начинаещи. Идеята е основните части да могат да се правят тук в България и по този начин да бъде с достъпна цена. Като начало палнираме да направим малка серия от 5- 10 робота за участниците в клуба и ако проекта е успешен да търсим варианти за развитие. Повече информация за проекта ще има в отделна тема.

267
С обикновена уеб камера ше стане трудно. Те са на USB порт и е не е лесно да прехвърлиш безжично сигнала.  Единия вариант е да се ползва готова безжична IP камера.  Другия вариант е да се ползва аналогова камера и безжичен комплект за предаване на видео сигнала.

268
Други роботи / Робо манипулатор
« -: Март 12, 2009, 09:27:42 pm »
Благодаря за поздравленията :) Роботчето наистина изглежда добре, докато го сглабях ми направи впечетление че всички пластмаси са доста добре изляти и всичко пасава точно.  Общо ми излезе около 90$, робота е около 50$ и транспорт 40$ - малко скъпичко, но кутията е сравнително голяма, а и идва чак то САЩ.  Относно идеята за повишаване товароподемността смятам, че е по-добре се проектира един нов манипулатор със сервомашинки, подобен проект обсъждахме в клуба, но трябва малк опо сериозно проектиране.

P.S Георги, незнам защо пишеш постовете си с главни букви, по принцип  във форумната терминология това се смята за викане.

269
Програмиране / PIC и L293D
« -: Март 12, 2009, 08:28:38 pm »
Задължително трябва да има pull-up или pull-down резистори, ако трябва да имаме гарантирани нива при подаване на захранването в противен случай можеда има неприятни изненади, осбено ако се управляват силови вериги.  Трябва да се има предвид, че е необходимо време за да се стабилизира захранването и работата на кварцовия генератор, понякога това време взависимост от конкретните настройки може да достигне 50-100 ms, което въобще не е за пренебрегване.

270
Други роботи / Робо манипулатор
« -: Март 10, 2009, 11:59:39 pm »
Отдавана съм меракля да се сдобия с един робо манипулатор. Като малък имаше едни български роботчета "Робко-01", на които много се кефех, но тогава така и не ми се отдаде да си поиграя.  Идеята разбира се  продължва да е жива и от време на време се оглеждам какво може да се купи или евентуално да се направи, Ето тези предлагат манипулатори базирани на сервомашинки:
http://www.lynxmotion.com/Category.aspx?CategoryID=27 , но не са много евтини.  
Наскоро обаче един колега ми прати линк за една машинка и благодарение на ebay  се сдобих с това:



Представлява прядъчно сложен кит за сглабяне с който ако човек се пребори  може да се сдобие с един макар и елементарен робо-манипулатор. След около 3 часа усилено четене на инструкцията и сглабяне достигнах до крайния резултат:



Робота е изцяло  пластмасов и малко паянтов, но работи доста добре, може да дигне  около 100 грама и човек може да научи доста за управлението на подобни манипулаотри, оказа се че не е толкова просто. Ще гледам да направя скоро някое клипче на робота в действие. Замислям също да му направя интерфейс за управление през PC за да стане истински робо-манипулатор.

Страници: 1 ... 16 17 [18] 19 20 ... 31