Вопрос по PIC16F877 - Страница 2 - Форум Picbasic.ru
Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 2«12
Модератор форума: demanik 
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Вопрос по PIC16F877 (странно работает)
Вопрос по PIC16F877
MiXaS Дата: Пт, 04.04.2014, 11:36  |                                                                                                                Сообщение # 16
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 613
Репутация: 26   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

На самом деле порт б самый простой порт, не так много настроек как например порт а , е, д... Научитесь правильно конфигурить порт и больше у вас таких проблем не будет. Если память не лжет, то порт а и порте связывает один регистр, так же порт д связан с портом е. В даташитах есть непонятные схемы модулей, но е,ли потратить немного времени, то сразу станет ясно как, что работает, да и схема станет понятна.
ЯНДЕКС Дата: 04.04.2014
tolyan249 Дата: Сб, 05.04.2014, 14:46  |                                                                                                                Сообщение # 17
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 166
Репутация: 0   ±
Замечания:   ±
На сайте с 11.10.2007

Статус: Offline

Вопрос еще такой в схеме использовал сначала отосимистор MOC3021 , потом поменял на MOC3083 c zero cross voltage , и схема перестала работать хотя ток управления у них одинаковый 5ма , или загораеться в полный накал или вообще не горит, а с MOC3021 работает отлично, плавно загораеться и плавно тухнет. просто плату спаял а менять 30 оптопар не охота, может какой другой алгоритм нужен для управления этими оптосемисторами....  Может кто подскажет  в чем может быть проблема. код для управления  выше.
 
какой нужно подать импуль на оптосемистор , не могу понять с этим zero cross voltage...
 
Спасибо.
Andriy76 Дата: Сб, 05.04.2014, 17:39  |                                                                                                                Сообщение # 18
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 239
Репутация: 10   ±
Замечания:   ±
На сайте с 06.04.2010

Статус: Offline

Значит надо делать привязку к переходу через 0 . Вы сигнал подаете на включение а оптосимистор ждет перехода через 0 . И если я правильно все понимаю то он и не включит сам симистор в неподходящий момент . 
Надо сделать детектор перехода через 0 . Пример вот http://www.3e-club.ru/view_full.php?id=14&name=zero-cross
tolyan249 Дата: Сб, 05.04.2014, 18:01  |                                                                                                                Сообщение # 19
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 166
Репутация: 0   ±
Замечания:   ±
На сайте с 11.10.2007

Статус: Offline

Детектор нуля сделан у меня по схеме моей же ссылка   http://www.picbasic.ru/_fr/12/3363483.png с  тем оптроном работало без укоризненно . купил другие оптроны думал будет лучше а оказалось что придаться  покупать MOC3021   и выпаивать MOC3083  30 оптронов . а как неохота. у меня и там в схеме эти оптроны нарисованы , блин что делать пока ума не приложу. Одно единственное наверно да ,что детектор 0 мой ,сдвинут во времени с детектором нуля симистора. и не попадает импульс включения симистора , но все равно он включается иногда но на полную яркость .

вот прерывание на порт B.0

If INTCON.1=1 Then 'произошло прерывание по PORTB.0
If OPTION_REG.6=0 Then 'если это фронт то делать сдедующие
s=0
TMR0=255
PORTA=0
PORTB=0
PORTC=0
PORTD=0
PORTE=0
OPTION_REG.6=1'переключаем для прерывания по спаду что бы мерить имульс а не период весь
Else
OPTION_REG.6=0 'возращаем на место что бы прерывание было опять по фронту
s=0
TMR0=255
PORTA=0
PORTB=0
PORTC=0
PORTD=0
PORTE=0
EndIf
INTCON.1=0
EndIf
If INTCON.2=1 Then 'пришло прерывание от таймера TMR0-что он переполнился
Inc s 'переполнение происходит каждые 256мкс-микросекунд
INTCON.2=0 'считываем эти переполнения и увеличеваем переменную на 1
EndIf 'что бы знать сколько переполнений было

Сообщение отредактировал tolyan249 - Сб, 05.04.2014, 18:13
anatol Дата: Сб, 05.04.2014, 18:14  |                                                                                                                Сообщение # 20
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 535
Репутация: 13   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

tolyan249, zero cross voltage ШИМ несовместимо. Причем сигнал включения должен присутсвовать в момент включения внутренней схемой. Т.Е. постоянно на время включения, "иголками" не обойдешься. Если бы нагрузка была инерционной, то можно ШИМ заменить на число-периодное регулирование. Это когда, например 24 периода из цикла в 128 включен, а остальное время отдыхаем.
tolyan249 Дата: Пн, 14.04.2014, 06:13  |                                                                                                                Сообщение # 21
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 166
Репутация: 0   ±
Замечания:   ±
На сайте с 11.10.2007

Статус: Offline

У меня нет шима.

Добавлено (05.04.2014, 18:18)
---------------------------------------------
я просто подаю 1 импульс на оптосимистор  только сдвигаю во времени  относительно 0 какая мощность мне нужна, а сам импульс ширину не меняет он всегда постоянный.

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

Добавлено (05.04.2014, 18:24)
---------------------------------------------
Да теперь понятно, дошло

zero cross voltage ШИМ несовместимо. Причем сигнал включения должен присутсвовать в момент включения внутренней схемой. Т.Е. постоянно на время включения, "иголками" не обойдешься. Если бы нагрузка была инерционной, то можно ШИМ заменить на число-периодное регулирование. Это когда, например 24 периода из цикла в 128 включен, а остальное время отдыхаем.

Добавлено (05.04.2014, 18:26)
---------------------------------------------
Спасибо огромное за советы и помощь, буду покупать другие оптроны. Куда деваться.

Добавлено (14.04.2014, 06:13)
---------------------------------------------
Оптроны поменял все работает но встал другой вопрос, иногда когда как , сбрасывается контроллер или зависает, что можно придумать что бы контроллер не сбрасывался. емкости по питанию возле ног микросхемы  стоят 0,1мкф. дросселя ставил емкости увеличивал после стабилизатора 5в. не помогает. нет да сброситься контроллер.  может кто что подскажет спасибо. и как использовать WDT от зависаний контроллера?

Спасибо за помощь.

Сообщение отредактировал tolyan249 - Сб, 05.04.2014, 18:22
MiXaS Дата: Пн, 14.04.2014, 20:27  |                                                                                                                Сообщение # 22
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 613
Репутация: 26   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Что-то мне подсказывает, что Ваш контроллер расположен вблизи силовых элементов и наводка сводит его с ума. Как не странно такое бывает. Еще может быть связанно с не правильной разводкой платы. Я насколько помню, Вы уже вытравили её. Посмотрите как правильно это делать. Вроде на паяльнике есть.
anatol Дата: Пн, 14.04.2014, 23:15  |                                                                                                                Сообщение # 23
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 535
Репутация: 13   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

Определиться просто - делаешь контрольный выход (светик параллельно) и выключаешь силовуху. Не тормозит - разводка и др., тормозит - программа. Если программа, то возможно переполнение стека.
tolyan249 Дата: Вт, 15.04.2014, 18:12  |                                                                                                                Сообщение # 24
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 166
Репутация: 0   ±
Замечания:   ±
На сайте с 11.10.2007

Статус: Offline

Да платы разные но расположены близко, Спасибо за совет проверю и посмотрю,что можно сделать.
 
 
 
Спасибо за советы ответы.

Сообщение отредактировал tolyan249 - Вт, 15.04.2014, 18:13
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Вопрос по PIC16F877 (странно работает)
Страница 2 из 2«12
Поиск: