роботы
робототехника
микроконтроллеры
Главная
Как сделать робота
Новости
Спорт
Статьи
Wiki
Форум
Downloads
Ссылки
Контакты  


 Страниц (17): В начало « ... 9 10 11 12 13 14 15 [16] 17 »   

> Без описания
nest Администратор
Отправлено: 28 Ноября, 2009 - 00:32:19
Post Id



Администратор


Сообщений всего: 4866
Дата рег-ции: Сент. 2009  





наверное лучше возле платы. вообще просто на проводе пусть висят.
витков 20 провода 0,5 (в зависимости от тока мотора) на ферристовом стержне или кольце.
можно просто подобрать одинаковые готовые дросселя.
там величина индуктивности не так важна. ну пусть будет 33-68 мкГн для прицела :)
 
 Top
mctim
Отправлено: 28 Ноября, 2009 - 20:12:50
Post Id



Маршал


Сообщений всего: 109
Дата рег-ции: Нояб. 2009  





nest
Да - катушки на первый взгляд помогли. Дальше видно будет.
Итак получилась такая схема:

Может еще такие как я найдутся Ламер
nest, можешь ссылку дать или книгу где о методах гашения помех почитать можно?
 
 Top
mctim
Отправлено: 28 Ноября, 2009 - 22:15:50
Post Id



Маршал


Сообщений всего: 109
Дата рег-ции: Нояб. 2009  





При усложнении алгоритма происходят сбросы в конец. Грустный
С катушками стало надежней но только 1 из 10 раз алгоритм выполняется успешно.
Сброс происходит при переключении двигателя.
Как с этим справиться?
Help.
 
 Top
nest Администратор
Отправлено: 28 Ноября, 2009 - 22:48:37
Post Id



Администратор


Сообщений всего: 4866
Дата рег-ции: Сент. 2009  





mctim пишет:
Сброс происходит при переключении двигателя.

т.е. если "на ходу" резко изменить направления вращения ?
 
 Top
mctim
Отправлено: 28 Ноября, 2009 - 23:00:08
Post Id



Маршал


Сообщений всего: 109
Дата рег-ции: Нояб. 2009  





Именно так, nest
 
 Top
nest Администратор
Отправлено: 28 Ноября, 2009 - 23:12:26
Post Id



Администратор


Сообщений всего: 4866
Дата рег-ции: Сент. 2009  





это надо бы на месте смотреть.
например осциллоскопом смотреть 5 вольт питания в момент реверса.

можете попробовать поставить стабилитрон на 12 вольт параллельно батарейкам...
вместо LP2950 попробуйте поставить обычный 7805.
 
 Top
mctim
Отправлено: 28 Ноября, 2009 - 23:17:03
Post Id



Маршал


Сообщений всего: 109
Дата рег-ции: Нояб. 2009  





Осциллографа как осциллоскопа нет у меня(
А можно советы по планированию и пайке схемы?
Я пожалуй её перенесу на плату больше.
 
 Top
nest Администратор
Отправлено: 28 Ноября, 2009 - 23:25:08
Post Id



Администратор


Сообщений всего: 4866
Дата рег-ции: Сент. 2009  





Помехоустойчивые устройства
 
 Top
mctim
Отправлено: 29 Ноября, 2009 - 22:06:53
Post Id



Маршал


Сообщений всего: 109
Дата рег-ции: Нояб. 2009  





Улыбка Полезная оказалась статья!
Перепланировал схему в соответствии с советами в статье:
- разделил землю на "чистую" и "грязную";
- поставил дроссель между зонами разной земли;
- развел дорожки к кварцу.
Получилось так:

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

Получается в данном случае размещение деталей, проводов и качество пайки имело значение.
 
 Top
nest Администратор
Отправлено: 29 Ноября, 2009 - 22:43:06
Post Id



Администратор


Сообщений всего: 4866
Дата рег-ции: Сент. 2009  





ну вот.
ещё всё таки 7805 стабилизатором поставить.
конденсатор на 500 мкФ в питание драйвера мотора и туда же стабилитрон на 15 вольт.

дело в том, что при реверсе мотор выдаёт в питание большой скачёк тока (и напряжения), напряжение "прыгает". а так как у вас low-drom стабилизатор, скорее всего он "не успевает" как следует отфильтровать этот бросок напряжения.
 
 Top
nest Администратор
Отправлено: 03 Декабря, 2009 - 19:44:15
Post Id



Администратор


Сообщений всего: 4866
Дата рег-ции: Сент. 2009  





mctim, теперь, после того как все "железные" возможности избегания помех применили. возмитесь за "програмные": перед реверсом дайте мотору паузу в 0,1-0,3 сек.
а лучше - подайте кратковременно (0,1-0,3 сек) на входы драйверов одного мотора две "единицы" или два "нуля" - это затормозит двигатель, а потом уже меняйте полярность.
в поведении это будет не заметно, а броски тока убавятся.
 
 Top
mctim
Отправлено: 07 Декабря, 2009 - 12:35:30
Post Id



Маршал


Сообщений всего: 109
Дата рег-ции: Нояб. 2009  





nest
Я так и сделал. Ощутимого эффекта правда не дало.
 
 Top
1_ulyanovsk
Отправлено: 21 Марта, 2010 - 14:38:50
Post Id



Маршал


Сообщений всего: 126
Дата рег-ции: Сент. 2009  





Всем привет У меня тоже новый вопрос )) Поискал и на этом и на других форумах - четкого ответа не нашел. Вопрос по сторожевому таймеру следующий : Как заставить МК сбрасываться с помощью Watchdog ? тут два пути.
1) Пошел по датишу - разрешил MCUSCR=0b1000 прерывание по переполнению сторожевого таймера ,включаю стор. таймер и задаю временой интервал WDTCR=(1<<WDE) или 0b1000; Что соотв 15ms. Так ни че не заработало.
2) Прошиваю через WinAVR и воспользовался его встроенными функциями но тоже молчит.
Код для случая (2) следующий. На старте ПОРТ-А должен в 0 сброситься потом в 1 - далее ПРЕРЫВАНИЕ-СБРОС и так далее повторяется.
CODE:
#include <avr/io.h>
#include <util/delay.h>
#include <avr/signal.h>
#include <avr/stdint.h>
#include <avr/wdt.h>
#include <avr/interrupt.h>
#define wdt_enable(timeout);
#define wdt_reset() __asm__ __volatile__ ("wdr")
#define WDTO_150MS

void WDT_off(void)
{
/* Reset WDT */
wdt_reset();
/* Write logical one to WDCE and WDE */
WDTCR = (1<<WDCE) | (1<<WDE);
/* Turn off WDT */
WDTCR = 0x00;
}

void main()
{
WDT_off();
wdt_enable(WDTO_150MS);

DDRA=0xff;
PORTA=0x00;
_delay_ms(20);


while(1)
{
PORTA=0xff;
_delay_ms(20);
}
}

(Добавление)
где:
CODE:
#define wdt_enable(timeout); - РАЗРЕШЕНИЕ WDT
#define wdt_reset() __asm__ __volatile__ ("wdr") - СБРОС WDT
#define WDTO_150MS - ОПРЕДЕЛЕНИЕ ЗАДЕРЖКИ

(Отредактировано автором: 21 Марта, 2010 - 14:42:36)

 
 Top
mike666
Отправлено: 22 Марта, 2010 - 00:48:27
Post Id


Рядовой


Сообщений всего: 17
Дата рег-ции: Март 2010  





Жестко )
начать надо с того что выкинуть это из кода:
#define wdt_enable(timeout);
#define wdt_reset() __asm__ __volatile__ ("wdr"Подмигивающий
#define WDTO_150MS
 
 Top
1_ulyanovsk
Отправлено: 24 Марта, 2010 - 21:18:19
Post Id



Маршал


Сообщений всего: 126
Дата рег-ции: Сент. 2009  





а дальше ?
 
 Top
Страниц (17): В начало « ... 9 10 11 12 13 14 15 [16] 17 »
« Программирование микроконтроллеров »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown