Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [pic] 12F675 управление шаговым двигателем, Небольшой проект на Proteus  
:(
    Опции темы
Текстоплет
Дата 25.11.2011, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 25.11.2011

Репутация: нет
Всего: нет



Доброго времени суток! 

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

Но в модели двигатель совершал оборот на 180 градусов и останавливался. Подключив осциллограф увидел, что из четырех контактов нормально работал один. Проверил программу, предположил, что неправильно настроил микроконтроллер. Поправил настройки и после этого появились сигналы уже у двух выходов. Но вопрос пока остался - где ещё я мог допустить ошибку?.. 

Сама схемка 

user posted image


Код

list p=pic12f675
#include <P12F675.INC>
; настройка слова конфигурации микроконтроллера
; _CP_OFF защита программного кода выключена
; _DEBUG_OFF режим отладки выключен
; _WRT_OFF защита записи FLASH выключена
; _CPD_OFF защита памяти EEPROM выключена
; _LVP_OFF режим низковольтового программирования выключен
; _BODEN_ON сброс по снижению питания включен
; _PWRTE_ON таймер задержки по квлючению питания включен
; _XT_OSC использование кварцевого резонатора на 4МГц
__CONFIG _CPD_OFF&_CP_OFF & _BODEN_ON & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT 

ERRORLEVEL 2    ;Вывод только ошибок

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

SIGNAL equ 23h
SIGNAL1 equ 24h

 org 0x00

;------------------------------------------------------
; Начальные настройки
;------------------------------------------------------
bcf STATUS,RP0            ;Выбираем банк 0
CLRF GPIO
movfw 0x07
movwf CMCON
movlw b'00000000'
movwf ADCON0

bsf STATUS,RP0            ;Выбираем банк 1
movlw b'00000000'
movwf TRISIO
movlw b'00000000'
movwf ANSEL
movlw b'00000000' 
movwf VRCON  
bcf STATUS,RP0

;------------------------------------------------------

;------------------------------------------------------
; Старт
;------------------------------------------------------
PREOBR
bsf GPIO,0
bcf GPIO,1
bcf GPIO,2
bsf GPIO,4
call B1

;bcf GPIO,0
bcf GPIO,1
bcf GPIO,2
bsf GPIO,4
call B1

bcf GPIO,0
bcf GPIO,1
bsf GPIO,2
bsf GPIO,4
call B1

bcf GPIO,0
bcf GPIO,1
bsf GPIO,2
bcf GPIO,4
call B1

bcf GPIO,0
bsf GPIO,1
bsf GPIO,2
bcf GPIO,4
call B1

bcf GPIO,0
bsf GPIO,1
bcf GPIO,2
bcf GPIO,4
call B1

bsf GPIO,0
bsf GPIO,1
bcf GPIO,2
bcf GPIO,4
call B1

bsf GPIO,0
bcf GPIO,1
bcf GPIO,2
bcf GPIO,4
call B1


goto PREOBR
;------------------------------------------------------
B1:
;Запускающий счетчик
;Отсчитывает 511 тактов
movlw b'00000001'
ADDWF SIGNAL,1
BTFSS SIGNAL,7
GOTO B1
BTFSS SIGNAL,6
GOTO B1
BTFSS SIGNAL,5
GOTO B1
BTFSS SIGNAL,4
GOTO B1
BTFSS SIGNAL,3
GOTO B1
BTFSS SIGNAL,2
GOTO B1
BTFSS SIGNAL,1
GOTO B1
BTFSC SIGNAL,0
;RETURN
goto B1
END

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0374 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.