Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Двигатель
0 / 0 / 0
Регистрация: 19.04.2018
Сообщений: 3
1

Не определяет знак скорости двигателя,который подключен к энкодеру

22.04.2018, 15:52. Просмотров 354. Ответов 4
Метки нет (Все метки)

Проблема такая : читаю порт , куда у меня приходят сигналы с экнодера , если 10 - то вывожу минус , если 01 , то вывожу плюс.
Все это запихнул в обработчик прерываний таймера т2 , который отсчитывает время (1сек). По идеи , должно работать , на практике нет .

Писал на асемблере .
Модуляция в Proteuse.
0
Вложения
Тип файла: rar kyrsach.rar (42.6 Кб, 4 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2018, 15:52
Ответы с готовыми решениями:

Алгоритм регулятора скорости вращения коллекторного двигателя. STM32F100
Добрый день! Мусолю проект с названием указанным выше путем самообучения и хождения по граблям....

Пользовательский метод который определяет знак зодиака по введенной дате рождения
Необходимо создать метод, который определяет знак зодиака человека по введенной дате рождения

Как узнать, как подключен компьютер в сеть, через switch который подключен к коммутаторы или напрямую с коммутатором ?
У нас много роутеров и switch-ей, роутеры настроены как switch. И использую программу Netxms для...

Регулятор скорости двигателя
Был вентилятор... Сегодня он меня сильно испугал... из регулятора брызнули искры.. отключил его,...

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

4
pyzhman
811 / 500 / 71
Регистрация: 15.05.2012
Сообщений: 2,831
22.04.2018, 18:09 2
(вложение не смотрел.)
Ловите фронты, а не уровни.
0
Двигатель
0 / 0 / 0
Регистрация: 19.04.2018
Сообщений: 3
22.04.2018, 21:39  [ТС] 3
но у меня и так настроены прерывания по фронтам, правда по любому изменению ибо PCint
0
ValeryS
Модератор
7528 / 5703 / 738
Регистрация: 14.02.2011
Сообщений: 19,524
Завершенные тесты: 1
22.04.2018, 21:42 4
Цитата Сообщение от Двигатель Посмотреть сообщение
так настроены прерывания по фронтам,
покажи
настройку и прерывания
0
Двигатель
0 / 0 / 0
Регистрация: 19.04.2018
Сообщений: 3
23.04.2018, 01:56  [ТС] 5
переделал обработчик прерывания, теперь смотрю именно первое изменение сигнала

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
.org 3
        rjmp pcint_0            ; прерывание 0 по изменению состояния выводов (PCINT0)
.org 5       rjmp pcint_13                    ; прерывание 1 по изменению состояния выводов  (PCINT13)
 
 
; настройка прерываний PCint0,PCint1
    ldi temp, 0b00000011    
    sts pcicr, temp          
    ldi temp, 0b00000001    
    sts pcmsk0, temp    
    ldi temp, 0b00100000
    sts pcmsk1, temp
 
 
; обработчик прерывания PCint_0
PCint_0:
        sbrs znak,1             ; если  флага 1 поднят , то пропускаем след команду
        sbr  znak,0             ; поднимаем флаг 0 
 
        ldi temp, 0b11111111    ; temp задает число 255
        cp rezl,temp            ; сравниваем младший байт результата с 255
        breq star               ; если Rezl = 255 переходим в метку Start
        inc rezl                ; если Rezl<255, увеличиваем Rezl+1
        reti                    ; выход из обработчика прерывания
star:
        inc rezh                ; увеличиваем RezH на +1
        clr rezl                ; очищаем Rezl
        reti
                            ; выход из прерывания
; обработчик прерывания PCint_13
PCint_13:
        cli                     ; запрещаем прерывания
        sbrs znak,0             ; если бит флага 0 поднят, то пропускаем след команду
        sbr  znak,1             ; поднимаем флаг
 
        ldi temp, 0b11111111    ; temp задает число 255
        cp rezl,temp            ; сравниваем младший байт результата с 255
        breq star1              ; если Rezl = 255 переходим в метку Start
        inc rezl                ; если Rezl<255, увеличиваем Rezl+1
        reti                    ; выход из обработчика прерывания
star1:
        inc rezh                ; увеличиваем RezH на +1
        clr rezl                ; очищаем Rezl
        sei
        reti                    ; выход из прерывания
0
23.04.2018, 01:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2018, 01:56

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

Изменение скорости двигателя постоянного тока через кнопки
Работаю в эмуляторе ардуино - тинкеркад Нужно, чтобы одна кнопка уменьшала скорость двигателя,...

Регулятор скорости вращения шагового двигателя с повышенным моментом
Здравствуйте, такая тема уже была на форуме, но на нее не ответили, так что подниму снова. Мне...


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

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

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