Alexsey625 Опубликовано 11 июля, 2014 Поделиться Опубликовано 11 июля, 2014 Всем привет. Прошу помощи людей умеющих составлять программы для микроконтроллеров. Суть дела. Увидел у китайцев вот это чудо Cellphone Phone PDA GSM RC Remote Control Socket Power Smart Switch назовём устройством, и решил сделать GSM запуск таймера отопителя(проводок от кнопки таймера выведен), купил PDA GSM RC Remote. Работает следующим образом: при помощи телефона sms командами программируется новый пин код и до 4 тел. номеров пользователей, далее управление (вкл\выкл) осуществляется при дозвоне на номер sim которая в устройстве (проходит гудок и устройство меняет состояние, производит сброс линии, деньги не тратятся), а ещё имеются две кнопки одна из которых - ручное управление нагрузкой. Внутри устройства имеется ибп 220\12 В, далее на плате LM2596t-adj настроена на 3,5 В, от 12 В питается реле коммутирующее нагрузку. Вот тут возникает проблема - устройство триггерное вкл\выкл, а нужен просто импульс при прохождении команды. Переключение состояния происходит не при нажатии кнопки ручного управления, а при её отпускании (не получается сигналом с реле выключить устройство). Немного изменив схему получилось добиться нужного импульса, но хотелось бы обойтись без реле - с помощью микроконтроллера. Что нужно от мк: на входе лог 1, на первом выходе лог 0(или в высоко импедансном состоянии), на втором выходе лог 1(или в высоко импедансном состоянии); на входе лог 0, на первом выходе лог 1 на 0,8сек.(этот выход будет запускать таймер), на втором выходе лог 0 на 0,8сек должен появиться после того как на первом выходе лог 1 сменится лог 0 (этот выход будет использоваться для перевода GSM RC Remote со включенного состояния в выключенное), после перехода лог 0 в лог 1 на втором выходе - на вход придёт лог 1. Желательно мк работающий при питании 3,3 В. Лог 1=+Uпит лог 0=GND. Отопитель это автомобильный автономный предпусковой подогреватель eberspacher или webasto. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 11 июля, 2014 Поделиться Опубликовано 11 июля, 2014 так что вам надо конкретно? я делал такое устройство, буквально неделю назад отправил прототип заказчику тут есть немного информации о самой первой версии (на сайте еще не все выложил - некогда было) http://ugolok-mastera.ru/proekt/gsm-sms_controller/sms_controller.htm Устройство предназначено для управления нагрузкой и контроля температуры на удаленном объекте. Для связи используется канал связи сотового оператора стандарта GSM. Для организации связи используется GSM-модем Siemens-35. Особенностью данного контроллера является использование радио-розеток, которые управляют нужной нагрузкой (нагреватели, вентиляция, освещение и другое). Для управления нагрузкой и получения отчетов о состоянии контроллера и значении температуры используются SMS-команды. Устройство имеет два цифровых датчика температуры типа DS18B20, радиопередатчик для передачи команд радио-розеткам и аккумуляторы, используемые для питания устройства при пропадании основного питания 220 Вольт. На передней панели расположены индикаторы, на которых отображаются режимы работы контроллера. В процессе работы все действия пользователя подтверждаются соответствующими индикаторами и звуковыми сигналами. В задней части устройства имеется кнопка, с помощью которой можно управлять нагрузкой, а так же входить в меню настройки. Длительное нажатие – более 7 секунд — настройка контроллера, короткое — местное управление нагрузкой. При нажатии на кнопку прозвучит звуковой сигнал, подтверждающий факт нажатия. При коротком нажатии, если нагрузка была отключена, то по радио будет отправлена команда включения радио-розеток, если была включена — на отключение. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
Alexsey625 Опубликовано 11 июля, 2014 Автор Поделиться Опубликовано 11 июля, 2014 так что вам надо конкретно? Устройство уже куплено, нужно всего то адаптировать его под мои задачи, а именно: выдавать короткий импульс на запуск штатного таймера (устройство триггерное вкл\выкл). Логику работы нужного микроконтроллера я описал. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Особенности хранения литиевых аккумуляторов и батареекПотеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
Гость Опубликовано 11 июля, 2014 Поделиться Опубликовано 11 июля, 2014 какие микроконтроллеры есть под рукой? или вам надо готовый прошитый контроллер? attiny13a подойдёт? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
Alexsey625 Опубликовано 11 июля, 2014 Автор Поделиться Опубликовано 11 июля, 2014 Прошить смогу сам (только hex), из мелочи имею attyny13a, pi10f202, pic12f629, pic12f675 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 11 июля, 2014 Поделиться Опубликовано 11 июля, 2014 attyny13a - могу сделать под этот МК если не поленюсь - в обед пришлю ) 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alexsey625 Опубликовано 11 июля, 2014 Автор Поделиться Опубликовано 11 июля, 2014 Не тороплю. Заранее благодарю! 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 13 июля, 2014 Поделиться Опубликовано 13 июля, 2014 (изменено) уточните: на входе лог 1: на первом выходе лог 0(или в высокоимпедансном состоянии), на втором выходе лог 1(или в высокоимпедансном состоянии); на входе лог 0,: на первом выходе лог 1 пауза 0,8сек. на втором выходе лог 0 на 0,8сек после перехода лог 0 в лог 1 на втором выходе - на вход придёт лог 1 это не понял! куда это относится? Изменено 13 июля, 2014 пользователем Гость 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alexsey625 Опубликовано 13 июля, 2014 Автор Поделиться Опубликовано 13 июля, 2014 на входе лог 1: на первом выходе лог 0(или в высокоимпедансном состоянии), на втором выходе лог 1(или в высокоимпедансном состоянии); на входе лог 0,: на первом выходе лог 1 на 0,8сек. пауза на 0,8сек на втором выходе лог 0 на 0,8сек после перехода лог 0 в лог 1 на втором выходе - на вход придёт лог 1 Это значит, что устройство переключится с вкл в выкл состояния и на вход контроллера придёт лог 1, а почему после перехода лог 0 в лог 1(или высокоимпедансное состояние, что даже лучше) потому, что на устройстве имеется кнопка ручного управления нагрузкой и переключение из одного состояния в другое (вкл\выкл) происходит при отпускании кнопки, и второй выход контроллера будет подключен к выводу кнопки. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 13 июля, 2014 Поделиться Опубликовано 13 июля, 2014 ничего не понял! пишите задание: вход = 1 => делаем то и то, для каждого выхода вход = 0 => делаем то и то, для каждого выхода 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alexsey625 Опубликовано 13 июля, 2014 Автор Поделиться Опубликовано 13 июля, 2014 начало вход = 1 =>выход № 1 = высокоимпедансное состояние; выход № 2 = высокоимпедансное состояние вход = 0 =>выход № 1 = 1 на время 0,8сек пауза 0,8сек выход № 2 = 0 на время 0,8сек в начало 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 13 июля, 2014 Поделиться Опубликовано 13 июля, 2014 (изменено) стоп а неверно составлен алгоритм в начале надо ждать перехода с 0 в 1? (изменения входа?) а то при нуле на входе будет постоянно выполняться: начало выход № 1 = 1 на время 0,8сек пауза 0,8сек выход № 2 = 0 на время 0,8сек в начало Изменено 13 июля, 2014 пользователем Гость 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alexsey625 Опубликовано 13 июля, 2014 Автор Поделиться Опубликовано 13 июля, 2014 в начале надо ждать перехода с 0 в 1? (изменения входа?) При включении, одновременно на вход контроллера через резистор с +Uпит контроллера придёт лог1 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 14 июля, 2014 Поделиться Опубликовано 14 июля, 2014 (изменено) начало вход=1 выход № 1 = высокоимпедансное состояние выход № 2 = высокоимпедансное состояние вход=0 выход № 1 = 1 пауза 0,8сек выход № 2 = 0 пауза 0,8сек в начало $regfile = "attiny13a.dat" ' Компилятор BASCOM $crystal = 1200000 $hwstack = 16 $swstack = 16 $framesize = 16 Config Portb = Input In_signal Alias Pinb.3 ' Вход Out_1 Alias Portb.2 ' Выход А Out_2 Alias Portb.1 ' Выход Б Start_prg: If In_signal = 1 Then Out_1 = 0 ' высокоимпедансное состояние Out_2 = 0 ' высокоимпедансное состояние Config Out_1 = Input ' высокоимпедансное состояние Config Out_2 = Input ' высокоимпедансное состояние Else Config Out_1 = Output Config Out_2 = Output Out_1 = 1 : Waitms 800 Out_2 = 0 : Waitms 800 Out_1 = 0 ' Надо обнулять? Out_2 = 0 ' Надо обнулять? Config Out_1 = Input ' высокоимпедансное состояние Config Out_2 = Input ' высокоимпедансное состояние End If Goto Start_prg Скачатьprg_1.bin Скачатьprg_1.hex Изменено 14 июля, 2014 пользователем Гость 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alexsey625 Опубликовано 14 июля, 2014 Автор Поделиться Опубликовано 14 июля, 2014 Здравствуйте никак не могу скачать файлы с файлообменника, зарегистрировался, но пишет неверный логин или пароль пробовал востанавливать и менять не помогает. Если не затруднит скиньте в почту Alexsey625@yandex.ru. Спасибо! 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
NebsteR Опубликовано 14 июля, 2014 Поделиться Опубликовано 14 июля, 2014 Там не надо регистрироваться, и так скачивает без проблем... 0 > Правила форума < ...из древних времен доходят до нас слухи о колдунах и волшебниках... - кто бы мог подумать, что так может начинаться дипломная работа по радиотехнике... ...это не дым от канифоли, нет... это души умерших транзисторов.... Первый закон Ома: никому не рассказывать про Ома! Ну вот, а ты говорил ноль... Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 14 июля, 2014 Поделиться Опубликовано 14 июля, 2014 отправил архив на указанный ящик 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alexsey625 Опубликовано 14 июля, 2014 Автор Поделиться Опубликовано 14 июля, 2014 Всё получил спасибо. Ещё вопрос вход=PB3; выход 1=PB2; выход 2=PB1 верно? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 14 июля, 2014 Поделиться Опубликовано 14 июля, 2014 да, именно так 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alexsey625 Опубликовано 14 июля, 2014 Автор Поделиться Опубликовано 14 июля, 2014 (изменено) Собрал, вход подтянут резистором на +Uпит, на выходе 1 светодиод анодом к контроллеру катод на минусе, на выходе 2 светодиод катодом к контроллеру анодом к +Uпит. Подаю питание ничего не моргает и не светится (очень хорошо так и должно быть) подаю минус на вход загораются оба светодиода, убираю минус со входа оба светодиода гаснут одновременно с выдержкой 0,8сек. А нужно чтоб при поданном минусе на вход; на выходе 1=1 на 0,8сек , пауза 0,8сек, выход 2=0 на 0,8сек. Fuse по умолчанию (не менял). Изменено 14 июля, 2014 пользователем Alexsey625 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 14 июля, 2014 Поделиться Опубликовано 14 июля, 2014 всё соответствует вашему алгоритму код - выше единственно не понятно, а то должно быть при нуле на входе в конце как я понимаю, сейчас вам надо так: начало вход=0 выход № 2 = высокоимпедансное состояние выход № 1 = 1 пауза 0,8сек выход № 2 = 0 пауза 0,8сек выход № 1 = высокоимпедансное состояние выход № 2 = высокоимпедансное состояние в начало $regfile = "attiny13a.dat" $crystal = 1200000 $hwstack = 16 $swstack = 16 $framesize = 16 Config Portb = Input In_signal Alias Pinb.3 ' Вход Out_1 Alias Portb.2 ' Выход А Out_2 Alias Portb.1 ' Выход Б Start_prg: If In_signal = 1 Then Out_1 = 0 ' высокоимпедансное состояние Out_2 = 0 ' высокоимпедансное состояние Config Out_1 = Input ' высокоимпедансное состояние Config Out_2 = Input ' высокоимпедансное состояние Else Config Out_1 = Output Config Out_2 = Input ' высокоимпедансное состояние Out_1 = 1 : Waitms 800 Config Out_2 = Output Out_2 = 0 : Waitms 800 Out_1 = 0 Config Out_1 = Input ' высокоимпедансное состояние Config Out_2 = Input ' высокоимпедансное состояние End If Goto Start_prg http://www.webfile.ru/ac3af0e63445876efc24d1e3cccf3325 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alexsey625 Опубликовано 14 июля, 2014 Автор Поделиться Опубликовано 14 июля, 2014 Я уже не знаю как объяснить, но попробую снова. Вход всегда подтянут резистором к +Uпит. Подаю питание соотв на входе 1 . Оба выхода в высокоимпедансном состоянии. На вход пришёл 0 и сидит ; на первом выходе должна появиться 1 на 0,8сек, через 0,8сек снова высокоимпедансное состояние, а на входе 0 никуда не пропадал; на втором выходе всё это время было высокоимпедансное состояние и изменится в 0 на 0,8сек только после того как на первом выходе 1 сменится высокоимпедансным состоянием (наверно по программистки это пауза). После того как на втором выходе 0 сменится высокоимпедансным состоянием устройство переключится и на входе контроллера установится 1. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 14 июля, 2014 Поделиться Опубликовано 14 июля, 2014 (изменено) я уже отправил новое, проверьте почту $regfile = "attiny13a.dat" $crystal = 1200000 $hwstack = 16 $swstack = 16 $framesize = 16 Config Portb = Input In_signal Alias Pinb.3 ' Вход Out_1 Alias Portb.2 ' Выход А Out_2 Alias Portb.1 ' Выход Б Start_prg: If In_signal = 1 Then Out_1 = 0 ' высокоимпедансное состояние Out_2 = 0 ' высокоимпедансное состояние Config Out_1 = Input ' высокоимпедансное состояние Config Out_2 = Input ' высокоимпедансное состояние Else ' На Вход Пришёл 0 И Сидит ; Config Out_2 = Input ' на втором выходе всё это время было высокоимпедансное состояние Config Out_1 = Output Out_1 = 1 : Waitms 800 ' на первом выходе должна появиться 1 на 0.8сек, Out_1 = 0 : Config Out_1 = Input ' снова высокоимпедансное состояние, Config Out_2 = Output ' только после того как на первом выходе 1 сменится высокоимпедансным состоянием Out_2 = 0 : Waitms 800 ' на втором выходе 0 на 0.8сек Config Out_2 = Input ' высокоимпедансное состояние End If Goto Start_prg Изменено 14 июля, 2014 пользователем Гость 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alexsey625 Опубликовано 14 июля, 2014 Автор Поделиться Опубликовано 14 июля, 2014 С новой прошивкой светодиод на первом выходе не светится ни при каких состояниях входа, а на втором выходе напротив горит постоянно. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 14 июля, 2014 Поделиться Опубликовано 14 июля, 2014 примите почту 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.