roboforum.ru

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

Поготе с ЛУТ

Re: Поготе с ЛУТ

Krish » 05 апр 2011, 16:47

А как программу из МК удалить полностью....

Re: Поготе с ЛУТ

Myp » 05 апр 2011, 16:56

стереть её оттуда

Re: Поготе с ЛУТ

Krish » 05 апр 2011, 17:14

Если б я умел, я б не спрашивал, расскажи на примере AVR Studio 4 , мой прогер там работает только... :cry:

Re: Поготе с ЛУТ

Vovan » 05 апр 2011, 21:22

Я вот это ну напрочь не догоняю :oops: :
Krish писал(а):Если не до травить то паяться платка не будет?!

Я так понимаю: недотравленная плата это просто фольгированный гетинакс или, в лучшем случае, гетинакс с хаотично расположенными областями недотравленной фольги.
А ТС вообще-то понимает ЗАЧЕМ вся эта бодяга с ЛУТ, травлением и пайкой? Или просто бездумное повторение того что норыто в нете? причем повторение с необязательным соблюдением очередности, например: сначала пайка, затем травление, а затем ЛУТ. :crazy:

Re: Поготе с ЛУТ

Krish » 06 апр 2011, 09:25

мда.. твой ответ гениальный...

Re: Поготе с ЛУТ

Vovan » 06 апр 2011, 09:44

Мои опасения подтвердились :) отличить вопрос от ответа - "сложнейшая" задача, когда не знаешь как соблюсти последовательность не только в делах, но и в словах. Специально для ТС переведу: не давал я никакого "гениального ответа" - я лишь спросил... Ответ (возможно и гениальный) - за ТС :wink: А кроме того, на вопрос про AVR Studio 4 я отвечать не собираюсь, т.к. название сей темы (жутко гениально написаное задней левой ногой безногого): "Поготе с ЛУТ" - чётко определяет: поготиться об ЛУТах, а не поготить со Студией :lol:

Re: Поготе с ЛУТ

Сергей » 06 апр 2011, 09:48

Krish, почему ты не хочешь записаться в радио кружок?

Re: Поготе с ЛУТ

Krish » 06 апр 2011, 09:51

У меня проблема с программой:
Кидаю прогу на тестирование сервопривода который подключен к порту PС2, а он не крутит...
Код: Выделить всёРазвернуть
$regfile = "m16def.dat"                                     'используем мк ATmega16

$crystal = 16000000                                         'частота кварцевого резонатора 16mHz

Config Portc.2 = Output                                     'Порту присвоенно имя Servo1

Config Servos = 1 , Servo1 = Portc.2 , Reload = 11

Dim I As Integer , P As Integer

P = 12                                                     'чем меньше значение переменной, тем быстрее будет вращаться серва и наоборот

Enable Interrupts

Servo(1) = 101                                              'центрируем серво (для разных моделей серво этот параметр может отличаться)

Wait 1

Do

For I = 101 To 150
Servo(1) = I : Waitms P
Next

For I = 150 To 200
Servo(1) = I : Waitms P
Next

For I = 200 To 150 Step -1
Servo(1) = I : Waitms P
Next

For I = 150 To 0 Step -1
Servo(1) = I : Waitms P
Next

For I = 0 To 101
Servo(1) = I : Waitms P
Next

Loop

End


Добавлено спустя 1 минуту 38 секунд:
Сергей писал(а):Krish, почему ты не хочешь записаться в радио кружок?

Хех, я на 2х кружках: 1) радиоуправление.
2) робототехника (но там не то там сразу выдают полный набор NXT и программирование на NXT G, хрень какая-то)
C электроникой у меня хорошо, а с программирование плохо

Re: Поготе с ЛУТ

Сергей » 06 апр 2011, 10:25

Krish писал(а):Хех, я на 2х кружках

Не очень похоже по тому, как подходишь к формированию вопросов.

Re: Поготе с ЛУТ

Myp » 06 апр 2011, 10:25

Krish писал(а): C электроникой у меня хорошо, а с программирование плохо

к сожалению пока со всем просто ужасно =) но есть куда расти =)

ты для начала попробуй просто светодиодом помигать раз в секунду

Re: Поготе с ЛУТ

Strijar » 06 апр 2011, 12:35

И травить ничего не надо для начала - есть макетные платы и провод МГТФ

Re: Поготе с ЛУТ

Krish » 06 апр 2011, 13:53

:lol:
Последний раз редактировалось Krish 07 апр 2011, 16:44, всего редактировалось 1 раз.

Re: Поготе с ЛУТ

dccharacter » 06 апр 2011, 13:56

Леван, ты ржака :-)
Но ниче, молодцом...

Re: Поготе с ЛУТ

Krish » 06 апр 2011, 16:49

Да норм )) сделал по кусочкам программу (основу взял с kapanda)

Код: Выделить всёРазвернуть
$regfile = "m16def.dat"                    'используем мк ATmega16
$crystal = 16000000                    'частота кварцевого резонатора 16MHz

'****************************Настройка таймеров и сервоприводов*****************

Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down       ' таймер для ШИМ двигателей
Config Servos = 1 , Servo1 = Portc.2 , Reload = 12          ' Указываем кол-во серв, присваеваем имя Servo1 порту PC2, указываем длину импульса.

'*************************** Порт A ********************************************

' Поключили дальномер, порт A7, настройки АДС ниже

'*************************** Порт В ********************************************

'Библиотека lcd4.lbx использует следующее подключение:
'Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.2 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7
'Config Lcd = 16 * 2                    'используем дисплей на 2 строчки по 16 знакомест в каждой
' Свободные порты: PortB.3
Config Pinb.0 = Output : Led1 Alias Portb.0                 'ногу сконфигурировали как выход и обозвали Led1
Config Pinb.2 = Output : Led2 Alias Portb.2                 'ногу сконфигурировали как выход и обозвали Led2

'*************************** Порт C ********************************************

Config Pinc.2 = Output                    ' Подключили серву1 к порту С2, настройки сервы выше

'*************************** Порт D ********************************************

Config Pind.6 = Output : Dr1 Alias Portd.6                  'ногу сконфигурировали как выход и обозвали Dr1
Config Pind.7 = Output : Dr2 Alias Portd.7                  'ногу сконфигурировали как выход и обозвали Dr2
Config Pind.5 = Output                    'ногу ШИМа 1-ого  движка сконфигурировали как выход
Config Pind.4 = Output                    'ногу ШИМа 2-ого движка сконфигурировали как выход

'*****************************Настройка ADC*************************************

Config Adc = Single , Prescaler = Auto , Reference = Internal

'*******************************************************************************

Enable Interrupts                    ' разрешаем прерывания

'************************Переменные и константы*********************************

Dim Speed As Integer , Sharp As Integer                       
Dim I As Integer                     
Dim Vout As Word

'*****************************Основной цикл*************************************
Speed = 255
1:
Do

Gosub Вперёд                    ' Если сигнала от ик-датчика(Sharp) не поступает, значит двигаемся всё время прямо

'******************Вращение сервопривода и датчика Sharp************************

For I = 45 To 90 Step 1                    ' Вращаем сервой справа на лево
    Gosub Sharp_right                    ' считаем что шарп смотрит вправо
    Servo(1) = I
    Waitms 12                    ' ждем 12 мс
Next

For I = 90 To 135 Step 1                    ' Вращаем сервой справа на лево
    Servo(1) = I
    Gosub Sharp_left                    ' считаем что шарп смотрит влево
    Waitms 12                    ' ждем 12 мс
Next

For I = 135 To 90 Step -1                    ' Вращаем сервой слева на право
    Gosub Sharp_left                    ' считаем что шарп смотрит вправо
    Servo(1) = I
    Waitms 12                    ' ждем 12 мс
Next

For I = 90 To 45 Step -1                    ' Вращаем сервой слева на право
    Gosub Sharp_right                    ' считаем что шарп смотрит влево
    Servo(1) = I
    Waitms 12                    ' ждем 12 мс
Next

Loop

'*******************************************************************************
'      Включение комбинации моторов для движения в заданном направлении
'*******************************************************************************

Стоп:                    ' стоим на месте
Dr1 = 0 : Dr2 = 0 : Pwm1a = 0 : Pwm1b = 0
Return

Вперёд:
                     ' едим вперёд на заданной скорости
Dr1 = 0 : Dr2 = 0 : Pwm1a = Speed : Pwm1b = Speed
Return

Назад:                    ' едим назад на заданной скорости

Dr1 = 1 : Dr2 = 1 : Pwm1a = Speed : Pwm1b = Speed
Return

Разворот_вправо:                    ' делаем Разворот_вправо на заданной скорости

Dr1 = 0 : Dr2 = 1 : Pwm1a = Speed : Pwm1b = Speed
Return

Разворот_влево:                    ' делаем Разворот_влево на заданной скорости

Dr1 = 1 : Dr2 = 0 : Pwm1a = Speed : Pwm1b = Speed
Return

'***********************************Sharp***************************************

Sharp_right:

Start Adc : Vout = Getadc(7)                    'Sharp connected for example to PA=0(ADC0)
Stop Adc
If Vout > 240 Then : Sharp = 1 : Else : Sharp = 0 : End If
If Sharp = 1 Then : Led1 = 1
    Gosub Разворот_влево : Waitms 500 : Led1 = 0 : Gosub Вперёд : End If

Return

Sharp_left:

Start Adc : Vout = Getadc(7)                    'Sharp connected for example to PA=0(ADC0)
Stop Adc
If Vout > 240 Then : Sharp = 1 : Else : Sharp = 0 : End If
If Sharp = 1 Then : Led2 = 1
    Gosub Разворот_вправо : Waitms 500 : Led2 = 0 : Gosub Вперёд : End If

Return

End


Во, сёдня залью вечером посмотрю, надо только ДД какой нить сделать...

Не ну я историю конечно исправлю если ты про то :)))
______________________________________
Блин какая то фигня случилась... подаю питание по схеме не в одной точке схемы тока нет :( что это может быть? :shock:

Добавлено спустя 2 часа 48 минут 7 секунд:
Так, вот, я не знаю, что делать, питание по схеме вообще не идет, всё проверил, думал может где то дорожка отошла, так нет, всё крепко и гладко, в чём проблема ? Может флюса много положил ? Странно как то, ни когда с таким не сталкивался...

Re: Поготе с ЛУТ

boez » 06 апр 2011, 17:06

Так прозванивай, может перетрав где-то и дорожка не проводит ток. Или ошибка в разводке. Искать надо. Поначалу вообще без питания, просто тестером в режиме прозвонки цепей.


Rambler\'s Top100 Mail.ru counter