Перейти к содержанию
    

Banks

Участник
  • Постов

    22
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Banks

  • Звание
    Участник
    Участник

Посетители профиля

771 просмотр профиля
  1. Я уже подумал использовать другой подход. И ваша идея мне подходит. Уже нашел как микроконтроллер у себя может питание отключить: http://electronix.ru/forum/index.php?showt...=56349&st=0 Спасибо!
  2. Или может использовать TL-431? Есть у кого-нибудь проверенная схема с гистерезисом для li-pol аккумулятора?
  3. Народ, нужен супервизор, для предотвращения глубокого разряда li-pol аккумулятора, к примеру чтобы генерировал сброс при напряжении аккумулятора 3V, а отпускал сброс например когда напряжение аккумулятора стало выше 3.4 вольта(ну или чтобы можно было настроить этот порог выключения сброса, так как я еще не знаю до какого уровня поднимется напряжение на аккумуляторе, когда от него отключится нагрузка, не хочу чтобы начиналась "светомузыка" когда аккумулятор разряжен). Есть ли такие доступные супервизоры ценой меньше 100р? Чтобы можно было у китайцев купить к примеру.
  4. Здравствуйте, Написал небольшую тестовую программку для ARM9. На нем крутится linux. Программа должна в последовательный порт писать одно число 0x0A(LF). Вместо этого я осциллографом вижу что передаются вместо 0x0A - два символа в следующей последовательности 0x0D(CR) затем 0x0A(LF). Как написать программу чтобы компилятор понял что я хочу только передать 0x0A? Если например передавать 0x0B, то осциллографом видно что только 0x0B и передается. Код программы: #include <stdio.h> /* Стандартные объявления ввода/вывода */ #include <string.h> /* Объявления строковых функций */ #include <unistd.h> /* Объявления стандартных функций UNIX */ #include <fcntl.h> /* Объявления управления файлами */ #include <errno.h> /* Объявления кодов ошибок */ #include <termios.h> /* Объявления управления POSIX-терминалом */ #include <sys/types.h> #include <sys/stat.h> int main(int argc,char **argv) { int fd; fd = open("/dev/ttyS3", O_RDWR | O_NOCTTY |O_NONBLOCK); if (fd == -1) { printf("Error: Port has not been opened"); } else { struct termios options; /*структура для установки порта*/ tcgetattr(fd, &options); /*читает параметры порта*/ cfsetispeed(&options, B38400); /*установка скорости порта*/ cfsetospeed(&options, B38400); /*установка скорости порта*/ options.c_cflag &= ~PARENB; /*выкл проверка четности*/ options.c_cflag |= CSTOPB; /*вкл 2-х стобит*/ options.c_cflag &= ~CSIZE; /*выкл битовой маски*/ options.c_cflag |= CS8; /*вкл 8бит*/ tcsetattr(fd, TCSANOW, &options); /*сохранения параметров порта*/ } unsigned char ModBus_write_buf[1]; ModBus_write_buf[0] = 0x0A; /*ID*/ int ModBus_write_result; int ModBus_request; for (ModBus_request = 0; ModBus_request < 1; ModBus_request++) { ModBus_write_result = write(fd, &ModBus_write_buf, 1); if (ModBus_write_result < 0) { fputs("Write of bytes failed!\n", stderr); } else { printf("ModBus_write_result = %d \n",ModBus_write_result) ; } } close(fd); return(0); }
  5. Народ, а я правильно понимаю что на выходе этих токоизмерительных клещей Mastech MS3302(если мерять ток в цепи 50Гц) будет синусоидальная форма напряжения с частотой 50Гц? Хочу выход этих клещей подсоединить к АЦП микроконтроллера, чтобы мерять амплитуду тока в цепях 50 Гц. Ссылка на описание клещей: http://www.mastech.ru/catalog/clamp/ms3302.html Полный datasheet: http://www.p-mastech.com/product/download/manual/392
  6. Все там нормально считается, посмотрите еще раз программу. Буду заменять адаптеры чем-нибудь и смотреть что получится. Спасибо всем за ответы ;)
  7. Просили выложить зарядные устройства: 1. Используемое для питания: 2. Используемое для определения фазы: 3. Осциллограммы при появлении фазы Голубой график - это напряжение на ноге сброса. Красный - напряжение на ноге PA0. Все четко. Один фиг сбрасывается контроллер. А не может быть что WDT сбрасывает? Что может сбросить контроллер вобще?
  8. 3.На мою схему идут выходы 2-х зарядных устройств, у одного зарядного устройства фаза никогда не пропадает, он является питанием для моей схемы. У другого фаза периодически пропадает, выход(+) его идет на PA0, минус на общий. 1.Какие адаптеры импульсные или трансформаторные не могу сказать, завтра сфоткаю, но они оригинальные зарядные устройства для мобил. 2.Напряжение на выходе обоих адаптеров смотрел, было 4.5в-5.5в. 4.Второй зарядник(выход которого идет на PA0) тупо включается в сетевой фильтр, фаза пропадает за счет выключения кнопки на сетевом фильтре. 5.Принципиально PA1 на вывод лог.0? он вобще в программе не используется...
  9. Здравствуйте. Такая проблема. Есть очень простая схема счетчика появления фазы в сети 220В. Схему прикрепил. На PA0 подается напряжение с 5-ти вольтового адаптера от мобилы(с помощью этого адаптера определяется появилась ли фаза). Питает микроконтроллер другой адаптер от мобилы, на этот адаптер постоянно напряжение подается 220В. PA1 - висит в воздухе. Выводы PB0-PB7 и PD0-PD6 зажигают светодиоды, отображают счетчик появления фазы в двоичном виде. Все бы хорошо, но почему-то иногда при очередном появлении фазы, счетчик например должен показать "5", а вместо этого микроконтроллер похоже сбрасывается, и счетчик показывает "1". Редко это случается, ловил такую ситуацию только вначале, где то после того как микроконтроллер проработал минуту, но возможно и потом сбрасывается, не знаю точно. Код для мк тоже приведу, я в этой области любитель, поэтому код возможно покажется уродским .device ATtiny2313A .include "tn2313Adef.inc" .def SlopReg=R16 .def mask=R17 ;clock = 1 MHz ;======================================================================= Start: rjmp Init; Init: ldi SlopReg,0b00000000; out DDRA,SlopReg; ldi SlopReg,0b11111111; out DDRB,SlopReg ldi SlopReg,0b01111111; out DDRD,SlopReg; ldi SlopReg,0b11111110; out PortA,SlopReg ; ldi SlopReg,0b00000000; Led0 - Led7 out PortB,SlopReg ldi SlopReg,0b10000000; Led8 - Led14 out PortD,SlopReg ; Begin: ldi mask,0b00000001; маска для работы ldi Yh,0x00 ; счетчик ldi Yl,0x00 ; Ищем состояние 0 State0: in SlopReg,PinA and SlopReg,mask brne State0 ; Задержка ldi Xh,0x7f ldi Xl,0xff Delay1: sbiw Xh:Xl,1 brne delay1 ; Еще раз проверяем нолик ли, если нет то все сначало State1: in SlopReg,PinA and SlopReg,mask brne State0 ; Ищем состояние 1 State2: in SlopReg,PinA and SlopReg,mask breq State2 ; Задержка ldi Xh,0x7f ldi Xl,0xff Delay2: sbiw Xh:Xl,1 brne delay2 ; Еще раз проверяем единичка ли, если нет то все сначало State3: in SlopReg,PinA and SlopReg,mask breq State0 adiw Yh:Yl,1 ;Вывод результата out PortB,Yl ldi SlopReg,0b10000000 or SlopReg,Yh out PortD,SlopReg;out Led8 - Led14 rjmp State0 End: ;====================================================================== В чем может быть проблема?
  10. Всем спасибо за ответы, скорее всего новый брелок куплю ;)
  11. Провел эксперимент. Из дома из окна сейчас открывал и закрывал с брелка авто. Все ок, и закрывается и открывается. Затем положил ненадолго брелок в морозилку. Вытащил из морозилки и опять из окна стал экспериментировать. Закрываться стала через раз, а открываться - вобще не открывается с брелка.
  12. Неа, не слышен и не виден. Т.е. светодиод на брелке маргает при нажатии, но авто никак не реагирует.
  13. На морозе вероятность закрыть двери брелком больше вероятности их открыть брелком. Не похоже что замок замерзает, ключом легко открывается. Фигня в электронике скорее всего.
×
×
  • Создать...