• Объявления

    • admin

      Просьба всем принять участие!   24.11.2017

      На форуме разыгрывается спектроанализатор Arinst SSA-TG LC (цена 18500 руб). Просьба всем перейти по ссылке ниже и принять участие!

metallic

Members
  • Публикации

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

  • Посещение

Репутация

3 Обычный

О metallic

  • Звание
    Осваивающийся

Информация

  • Город
    Воронеж

Электроника

  • Стаж в электронике
    Не связан с электроникой
  1. Трансформатор Тока

    Всем спасибо, кто отписался. Более-мение понял о чем речь. Пришло время вернуться к этой теме, мой объект, где я собирался мониторить нагрузку, достаривается. Итак. Из прочитаного здесь и на других ресурсах понял, что проще всего мне замкнуть внешнюю обмотку ТТ резистором малого сопротивления, т.е. от 0.125 до 1 Ома, таким образом получу переменное напряжение на клемах ТТ, которое можно выпрямить, а потом с помощью АЦП перегнать это значение в цифру и передать по линии I2C на rasberry pi(а тут уже программным алгоритмом переводить получениые значения в ток), все верно?
  2. Трансформатор Тока

    А какое сопротивление в цепь включить?
  3. Трансформатор Тока

    У вас ЧСВ зашкаливает? Если не хотите помочь, пройдите мимо.
  4. Трансформатор Тока

    Вообще насколько я знаю, 250А - это его максимальный ток, дальше обмотке уже станет плоховато. Ну собственно это мне и надо, мониторить нагрузку в щитке (показания с этого датчика будет снимать компьютер) Т.е. на клемах выходной обмотки все же будет наряжение переменное и мерить надо именно его? Т.е. сейчас я знаю напряжение на выходе(3.5В), теперь надо узнать сопротивление амперметра и исходя из этих данных по закону ома вычислю силу тока? Потом эту силу тока умножу на 50(коэф. трансформации данного датчика) и соотвественно получу силу тока в измеряемой цепи?
  5. Трансформатор Тока

    Ну по идее да, так и должно быть, как я понимаю, но что-то не так. Пробую с нагрузкой 10А, по идее на клемах должно быть 200мА, но там по нолям. Или я не так меряю? Зато там есть 3.5В переменного напряжения
  6. Трансформатор Тока

    Имеется трансформатор тока(см. фото) Через него пропущен провод с нагрузкой. Соответственно вопрос, на его клемах что должно быть? Напряжение или ток? Как это померить? Пробовал к клемам подключаться мультиметром, мерил постоянное напряжение, переменное, ток. Показывает только переменное наряжение 3-4В. Насколько я понимаю там должен быть ток. Как его правильно мерить? Просто подключить амперметр? Или надо как-то через нагрузку? Конечная задача - узнать нагрузку в амперах на проводнике.
  7. FAQ Raspberry Pi - Миникомпьютер с Linux за 25$/35$

    Уберите картинку или поправьте. Еще в мануале ни слова про загрузку модулей w1-gpio и w1-therm, без них в bus датчики не появляются
  8. FAQ Raspberry Pi - Миникомпьютер с Linux за 25$/35$

    Разобрался, так и есть. Поправьте, а то ведь можно спалить же датчик? Или еще того хуже разбери.
  9. FAQ Raspberry Pi - Миникомпьютер с Linux за 25$/35$

    В этом посте http://forum.cxem.net/index.php?showtopic=114312entry1361054 рассказывается как подключить датчик DS18B20 Написано: Также есть картинка с описанием пинов датчика: Левый пин - земля, правый - плюс. НО. На картике в посте, левый(по идее земля), почему-то подключен к +3.3В и замкнут на средний пин через резистор, где ошибка?
  10. Raspberry Pi, Несколько Теоретических Вопросов.

    А как с аналоговыми портами быть? С помощью внешнего АЦП можно сделать?
  11. Пытался я освоить микроконтроллерную технику(microchip) для того, чтобы в работе использовать автоматизацию некоторых задач. В частности удаленное управление внешней средой по ethernet или gsm. И в принципе, добился некоторых результатов. Но до скрещиванию микроконтроллеров с GSM и сеткой так и не дошел. Сложностей много: - сложный(вернее примитивный, поэтому в более-мение объемных задачах сложный) язык программирования - крайне низкие аппаратные мощности, в связи с чем очень ограниченные возможности - нужно хорошо знать архитектуру МК, элекронику, интерфейсы и т.д. А тут на днях узнал, что у Raspberry Pi, почти как у обычного контроллера есть низкоуровневый интерфейс для взаимодействия с внешним миром. Т.е. 26 пинов, из которых, как я понял, 8 цифровых портов общего назначения. При этом на борту мы имеем достаточные аппаратные мощности, чтобы крутить полноценный линукс, а соответственно открываются практически безграничные возможности. У него есть UART, SPI, I²C/TWI, но нет аналоговых портов? Соответственно вопрос, можно ли как-то на Raspberry Pi мерить температуру окружающей среды? Например датчиком ds18s20 ? Можно ли сделать вольтметр/амперметр? Вроде как существуют внешние АСП? Например MCP3008 Можно ли подключить LCD-дисплей? Можно ли подключить какой-либо GSM модуль, например http://amperka.ru/collection/boards/product/arduino-gprs-shield Вообще насколько возможности порта Raspberry сопоставимы с возможностями andruino ?
  12. Неправильно Работает Программа

    Ну это понятно. У 8-ми битных 8-ми уровневый стек, если не ошибаюсь. Но если учитывать этот момент, больше никаких подводных камней?
  13. Неправильно Работает Программа

    Вот блин Столько времени убить из-за невнимательности ) П.С. на соседнем форуме мне тут говорят, что не стоит использовать подпрограммы в прерываниях (именно в пиках), а лучше использовать метки и goto, это правда? И с чем это связано?
  14. Пробую обрабатывать на контроллере прирывания по таймеру и по порту B (interrupt on change). Суть проблемы в том, что почему-то нажатие на одной из кнопки обрабатывается не корректно. При генерации прерывания на порту RB5 должен меняться уровень порта RA1, но вместе с этим два раза меняется уровень порта RA0, хотя не должен. Код программы ниже. Скриншот схемы в приложении. Сам проект в MPLAB X и ISIS в архиве в приложении, в нем же видео демонстрирующее проблему. Суть программы в том, что таймер настроен на 1мс (1024мкс) и прерывание обработки таймера дикриментирует переменную COUNTER и если она равна 0, меняет уровень светодиода на порту RA3, таким образом он моргает примерно раз в четверть секунды. Уровни светодиодов RA0 и RA1 меняются только по нажатию на кнопки. list p=16f84a #include "P16F84A.INC" __config _CP_OFF & _PWRTE_OFF & _WDT_OFF & _HS_OSC _work equ h'4E' _status equ h'4F' COUNTER equ h'0C' ; Счетчик ; Вектор сброса контроллера ---------------------------------------------------- org 000 ; При старте контроллера (адрес программы 000) goto MAIN ; перейти к метке MAIN ; Вектор прерывания ------------------------------------------------------------ org 004 ; При возникновении прерывания (переход к адресу 004) goto IRQ_PROCESS ; перейти к метке IRQ_PROCESS ; Фоновая программа начинается с инициализации --------------------------------- MAIN bsf INTCON, GIE ; Разрешаем прерывания bsf INTCON, RBIE ; Разрешаем прерывания на портах RB7:RB4 bsf STATUS, RP0 ; Выбираем первый банк памяти bcf OPTION_REG, T0CS ; Включаем timer0 в режим таймера, а не счетчика bcf OPTION_REG, PSA ; Связываем предделитель с таймером bcf OPTION_REG, PS2 ; Конфигурируем предделитель в соответствии bcf OPTION_REG, PS1 ; с даташитом в 1:4 bsf OPTION_REG, PS0 ; (Биты PS2:PS0 установлены в 001) movlw b'00000000' ; Конфигурируем все пины порта А movwf TRISA ; как выходы movlw b'00110000' ; Порты RB5:RB4 как входы movwf TRISB bcf STATUS, RP0 ; Возвращаемся к нулевому банку памяти bsf INTCON, T0IE ; Включаем прерывание по таймеру movlw b'00000' ; Выставляем низкий уровень на всех movwf PORTA ; пинах порта А ; Бесконечный пустой цикл M_LOOP nop ; Ничего не делаем goto M_LOOP IRQ_PROCESS ; Сохраняем контекст movwf _work ; Сохраняем рабочий регистр в памяти данных swapf STATUS, w ; Считываем регистр STATUS в рабочий регистр не меняя флагов movwf _status ; И сохраняем его из рабочего регистра в память данных btfsc INTCON, T0IF ; Если прерывание по таймеру call IRQ_TMR0 ; вызываем обработчик таймера btfsc INTCON, RBIF ; Если прерывание по порту B call IRQ_RB ; вызываем обработчик порта B ; Чтобы сбросить бит RBIF обязательно надо вначале прочитать порт B ; Сбрасывать прерывание на порту B надо всегда, оно постоянно почему-то срабатывает movf PORTB, w ; Сбрасываем флаг внешнего прерывания, чтобы bcf INTCON, RBIF ; не получился бесконечный цикл ; Восстанавливаем контекст swapf _status, w ; Сначала восстанавливаем movwf STATUS ; регистр STATUS swapf _work, f ; Затем рабочий регистр swapf _work, w ; не воздействуя на флаги регистра STATUS retfie ; И возврат из прерывания в программу IRQ_TMR0 decf COUNTER btfsc STATUS, Z call COUNT_OVER bcf INTCON, T0IF return COUNT_OVER movf PORTA, w ; Считываем порт А в рабочий регистр xorlw b'01000' ; и по маске изменяем нужный пин movwf PORTA ; Записываем изменения в порт А movlw h'FF' ; Инициализируем счетчик movwf COUNTER return IRQ_RB ; В зависимости от порта, на котором возникло прерывания, вызываем ; соответствующую подпрограмму (проверяем по низкому уровню, т.е. нажатие кнопки) btfss PORTB, RB4 call IRQ_RB4 btfss PORTB, RB5 call IRQ_RB5 IRQ_RB4 movf PORTA, w ; Считываем порт А в рабочий регистр xorlw b'00001' ; и по маске изменяем нужный пин movwf PORTA ; Записываем изменения в порт А return IRQ_RB5 movf PORTA, w xorlw b'00010' movwf PORTA return end pic.rar
  15. Не Запускается Pic16F84A

    Пересоздал проект и заработало и в симуляторе и на макетной плате, где-то косяк был с мплабХ %)