Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
23.07.2009, 22:00
|
|
Прописка
Регистрация: 11.09.2006
Адрес: Москва
Сообщений: 276
Сказал спасибо: 12
Сказали Спасибо 27 раз(а) в 26 сообщении(ях)
|
PIC16F818 и моторчик 12в
Есть моторчик( по типу как моторчик дворника, с платой внутри, чтоб останавливаться в нужных точках), применяться вся связка будет в авто, поэтому управление моторчиком от 2-х релюх так и остается, написал коротенькую програмку....
Суть в чем стоит связка из ПИКа+uln2003(микросхема отвечает за вывод на релюхи, выходы на релюхи в микросхеме подтянуты к +12в) как только ставлю новый ПИК цикл делается нормально(правда и тут не всегда), на 2й или третий раз может и не пройти.... происходит сброс ПИКа и соответственно все что он делает дальше не правильно...
Подозрение на то что моторчик сильно шумит(помехи пускает по питанию!
78Д05 подключена по даташиту, выход MCLR подтянут через резистор к +5в и никак не используется, дошло до маразма поставил автомобильный фильтр по питанию но и это не помогло, поменял ПИК на 16F628A? история повторяется .... какие будут предположения... я уже потерялся буду все проверять
Заранее благодарен за участие в моем вопросе...
|
|
|
|
24.07.2009, 01:50
|
|
Прописка
Регистрация: 18.06.2006
Сообщений: 179
Сказал спасибо: 1
Сказали Спасибо 13 раз(а) в 11 сообщении(ях)
|
Почитать про помехи и правильное проектирование схемы и платы.
|
|
|
|
24.07.2009, 11:11
|
|
Прописка
Регистрация: 11.09.2006
Адрес: Москва
Сообщений: 276
Сказал спасибо: 12
Сказали Спасибо 27 раз(а) в 26 сообщении(ях)
|
где это можно почитать?
|
|
|
|
24.07.2009, 11:25
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
|
Отключить низковольтное программирование. LVP = OFF
__________________
Мыслю, следовательно существую
|
|
|
|
24.07.2009, 12:19
|
|
Прописка
Регистрация: 11.09.2006
Адрес: Москва
Сообщений: 276
Сказал спасибо: 12
Сказали Спасибо 27 раз(а) в 26 сообщении(ях)
|
отключено в конфигурации... по даташиту....
Ставил другой пик 16f628a( то же самое тока без АЦП), история повторяется новый запрограмированный проехал один раз по кругу, потом тоже начал сбрасываться, после повторного прочтения прошивка не изменилась значит просто происходит сброс...(заметил по светодиодам) по положению заметил что сброс происходит в одном и том же месте... мотора...
прога
list p=16f628a
#include ‹p16f628a.inc›
__CONFIG 2130h
Reg_1 equ 21h
Reg_2 equ 22h
Reg_3 equ 23h
org 0x00 ;Reset Vector
goto init
org 0x05 ;Start Program
init
bcf STATUS,RP0
clrf PORTA
clrf PORTB
movlw B'00000111'
movwf CMCON
bsf STATUS,RP0
movlw B'11111111'
movwf TRISA
movlw B'00000000'
movwf TRISB
movlw B'00001011'
movwf PCON
bcf STATUS,RP0
call LED
H2H4
btfss PORTA,1
goto $-1
movlw B'01000000'
movwf PORTB
btfsc PORTA,6
goto $-1
btfsc PORTA,7
goto $-1
call se
movlw B'00001000'
movwf PORTB
H4L4
btfss PORTA,1
goto $-1
movlw B'01000000'
movwf PORTB
btfsc PORTA,2
goto $-1
movlw B'00010000'
movwf PORTB
L4H4
btfss PORTA,1
goto $-1
movlw B'10000000'
movwf PORTB
btfss PORTA,7
goto $-1
btfsc PORTA,7
goto $-1
btfsc PORTA,7
goto $-1
call se
movlw B'00001000'
movwf PORTB
H4H2
btfss PORTA,1
goto $-1
movlw B'10000000'
movwf PORTB
btfss PORTA,3
goto $-1
btfsc PORTA,3
goto $-1
movlw B'00000000'
movwf PORTB
nop
goto H2H4
se
movlw .111
movwf Reg_1
movlw .59
movwf Reg_2
decfsz Reg_1,F
goto $-1
decfsz Reg_2,F
goto $-3
return
sek
movlw .254
movwf Reg_1
movlw .17
movwf Reg_2
movlw .6
movwf Reg_3
decfsz Reg_1,F
goto $-1
nop
decfsz Reg_2,F
goto $-4
decfsz Reg_3,F
goto $-6
return
LED
movlw B'00011000'
movwf PORTB
call sek
call sek
movlw B'00000000'
movwf PORTB
return
end
|
|
|
|
24.07.2009, 13:23
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
|
Мда. Вечером просмотрю подробнее, если смогу. Пока 2 замечания : конфигурация пишется примерно так __CONFIG _BODEN_ON & _CP_ALL & _PWRTE_ON & _WDT_ON & _LVP_OFF & _MCLRE_OFF & _INTRC_OSC_NOCLKOUT. __CONFIG 2130h мне ничего не говорит. Полезно писать коментарии везде, где можно. Приходится корректировать старые программы. Раз попался, не писал. В результате пришлось все делать заново
__________________
Мыслю, следовательно существую
|
|
|
|
24.07.2009, 14:05
|
|
Прописка
Регистрация: 18.06.2006
Сообщений: 179
Сказал спасибо: 1
Сказали Спасибо 13 раз(а) в 11 сообщении(ях)
|
На эту тему много написано, можно и здесь поискать подходящие темы, или вот, первое, что попалось под руку:
http://www.caxapa.ru/lib/emc_immunity.html
|
|
|
|
24.07.2009, 14:47
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Re: PIC16F818 и моторчик 12в
Програмно фильтровать помехи со входов...
При сброс по питанию, проверять сохранность РАМ, и переходить на тот участок программы в котором было до сброса...
|
|
|
|
24.07.2009, 14:48
|
|
Частый гость
Регистрация: 24.04.2007
Сообщений: 48
Сказал спасибо: 20
Сказали Спасибо 8 раз(а) в 7 сообщении(ях)
|
если включен WDT_ON, то в программе должен быть организован периодический сброс WDT до его переполнения.
|
|
|
|
25.07.2009, 05:55
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
|
Програмку вашу несколько подправил. Чтоб была ближе к телу так сказать.
Код:
|
list p=16f628a
#include ‹p16f628a.inc›
__CONFIG _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_ON & _MCLRE_OFF & _BOREN_ON & _LVP_OFF & _DATA_CP_OFF & _CP_OFF
Reg_1 equ 21h
Reg_2 equ 22h
Reg_3 equ 23h
org 0x00 ;Reset Vector
goto init
org 0x05 ;Start Program
init
bcf STATUS,RP0
clrf PORTA
clrf PORTB
movlw B'00000111'
movwf CMCON
bsf STATUS,RP0 ;BANK1
movlw B'11111111'
movwf TRISA
movlw B'00000000'
movwf TRISB
movlw B'00001011'
movwf PCON
bcf STATUS,RP0 ;BANK0
call LED
H2H4
btfss PORTA,1
goto $-1
movlw B'01000000'
movwf PORTB
btfsc PORTA,6
goto $-1
btfsc PORTA,7
goto $-1
call se
movlw B'00001000'
movwf PORTB
H4L4
btfss PORTA,1
goto $-1
movlw B'01000000'
movwf PORTB
btfsc PORTA,2
goto $-1
movlw B'00010000'
movwf PORTB
L4H4
btfss PORTA,1
goto $-1
movlw B'10000000'
movwf PORTB
btfss PORTA,7
goto $-1
btfsc PORTA,7
goto $-1
btfsc PORTA,7
goto $-1
call se
movlw B'00001000'
movwf PORTB
H4H2
btfss PORTA,1
goto $-1
movlw B'10000000'
movwf PORTB
btfss PORTA,3
goto $-1
btfsc PORTA,3
goto $-1
movlw B'00000000'
movwf PORTB
nop
goto H2H4
;************************************************* ********
se ;pause 45mS
movlw .111
movwf Reg_1
movlw .59
movwf Reg_2
decfsz Reg_1,F
goto $-1
decfsz Reg_2,F
goto $-3
return
;************************************************* ********
sek ;pause 1sec
movlw .254
movwf Reg_1
movlw .17
movwf Reg_2
movlw .6
movwf Reg_3
decfsz Reg_1,F
goto $-1
nop
decfsz Reg_2,F
goto $-4
decfsz Reg_3,F
goto $-6
return
;************************************************* ********
LED
movlw B'00011000'
movwf PORTB
call sek
call sek
movlw B'00000000'
movwf PORTB
return
;************************************************* ********
END |
Плохо почти ничего не понял. Кажется дербезг контактов портит жизнь. Схемку бы дали. И комментариев добавили. А так ......
Удачи!
__________________
Мыслю, следовательно существую
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:10.
|
|