roboforum.ru

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

МОЙ ПЕРВЫЙ РОБОТ!!! ПРОШУ ПОМОЩИ

Re: МОЙ ПЕРВЫЙ РОБОТ!!! ПРОШУ ПОМОЩИ

avr123.nm.ru » 13 фев 2009, 22:37

Duhas писал(а):в той же авр студии гемор имеет место быть ...

Пора CVAVR попробовать.

Re: МОЙ ПЕРВЫЙ РОБОТ!!! ПРОШУ ПОМОЩИ

Duhas » 13 фев 2009, 22:49

never..... only ASM for AVR....

Re: МОЙ ПЕРВЫЙ РОБОТ!!! ПРОШУ ПОМОЩИ

SMT » 13 фев 2009, 23:01

программировать на asm-е - хорошо, программировать на с - это тоже не плохо 8)
Последний раз редактировалось SMT 14 фев 2009, 00:48, всего редактировалось 2 раз(а).

Re: МОЙ ПЕРВЫЙ РОБОТ!!! ПРОШУ ПОМОЩИ

avr123.nm.ru » 13 фев 2009, 23:16

Duhas писал(а):never..... only ASM for AVR....
Браво ! Гусар !

Re: МОЙ ПЕРВЫЙ РОБОТ!!! ПРОШУ ПОМОЩИ

Raf00084 » 15 фев 2009, 21:29

Привет Всем, выкладываю фотки своего чуда(во вложении), это начальный вариант
Кстати я добил программу и железо и мой ик работает но пока несовсем как я хотел но это дело времени!!!
Причина была в частоте работы мк поставил внешний кварц на 6 МГц подвесил два кондера на питание TSOP-а и увеличил сопротивление на ик диод, ЕСЛИ кому надо выложу схему но этого добра в инете полно.
Код: Выделить всёРазвернуть
Project : 
Version :
Date    : 13.02.2009
Author  : F4CG                           
Company : F4CG                           
Comments:


Chip type           : ATmega32
Program type        : Application
Clock frequency     : 6,000000 MHz
Memory model        : Small
External SRAM size  : 0
Data Stack size     : 512
*****************************************************/

#include <mega32.h>

// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Reinitialize Timer 0 value
TCNT0=0x5A;
// Place your code here
PORTD^=0x10;
}

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=Out Func4=Out Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=1 State4=1 State3=T State2=T State1=T State0=T
PORTD=0x30;
DDRD=0x30;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 6000,000 kHz
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x01;
TCNT0=0x5A;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x01;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// Global enable interrupts
#asm("sei")

while (1)
      {
      // Place your code here
if(PIND.6) {
PORTD.5=1;}
else{PORTD.5=0;}
      };
}

Причем я даже этого неожидал, но мой ик реагирует на расстояние до препятствия, начиная примерно с 70-80 см, контрольный диод начинает мигать медленно, на 50 см чуть быстрее, а в 3-4 почти непрырывно горит. Это можнобудет использовать для определения дистанции.
Теперь приступаю к ШИМ точнее к 2-м у меня два двигателя.
Вложения
IMG_3405.jpg
IMG_3404.jpg
IMG_3403.jpg
IMG_3402.jpg

Re: МОЙ ПЕРВЫЙ РОБОТ!!! ПРОШУ ПОМОЩИ

Деня » 18 фев 2009, 15:18

нууу... я, помню, первые разы в восьмой меге рылся, не мог понять, почему она у меня на 1 мегагерце работает, хотя кварц на 8 припаян. Дело во фьюзах, можно задать внешний кварц (рс- цепочку), либо внутренний калиброванный генератор. Сильно распостраняться на этот счет не буду, всё написано в даташитах на сайте дяди Атмела.
Насчет частоты- проверил так- задал ему задание делать меандр на одной ножке (в "0"- делэй- в "1"- делэй), и померил эту частоту, что он пиликал. Осциллографа нема, частотомером. Ну а дальше- математика, есть частота, надо найти длительность одного полупериода, это и будет наш делэй. У меня получилось 8мс, в действительности было 1мс. математика+математика=в 8 раз медленнее, значит, на 1 мегагерце был.
Фузы переставил на внутренний генератор 8 мгц- всё полетело со свистом. Теперь думаю робота начать клепать, надо применять полученные знания. ИК- датчик возьму аппаратный, схему почерпнул от набора мастер-кит "робот-жук", громадный им респект, прототип показал отличные результаты. Кому надо- поделюсь.

Думаю насчет основы с колесами, по танковому принципу. Посоветуйте как лучше быть.

Den2813@rambler.ru :crazy:

Re: МОЙ ПЕРВЫЙ РОБОТ!!! ПРОШУ ПОМОЩИ

avr123.nm.ru » 18 фев 2009, 15:44

Колеса с лепестками мне нравятся - хорошее "сцепление" у них.

Re: МОЙ ПЕРВЫЙ РОБОТ!!! ПРОШУ ПОМОЩИ

Raf00084 » 18 фев 2009, 17:47

Деня писал(а):
Думаю насчет основы с колесами, по танковому принципу. Посоветуйте как лучше быть.

Den2813@rambler.ru :crazy:


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

Re: МОЙ ПЕРВЫЙ РОБОТ!!! ПРОШУ ПОМОЩИ

Деня » 18 фев 2009, 19:56

довольно дельная штука, правда, радиус действия сантиметров 20, зато схема несложная, помехозащищенность на высоте. Схему прилагаю, пока просто так накарябано. Впоследствии, я так думаю, будет 2 сенсора по этой схеме, один посередине на TSOP-е, так сказать, радар дальнего действия.
Что до моторов- не хочу LM-ку ставить, она, говорят, электричество кушать любит. Сделаю по- другому, наметка уже есть, на МОП логической микросхеме (одной) узел выбора направления (одна нога МК), узел разрешить/запретить работу моторов (его к ШИМ), ну а на выходе транзисторный Н-мост. Схему в скором времени выложу, если интересно. :crazy:
Вложения
сенсора.rar
схема сенсора
(7.67 КиБ) Скачиваний: 23


Rambler\'s Top100 Mail.ru counter