roboforum.ru

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

 

Нужна помошь в освоении proteus.

Раздел создан специально для людей которым интересна робототехника, но в силу разных причин они не знают с чего начать.
Задавайте ваши вопросы, какими бы простыми они не казались, постоянные посетители форума постараются ответить на них по мере своих сил.
Робот своими руками. Самодельный робот.

Re: Нужна помошь в освоении proteus.

Сообщение INDEPENDENT » 06 янв 2012, 16:17

Да, я так исправил. Точно!! Я на мастер классе был , там показывали как светофор сделать.
INDEPENDENT
 
Сообщения: 52
Зарегистрирован: 28 окт 2010, 21:37
Skype: independent645

Re: Нужна помошь в освоении proteus.

Сообщение Vovan » 06 янв 2012, 16:24

Если моторы подправил - писать прогу, заливать в МК и запускать симуляцию.
Вперед! :)
Светодиоды, фотодиоды или еще чего - это все потом.
Схему построили? Надо запустить!
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Нужна помошь в освоении proteus.

Сообщение INDEPENDENT » 06 янв 2012, 16:31

Начальный значения на PB(0-3) = 0? На PB(6,7) = 1 На PD(0-3)= 0 На PD(4,5)= 1?
INDEPENDENT
 
Сообщения: 52
Зарегистрирован: 28 окт 2010, 21:37
Skype: independent645

Re: Нужна помошь в освоении proteus.

Сообщение Vovan » 06 янв 2012, 16:50

Выводы МК которые на кнопки: все - входы; все с 1.
Выводы МК на IN-ы L298: все - выходы; все с 0.
Выводы МК на EN: все выходы, а 0 или 1 зависит от программы. Если сразу старт то тогда 1. Если старт как-то оттягивается или планируются остановки какие-либо то 0, а уже в программе менять...
EN у L298 - предназначен, чаще всего, для ШИМ (правда есть и другие применения, но не в этом случае).
Если на EN 0 - моторы не поедут. Если на EN 1 - можно рулить моторами используя только IN-ы.
Вывод: пока что на EN-ы предлагаю сориентировать выводы МК как выхода и повесить постоянно 1.
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Нужна помошь в освоении proteus.

Сообщение INDEPENDENT » 06 янв 2012, 22:10

While(1)
{
If (PINB.0==1)
{PORTD.0=1
PORT.1=0}

While(2)
{
If (PIND.1==1)
{PORTD.0=0
PORTD.1=1}
}

While(3)
{
If (PIND.2==1)
{PORTD.2=1
PORTD.3=0} }

While(4)
{
If (PIND.3==1)
{PORTD.2=0
PORTD.3=1}
}
INDEPENDENT
 
Сообщения: 52
Зарегистрирован: 28 окт 2010, 21:37
Skype: independent645

Re: Нужна помошь в освоении proteus.

Сообщение Vovan » 06 янв 2012, 22:29

Хорошо бы тег "Code" в таких случаях :wink:
Хорошо бы комменты писать, сам бы заметил где лажа :wink:
Хорошо бы вопрос сформулировать, или сообщить что то-то и то-то у меня получилось :wink:
Вот нет комментов, сразу у меня вопрос (хоть я в си ни бум-бум :roll: )
If (PINB.0==1) почему?
и ещё:
PORT.1=0} - чё это??? :shock:
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Нужна помошь в освоении proteus.

Сообщение INDEPENDENT » 06 янв 2012, 22:44

А где 7.2 напряжение взять

Добавлено спустя 1 минуту 17 секунд:
Я ,наверно не понимаю алгоритм кнопок. Если их нажимаешь то порт с которым соединяется кнопка активируется?

Добавлено спустя 2 минуты 39 секунд:
В магазине есть нашел уже)

Добавлено спустя 25 секунд:
А почему именно на 7.2 ,а не на ровно 7 или 8
INDEPENDENT
 
Сообщения: 52
Зарегистрирован: 28 окт 2010, 21:37
Skype: independent645

Re: Нужна помошь в освоении proteus.

Сообщение Vovan » 06 янв 2012, 22:55

А где 7.2 напряжение взять
в смысле? Если в железе то 6 акков по 1,2в 6х1.2=7.2(металгидридных или кадмиевых), или 2 литийионных или литийролимерных 3.6х2=7.2.Можно и больше, но не больше чем выдержат моторы и не больше чем выдержит 7805.
7в и 8в - найдутся такие акки? :shock: Ну если найдутся - на здоровье! :D
Если кнопка между портом и GND, это значит: что при нажатии кнопки порт обнуляется; если порт сконфигурирован как вход и установлен в 1.
Таким образом код должен быть что-то типо того:
Код: Выделить всёРазвернуть
если сработала кнопка на PORTB,0;
идём включать PORTD,x;
и PORTD,y;
а иначе идём снова проверять кнопку;
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Нужна помошь в освоении proteus.

Сообщение INDEPENDENT » 07 янв 2012, 12:58

Vovan писал(а):Если кнопка между портом и GND, это значит: что при нажатии кнопки порт обнуляется; если порт сконфигурирован как вход и установлен в 1.

А если порт установлен в 0?

Добавлено спустя 29 секунд:
С Рождеством Вас!!

Добавлено спустя 5 минут 39 секунд:
Если на порт установлено out это выход? Если in то это вход? True соответствует 1 , False соответствует 0?

Добавлено спустя 3 минуты 34 секунды:
Код: Выделить всёРазвернуть
While(1)

{
{If (PINB.0==1)
{PORTD.0=1
PORTD.1=0}}

{If (PIND.1==1)
{PORTD.0=0
PORTD.1=1}}

{If (PIND.2==1)
{PORTD.2=1
PORTD.3=0}}

{If (PIND.3==1)
{PORTD.2=0
PORTD.3=1}}
}


Бесконечны цикл с 4 условиями.
INDEPENDENT
 
Сообщения: 52
Зарегистрирован: 28 окт 2010, 21:37
Skype: independent645

Re: Нужна помошь в освоении proteus.

Сообщение Vovan » 07 янв 2012, 18:52

Отвечу по порядку:
Если порт установлен в 0, установка в 0 не изменит его состояния. Т.е. если посмотреть внимательно на мой пост <Если кнопка между портом и GND> это значит, что нажатие кнопки обнулит порт, т.е. нужно чтобы была 1-ца, а замыкание порта с 0-лём, посредством кнопки, обнуляет его. Если на порте 0 обнуляй его хоть сто порций - что изменится?
Так, первое я сказал, теперь второе: если порт установлен в 0 значит менять его состояние нужно чем? - правильно 1-цей! А 1-ца это что? правильно - это +5в.
Поэтому если порт установлен в 0 то, кнопки нужно вешать на +5в, дабы на порте после замыкания кнопки появилась 1-ца, но для этого нужно во-первых по другому подключить кнопки (между портом и +5в), а во-вторых на порт повесить 0.
Вывод: т.к. на схеме кнопки повешены между GND и портами, значит порты обязательно нужно ориентировать в 1-цу, чтоб кнопкой обнулить.
Примеч.: была бы другая схема, например было бы по другому, тогда другое дело. Однако схема составлена намано, поэтому ничего делать, кроме написания проги под эту схему, не надо. Сорри за много букаф, ненужное (уже известное - не читать :wink: ).
Про установку портов вроде хило-бедно объяснил... Да? :wink:
<С Рождеством Вас!!> спасибо за внимание :) , но увы не праздную, ибо имхо не правильно это, причем обосновано, но не в этой теме. Однако за внимание ещё раз спасибо :)
<Если на порт установлено out это выход?> Да (out сокращенно output = выход)
<Если in то это вход?> Да (in сокращенно input = вход)
<True соответствует 1> не в курсе насчет других языков, по мне дак это правда, или сквозь(в радиотехнике)
<False соответствует 0?> по мне - это ложь или мимо(в радиотехнике)....
мождь кто-то другой ответит, тут я пас :oops:

Что касается кода: почему всюду if=если, причем на порте Д (выходах) :shock: ???? - хоть я и не пишу на си :roll: , но прочесть кое как умею :oops:
ИМХО: схему в Протеусе не трогать; писать прогу по предварительно написанному алгоритму на русском, пример см. выше, повторюсь: если ТО, то ЭТО, а иначе ТУДА, а там ДЕЙСТВУЕМ ТАК-ТО и выходим либо туда откуда зашли либо по конкретному адресу.
ЗЫ: настоятельно рекомендую прочесть внимательно сей пост, размышляя над каждым предложением :)
ЗЫЫ: Без обид, ок? :wink: вроде все по теме :oops:
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Нужна помошь в освоении proteus.

Сообщение INDEPENDENT » 08 янв 2012, 15:34

duplicate part reference
Выдает эту ошибку.

Добавлено спустя 21 секунду:
Спасибо)
INDEPENDENT
 
Сообщения: 52
Зарегистрирован: 28 окт 2010, 21:37
Skype: independent645

Re: Нужна помошь в освоении proteus.

Сообщение Vovan » 08 янв 2012, 15:56

Круто! :D
Что-то мне это напоминает? :wink:
О, вспомнил, ребенок (лет 2-х - 3-х) частенько так действует:
-Мааааамааааа! У меня не полуцается :cry:
-что? где? не получается? что ты вообще делаешь?
-ницегоооо непалуцаецаааааа, нигдеееее :cry:
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Нужна помошь в освоении proteus.

Сообщение INDEPENDENT » 08 янв 2012, 16:06

Все получилось, просто мотором дал одинаковые имена, а ISIS этого не любит.
INDEPENDENT
 
Сообщения: 52
Зарегистрирован: 28 окт 2010, 21:37
Skype: independent645

Re: Нужна помошь в освоении proteus.

Сообщение Vovan » 08 янв 2012, 19:05

Хорошо! :) Значит всё работает? :wink:
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Нужна помошь в освоении proteus.

Сообщение INDEPENDENT » 08 янв 2012, 21:34

Нет, ISIS зависает и вылетает. Думаю что программу в Cvavr не правильно написал.
Код: Выделить всёРазвернуть
while(1) {
{if (PINB.0==0)
{PORTD.0=1 ;
PORTD.1=0;}}

{if (PIND.1==0)
{PORTD.0=0 ;
PORTD.1=1;}}

{if (PIND.2==0)
{PORTD.2=1;
PORTD.3=0;}}

{if (PIND.3==0)
{PORTD.2=0 ;
PORTD.3=1;}}
INDEPENDENT
 
Сообщения: 52
Зарегистрирован: 28 окт 2010, 21:37
Skype: independent645

Пред.След.

Вернуться в Новичкам или основы основ роботостроения.

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

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

Mail.ru counter