Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
Votk
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 249
1

Проблемма с L293DNE

01.08.2011, 16:35. Просмотров 3774. Ответов 7
Метки нет (Все метки)

Здравствуйте у меня возникла следующая проблема: я подключил к меге16 драйвер L293DNE по стандартной схеме (input1, input4 к D4, D5; input2, input3 к C2, C3; enable1,2 к питанию) а к драйверу два маленьких ДПТ (один к output1,2 другой к output3,4) и в общем всё работало, когда я просто выставлял в портах C и D единицы или нули. Но мне захотелось плавно запускать и разгонять их, для этого я залил следующую программку:
Код
.include "m16def.yms"
.macro   outi
ldi tmpa,@1
out @0,tmpa
.endmacro

.macro   seti      ;установка битов
in    tmpa,@0
ori tmpa,@1
out @0,tmpa
.endmacro

;= End       macro.yms ========================================
.def savesreg   =r2     ;для быстрого сохранения SREG
.def tmpa       =r16    ;Рабочая переменная
.def Time1L      =r21
.def Time1H      =r22
.def Time2L      =r23
.def Time2H      =r24
.CSEG
;-----  вектора прерываний --------------------------------------------

.org 0          jmp   risit
.org $0010  jmp   _ovf1       ;переполнение Т1
.org INT_VECTORS_SIZE               ;

Riset:      LDI    R16,Low(ROMEND)   ; Инициализация стека
OUT    SPL,R16         ; Обязательно!!!

LDI    R16,High(ROMEND)
OUT    SPH,R16

clr r16
clr r21
clr r22
clr r23
clr r24

ldi  r16,0b11111111
out   DDRC,r16          ;Инициализация портов C0-C7 на выход
outi portc,0b00000000

ldi  r16,0b11111111
out   DDRD,r16
outi portD,0b00110000

OUTI    TCCR1A,2<<COM1A0|2<<COM1B0|0<<WGM11|1<<WGM10
OUTI   TCCR1B,0<<WGM13|1<<WGM12 |1<<CS12|0<<CS11|1<<CS10

CLI
OUTI   OCR1AH,0
OUTI   OCR1AL,0

OUTI   OCR1BH,0
OUTI   OCR1BL,0

ldi r25,255

ldi   tmpa,(1<<TOIE1)         ;разрешаем прерывания по
out   TIMSK,tmpa              ;переполнению Т1
;ldi   tmpa,(1<<PSR10)
;out   SFIOR,tmpa
SEI

M2:
nop
nop
jmp M2

_ovf1:
in   savesreg,SREG       ;сохраняем SREG

in Time1L,OCR1AL
in Time1H,OCR1AH

in Time2L,OCR1BL
in Time2H,OCR1BH

cpse Time1L,r25
yms Time1L
cpse Time2L,r25
yms Time2L

out OCR1AH,Time1H
out OCR1AL,Time1L

out OCR1BH,Time2H
out OCR1BL,Time2L

out   SREG,savesreg
reti
По идее скважность ШИМа на выводах D4,D5 должна нарастать пока не достигнет 100%. В Протеусе всё работает, но вот на практике увы. Вращается либо первый двигатель либо второй, либо сначало один, через 2-3 секунды подрубается второй и всё это абсолютно в произвольном порядке. Осциллографа к сожалению не имею, поэтому пользовался вольтметром: на ногах C1,C2 как и надо нули, на D4,D5 - вольтаж плавненько растет от нуля до Uпит. (4,13В) На вращающемся двигателе 3.18В а на не вращающемся 2.25В. В общем подскажите пожалуйста что не так? Заранее спасибо!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2011, 16:35
Ответы с готовыми решениями:

Проблемма с АЦП
Возникла проблема при работе с АЦП Использую АЦП в режиме одиночного преобразования. Вход АЦП...

Проблемма с адрессацией памяти ATmega88PA
Все началось с того, что ко мне в руки попал графический ЖКИ от NOKIA 3310, сразу решил что не буду...

Проблемма с циклическим обрашением к массиву
Доброго времени суток. Очень нужна помощь.Толь начинаю осваивать микроконнтроллер и для на чала...

Проблемма с питанием L293DNE
Здравствуйте. У меня возникла проблема с питанием силовой части L293DNE. У меня к Atmege16...

L293DNE
Драйвер L293DNE присоединен одним концом на ножку микроконтроллера установленную на выход (ножка...

7
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
01.08.2011, 16:43 2
ШИМ надо подавать на входы enable
0
Votk
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 249
01.08.2011, 16:46 3
Цитата Сообщение от dsodir
ШИМ надо подавать на входы enable
Это принципиально? Я думал, что работать будет и так и так.. Вроде по логике должно... Я не прав?
0
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
01.08.2011, 16:53 4
У тебя мотор то включается, то стопорится с замыканием обмотки на землю. Не правильно это..
0
Votk
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 249
01.08.2011, 16:56 5
Цитата Сообщение от dsodir
У тебя мотор то включается, то стопорится с замыканием обмотки на землю. Не правильно это..
Ясно. Спасибо. Буду исправлять. Отпишусь.
0
somyo_3
0 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 544
01.08.2011, 17:04 6
Можно было и у меня спросить.
0
Votk
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 249
01.08.2011, 17:20 7
Цитата Сообщение от somyo_3
Можно было и у меня спросить.
Можно, но тебя в агенте не было.
0
Votk
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 249
02.08.2011, 18:32 8
Всем спасибо всё заработало! (Помимо Enable был ещё не контакт одного из движков.)
0
02.08.2011, 18:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2011, 18:32

L293DNE и микрошаговый режим шагового двигателя
Всем привет! Есть задача сделать плавное вращение шагового двигателя (биполярный). Нашел некоторую...

Проблемма!
На днях перетащили сервер на новое железо. Конфигурация сервера (Domino) осталась неизменной, все...

WinSock. Проблемма.
Сейчас пишу свой менеджер закачек. Работаю с GET запросами. Вот, собственно код: #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru