Jump to content

TechMike

Members
  • Content Count

    15
  • Joined

  • Last visited

Community Reputation

1 Обычный

About TechMike

  • Rank
    Новенький

Информация

  • Город
    МО

Электроника

  • Стаж в электронике
    6-10 лет
  • Сфера радиоэлектроники
    радио
  • Оборудование
    много разного
  1. Доброго дня. Успевает ли mega328P на 16мгц опросить все 16 датчиков тока за период и вычислить действующее значение тока? Считается ли мощность действующая или только ток?
  2. Может выключить автоподтверждение для канала управления и пинговать приемник периодически на отдельном канале с автоподтверждением?
  3. Вот именно по этому я и перешел на Eclipse и вам советую. Вопрос в целом: успевают NRF нормально откликаться на команды, нет замираний или лагов в управлении моделью? Хоть не большая но в милисекунды задержка в обменен есть, даже если всего 8 байт гонять в одну сторону.
  4. Я бы не писал, если бы скомпилилось, ни в одном из файлов нет NRF_PIN, как исправить ошибки я знаю. WinAVR - 20100110 proteus 8.3 sp2 19906 Скачал специально архив из статьи по ссылке: http://cxem.net/uprav/files/uprav92_Radioupravlenie_-Peredatchik.rar Распаковал, создал проект (Eclips) компилю... опять ошибка та же: ../main.c: In function 'main': ../main.c:202: error: 'NRF_PIN' undeclared (first use in this function) Исправил, компилю, еще ошибки: ./main.o: In function `init': C:\avrproject\nrf_sender\Debug/../main.c:160: undefined reference to `graph_init' ./main.o: In function `actions_switch': C:\avrproject\nrf_sender\Debug/../main.c:118: undefined reference to `battery_model' C:\avrproject\nrf_sender\Debug/../main.c:123: undefined reference to `battery_control' ./main.o: In function `main': C:\avrproject\nrf_sender\Debug/../main.c:208: undefined reference to `button_show' C:\avrproject\nrf_sender\Debug/../main.c:214: undefined reference to `graph_init' C:\avrproject\nrf_sender\Debug/../main.c:220: undefined reference to `graph_warning'
  5. 2. он подключен: #include "LPH8731-3C.h" #include "Graph.h" #include "bits_macros.h" #include "nrf24.h" #include "bits_macros.h" Возможно вместо NRF_PIN нужно написать NRF_PORT ? =)
  6. Модель NRF24L01 в proteus рабочая или просто spi устройство ничего не делающее, будет приемник и передатчик данными обмениваться в протеусе? Ошибка при компиляции: ../main.c:202: error: 'NRF_PIN' undeclared (first use in this function)
  7. Заинтересовало... В модели proteus не хватает модели экрана и нужно в архив положить скомпилированую прошивку, чтобы можно было запустить модель устройства. Ошибка из proteus 8.1: External model DLL "A65_Siemens.DLL" not found. GLE=0x0000007E.
  8. Из поделок кулибиных такого не бывает? По сути это простейщих web-сервис на томже arduino отправляющий команды по RS-485.
  9. Доброго дня. Имеется видеорегистратор RVI-04la в нем нет тревожных входов и RS-485 для управления PTZ камерами. Хочется без замены видеорегистратора найти устройство, которое бы подключалось в Ethernet (роутер) и в отдельном интерфейсе можно было управлять повороткой у нескольких камер. Камеру планирую взять китайскую для установки в коридоре, чтобы не стаивть две штуки, а крутить ими при необходимости: http://www.aliexpres...1140553334.html Что посоветуете и как это может называться? P.S. Управление повороткой с пульта не предлагать, это offline устройство: http://www.aliexpres...1055147739.html
  10. Как "разблокировать", зависит от того, какие fuse ты поставил. От наводок врядли МК запуститься и будет работать, может у тебя просто кварц не стартует, попробуй от него на землю кондеры поставить по 22пф или около того.
  11. Есть работающий пример на avr studio+winavr, на ассемблере не пишу. SIGNAL(SIG_ADC){ //ловим окончание преобразования АЦП ADCresult=1; } //настраиваем АЦП DDRA=0x00;//весь PORTA делаем входом PORTA=0x00;//no Pull-up ADMUX|=(0<<MUX2)|(0<<MUX1)|(0<<MUX0)|(0<<REFS0)|(0<<REFS1); //select ADC0 and AREF, Internal Vref turned off SFIOR|=(1<<ACME);//enable multiplexer ACSR|= (0<<ACD)| //Comparator ON //(1<<ACBG)| //Connect 1.23V reference to AIN0 (1<<ACIE)| //Comparator Interrupt enable (0<<ACIC)| //input capture disabled (0<<ACIS1)| //set interrupt on output toggle (0<<ACIS0); ADCSRA|=(1<<ADEN);//make sure ADC is ON ADCSRA|=(1<<ADIE);//ADC Interrupt Flag ON ADCSRA|=(1<<ADSC);//start ADC each conversion sei(); //разрешаем прерывания глобально
  12. Доброго времени суток. Не получается считать температуры на VB6 с более чем одного датчика ds18b20. Использую команду 55H но датчики возвращают температуру только одного из них, т.е. температура одного из дачиков отображается на обоих. Делал все по даташиту, подключен датчик паразитным питанием: dmmy = TMTouchReset(MyHandle) 'сбрасываем шину If TMAccess(MyHandle, state_buffer(0)) <> 1 Then GoTo point1 'exit function dmmy = TMTouchByte(MyHandle, &H55) 'даем команду для выбора датчика по его уникальному номеру For i = 0 To 8 dmmy = TMTouchByte(MyHandle, ROMid(g).ROMOrig(i)) 'передаем в шину уникальный номер датчика, с которым хотим работать Next i If TMAccess(MyHandle, state_buffer(0)) <> 1 Then GoTo point1 'exit function dmmy = TMTouchByte(MyHandle, &H44) 'даем команду измерять температуру Pause (1) ' пауза на время измерения температуры dmmy = TMTouchReset(MyHandle) 'сбрасываем шину If TMAccess(MyHandle, state_buffer(0)) <> 1 Then GoTo point1 'exit function dmmy = TMTouchByte(MyHandle, &H55) 'даем команду для выбора датчика по его уникальному номеру For i = 0 To 8 dmmy = TMTouchByte(MyHandle, ROMid(g).ROMOrig(i)) 'передаем в шину уникальный номер датчика, с которым хотим работать Next i If TMAccess(MyHandle, state_buffer(0)) <> 1 Then GoTo point1 'exit function 'Read the scratch of a DS18B20 dmmy = TMTouchByte(MyHandle, &HBE) ' даем команду для чтения регистров(памяти) датчика For i = 0 To 8 dmmy = TMTouchByte(MyHandle, &HFF)' читаем данные из регистров датчика TEMP_buffer(i) = dmmy Next i В ROMid(g).ROMOrig() хранится уникальный код девайса, передаю его полсе H55 в таком же виде как считал с попомщью команды TMRom. Пробовал и посылать последний байт первым и если If ROM(i) <= &HF то обнулят байт серийного номера. Все равно не получается, подскажите плс почему? По даташиту DS18B20.pdf ("MEMORY FUNCTION EXAMPLE Table 5"): TX Reset Reset pulse (480-960 ?s). RX Presence Presence pulse. TX 55h Issue “Match ROM” command. TX <64-bit ROM code> Issue address for DS18B20. TX 44h Issue “ Convert T” command. TX I/O line is held high for at least a period of time greater than tconv by bus master to allow conversion to complete. TX Reset Reset pulse. RX Presence Presence pulse. TX 55h Issue “Match ROM” command. TX <64-bit ROM code> Issue address for DS18B20. TX BEh Issue “Read Scratchpad” command. RX <9 data bytes> Read entire scratchpad plus CRC; the master now recalculates the CRC of the eight data bytes received from the scratchpad, compares the CRC calculated and the CRC read. If they match, the master continues; if not, this read operation is repeated. TX Reset Reset pulse. RX Presence Presence pulse, done. Единственное что не делал, это Strong pull-up после команды начать измерение температуры(H44). НО температуру датчик измеряет т.е. ему хватает напруги на линии. Если на шине только один датчик, то проблем нем, все читается на ура, бъюсь уже три недели - результат нулевой. Готов уже купить Temp Keeper, так как он все замечательно меряет =(((
×
×
  • Create New...