roboforum.ru

Технический форум по робототехнике.

Первое творение на контроллере

Первое творение на контроллере

maska » 23 авг 2007, 14:21

Приветствую всех участников форума!

Слов много говорить не буду, смотрите сами.
За основу схемы вязата схема "Робот для соревнований" с сайта http://www.myrobot.ru

Вечером, когда дома буду выложу программку и с нетерпением буду ждать критики. Уже заранее знаю, что критики будет много (т.е. знаю что там есть места "левые" но исправить их не получается). Подробности вечером.
Вложения
P1010195.jpg
рядом со своей зарядкой (универсальная зарядка для любых аккумуляторов из сотовых) и программатором, который по совместительству отладочная плата для LPT
P1010194.jpg
вид спереди
P1010192.jpg
вид сбоку

виден "обшкуренный" аккумулятор от Nokia
P1010191.jpg
перспектива
Последний раз редактировалось maska 23 авг 2007, 16:43, всего редактировалось 1 раз.

avr123.nm.ru » 23 авг 2007, 16:12

Поздравляю !    :lol:

Myp » 23 авг 2007, 18:36

надеюсь ты в курсе как опасно работать с литиевыми аккумуляторами когда их обшкуриш?
в них нет контроллера который недопускает переразряд
при глубоком разряде эти акки в лучшем случае разбухают и катастрофически теряют ёмкость
в худшем тупо взрываются

maska » 23 авг 2007, 18:46

Когда раздербанивал аккум обратил внимание, конечно, на то, что там платка с какими-то микрухами была. Что могут взрываться знаю - стараюсь держать под контролем. Где-то даже видео видел взрыва, может быть даже ссылка где-то на сайте этом есть.

Myp » 23 авг 2007, 18:53

вот эту платку то и надо было оставить
всё равно для тебя на корпусе было выведено 2 контакта + и - (третий контакт это вывод терморезистора чтоб акумулятор не перегрелся при зарядке)
вот их и надо было использовать и через них же заряжать

тогда небыло бы проблемы с перезарядом или недозарядом

maska » 23 авг 2007, 19:25

На самой верхней фотке жук-дуплилка рядом лежит с зарядкой. Так вот в этой зарядке есть контроллер заряда. Она даже мигает диодиком и частота мигания соответсвует степени заряда. Когда полностью зарядится диодик погасает. Вот ;) Так что я не страшусь взрыва. А аккум обшукрил потому-что не хотел приклеивать, а  металлический корпус удалось припаять.

Vooon » 23 авг 2007, 19:39

по поводу припаивания - вот это зря, литиевые не любят нагрев, да вобщемто по большому щету все аки не любят нагрев

maska » 23 авг 2007, 19:44

Я пальцем прихимал аккум к платформочке когда припаивал. Палец не отнимал пока расплав припоя не остыл. Считаю, что не перегрел. Сильнее перегрелись движки когда я их припаивал. Вот ;)

avr123.nm.ru » 23 авг 2007, 20:09

maska писал(а): Палец не отнимал пока расплав припоя не остыл.  ;)


Ну ты ВАААААААще !

maska » 23 авг 2007, 20:19

Просто надо мощным паяльником такие спаи выполнять - тогда за счёт быстрого локального нагрева припой плавится, а остальная масса не нагревается сильно. Припоя дали - и дуть дуть ;)
А вообще на левой руке перст трёхпалый на подушечках давно загрубел - жало паяльничка очищаю от нагара  :twisted:

avr123.nm.ru » 23 авг 2007, 20:49

maska писал(а):на левой руке перст трёхпалый на подушечках давно загрубел - жало паяльничка очищаю от нагара  :twisted:


Я сразу почуИл что ты ВАААААААще !
Харэ. Веди себя прилично. <Сергей>

Я постаринке тряпкой чищу   :lol:

maska » 23 авг 2007, 21:00

а через тряпочку не жжёт ;)
у меня ещё лоскуток замшевый есть - им я жало мощного паяльника иногда очищаю....


развели мы тут флуд о пальцах и паяльника :)

кстати, AVR, спасибо за курс... читаю по маленьку - разбираюсь на досуге

maska » 24 авг 2007, 01:22

вот схемка с myrobot.ru - кстати сайт этот не работает...

и тескт программки, - только не сильно пинайте.

отличие на моей дуплилке в том, что на PIND2 повешен ещё один фототранзистор.



Код: Выделить всёРазвернуть
/////////////////////текст прогаммки
#include <avr/io.h>
#include <avr/delay.h>


int main(void)
{
 
   DDRC = 0xff;
   DDRD = 0x00;
   
   PORTD = 0xff;
   
   unsigned short counter;
   unsigned short turn;
   
   counter = 0;
   turn = 0;
   
   while (counter != 100)
   {
      _delay_loop_2(15000);
      counter++;
   }
 
   while(1)
   {
      if ( !(PIND & (1<<PIND1)) || !(PIND & (1<<PIND2)) )
      {
         if (PIND & (1<<PIND1))
            turn = 1;
         if (PIND & (1<<PIND2))
            turn = 2;
         if (PIND & (1<<PIND2) && PIND & (1<<PIND1))
            turn = 3;
         
         if (turn == 1){
            PORTC &= ~_BV(PC1);
            PORTC |= _BV(PC2);
            PORTC |= _BV(PC3);
            PORTC |= _BV(PC4);
         }
                  
         if (turn == 2){
            PORTC |= _BV(PC1);
            PORTC |= _BV(PC2);
            PORTC &= ~_BV(PC3);
            PORTC |= _BV(PC4);            
         }
         
         if (turn == 3){
            PORTC &= ~_BV(PC1);
            PORTC |= _BV(PC2);
            PORTC &= ~_BV(PC3);
            PORTC |= _BV(PC4);         
         }
         
         if (turn != 3){
         counter = 0;
            while (counter < 100)
            {
               _delay_loop_2(600);
               counter++;
            }
         }
      }
      else
      {
         PORTC |= _BV(PC1);
         PORTC &= ~_BV(PC2);
         PORTC |= _BV(PC3);
         PORTC &= ~_BV(PC4);
      }
   }
}




и вот вся штука в том, что функция delay() из примера с myrobot.ru у меня почему-то не работает, хотя всё компилируется без ошибок, функция есть в delay.h

ну вот...

контроллер ATmega8, дравер L293

Используйте тег CODE! <V>
Вложения
pic.jpg

avr123.nm.ru » 24 авг 2007, 10:11

Жаль что вы не чтали внимательно даташит или avr123.nm.ru/07.htm  о  подключении питания к МК и цепи RESET.

avr123.nm.ru » 24 авг 2007, 10:13

maska писал(а):вот схемка с myrobot.ru - кстати сайт этот не работает...


Вроде сайт не плохой - а схемы публикуют не думая.


Rambler\'s Top100 Mail.ru counter