Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

TTL и CMOS логика Цифровая схемотехника на логических микросхемах. Счетчики, сдвиговые регистры, простая логика...

 
Опции темы
Непрочитано 07.12.2018, 06:23  
j-Roger
Гражданин KAZUS.RU
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 681
Сказал спасибо: 362
Сказали Спасибо 755 раз(а) в 358 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: Как сделать простой переключатель ?

Рабочие прошивки для PIC12F1822, PIC10F222 и ATTINY13A.
Для PIC12F675 и PIC12F509 не проверено в железе - нет под рукой.

- архив switch_hex.zip - прошивки PIC12F1822, PIC12F675, PIC10F222, PIC12F509 и ATTINY13A.
- архив switch_projects.zip - проекты, исходники в каталоге src.

Код без изысков, поэтому просьба не пинать.

Для авр использовалась Atmel Studio 6.2, файл решения - Switch.atsln.
Для пиков использовался MPLABX 3.51 компилятор XC8 1.43, проект в каталоге Switch.X.

Для тини фьюзы такие:
- генератор встроенный 4.8 МГц;
- CKDIV8 - деление тактовой на 8 ;
- сторожевой таймер отключен.
Для тини нужно также прошить ЕЕПРОМ ( файл *.eep ).

На картинке изображены сразу все перечисленные МК.
Все переключатели - на 4 выхода, кроме PIC10F222 - у этого их три.

Нажмите на изображение для увеличения
Название: Switch.png
Просмотров: 0
Размер:	31.4 Кб
ID:	135798
switch_hex.zip
switch_projects.zip

Предполагается мониторинг состояния кнопки в течение 5 секунд с момента включения или
нажатия/отпускания кнопки, затем глубокий сон до очередного нажатия/отпускания - бережём батарейки
Все МК, кроме PIC10F222 и PIC12F509, запоминают состояние выходов.
У PIC10F222 и PIC12F509 всегда при включении активен 1-й выход.

МК потребляют порядка 200..300мкА во время мониторинга кнопки.
МК с фиксированной тактовой частотой потребляют больше.
В режиме сна по-разному:
PIC10F222 и ATTINY13A - меньше 2мкА
PIC12F1822 - 20 мкА

------------------------------------

P.S.
Немного причесал код.

По умолчанию после прошивки выходы 'прямые' - активный 1, остальные в 0.
В файлах board_xxxx.h есть дефайн 'INVERTED_OUTPUTS', по умолчанию отключен.
Если его раскомментировать, то получим версию прошивки с 'инверсными' выходами - активный 0, остальные в 1.

На самом деле (для МК с ЕЕПРОМ-ом) по смещению 2 в ЕЕПРОМ-е хранится 'маска' инверсии.
Значение 0x00 - нет инверсии
Значение 0xFF - инверсные выходы

В каталогах Inverted архива switch_hex.zip лежат версии прошивок с инверсными выходами.

Пока всё.
Реклама:

Последний раз редактировалось j-Roger; 09.12.2018 в 03:15. Причина: Уточнение
j-Roger вне форума  
Сказали "Спасибо" j-Roger
letter (08.12.2018)
Непрочитано 07.12.2018, 14:50  
kirillkt
Гражданин KAZUS.RU
 
Регистрация: 02.03.2008
Адрес: Москва
Сообщений: 906
Сказал спасибо: 219
Сказали Спасибо 582 раз(а) в 283 сообщении(ях)
kirillkt на пути к лучшему
По умолчанию Re: Как сделать простой переключатель ?

Сообщение от letter Посмотреть сообщение
А какие манипуляции надо провести с исходником на ассемблере, чтобы получить файл, готовый к заливке в 12F509 ? Если я правильно понимаю, то конечный файл - hex ? Какой утилитой можно пользоваться для заливки и какой адаптер для этого нужен ?
Что- то Вы глубоко копаете. Вот программатор. А как им пользоваться, хорошо описано на фонарёвке и там же ссылки на всякие там "Пони".
Программы написаны человеческим языком на типа Си. Меняйте что хотите, пишите что хотите.
Миниатюры:
Нажмите на изображение для увеличения
Название: программатор.jpg
Просмотров: 0
Размер:	2.86 Мб
ID:	135805  

Последний раз редактировалось kirillkt; 07.12.2018 в 14:54.
kirillkt вне форума  
Непрочитано 08.12.2018, 19:49  
letter
Вид на жительство
 
Регистрация: 18.08.2008
Сообщений: 314
Сказал спасибо: 49
Сказали Спасибо 8 раз(а) в 7 сообщении(ях)
letter на пути к лучшему
По умолчанию Re: Как сделать простой переключатель ?

2 j-Roger : Спасибо. Это мне теперь грызть надолго хватит На схеме 2 кнопки : какая из них за что отвечает ?

Последний раз редактировалось letter; 08.12.2018 в 19:58.
letter вне форума  
Непрочитано 08.12.2018, 23:02  
j-Roger
Гражданин KAZUS.RU
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 681
Сказал спасибо: 362
Сказали Спасибо 755 раз(а) в 358 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: Как сделать простой переключатель ?

letter, это скорее набросок для эмуляции, нежели схема.
Просто удобно было иметь все МК сразу и тиранить какой-то один, исключив из эмуляции все остальные.
R1, R2 и 'безымянная' кнопка в реале не нужны.
Однако рулит не эмуляция - рулит железо )

Минимально необходимый обвес МК:
- конденсатор порядка 0.22..1мкФ рядом с выводами питания МК;
- кнопка (нормально разомкнутый контакт) - KEY на схеме.

Если МК не находится в непосредственной близости от кнопки, то для помехоустойчивости таки
желательно предусмотреть резистор (R1 на схеме, 4.7-10кОм) и параллельно контактам кнопки
керамику до 0.01мкФ. Оба элемента - рядом с корпусом МК.

Если обстоятельства позволяют Вам сделать выбор в пользу МК, то желательно оределиться
и озвучить его имя - возможно, его (еще) нет в приведенном списке.

А уже потом можно будет посмотреть в сторону программирования (т.е. как залить прошивку).

P.S.
Обновил вложения из поста #131.
Добавлены прошивки с инверсными выходами.

Последний раз редактировалось j-Roger; 09.12.2018 в 03:17.
j-Roger вне форума  
Сказали "Спасибо" j-Roger
letter (25.02.2019)
Непрочитано 03.02.2019, 11:04  
letter
Вид на жительство
 
Регистрация: 18.08.2008
Сообщений: 314
Сказал спасибо: 49
Сказали Спасибо 8 раз(а) в 7 сообщении(ях)
letter на пути к лучшему
По умолчанию Re: Как сделать простой переключатель ?

Наконец-то появилось время вернуться к сабжу.

Цитата:
J-Roger : Предполагается мониторинг состояния кнопки в течение 5 секунд с момента включения или
нажатия/отпускания кнопки, затем глубокий сон до очередного нажатия/отпускания - бережём батарейки
Алгоритм работы потихоньку определяется :
- всё управляется только одной кнопкой
- включение - нерерывным нажатием кнопки в течение 3-х секунд, при этом быстро мигает например зелёный светодиод
- выключение - так-же непрерывным нажатием кнопки в течение 3-х секунд, при этом быстро мигает например красный светодиод
причём при беспорядочном нажатии кнопки МК не должен виснуть или приходить в неопределённое состояние
- переключение между состояниями трёх выходов - однократным нажатием кнопки
- при повторном включении прибора - состояние выходов предыдущего сеанса работы
Если я правильно понимаю, то даже при наличии EEPROM, если аккумулятор садится ниже некоторого уровня, то МК теряет память ?
В таком случае можно пристроить одну маленькую таблеточную батарейку. Только какое минимальное напряжение она должна иметь ?

Потребление во включенном состоянии особой роли не играет, т.к. исполнительные устройства будут есть от аккумулятора десятки а то и сотни мА.
В выключенном состоянии ток потребления меньше 1 мА - уже приемлемо.

Во многих схемах с МК вижу DC/DC конвертеры для притания оных. Это обязательно для всех вышеоговоренных МК ? Питать прибор предполагается от аккумулятора 3,6 вольта и естесственно что при его разрядке напряжение может просесть до 3 В, а то и ниже...

Последний раз редактировалось letter; 03.02.2019 в 11:11.
letter вне форума  
Непрочитано 03.02.2019, 11:52  
alvadep
Почётный гражданин KAZUS.RU
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Как сделать простой переключатель ?

Если "память" хранить в EEPROM или флеш, то она не пропадает без питания.

МК работают и при питании 2В, в данном случае dc/dc не нужен.
alvadep вне форума  
Непрочитано 03.02.2019, 14:02  
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,792
Сказал спасибо: 2,912
Сказали Спасибо 3,120 раз(а) в 2,111 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Как сделать простой переключатель ?

Сообщение от letter Посмотреть сообщение
Если я правильно понимаю, то даже при наличии EEPROM, если аккумулятор садится ниже некоторого уровня, то МК теряет память ?
Нет, информация сохраняется.
Сообщение от letter Посмотреть сообщение
В таком случае можно пристроить одну маленькую таблеточную батарейку. Только какое минимальное напряжение она должна иметь ?
Нетрудно найти микроконтроллеры с мин. напряжением питания на уровне 1.5-1.8-2.0 вольта.

Сообщение от letter Посмотреть сообщение
В выключенном состоянии ток потребления меньше 1 мА - уже приемлемо.
При правильном проектировании - достижимо менее 1 мкА.

Сообщение от letter Посмотреть сообщение
Во многих схемах с МК вижу DC/DC конвертеры для притания оных. Это обязательно для всех вышеоговоренных МК ?
Из пушки по воробьям.

P.S. Неплохо записать в профиль город или название ближайшего радиомагазина, что-бы иметь представление о доступном ассортименте.
__________________
Экзорцист 40-го уровня.
ForcePoint вне форума  
Непрочитано 23.02.2019, 11:57  
letter
Вид на жительство
 
Регистрация: 18.08.2008
Сообщений: 314
Сказал спасибо: 49
Сказали Спасибо 8 раз(а) в 7 сообщении(ях)
letter на пути к лучшему
По умолчанию Re: Как сделать простой переключатель ?

Сообщение от j-Roger Посмотреть сообщение
letterЕсли обстоятельства позволяют Вам сделать выбор в пользу МК, то желательно оределиться и озвучить его, уже потом можно будет посмотреть в сторону программирования.
Набросал схемку в Eagle на PIC12F675. Выбрал именно этот МК поскольку он есть в либах Игла.

Посмотрел в мануале - через какие ноги заливать софт, набросал на схеме, но не уверен, что всё правильно. Не будут ли мешать все эти диоды и резисторы, висящие на тех-же шинах ? Если будут, то как это обойти ?
И какой прогой и каким программатором заливать ? На работе есть MPLAB с адаптером ICD 2 - подойдёт ли он ?
Миниатюры:
Нажмите на изображение для увеличения
Название: PIC12F675_2.jpg
Просмотров: 0
Размер:	53.7 Кб
ID:	139170   Нажмите на изображение для увеличения
Название: Programming.jpg
Просмотров: 0
Размер:	34.3 Кб
ID:	139171  

Последний раз редактировалось letter; 24.02.2019 в 19:53. Причина: коррекция
letter вне форума  
Непрочитано 27.02.2019, 04:37  
j-Roger
Гражданин KAZUS.RU
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 681
Сказал спасибо: 362
Сказали Спасибо 755 раз(а) в 358 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: Как сделать простой переключатель ?

letter, Вам и всем форумчанам - доброго времени суток!

Из поста #135 данной темы имеется следующее умозаключение.
Этот узел предполагается использовать не только как коммутатор входов, но и как выключатель питания внешнего/основного блока.
Т.е. помимо начальных задумок, потребуется индикатор режима работы устройства и сигнал управления питанием внешнего/основного блока.

По выводам МК.
5 выходов, а именно:
- 3 выхода - коммутатор каналов (линии управления + LED'ы на линиях);
- 1 выход - индикатор режима работы устройства (LED на линии);
- 1 выход - сигнал управления питанием внешнего/основного блока.

1 вход - та самая волшебная кнопка управления.

Итого: необходимо 5 выходов и один вход, т.е. 6 сигнальных линий + 2 линии питания = осьминог PIC12F675 или подобный, но не более древний

Если данное умозаключение верно, то предлагается следующая схема, которая имеет пару отличий от Вашей/оригинальной схемы:
- кнопка управления теперь подключена к выводу 4 (вместо вывода 2 микросхемы U1 );
- вывод 2 микросхемы U1 теперь управляет питанием внешнего/основного блока посредством силового ключа (на схеме не показан).

Нажмите на изображение для увеличения
Название: SmartSwitchPic_12F675.png
Просмотров: 0
Размер:	44.6 Кб
ID:	139274

Цепи программирования МК идентичны Вашей схеме (а иначе и не могло быть; так велит даташит). Модуль А1 на схеме - это линии программатора; для перестраховки я предпочитаю иметь резисторы порядка 220..560 Ом между сигнальными линиями программатора и целевым МК (в схеме модуля А1 вместо резисторов показаны 'одинокие' узлы). У меня резисторы установлены вне целевого устройства (на шлейфе от Pickit3 - для ПИКов у меня имеется только он) и поэтому на схеме не фигурируют. Впрочем, и без таковых пока что не спалил ни одного МК.

Модуль А2 на схеме - это индикатор состояния линии, ответственной за питание внешнего/основного блока. Модуль абсолютно не нужен Это скорее для тестовой цели.

И опять-таки, если мои предположения относительно работы устройства верны, то индикатор режима работы LED1 можно задействовать по аналогии с таковым, например, в зомбоящике (телевизоре):
- дежурный режим (агрегат 'включили в розетку'), наш переключатель запитан от дежурного источника, LED светится, внешний/основной блок обесточен, каналы неактивны;
- в дежурном режиме длительное нажатие на кнопку, LED мигает, затем подается питание на внешний/основной блок, включается требуемый канал. LED гаснет - мы перешли в рабочий режим;
- в рабочем режиме длительное нажатие на кнопку, LED мигает, затем снимается питание с внешнего/основного блока, каналы неактивны. LED светится - мы перешли в дежурный режим.

И собственно вопрос: верны ли мои умозаключения?
Уточните/поправьте, pls, если у нас имеются разночтения в работе данного переключателя.
j-Roger вне форума  
Сказали "Спасибо" j-Roger
letter (27.02.2019)
Непрочитано 27.02.2019, 10:35  
letter
Вид на жительство
 
Регистрация: 18.08.2008
Сообщений: 314
Сказал спасибо: 49
Сказали Спасибо 8 раз(а) в 7 сообщении(ях)
letter на пути к лучшему
Радость Re: Как сделать простой переключатель ?

Да, это уже близко к алгоритму задуманного.
Цитата:
узел предполагается использовать не только как коммутатор входов, но и как выключатель питания внешнего/основного блока.
Встречал несколько приборов с минималистичным алгоритмом и индикацией.
Индикацию, на мой взгляд, можно упростить : если прибор помнит предыдущий режим перед выключением, то новый запуск путём нажатия кнопки в течение 2-3-х секунд можно индицировать частым миганием диода, который горел перед выключением. После окончания цикла включения этот-же диод продолжает гореть постоянно.
Короткие одиночные нажатия в рабочем режиме - переключение режимов с индикацией соответствующим светодиодом.
Нажатие кнопки в течение 2-3-х секунд в рабочем режиме - снова мигание "рабочего" диода и его погасание в спящем режиме.
Как я писал - питание прибора предполагается от литиевого аккумулятора 3.7 В. Если МК в спящем режиме потребляет десятки мкА, то делать полное отключение от аккумулятора нет смысла - микросхема основного устройства имеет ногу shutdown и в этом режиме потребляет единицы мкА.
При таком алгоритме нужны только 3 светодиода.
Если они будут разных цветов, то "оператор" будет знать - в каком из 3-х режимов работает прибор.

Ну и прежний вопрос : на работе есть MPLAB с адаптером ICD2 с 4-х пиновым штекером (картинки приложены) - можно ли будет залить им софт ? По кр. мере PIC12F675 у него есть в списке поддерживаемых.

Да - "спасибо" уже нажмал
Миниатюры:
Нажмите на изображение для увеличения
Название: ICD2.jpg
Просмотров: 0
Размер:	11.8 Кб
ID:	139290   Нажмите на изображение для увеличения
Название: ICD2_2.JPG
Просмотров: 0
Размер:	82.4 Кб
ID:	139291  

Последний раз редактировалось letter; 27.02.2019 в 13:38.
letter вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать текущую копию BIOS ART-I Ремонт оргтехники 41 20.02.2018 00:05
Помогите сделать из внешней вай фай антенны nanostation сделать что то типо роутера Александр13 Автоматика и аппаратура связи 34 27.06.2016 00:00
Электронный переключатель topograff007 Электроника - это просто 33 04.11.2014 14:31
Удлинитель для пульта ДУ,как сделать? Zemlyanov Автоматика и аппаратура связи 33 24.12.2012 04:54
Ксенон, из чего сделать цоколь? soladko Источники питания и свет 29 29.04.2009 13:09


Часовой пояс GMT +4, время: 02:59.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot