roboforum.ru

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

От дипломов до различных проектов и новостей

Правила форума
В данном разделе каждый может иметь не более одной темы. Тема должна начинаться с логина (ника) робофорума.

Re: CiSi - дипломный проект бакалавра.

CiSi » 18 янв 2010, 15:51

Что то не пойму не чего, что за фронта? И как их аппаратно определять, да и програмно?

Re: CiSi - дипломный проект бакалавра.

Myp » 18 янв 2010, 16:50

можно извратиться и поставить 2 маленьких тумблера или движковых переключателя по концам рабочей плоскости соединённых общей проволочкой/пластинкой

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

будет ездить автономно пока есть питание)

Re: CiSi - дипломный проект бакалавра.

CiSi » 18 янв 2010, 17:23

То же думал про тумблеры, но мне кажется что это будет ... да же не знаю как обяснить.

Лючше бы кнопки оставить. Но с программой для них возникают затруднения.

Добавлено спустя 4 минуты 47 секунд:
Вот прошивка которая на сегоднишний день прошита в мк:
Код: Выделить всёРазвернуть
#include<tiny2313.h>
#include <delay.h>

void M1( int a) {
if (a == 1){
PORTD.2 = 1;
PORTD.3 = 0;
PORTB.4 = 1;
} else {
if (a == 2){
PORTD.2 = 0;
PORTD.3 = 1;
PORTB.4 = 1; }
else if (a == 3){
PORTD.2 = 0;
PORTD.3 = 0;
PORTB.4 = 0;
}
} }


void M2(int b) {
if (b == 1){
PORTD.4 = 1;
PORTD.5 = 0;
PORTB.3 = 1;
} else {
PORTD.4 = 0;
PORTD.5 = 0;
PORTB.3 = 0;
} }
 
void main(void)
{
DDRD = 0xff;
PORTD = 0x00;
DDRB = 0x3f;
PORTB = 0x00;

while(1){
//M1(1);
if (PINB.0 ==1) {
M1(3);
M2(1);
delay_ms(300);
M2(0);
M1(2);
}
if (PINB.1 ==1) {
M1(3);
M2(1);
delay_ms(300);
M2(0);
M1(1);
}
}
}

Re: CiSi - дипломный проект бакалавра.

CiSi » 18 янв 2010, 22:29

Почиму то глючит МК, симптомы такие: С двумя подключенными кнопками и светодиодами к мк, все работает как то странно(как будто живет своей жизнью). Должно при нажатии одной кнопки загараться один светодиот, при нажатии другой - второй светодиод, вобщем не чего сложного. А он работает, светодиода автоматически загараются, при подергивании контакта иногда гаснут, на кнопки реагируют редко.
Что за фигня?

Re: CiSi - дипломный проект бакалавра.

yak-40 » 18 янв 2010, 22:39

Кнопки к PORTB.0 и PORTB.1 подключены? А почему они тогда на выход сконфигурированы?

Добавлено спустя 1 минуту 40 секунд:
Так и МК недолго спалить. :shock:

Re: CiSi - дипломный проект бакалавра.

CiSi » 18 янв 2010, 22:43

так они вроде на вход сконфигурированны:DDRB = 0x3f; , или всеже надо:DDRB = 0xfС; ?

Вещь: http://www.123avr.com/02.htm !
Последний раз редактировалось CiSi 19 янв 2010, 12:11, всего редактировалось 1 раз.

Re: CiSi - дипломный проект бакалавра.

yak-40 » 18 янв 2010, 23:02

Ну естественно
DDRB = 0xfС

Удобно писАть: DDRB = 0b11111100;
И незабудь подтяжку кнопкам сделать. Можно внутреннюю, надёжней внешнюю. Хотя внутренняя меня ни разу не подводила :)

Re: CiSi - дипломный проект бакалавра.

CiSi » 19 янв 2010, 13:44

Все равно такой же глюк, подключил и внешние резисторы на 200 ом: код поменял следующим образом:
Код: Выделить всёРазвернуть
void main(void)
{
DDRD = 0xff;
PORTD = 0x00;
DDRB = 0b11111100;
PORTB = 0b00000011;

while(1){
if (PINB.0 ==0) {
M1(3);
M2(1);
delay_ms(300);
M2(0);
M1(2);
}
if (PINB.1 ==0) {
M1(3);
M2(1);
delay_ms(300);
M2(0);
M1(1);
}
}
}

Re: CiSi - дипломный проект бакалавра.

yak-40 » 19 янв 2010, 14:38

Ну помигай светодиодами и позажигай их кнопками программно, может что с железом?

Re: CiSi - дипломный проект бакалавра.

CiSi » 19 янв 2010, 18:03

Да пробывал уже, и не раз прошивку только как и не переписывал. Железо то же перепроверял, вроде все так.
У меня на на тругой прате от бота стоит мк мега8, так он то же с глюками шьется, часть программы выполняется а часть нет (он должен ехать в перед и через несколько мс остановиться, а он тупо едет вперед и не думает останавливаться)- прошивку то же пересматривал и переписывал. вроде все так но все равно глючит. :(

Re: CiSi - дипломный проект бакалавра.

yak-40 » 19 янв 2010, 19:35

Тогда надо посмотреть что у тебя за питание. Есть ли кондёры(электролиты и керамика), нет ли просадок напряжения, какое оно, стабильно ли оно. Может он у тебя из-за питания глючит.

Re: CiSi - дипломный проект бакалавра.

CiSi » 19 янв 2010, 19:57

Питание стабилизировал кренкой, на вход мк подается 5.16В. Единственное только кондеров нет.

Заметил такую вещь, когда просто включаю светодиод, он загорается (как и должно быть), потом перед ним ставлю условие для кнопки, он перестает гореть и на кнопку то же не реагирует. Заключаю это все в бесконечный цикл и светодиод загорается при этом не как не реагирую на кнопку.

Re: CiSi - дипломный проект бакалавра.

yak-40 » 19 янв 2010, 20:13

1. А на входе КРЕН-ки что (от чего питаешь всмысле)? надеюсь больше 7,5 вольт. И мощности хватает?
2. Без кондёров нельзя никак!

Re: CiSi - дипломный проект бакалавра.

CiSi » 19 янв 2010, 20:32

1. Питаю от китайского БП мощьностью 400мА и напряжение на выходе 7.2В
2. Какие кондеры нужны и куда их включать?

Re: CiSi - дипломный проект бакалавра.

yak-40 » 19 янв 2010, 20:44

Ясно тогда откуда все беды.
Правильное питание-залог здоровья :D
На входе КРЕН-ки должно быть не менее 7,5 вольт, меньше она не работает. Значит этот БП не подходит.
Электролиты до и после кренки(500-1000мкф), керамику(0,068 - 0,1) на ножках МК.
З.Ы. Все конденсаторы должны быть на соответствующее напряжение.


Rambler\'s Top100 Mail.ru counter