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 раз.
maska
 
Сообщения: 56
Зарегистрирован: 22 авг 2007, 22:07
Откуда: Украина, Харьков

Сообщение avr123.nm.ru » 23 авг 2007, 16:12

Поздравляю !    :lol:
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение Myp » 23 авг 2007, 18:36

надеюсь ты в курсе как опасно работать с литиевыми аккумуляторами когда их обшкуриш?
в них нет контроллера который недопускает переразряд
при глубоком разряде эти акки в лучшем случае разбухают и катастрофически теряют ёмкость
в худшем тупо взрываются
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение maska » 23 авг 2007, 18:46

Когда раздербанивал аккум обратил внимание, конечно, на то, что там платка с какими-то микрухами была. Что могут взрываться знаю - стараюсь держать под контролем. Где-то даже видео видел взрыва, может быть даже ссылка где-то на сайте этом есть.
maska
 
Сообщения: 56
Зарегистрирован: 22 авг 2007, 22:07
Откуда: Украина, Харьков

Сообщение Myp » 23 авг 2007, 18:53

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

тогда небыло бы проблемы с перезарядом или недозарядом
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Сообщение maska » 23 авг 2007, 19:25

На самой верхней фотке жук-дуплилка рядом лежит с зарядкой. Так вот в этой зарядке есть контроллер заряда. Она даже мигает диодиком и частота мигания соответсвует степени заряда. Когда полностью зарядится диодик погасает. Вот ;) Так что я не страшусь взрыва. А аккум обшукрил потому-что не хотел приклеивать, а  металлический корпус удалось припаять.
maska
 
Сообщения: 56
Зарегистрирован: 22 авг 2007, 22:07
Откуда: Украина, Харьков

Сообщение Vooon » 23 авг 2007, 19:39

по поводу припаивания - вот это зря, литиевые не любят нагрев, да вобщемто по большому щету все аки не любят нагрев
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Сообщение maska » 23 авг 2007, 19:44

Я пальцем прихимал аккум к платформочке когда припаивал. Палец не отнимал пока расплав припоя не остыл. Считаю, что не перегрел. Сильнее перегрелись движки когда я их припаивал. Вот ;)
maska
 
Сообщения: 56
Зарегистрирован: 22 авг 2007, 22:07
Откуда: Украина, Харьков

Сообщение avr123.nm.ru » 23 авг 2007, 20:09

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


Ну ты ВАААААААще !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение maska » 23 авг 2007, 20:19

Просто надо мощным паяльником такие спаи выполнять - тогда за счёт быстрого локального нагрева припой плавится, а остальная масса не нагревается сильно. Припоя дали - и дуть дуть ;)
А вообще на левой руке перст трёхпалый на подушечках давно загрубел - жало паяльничка очищаю от нагара  :twisted:
maska
 
Сообщения: 56
Зарегистрирован: 22 авг 2007, 22:07
Откуда: Украина, Харьков

Сообщение avr123.nm.ru » 23 авг 2007, 20:49

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


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

Я постаринке тряпкой чищу   :lol:
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение maska » 23 авг 2007, 21:00

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


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

кстати, AVR, спасибо за курс... читаю по маленьку - разбираюсь на досуге
maska
 
Сообщения: 56
Зарегистрирован: 22 авг 2007, 22:07
Откуда: Украина, Харьков

Сообщение 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
maska
 
Сообщения: 56
Зарегистрирован: 22 авг 2007, 22:07
Откуда: Украина, Харьков

Сообщение avr123.nm.ru » 24 авг 2007, 10:11

Жаль что вы не чтали внимательно даташит или avr123.nm.ru/07.htm  о  подключении питания к МК и цепи RESET.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение avr123.nm.ru » 24 авг 2007, 10:13

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


Вроде сайт не плохой - а схемы публикуют не думая.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

След.

Вернуться в Наши проекты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18

cron