Пост N: 336
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг:
0
Фото:
Отправлено: 18.08.07 22:06. Заголовок: Вычисляемый переход
есть одна задумка, реализовать хитрый вычислямый переход. Необходимо каким то образом подставить в комадах retlw вычисляемого перехода вместо константы какой либо регистр. Можно было бы упростить сильно подпрограмму вывода на лсд дисплей. Да и вообще применений найти для него можно массу. Пока не сообразил сам, идеи вообще любые, лишь бы работало. Смысл в том чтобы например в первую строку в самое начало выводить какойлибо постоянный текст, а во второй половине отображать уже эту самую переменную, которая может меняться по нажатию клавиши. Текст в первой половине строки меняется по нажатию другой клавиши. Ну это вкратце...
org .0 goto START ;************************************************************************************************** ; Таблица. ;************************************************************************************************** VIBOR movfw Count ; Загрузка в счётчик адреса символа. movwf PCL ; С этого места скачёк на выбор команды
START clrf Bit clrf Count ;------------------------------------ movlw 6 movwf Count ; Адрес начала слова в таблице.
UP call VIBOR ; В ПП выбора символа. incf Count,F ; Выбор следующего символа. movwf Bit ; Загрузка в регистр выбранного символа. movf Bit ; Проверка символа на 0. btfss Status,Z goto UP goto $ ; Если 0, то выход.
Хочу предложить простое, но, на мой взгляд, удобное схемотехническое решение. Это относится к терморегуляторам. Я уже много лет занимаюсь изготовлением терморегуляторов для собственных нужд. И просматривая схемы других авторов, заметил если не ошибку, то недогляд. Вот и в схеме Петра Высочанского опубликованную в журнале РАДИО №12 2007г., На мой взгляд, та же недоработка.
Пётр примите запоздалые поздравления с выходом в свет вашей статьи.
Как авторы предлагают следить за состоянием - работает нагреватель или нет? Очень просто. Вешают на управляющий выход светодиод. Светодиод горит - «работа». Погас - «пауза». Не беря во внимание то, что часть схемы, исполняющая коммутацию нагревателя с сетью, в некоторых случаях может работать сама по себе. Не зависимо от того, какую команду выдал на неё тот же PIC. Особенно это касается тиристорных и симисторных схем. Симистор например может включится сам по себе и работать при этом или на полную мощность или в «полнакала».Это как ему бог на душу положит. Случается это, как показала практика, из за чрезмерно большого тока протекавшего через управляющий электрод, при предшествующих включениях. Или из за слишком большого сопротивления резистора между катодом и у.э. И вот на индикаторе мы видим тишь и благодать- «пауза», а рыбы в аквариуме уже приказывают долго жить. Или наоборот, индикатор показывает - «работа», а в аквариуме в пору зимнюю рыбалку организовывать. А просто-напросто перегорел нагреватель.
Предложение простое. Один светодиод (зелёный) вешается параллельно симистору или тиристору или реле, (в реле замыкающие контакты) как бы шунтируя их. Второй (красный) вешается параллельно нагрузке. Если симистор закрыт, то горит зелёный светодиод (пауза), если конечно нет обрыва в нагревателе. Если симистор открыт, то горит красный (работа) а зелёный при этом погашен. Если они горят одновременно, но как бы вполнакала то значит симистор, самопроизвольно начинает приоткрываться. Беда. Это конечно касается состояния на выходе управления – твёрдый ноль или твёрдая единица. При импульсном управлении (что предпочтительнее) немного другая петрушка. Тут же можно и пищалки оповещающие повесить и другое разное. У меня стоят дублирующие схемы, работающие от тех же датчиков, которые полностью убирают питание с нагревателя при перегреве. И возвращая его при нормализации (температура ниже критической).
Пост N: 489
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 07.01.08 16:37. Заголовок: Я тоже много разных ..
Я тоже много разных терморегуляторов собирал и ни разу подобного не наблюдал (или почти ни разу, было что симистор включался через раз, поменял его и стало всё Ок). Может просто не обращал на это внимания. Мне кажется что всё дело в типе симистора? У меня ТС 122-25-7 и работает отлично, по крайней мере уже несколько сезонов инкубаторы работают без нареканий.
Пост N: 147
Зарегистрирован: 14.01.07
Откуда: Россия, Лиски
Рейтинг:
0
Отправлено: 07.01.08 17:17. Заголовок: Я,прежде чем постави..
Я,прежде чем поставить устройство в работу,гоняю его с обычной лампой в нагрузке,не менее суток. Лампа, она всё покажет. Вышеупомянутые глюки наблюдались с ТС112, КУ208. Хорошо себя показала схема, с тиристором, включенным в диодный мост,который управляется транзистором КТ940.
Пост N: 491
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 08.01.08 11:12. Заголовок: igor пишет: КУ208 А..
igor пишет:
цитата:
КУ208
А с какой буквой? Если А, Б или В, тогда всё понятно. Они пробивались на пиках напряжения. Для надёжной работы в сети с напряжением 220 вольт нужны симисторы, рсчитаные на напряжение не мение 600 вольт.
Пост N: 151
Зарегистрирован: 14.01.07
Откуда: Россия, Лиски
Рейтинг:
0
Отправлено: 08.01.08 11:25. Заголовок: А я пользуюсь реле ..
цитата:
А я пользуюсь реле
Оно то конечно просто. И наверное надёжно применительно к PIC-ам. Дело в том,что я отказался от реле, когда о микроконтроллерах и понятия не имел. Всё собиралось на том, что выпаивалось из плат от военной электроники. А выпаивались оттуда в частности,компараторы 521 серии(сейчас 544). Надёжные, прецезионные (отслеживают милливольты) компараторы. Но эта прецезионность иногда мешает. В области пороговой точки, начинаются беспорядочные переключения(дребезг), секунд 5-15. Резистор для увеличения гистерезиса, не очень то и помогал,а иногда и мешал. Какое же здесь реле поставишь, с его обратными импульсами и дугой на контактах? Проблема решилась переходом на тиристоры (очень дэфицитные в то время), а потом и на симисторы (мечта поэта). С тех пор и отношусь к реле с недоверием. У меня до сих пор в курятнике стоит терморегулятор на компараторах, с мощными симисторами. Включаю его, естественно зимой, потребляет 14 А. Какое же здесь реле поставишь? Конечно сейчас, можно и магнитный пускатель поставить, управляя им через PIC. И гистерезис любой выставить, и дребезга не будет. Что и собираюсь весной сделать.
Отправлено: 09.01.08 18:15. Заголовок: Эта информация к раз..
Эта информация к размышлению. Я просто констатирую факт. Все Вы, наверное, слышали или видели такое изделие(у меня их стоит 2штуки: защищают холодильник и TV c AUDIO): Защита электроприборов от превышения(понижения) питающего напряжения в сети 220вольт. Суть прибора-отключить нагрузку от сети при уходе напряжения питания за заранее установленные пределы. Лет 5 назад эти приборы собирались на симисторах(ток до 10А). Где-то через год производители перешли дружно на реле (реле импортные) управляются ПИКами. На вопрос а почему?-ответ :нагрев во включенном состоянии и вышеперечисленные глюки. Сейчас в изделиях стоят реле на ток коммутации 30-40А. Выводы делайте самостоятельно.
Отправлено: 09.01.08 21:53. Заголовок: Реле, огромный выбор..
Реле, огромный выбор и на большие токи коммутации. А тип, которое использую, конкретно не скажу, не могу его прочесть на корпусе. Импорт , значки для меня не понятные. В чипе понимают, как 358. Ну и на корпусе 5В/10А/230В написано.
Пост N: 78
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 10.01.08 05:55. Заголовок: igor пишет: В облас..
igor пишет:
цитата:
В области пороговой точки, начинаются беспорядочные переключения(дребезг), секунд 5-15. Резистор для увеличения гистерезиса, не очень то и помогал,а иногда и мешал. Какое же здесь реле поставишь, с его обратными импульсами и дугой на контактах?
Работаю в инкубаторе - приборы регулирования температуры застал ещё на транзисторах МП40. Практически во всех приборах, которые сейчас применяются проблемма дребезга решена примерно так:
Нагреватель включается на определённый промежуток времени. Длительность этого включения зависит от разности фактической и предустановленной температур. То есть что-то наподобе ШИМ, только с интервалом в секунды. К примеру период 20 секунд. При разности 0,1 *С нагрев 2 секунды из 20-ти. При 0,2*С 4 секунды, при 1*С нагрев включен постоянно. Суммарная мощность нагревателя 4 кВт - стоят обычные пускатели. Работает надёжно и уже много лет.
Отправлено: 11.01.08 22:05. Заголовок: Да способов много. О..
Да способов много. Особенно если сделано на пике. Например: Я в обмене писал. Что если среднеарифметическое измеренное значение температуры подряд N раз увеличивалось или уменьшалось, в течение определенного времени, то только тогда дать команду о изменении регулировки. Вот и гестерезис и дребез контактов.
Хочу поблагодарить Игоря за последнию статью в обмене. Нет слов. Когда в WORD поменял dt и 0х, за 5 секунд на всех страницах, захотелось сказать спасибо
Пост N: 9
Зарегистрирован: 18.09.07
Откуда: РФ, Трёхгорный
Рейтинг:
0
Отправлено: 29.03.08 00:26. Заголовок: Может ещё актуально?
Про реле всё правильно: если оно срабатывает раз в год когда нужно защитить от перенапряжения или в подобной ситуации, то это его работа на 100%. А если нужно 300 раз в час включать нагрузку ампер 20 и вольт на 380, то это извините только тиристоры. В моей практике был случай, когда в фирменном немецком термостате за год работы выгорел контактор, причём так, что я даже не сразу понял, а куда у него контакты подевались? Вместо них просто дырки! Поэтому, не смотря на то, что на симисторе есть остаточное напряжение в открытом состоянии (~1,5V) и оно нагревает симистор, для печей и термостатов это единственное средство. Промышленность всего мира предлагает нам свои лучшие разработки, только берите. Я сам сначала не верил, когда начинал: MAC15 - 15 ампер 600 вольт в корпусе TO220 (как КТ819 транзистор!) - круто, но вот ещё бы изолированный анод... А пожалуйста - BTA16-600 - 16 ампер 600 вольт, - TO220 симистор с изолированным (2500 вольт) анодом! Да и ток управления 50 ма максимум! А хочу, чтобы за 5ма с гальванической развязкой, да ещё при переходе через "0"... А пожалуйста - MOC3083 - симисторный оптрон с Zero-Cross - включается тогда, когда синусоида тока пересекает "0" т.е. нагрузка включается плавно, без токовых всплесков и помех. В целом MOC3083 и BTA16-600 - компактное (20х20х20 мм) реле переменного тока 16а 600в с током управления 5ма и скоростью включения до 100 раз в секунду! А если вам захочется 200 ампер, просто включите к нему ещё симистор ТС261. Всё реле не больше поллитровой коробки кефира (вместе с радиатором симистора), а вы видели контактор на 200 ампер? То-тоже! По поводу контроля исправности симисторов: я сталкивался только с отечественными приборами серии МТО и подобными гибридными CRYDOM и китайскими аналогами. То на пол-периода работает, то вообще не включается. В одной печке я видел даже встроенную в контроллер функцию проверки исправности симисторов и нагревателей. Когда она задолбала сигналами о неисправности симисторов (там были МТО80, по 1200руб./шт. меняли по 3 раза в год), я просто переделал силовую на свой манер (MOC3083+BTA06+ТС142 - всего на 350руб.) и уже несколько лет не вспоминаю о ней. Полноценный контроль можно получить от токового трансформатора (напр. TALEMA), но он и не потребуется, если у вас MOC3083+BTA16-600+ТС261! С уважением, С.А. Сотников sergey_sotnikov@mail.ru
Отправлено: 29.03.08 12:25. Заголовок: Сергей никто не спор..
Сергей никто не спорит. Когда надо коммутировать 20А нагрузки 300 раз в час (300/60= 5 раз в минуту) Ни какое реле не выдержит. У реле нормальный ресурс 100000 срабатываний. 100000/300= 330 часов работы в таком режиме. а вот если за 8 часов срабатываний около 200. То это уже терпимо. 500 рабочих смен. или 1.5 года работы причем без всяких перерывов (выходных и т.д). Самое главное, тиристоры перспективней при коммутации в силовых цепях, с этим не поспоришь. Но надо иногда дорабатывать старое оборудование, на котором стоят контакторы. И хозяин совсем не хочет их убирать и ставить тиристоры. Убеждать его, напрасно тратить время.
Пост N: 426
Зарегистрирован: 26.12.06
Откуда: Украина, Одесса
Рейтинг:
0
Отправлено: 10.11.08 19:12. Заголовок: Предлагаю еще один в..
Предлагаю еще один вариант инициализации HD44780. Для варианта без использования вывода R/W индикатора, (он цепляется на землю).
INIT_LCD MOVLW b'00110010' ; Соединение 8и и 4х битного интерфейса в одном флаконе CALL ENTER ; вывод MOVLW b'00101000' ; Команда установки 4x битного интерфейса, 2е строки 5х7 точек CALL ENTER ; вывод MOVLW b'00001100' ; Команда включения дисплея, курсор выключен CALL ENTER ; вывод MOVLW b'00000001' ; Команда очистки дисплея со сбросом данных CALL ENTER ; вывод и "Составная" задержка CALL PAUSE ; перед выводом символов CALL PAUSE ; общим временем = 1.6ms RETURN
Фишка заключается в выводе информации на ЖКИ модуль. Поле передачи старшего п/б (0011), и строба на выводе Е. Вывод младшего п/б (0010) воспринимается ЖКИ, как следующая инструкция.
Пост N: 430
Зарегистрирован: 26.12.06
Откуда: Украина, Одесса
Рейтинг:
0
Отправлено: 15.11.08 22:12. Заголовок: Еще выяснилось, что ..
Еще выяснилось, что влияет порядок вывода инструкций. Если поменять местами третью и четвертую (00001100 и 00000001), то знаки на табло не выводятся, даже если потом применить инструкцию 10000000-курсор в начало первой строки. Хотя в BP_1.asm Часть2-2_2.doc Самоучителя, такой вариант работает.
Пост N: 432
Зарегистрирован: 26.12.06
Откуда: Украина, Одесса
Рейтинг:
0
Отправлено: 16.11.08 22:57. Заголовок: Дмитрий, думаю что ..
Дмитрий, думаю что модель тут не при чем. У меня индикатор HY-1602-204. Если у Вас эта "шапка"инициализации не проходит, могу предоставить полный ASM. Собственно это доработка рассылки 4.17 обмена.
********************************************************************************************** ;lcd45.asm _vintik@mail.ru (http://www.pic.borda.ru/) 05.11.2008 ; Доработанная версия lcd42.asm ; Схема подключения: ; PIC RС5 - LCD RS ; PIC RС7 - LCD E ; PIC RB4 - LCD B4 ; PIC RB5 - LCD B5 ; PIC RB6 - LCD B6 ; PIC RB7 - LCD B7 ; LCD R/W – на землю ; Кварц 3579 Кгц. ;********************************************************************************************** LIST p=16F876a ; "Привязка" MPLAB к микроконтроллеру PIC16F876A. __CONFIG 3F71H ; Определение значений битов конфигурации ;============================================================================================== ; Определение адресов регистров специального назначения в области оперативной памяти. ;============================================================================================== PC equ 02h ; Счетчик команд. Status equ 03h ; Регистр статуса. PortB equ 06h ; Регистр защелок порта B. PortC equ 07h ; ----------"---------- C. TrisB equ 06h ; Регистр выбора направлений работы выводов порта В (банк1). TrisC equ 07h ; ----------"---------- C (банк1). ;============================================================================================== ; Определение названий и положений регистров общего назначения в области оперативной памяти. ;============================================================================================== Count equ 30h ; Регистр временного хранения данных. Count1 equ 31h ; Еще один. ;============================================================================================== ; Присвоение буквенных названий местам размещения результатов операций. ;============================================================================================== W equ 0 ; Результат направить в аккумулятор. F equ 1 ; Результат направить в регистр. ;============================================================================================== ; Присвоение битам названий. ;============================================================================================== RP0 equ 5 ; Бит выбора банка. RP1 equ 6 ; Бит выбора банка. E equ 7 ; Бит № 7 регистра PortC (вывод RC7 - линия Е). RS equ 5 ; Бит № 5 регистра PortC (вывод RC5 - линия RS). ;============================================================================================== ; Подготовка к началу исполнения программы, переход к началу исполнения программы. ;============================================================================================== org 0 ; Начальная "точка отсчета" в PC - нулевой адрес. goto START ; Переход к "администраторской" ПП START. ;**********************************************************************************************
;********************************************************************************************** ; "РАБОЧАЯ" ЧАСТЬ "ПРОГРАММЫ" ;********************************************************************************************** ; Подготовка портов. ;---------------------------------------------------------------------------------------------- INIT_PORT clrf PortC ; Сброс защелок PortC в 0. clrf PortB ; Сброс защелок PortB в 0. bcf Status,RP1 ; Установка 1-го банка. bsf Status,RP0 ; Установка 1-го банка. clrf TrisC ; Все выводы PortC работают на выход. clrf TrisB ; Все выводы PortB работают на выход. bcf Status,RP0 ; Установка 0-го банка. return ; Возврат по стеку. ;-------------------------------------------------------------------------------------------- ; ПП задержки. ;-------------------------------------------------------------------------------------------- PAUSE movlw .255 ; "Одинарная" PAUSE_X movwf Count1 ; регулируемая WR_3 decfsz Count1,F ; Стандартная goto WR_3 ; ПП задержки. return ;-------------------------------------------------------------------------------------------- ; Вывод данных на индикатор ;-------------------------------------------------------------------------------------------- ENTER movwf PortB nop bsf PortC,E ; Установка на линии E "1". nop bcf PortC,E ; Установка на линии Е "0" (активный перепад). swapf PortB,W ; Смена п/байтов с сохранением результата операции в W. movwf PortB nop bsf PortC,E nop bcf PortC,E clrf PortB movlw .15 call PAUSE_X ; Задержка для вывода ланных ЖКИ = 49мкс return ;============================================================================================= ; "Рабочая" инициализация ЖКИ модуля. ;============================================================================================= INIT_LCD movlw b'00110010' ; Соединение 8и и 4х битного интерфейса в одном флаконе call ENTER ; вывод movlw b'00101000' ; Команда установки 4x битного интерфейса, 2е строки 5х7 точек call ENTER ; вывод movlw b'00001100' ; Команда включения дисплея, курсор выключен call ENTER ; вывод movlw b'00000001' ; Команда очистки дисплея со сбросом данных call ENTER ; вывод и "Составная" задержка call PAUSE ; перед выводом символов call PAUSE ; общим временем = 1.6ms return ; ;--------------------------------------------------------------------------------------------- ; Вычисляемый табличный переход для 1-й строки "!!!Заработало!!!" ;--------------------------------------------------------------------------------------------- TEXT_1 addwf PC,F ; Приращение PC на величину содержимого W. dt 021h,021h,021h,0A4h,061h,070h,061h,0B2h,06Fh,0BFh,061h,0BBh,06Fh,021h,021h,021h ; Запись в W адресного запроса к содержимому ; одной из ячеек знакогенератора. ;--------------------------------------------------------------------------------------------- ; Вычисляемый табличный переход для 2-й строки "05.11.2008 12:18" ;--------------------------------------------------------------------------------------------- TEXT_2 addwf PC,F ; Приращение PC на величину содержимого W. dt "05.11.2008 10:30" ;Запись в W адресного запроса к содержимому ; одной из ячеек знакогенератора. ;--------------------------------------------------------------------------------------------- ; Переход в начало 1-й строки. ;--------------------------------------------------------------------------------------------- INIT_LIN1 movlw b'10000000' ; Выбор ячейки DD RAM с адресом 00h (установка ; курсора в крайнее левое знакоместо 1-й строки). bcf PortC,RS ; Установка на линии "RS" "0". call ENTER ; вывод bsf PortC,RS ; Установка на линии "RS" "1". return ; Возврат по стеку. ;--------------------------------------------------------------------------------------------- ; Переход в начало 2-й строки. ;--------------------------------------------------------------------------------------------- INIT_LIN2 movlw b'11000000' ; Выбор ячейки DD RAM с адресом 40h (установка ; курсора в крайнее левое знакоместо 2-й строки). bcf PortC,RS ; Установка на линии "RS" "0". call ENTER ; вывод bsf PortC,RS ; Установка на линии "RS" "1". return ; Возврат по стеку. ;--------------------------------------------------------------------------------------------- ; Вывод символов в 1-ю строку. ;--------------------------------------------------------------------------------------------- D_LIN1 movlw .16 ; Запись числа .16 (количества выводимых в строку movwf Count ; символов) в регистр Count. WR_1 movf Count,W ; Копирование содержимого регистра Count в W. sublw .16 ; .16 - Count = ... (результат записывается в W). call TEXT_1 ; Переход в ПП TEXT_1. movwf PortB ; Вывод адресного запроса к содержимому ячейки ; знакогенератора в PortB. call ENTER ; вывод decfsz Count,F ; Подготовка к выводу на индикацию следующего ; символа таблицы 1-й строки. goto WR_1 ; Если результат декремента не=0, то переход в ПП WR_1. return ; Если результат декремента =0, то возврат по стеку. ;--------------------------------------------------------------------------------------------- ; Вывод символов во 2-ю строку. ;--------------------------------------------------------------------------------------------- D_LIN2 movlw .16 ; Запись числа .16 (количества выводимых в строку movwf Count ; символов) в регистр Count. WR_2 movf Count,W ; Копирование содержимого регистра Count в W. sublw .16 ; .16 - Count = ... (результат записывается в W). call TEXT_2 ; Переход в ПП TEXT_2. movwf PortB ; Вывод адресного запроса к содержимому ячейки ; знакогенератора в PortB. call ENTER ; вывод decfsz Count,F ; Подготовка к выводу на индикацию следующего ; символа таблицы 2-й строки. goto WR_2 ; Если результат декремента не=0, то переход в ПП WR_2. return ; Если результат декремента =0, то возврат по стеку. ;******************************************************************************************** ; "Администраторская" подпрограмма. ;******************************************************************************************** START call INIT_PORT ; Настройка портов. call INIT_LCD ; "Рабочая" инициализация ЖКИ модуля. call INIT_LIN1 ; Переход в начало 1-й строки. call D_LIN1 ; Вывод символов в 1-ю строку. call INIT_LIN2 ; Переход в начало 2-й строки. call D_LIN2 ; Вывод символов во 2-ю строку. goto $ ; "Уход" в "вечное кольцо" ;******************************************************************************************** end ; Конец программы.
Дмитрий, если у Вас найдется время и возможность, проверте пожалуйста на своем индикаторе. По тому как этот вариант показал абсолютную безглючность запуска, даже с хреновым источником.
Модель как раз при чем... Хотя если и собраны на одном и том же контроллере, а у многих временные задержки разные. с плавающей задержкой конечно не столь важно, но с фиксированной... Впрочем и процедуры инициализации по даташитам отличаются, хотя я запускал с разными процедурами несколько подобных индикаторов либо неизвестного производителя либо известного, индикаторов штук шесть было, вроде проблем не наблюдалось... С графическими индикаторами сложнее, у меня куплены МЭЛТ, так у них адресация ячеек отличается, соответственно он несовместим программно с другими индикаторами. Хотя во всем остальном ничем не отличается, кроме задержек.
Увы, в ближайшее время вряд ли чем помогу, в этом вопросе.
Ну, и такое случается. У меня напротив, появилась возможность позаниматься любимым делом.
А раз плавно сошли на графические модули, есть вопрос. Vdd – V0, это напряжение кто нибудь подавал на индикатор? Меня совсем не устраивает его контрастность, очень слабая.
Пост N: 606
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг:
1
Фото:
Отправлено: 06.03.09 21:33. Заголовок: Сегодня с очень боль..
Сегодня с очень большим удивлением обнаружил в 18 пиках проблему перехода через 256 байт в вычисляемом переходе. Ситуация повторилась один в один с 16 пиками, только здесь счетчик команд трех байтный, а следовательно надо загружать еще и средний байт. Интересно есть наряду с директивами LOW и HIGH директива и для среднего байта? Как раз его чаще всего придется переписывать...
Пост N: 733
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
4
Отправлено: 06.03.09 23:41. Заголовок: К сведению. Сейчас ..
К сведению. Сейчас я работаю над статьей о табличном чтении/записи (ПИКи 18-й серии). После уяснения ее сути, при работе с таблицами данных, можно вообще отказаться от вычисляемых переходов, а вместо этого работать с Flash-памятью программ по всему ее объему. Абсолютная адресация. Разделений на блоки и страницы нет. "Масса" таблицы может быть большой. Лично мое мнение: по сравнению с ПИКами среднего семейства, ПИКи 18-й серии это класс! Возможности впечатляют.
Осбенно с графическими индикаторами, уже опробовано. Прелесть... два байта в слове вместо одного в вычисляемом переходе... А их там ну очень много влезет.
Пост N: 734
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
4
Отправлено: 07.03.09 01:11. Заголовок: Алексей, вот и я ..
Алексей, вот и я тоже говорю, что Flash-память программ это класс (для PIC18Fxx2, по максимуму, 32 Кбайта). Можно многое наворочать. Заменяет внешнюю память. И работает шустро. Нужно только освоить табличные чтение/запись (в основном, чтение. Записать можно с помощью директив).
Пост N: 1558
Зарегистрирован: 14.01.07
Откуда: Россия, Лиски
Рейтинг:
2
Фото:
Отправлено: 29.03.10 23:56. Заголовок: Не стал открывать но..
Не стал открывать новую тему. Вопрос не всем интересный, поэтому развития темы думаю не будет.
Решил всё-таки заняться, регулированием яркости ламп дневного света. Обрезание части полуволны, как это делается при регулировке яркости ламп накаливания здесь не прокатит. Обрезанием, мы уменьшаем среднее напряжение. А для того, чтобы изменить яркость ЛДС, необходимо изменить ток протекающий через лампу при практически неизменном напряжении. Схема включения лампы должна остаться стандартной - дроссель, стартер и сама лампа. Посмотрел как это дело реализуется буржуями. Они регулируют яркость, обрезанием некоторой части верхушки полуволны. И чем большая часть верхушки срезана, тем меньше яркость свечения лампы.
Примерно так это выглядит на экране осциллографа. Я нарисовал обрезанной только одну полуволну. Естественно что на реальной осциллограмме, они обрезаны все.
Как это сделать, догадаться не трудно.
Например, можно подключать высоковольтный стабилитрон. И в нужный момент времени отключать его. Он будет обрезать верхушку полуволны. Время подключения стабилитрона к схеме можно изменять, а значит можно изменять и размер "куска" вырезанной верхушки полуволны. Вопрос к специалистам высоковольтникам. Как думаете, что использовать в качестве стабилитрона и каким ключом его коммутировать? Напряжение естественно переменное 220 вольт.
Хочу поделится своим "открытием". Для меня, точно. Был уверен, что все понял. Но в реале оказалось, не так. Модуль ССР в режиме ШИМ . Режим ШИМ полностью автономен. Достаточно настроить и включить, и можно заниматься своими "делами". Не надо следить за прерываниями при переполнении TMR2, их просто нет. Не надо, соответственно, сбрасывать флаг переполнения.
Пост N: 59
Зарегистрирован: 15.03.10
Откуда: Россия, Волжский
Рейтинг:
0
Отправлено: 12.10.10 20:34. Заголовок: MAZ пишет: Модуль С..
MAZ пишет:
цитата:
Модуль ССР в режиме ШИМ . Режим ШИМ полностью автономен.
Ураа я очень раддд, я это тоже заметил когда пытался воспроизвести звук через ШИМ это самая автономная вещь в пике а вот интересно ктонть пытался поюзать расширенный модуль ШИМ как у PIC16F690.
Пост N: 60
Зарегистрирован: 15.03.10
Откуда: Россия, Волжский
Рейтинг:
0
Отправлено: 12.10.10 20:57. Заголовок: igor пишет: Вопрос ..
igor пишет:
цитата:
Вопрос к специалистам высоковольтникам. Как думаете, что использовать в качестве стабилитрона и каким ключом его коммутировать?
проще сделать жалюзи на лампу, чтоб она ограничивала проход света. Я на работе так и делал когда работал в ночную смену подсовывал в плафон листы бумаги и они частично гасили свет.
igor пишет:
цитата:
А для того, чтобы изменить яркость ЛДС, необходимо изменить ток протекающий через лампу при практически неизменном напряжении.
ответ один увеличить сопротивление. а коммутировать можно через транзистор. в полностью открытом состоянии он имеет малое сопротивление, а в полуоткрытом большое правда возникает проблема с его охлаждением.
а можно подключать последовательно ещё один баластник .
Пост N: 515
Зарегистрирован: 03.12.09
Откуда: Украина, Киев
Рейтинг:
1
Отправлено: 12.10.10 22:27. Заголовок: igor пишет: Решил в..
igor пишет:
цитата:
Решил всё-таки заняться, регулированием яркости ламп дневного света.
Игорь, регулирование яркости ламп дневного света называется сейчас диммингом (Dimming). Оптимально (технически) использовать для димминга электронные балласты на специализированных микросхемах. Например, на IR21592. Все зависит от того, какую задачу Вам надо решить и за какую цену. Такие балласты обходятся заметно дороже обычных.
Все даты в формате GMT
3 час. Хитов сегодня: 13
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет