Jump to content
NebsteR

Pic. Общие Вопросы

Recommended Posts

Извините ещё раз, вчера жена всё торопила за покупками поэтому и в СИ и в АСМ набросал кучу ошибок:

Конечно для BCD нужно использовать не одноразовую функцию "if", а "while"

А здесь "if (C = 1)" должно быть "if (C == 1)",

ну и наконец - если дизасемблировать строку выше, то там естественно будет:

MOVLW        1            ;

ADDWF         XX,W    ;

и так далее... Потому что если делать через "INCF"  то бит "С" не установится, и далее смысл команды теряется...

Share this post


Link to post
Share on other sites

 

19 часов назад, ALEKS1102X сказал:

поверьте - преобразование для PIC18 с 8 МИПС пару мкс., и вот у меня в руках функция "BCD" которая даже если написана для PIC18 - с лёгкостью проглатывается и для пик10 - 16, т.е код типа:

басни не рассказывай

 

 

Share this post


Link to post
Share on other sites
В 17.09.2017 в 09:19, IMXO сказал:

 

басни не рассказывай

 

 

Добрый день конфе! извините что долго не отвечал, сейчас просто решается вопрос с Али, где вроде нужно доплатить 4,9 $, и мне отправят другую партию из 10 PIC18F46K22... Ну что - я рискну, тем более что старыё (перемаркированные PIC18F46K20) я так понял - останутся мне в нагрузку.

А по поводу того что писал раньше - гляньте архивчик, набросал по быструхе - да, если переводить число 9999, то при частоте 8 Мипс для PIC18 это займёт 57 мкс., Но ведь это максимальное значение, и на индикатор если оно и будет выводиться - то в очень крайних и редких случаях. Давайте возьмём среднее значение - 5.000. Вот такое значение будет конвертироваться за 23 мкс.

А теперь давайте глянем там-же, в архиве) как это будет делаться с помощью функции "Dec2Bcd16(X)" - в общем, если запускать в Микро СИ, то мой код выполняется за 188 мкс (я там не правил конфиг, поэтому работа идёт с 2 Мипс), а функция Dec2Bcd16(X) выполняется за 77х (780) мкс, т.е.  по сути в 4,5 раза больше времени. Причём я сравниваю с макс. результатом: если в своём коде я буду перекодировать число 155, к примеру, то оно действительно займёт пару мкс, а в функции BCD оно так и останется - 780 мкс.

Если Вы это имели ввиду ( 2мкс и 23 мкс), то да - я чууууть Вас обманул.

Теперь по поводу перевода АСм кода из PIC18 в PIC16 - там всего-лишь одна команда не воспринимается корректно - это "SUBWFB" - вычитание с учётом бита Карри, все остальные: BC, BNC, BZ, BRA, и т.д. перевариваются нормально - что я собственно и мел ввиду, мож некорректно написал об этом.

Ну что-ж - может и мне пора обновить свои макросы (функции так сказать) - мож у меня там тоже много лишних команд ранее было написано, обновлю при случае...

Я в архиве сделал две папки - для Пик 16 и 18 - там увидите один и тот-же код для 16 и 18 серии, а ещё всё-таки проверил по новому - как простую функцию, инкремента четырёхбайтного числа производит Микро Си и ХС 8... Да..., те кто писали эти компиляторы однозначно в разных дурках нычкуются - вместо просящегося кода:

     MOVLW      1          ; 
     ADDWF      _dcab,F    ;
     BTFSC      STATUS,C   ;
     ADDWF   _dcab+1,F  ;
     BTFSC      STATUS,C   ;
     ADDWF   _dcab+2,F  ;
     BTFSC      STATUS,C   ;
     ADDWF     _dcab+3,F  ;

там.... Да короче сами увидите, чего повторно писать буду.!!!

Ну и последнее: Я ни в коей мере не хочу обидеть никого, и уж тем более развести новых халивар. Я просто делюсь мыслями... Вот к примеру - все говорят - что на Си проще писать - да одинаково писать - если не знаешь сам камень - то хоть на суахили пиши - ты его даже не проинициализируешь. И такая-же картина если переводить код с одного камня на другой - пока не будет инициализации камня, остальной код можно засунуть сзади и поглубже.

Но что меня привлекает в АСМ - это то что ты сам пишешь что знаешь,  и что хочешь получить на выхлопе, а не пользуешься чужими макросами. Вот сейчас многие чего-то там пишут под USB - а чего пишут по сути сами не знают! И могу гарантировать что 90 % этих написателей даже не знают что там и как в таблице Fat32, я уже не говорю про NTFSC...

Ну и правильно - а зачем - будет получиться глюконат - на китаяйцев спишем - нам что главное - запустилось, вроде работает - ну и пошли все в (|) - ну короче туда...

А потом: Ема-ё писал вроде простую вещь - всего один АЦП вход определяющий протечку (памперс), ну добавил ещё звоночек играющий мелодию _ А АРМ32 НЕ ХВАТАЕТ - ЧЕГО ТАМ ПРОИЗВОДИТЕЛИ Д*ОЧАТ - НУЖНО БЫ БЫЛО УЖЕ АРМ 9932 ВЫПУСТИТЬ...

СИ++ АСМ--.rar

Share this post


Link to post
Share on other sites

Конденсаторы Panasonic. Часть 4. Полимеры – номенклатура

В заключительной, четвертой статье из цикла «Конденсаторы Panasonic» рассматриваются основные достоинства и особенности использования конденсаторов этого японского производителя на основе полимерной технологии. Главной конструктивной особенностью таких конденсаторов является полимерный материал, используемый в качестве проводящего слоя. Полимер обеспечивает конденсаторам высокую электрическую проводимость и пониженное эквивалентное сопротивление (ESR). Номинальная емкость и ESR отличается в данном случае высокой стабильностью во всем рабочем диапазоне температур. А повышенная емкость при низком ESR идеальна для решения задач шумоподавления и ограничения токовых паразитных импульсов в широком частотном диапазоне.

Читать статью

1 час назад, ALEKS1102X сказал:

ещё всё-таки проверил по новому - как простую функцию, инкремента четырёхбайтного числа производит Микро Си и ХС 8..

1. Микрос сделал все правильно , оставив атомарный доступ к dcab , вы же не указывали, что она доступна только в main, она описана глобально...

2. а вот у вас Ашибко, команда  INCF  бит CARRY  не изменяет

3. восьмой хусым тоже сделал все правильно! создал атомарный доступ и к значению dcab прибавил 1 и занес полученный результат в dcab, что вы от него и требовали , команды dcab=dcab+1 и dcab++ это разные команды,  также как и команды dcab++ и ++dcab

Share this post


Link to post
Share on other sites

 1. Я такой-же доступ предоставил и хусымы... не ?

2. Ашибко я исправил в сообщении, архив лень было потрошить ... не ?

3. Если хусыме подсовываешь команду "x++", то он вообще ересь каку-та несёт, я сильно не разбирался, но Вы как знающий поправьте...

     3.1 Разницу между х++ и ++х я знаю...

4. Напишите мне на СИ так чтобы мне чётко нарисовало то что я хочу получить на АСМ для Микроса и Хусейна. А не нарисуете - потому как не Вы написатель этих       макросов...

 

Share this post


Link to post
Share on other sites
                     

STM32G0 - средства противодействия угрозам безопасности

Результатом выполнения требований безопасности всегда является усложнение разрабатываемой системы. Особенно чувствительными эти расходы стали теперь, в процессе массового внедрения IoT. Обладая мощным набором инструментов информационной безопасности, микроконтроллеры STM32G0 производства STMicroelectronics, объединив в себе невысокую цену, энергоэффективность и расширенный арсенал встроенных аппаратных инструментов, способны обеспечить полную безопасность разрабатываемого устройства.

Подробнее...

1. ну так в чем возмущения? еще раз если не доходит, dcab=dcab+1 и dcab++ это разные команды! поэтому и результат микроса и хусыма разный
4. легко,
 

Скрытый текст

 


2:                 
3:                 __CONFIG (RC & WDTDIS & PWRTDIS & UNPROTECT);
4:                 
5:                 void main (void)
6:                 { unsigned long decb=0;
7:                 
8:                 
9:                 while(1)
   3FF    2BF6     GOTO 0x3f6
10:                 {
11:                   NOP();	 
   3F6    0000     NOP
12:                   decb++;
   3F7    0A8C     INCF 0xc, F
   3F8    1903     BTFSC 0x3, 0x2
   3F9    0A8D     INCF 0xd, F
   3FA    1903     BTFSC 0x3, 0x2
   3FB    0A8E     INCF 0xe, F
   3FC    1903     BTFSC 0x3, 0x2
   3FD    0A8F     INCF 0xf, F
13:                   NOP();
   3FE    0000     NOP


 

 

Share this post


Link to post
Share on other sites
В 16.09.2017 в 13:27, ALEKS1102X сказал:

Не знаю как кому - я уже тысячу раз пытался перейти на СИ, но как гляну в дизАСМ, у меня волосы на жопе хуже чем у ёжика на голове. Кто этих написателей си компиляторов так учил из АСМ в СИ переводить - Корабельников видать, или как его там ?!?...

Какие впечатлительные!!!

Share this post


Link to post
Share on other sites
В 23.09.2017 в 14:33, ALEKS1102X сказал:

Но что меня привлекает в АСМ - это то что ты сам пишешь что знаешь,  и что хочешь получить на выхлопе, а не пользуешься чужими макросами. Вот сейчас многие чего-то там пишут под USB - а чего пишут по сути сами не знают! И могу гарантировать что 90 % этих написателей даже не знают что там и как в таблице Fat32, я уже не говорю про NTFSC...

Какая связь между Fat32 и USB  я, откровенно говоря, не понял...

Однако, любезный, писать самому стек USB на АСМе, мягко говоря, трудоемко. Мало того, полученный код будет дико неудобен при его интеграции в проект, поскольку объемен даже на Си,а уж на АСМе одни комментарии займут 2/3 текста исходника.

Я  сам почти все на продукции Микрочипа пишу на АСМе. За исключением сложных стандартных протоколов. 

Воспользоваться стандартным стеком USB, не понимая как он работает практически невозможно, особенно если учесть, что очень часто его надо править под себя, изменяя дескрипторы и  создавая свою функцию Application.

Share this post


Link to post
Share on other sites

1. Да не, я особо и не возмущаюсь, с чего возмущаться то ?

    С того что переменная заявленная вне рабочей вункции "main" как глобальная -  unsigned long  dcab = 1234 (это пример); Дальше я её инкрементирую в любом в     любой функции внутри "маин", и независимо от функции, в которой я использую эту переменную - на выходе я должен получить...:

dcab++; // ->

incf      dcab,f            ;

btfsc    STATUS,Z      ;

incf      dcab+1,f        ;

btsfc    STATUS,Z      ;

incf      dcab+2,f        ;

и т.д.

или же:

dcab = dcab+ 1 ; // ->

movlw  1                   ;

addwf   dcab,f            ;

btfsc    STATUS,C      ;

addwf    dcab+1,f      ;

btfsc    STATUS,C      ;

addwf    dcab+2,f      ;

и т.д.

И независимо от прерываний, или переходов из одного банка ОЗУ в другой (для Пик 18 компилирует корректно) - мне не нужно глобальную переменную зачем-то сохранять в регистрах 0х70 ... 0х7F (которые используются во всех банках ОЗУ) - я не использую эту переменную внутри какой-то функции, ну и уж ни как не видно по размеру кода - что я могу перескочить на другую страницу программной памяти (зачем промежуточные регистры?)  -  в любом случае на выходе я должен получить результат: dcab = 1235 ? Или не ?

 

4. А я и не говорил про переход через Зеро - через Зеро конечно легко... Не знаю - сколько лет назад - мож 60-70 когда фирма Микрочип откололась от какой-то релейной компании (если правильно помню) и стала независимой компанией, выпускающей чисто микроконтроллеры. И вот тогда один из её программистов решил, что переполнение некоего многобайтного регистра нужно делать через Зеро.

А мне как-то привычней переполнение через Карри, а сравнение с нулём через Зеро...

В любом случае - в данной ситуации переполнение мл. регистра вызывает установку бита Карри, а последующее обнуление этого регистра вызывает установку Зеро - по сути установятся два бита одновременно.

Но я не имел ввиду код с использованием Зеро...

 

Share this post


Link to post
Share on other sites
В 27.09.2017 в 08:32, my504 сказал:

Какая связь между Fat32 и USB  я, откровенно говоря, не понял...

Однако, любезный, писать самому стек USB на АСМе, мягко говоря, трудоемко.

 Ну про Fat32 и USB если честно - то первое что пришло в голову это флеш карточки (USB), да и то - так чисто символически.

А насчёт написать - так кто-то ж написал, перевёл в СИ из низкоуровневого... Тут вопрос в другом - когда ты просто любитель , то информации в интернете - куча, но один понос. И из этого поноса - полезной информации максимум 1%. Если проще - то проще будет проанализировать передачу TTL-USB чем найти аналогичную действительно полезную информацию...

А конкретно если мне понадобится тот USB - то проанализирую шину, почитаю инфу, и и выкину 90% из того Си кода, который сейчас универсальный и типа неприкасаемый. А как окажется - в 5 раз сложнее ИИС.

 

Share this post


Link to post
Share on other sites
1 час назад, ALEKS1102X сказал:

 Ну про Fat32 и USB если честно - то первое что пришло в голову это флеш карточки (USB), да и то - так чисто символически.

А насчёт написать - так кто-то ж написал, перевёл в СИ из низкоуровневого... Тут вопрос в другом - когда ты просто любитель , то информации в интернете - куча, но один понос. И из этого поноса - полезной информации максимум 1%. Если проще - то проще будет проанализировать передачу TTL-USB чем найти аналогичную действительно полезную информацию...

А конкретно если мне понадобится тот USB - то проанализирую шину, почитаю инфу, и и выкину 90% из того Си кода, который сейчас универсальный и типа неприкасаемый. А как окажется - в 5 раз сложнее ИИС.

 

Вы пишите невероятную чушь. 

Просто апокалиптическую пургу. 

Это я Вам заявляю как человек, который не только ЮСБ девайс реализовал, причем под свою задачу, со своими дескрипторами, но и ЮСБ хост стыкующийся с этим девайсом. 

Причем я пишу в основном на АСМе и в основном для 16-разрядных ПИКов. 

Стек ЮСБ написать на АСМе можно, только это будет абсолютно пустой труд, ибо пользоваться этим стеком будет на порядок сложнее, чем написанным на Си. 

Прежде чем писать свой бред, возьмите за труд почитать спецификацию на ЮСБ в общем и спецификацию реализуемого класса. А потом поговорим на эту тему. 

Если у Вас останется желание говорить... 

Edited by my504

Share this post


Link to post
Share on other sites
В 28.09.2017 в 22:17, my504 сказал:

 

Если у Вас останется желание говорить... 

ОК! Если понадобится ЮСБ, и если будет что-то непонятно, то обращусь к Вам.

Хотя... пока за помощью ни к кому не обращался...

Share this post


Link to post
Share on other sites

Я Вам помощь и не предлагал.

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

Более всего меня развеселила Ваша идея снифферить протокол, совершенно не представляя его структуру, а так же его сравнение с I2C.

:))))

 

 

Share this post


Link to post
Share on other sites
8 часов назад, my504 сказал:

Я Вам помощь и не предлагал.

 

Да надо мне ваша помощь как собаке 40 ног... Ответил так что бы не грубить как Вы мне. Вы что думаете я не знаю приблизительную работу этого сраненького ЮСБ ?

Да все они : Усарт + 485, ЮСБ, заброшенный французами ВАН, и после подхваченный другими и переименованный в КАН - всё это вид одного и того же заднего места, только  с разных ракурсов. Все они имеют дифференциальную шину, но не имеют чёткой синхронизации, из-за чего ошибки сыплют пачками. Усарт частично спасают от рассинхронизации стартовые и стоповые биты, юсб и кан после определённого количества одинаковых бит передают бит другой полярности (что-то наподобие, давно уже читал), чтобы не потеряться в поносе информации, и т.д. А остальное VID (идентификатор производителя) - это передавай любое, PID - насколько помню - это предназначение устройства (программатор, веб камера, и т.д), и т.п. И в конце некой передаваемой пачки будет сыпать кучу CRC, а половина софта призвана решить проблемы железа из-за рассинхронизации - с какого места возобновить передачу, и т.п.. У кан равносильные устр-ва со всех сторон (в отличие от юсб), приоритет передачи информации, и т.д. И сравнительно большие расстояния передачи информации - а в конце та же CRC, вычисление ошибок, повторные передачи, и всё остальное что из этого вытекает. А на уровне железа они практически одинаковые...

Если Вы имели ввиду что это совсем не похоже на и2с, то да - нужно было Вам спарку усарт+485 в пример привести. Только и2с в десятки раз лучше - я на софтовом и2с проверяю просадку обеих шин, и ошибки при передаче старт-стопов, а в результате в устр-во встраиваешь проверку на ошибки, через неделю проверяешь регистр на наличие битов ошибок - а он пуст, хотя шина общается к примеру с DS1307 2 раза в секунду.  А если на выход шины SCL повесить парочку доп транзисторов и подтянуть через 120 Ом к плюсу, и похожее сделать по шине данных (сделать что-то наподобие усилителя сигналов), то можно устройства на пару десятков метров друг от друга разносить, чего не сделаешь с юсб. Тоже можно сказать и про спи - из-за наличия шины синхронизации тоже неглючный. А Вы тут сразу на дыбы... Ну разобрались с юсб - молодец, купите себе медальку с закруткой на спине. Когда мне понадобится этот юсб я тоже разберусь...

Share this post


Link to post
Share on other sites

Вы продолжаете нести бред. Причем самоуверенно, не имея НИ МАЛЕЙШЕГО понятия об упоминаемых протоколах.

С какого перепуга Вы решили, что "ошибки сыплют пачками"? 

С какого перепуга Вы решили, что синхронный интерфейс устойчивее к помехам по сравнению с асинхронным?

Если Вы не знаете как работать с УАРТом, то не надо его критиковать. Лучше НАУЧИТЕСЬ использовать.

Могу Вас расстроить, что синхронные интерфейсы ни на что, кроме как в ЛОКАЛЬНЫХ (в пределах одной платы) коммуникациях не годны. Просто потому, что сама линия синхронизации такая же уязвимая к помехам, как и линия данных, есличо. Мало того, наиболее защищенной от полмех является ДИФФЕРЕНЦИАЛЬНАЯ ПАРА, а все эти SPI, I2C и прочая мутотень - это НЕСИММЕТРИЧНЫЕ физические протоколы. Именно поэтому в высоконадежной КАН и прочих ПРОФИБАС, ЭЗЕРНЕТ используется дифпары и асинхронный интерфейс.

 

Share this post


Link to post
Share on other sites

Здравствуйте уважаемые форумчане. Помогите решить проблему с прошивкой PIC16F676. Есть в наличии универсальный  программатор minipro tl866, к сожалению железного ком порта нету. При попытке загрузить в буфер прошивку выдает ошибку о несоответствии длины файла. Так же не могу вручную выставить правильную конфигурацию микроконтроллера, так как не нашел ручного переключения  для работы от внутреннего генератора. IC-Prog прошивку и конфигурацию открывает правильно. Может кто то помочь в подкорректировать прошивку для правильного определения конфигурационных бит в программаторе tl866 . Скрины и саму прошивку прилагаю.

Заранее спасибо за помощь.

ic-prog.jpg

tl866 config.jpg

tl866 error.jpg

FU_3i.HEX

Share this post


Link to post
Share on other sites

Что там с длиной файла я не знаю, с таким программатором дел не имел, а если хотите изменить конфиг-биты на внутренний генератор (зачем, кстати?), то отметьте FOSC2 (стр. 56 ДШ).

Share this post


Link to post
Share on other sites

Хочу изменить потому что в схеме микроконтроллер работает от внутреннего генератора. При ручном выставлении битов конфигурации как в  IC-Prog

у меня получается конфигурация 3FA7 или  3E58, а мне нужно получить конфигурацию  31CD. Может я плохо  поясняю суть проблемы, так как я не программист , а просто пользователь.

 

Zhuk72, есть готовый проект. У меня проблема прошить микроконтроллер а не переписать программу. Мне нужно просто адаптировать прошивку под мой программатор,который не хочет подгружать конфигурацию МК с файла прошивки.

Share this post


Link to post
Share on other sites

Я же не от балды дал ссылку на страницу в даташите, там расписаны все биты, с которыми вы воюете. Введите их в двоичный калькулятор слева направо и получите то самое слово. Заодно и принцип поймете.

У вас в ICProg выставлен тот самый 31CDh, но у него помимо внутреннего генератора еще и такты на RA4 выводятся (CLKOUT). Вам это правда нужно?

Если нет, то ваш конфиг - 31CCh, как я и сказал, с выставленным битом FOSC2 и очищенными FOSC1 и FOSC0. Остальные стоят правильно.

Share this post


Link to post
Share on other sites

Так не работает. Я НЕ МОГУ вручную выставить конфигурацию не 31CDh, не 31CCh. У меня серые окна BG1 BG0 не поддаются изменению(защита от дурака). Я все комбинации перепробовал. Нужно только автоматом с прошивки подтянуть. Понимаю, что это проблема программатора, но другого нет.....

Share this post


Link to post
Share on other sites

FU_3i.HEX

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

Там и так стоял внутренний генератор, только с выводом тактов, как и на первом вашем скрине. Я только вывод тактов отключил.

Edited by Zhuk72

Share this post


Link to post
Share on other sites

Хух. Запустилось. Спасибо  Zhuk72 за помощь. Оказалось что нужно галочки инверсно ставить.

Но Config Word все равно "не стреляет"..... хотя как то работает.....

Последняя ячейка у меня в программаторе не читается и не пишется- еще одна защита от дурака. Константу никак не увидеть.

Методом "научного тыка",  записывая и сохраняя прошивку, понял структуру которую должен иметь файл прошивки для автоматического подхватывания  программатором. Сейчас все автоматом ставиться.

 

1111.HEX

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By Reptile
      Доброго времени суток. Пытаюсь восстановить работоспособность колонок Top Device TDE 261/2.1. Колонки не раз ремонтировалась по части УНЧ, при очередном ремонте по ошибке (одинаковые разъемы) с трансформатора было подано переменное питающее напряжение на входы (разъем AUX/MP3) аудиопроцессора PT2313L  (3,10,14 ноги - AGND, R_IN2 L_IN2). В результате чего выгорел сам аудиопроцессор PT2313L. PT2313L был заменен. Но колонка по прежнему не запускается. Как я понял, не запускается сам PT2313L, на его аудиовыходах (ноги 24, 25) сигнала нет. Передняя панель работает: индикация, кнопки, енкодер. Имеется подозрение, что вместе с процессором выгорели линии DATA и/или CLK на MCU, так как MCU и PT2313L соединены по этим линиям напрямую друг с другом. В МК и всей этой цифровой штуке не очень шарю, не знаю, как грамотно проверить работоспособность этой цифровой части, поэтому прошу помощи - Возможно ли какими-либо способами восстановить колонку или уже всё... 
      Из приборов, к сожалению, только мультиметр, осциллограф отсутствует.
      Ниже немного измерений.
      Напряжения на линиях: STD-BY-ждущий режим (в скобках рабочий режим):
      DATA - 2.31В (1.9В).
      CLK - 0.125В (0.135В).
      Сопротивление между выводами:
      CLK_MCU-DATA_MCU - 47 Ом. 
      CLK_MCU/DATA_MCU-GND - около 0.22 Ом и там и там. Звонится в обе стороны.
      Питание MCU 5В, (4.6В STD-BY-ждущий режим, 4.0В рабочий режим и со временем также почему-то может падать до 3.6В)
      MCU - не известен, нет маркировки. 18 Выводов, DIP.
      Ноги MCU, которые удалось опознать:
      1 - DATA
      18 - CLK
      3 - GND (?)
      5 - GND (?)
      ? - они соединены вместе
      14 - VCC
      17 - not used (n/a)
      15, 16 - OSC
      ET6202 - управление индикатором, Control LED drive circuit
      Фото плат (под сполером) и даташиты прилагаются.
      Схемы данных колонок не имеется. Все что удалось найти это схема чуть более старшей модели TDE280/2.1, с данными колонками она мало что общего имеет, лишь общий принцип, узлы довольно сильно отличаются, но прикреплю на всякий, для общей информации.
      PT2313L
      ET6202
      TDE280
       
    • By Илья Говжеев
      Поделитесь опытом , кто уже пробывал из arduino сделать программатор pic? 

    • By Терентенко Андрей
      Добрый день! Имею следующую ситуацию : на базе  PIC16f676  создал приблуду для "управления нештатной магнитолой с руля", а именно  сигнал с руля это 4,8в и в зависимости от нажатой кнопки падает дискретной до 0.8в мк с помощью АЦП отслеживает  на магнитолу паралельно кнопкам кинул оптрони которыми управляет МК. Питание от LM с фильтрующими конденсаторами. При тестових прогонах всё работало как надо (программно реализовано защиту от дребезга аж на 0.1 сек в поисках решений) и в машине  и от штатного БП . Но заметил закономерность сейчас на улице - 2 и при первом запуске минут 5, МК "шумит" несоотвецтвует нажатия на руле кнопке  на магнитоле ! Сигнал с руля смотрел стабильный без дребезга , притом когда тестил вынес магнитолу подключил всё работало гуд но пока устанавливал закручивал она остыла и начинались эти тацы . Кто что подскажет? МК или ЛМ могут так реагировать на температуру ? Прошу прощения у модераторов за повторение теми (может в этом разделе будет актуальней)
    • By Splav
      Речь пойдет о таймере цикличного включения вентиляции гаража.
      Стояла задача обеспечить принудительную вентиляцию гаража.
      Оставлять включенным вентилятор круглые сутки - неоправданно.
      Включать его периодически вручную... Неудобно и лишено смысла.
      Поэтому было решено включать его на определенное время через разные интервалы времени, в зависимости от субъективного восприятия наличия сырости в гараже.
      Вменяемых вариантов в продаже я не нашел.
      Можно, конечно, приобрести на Али программируемый суточный таймер или что-то подобное...
      Да, можно, но мне кажется, что собрать из подручных деталей тоже можно, ну и мозги потренировать.
      За основу был выбран PIC12F675, потому что он у меня был.
      По уму здесь должен стоять PIC12F629, он дешевле, в нем нет АЦП, который в конструкции не используется и отключен.
      Итак.
      Время работы выбрано фиксированным и неизменным - 1 час.
      Время простоя - в зависимости от режима.
      1 час - 2 часа - 3 часа.
      (Изначально я планировал другие задержки: 2-3-5 часов. На практике в моих гаражных условиях эти интервалы оказались слишком большими)
      Индикация осуществляется всего 1 светодиодом.
      Переключение режимов и управление - всего 1 кнопкой.
      Схема:

      Коротко о работе:
      Кнопка.
      Опрос кнопки 10 раз в секунду. Антидребезг и подавление помех 0,3с - 3 опроса подряд кнопка нажата.
      Короткое нажатие на кнопку(от 0,3 до 2 с) - переключение режимов по кругу. 1 - 2 - 3 - OFF - 1 - 2 -  ....
      Длинное нажатие на кнопку (дольше 2 с) - смена состояния реле.
      Если оно было включено - выключается.
      Если было выключено - включается. Интервалы работы реле при этом соответствуют режиму.
      В режиме OFF длинное нажатие ничего не меняет.
      Переключение режима или смена состояния реле происходят при отпускании кнопки.
      Светодиод.
      Индикация режимов светодиодом:
      1 - 1 раз в 2 секунды загорается, если реле не включено. Проблеск света.
            1 раз в 2 секунды гаснет, если реле включено. Проблеск тени.
      2 - 1 раз в секунду загорается, если реле не включено.
            1 раз в секунду гаснет, если реле включено.
      3 - 2 раза в секунду загорается, если реле не включено.
            2 раза в секунду гаснет, если реле включено.
      OFF - загорается раз в 5 секунд. Контроль того, что МК не завис.
      Режимы работы.
      Время работы циклического таймера по режимам:
      1 - 1 час работы / 3 часов отдых. 6/24
      2 - 1 час работы / 2 часа отдых.  8/24
      3 - 1 час работы / 1 часа отдых.  12/24
      Работа.
      При отключении питания, пока не разрядились конденсаторы фильтра, МК отключает все выходы, сохраняет текущие данные в память, ждет 15 сек в таком состоянии и возобновляет работу, если отключение было кратковременным и емкостей фильтра питания хватило.
      Если отключение питания было длительным то, при возобновлении питания, загружает сохраненные данные из памяти и продолжает работу.
      При первом включении, после программирования МК, устройство работает в 1-ом режиме.
      Программа писалась в MPLab X IDE v4.05.
      Прошивка:fan_cycle_timer.hex

      Плата для устройства не разрабатывалась. Все было собрано на макетке.
      В блоке питания использован стандартный трансформатор для монтажа на плату ТПК 2х9V с 2-мя вторичными обмотками на 9В.
      Использовал только одну из них. Вторая - не подключена, в "воздухе"
      Реле - HLS-14F1D-DC12V-C. С обмотка на 12В, и одной группой переключающих контактов на 10А/240VAC.
      Устройство собрано в корпусе щитка для автоматов на 8 модулей. Производитель VIKO.
      Закреплена плата на щиток через резьбовые дистанционные втулки с резьбой М3.
      В качестве вентилятора - вытяжной вентилятор диаметром 125мм ВЕНТС 125С
      Устройство на данный момент отработало в гараже все лето, температура воздуха в тени доходила до 32 градусов.
      Перегревов элементов и зависаний контроллера пока не было.
       
      Несколько фото для общего представления о конструкции.

    • By 2expres
      Окажу услуги по написанию программ для Raspberry PI и прочих одноплатных ПК. Напишу прошивку для микроконтроллеров Microchip 10F, 12F, 16F, 18F. Создание, проектирование схем, разводка печатных плат, подготовка к серийному выпуску Gerber-файлы. 
      Цены на услуги на сайте написание программ для Raspberry PI
×
×
  • Create New...