Jump to content

    
Sign in to follow this  
letis

Проблемы с DS18B20

Recommended Posts

Где оно должно быть - на кабеле датчика ?...

 

чисто пример.

есть такая проблема в автоэлектронике - помехи по всей бортовой от генератора, мотора и иже. лечится на ура = обмотка двойным проводом, в броневом. включаете через это хозяйство питание аудио с таким расчётом чтоб включение было встречным. Помехи исчезают. диаметр = по току. кол-во витков экспериментально. несколько пару десятков.

 

если у вас проблема по питанию - поискать соответствующий дросель. постоянка-переменка пофигу. на 'советских' БП от ЕС техники - стоял прям по вхоу 220В, с кондюками на корпус.

 

 

(круглый)

 

Share this post


Link to post
Share on other sites
Какая длина шнурка к датчику?

около 30м.

Устройство без датчика с вкл/выкл частотником ведёт себя одинаково?
Еще непробывал, завтра напишу.

Устройство с датчиком, подключённым без шнурка, с вкл/выкл частотником ведёт себя одинаково?

Нет, с выключеным частотником работает, с включенным неработает.

Вы поминали, что экранирование шнурка ничего не дало. В какой (или каких?) точке был подключен экран?

Только возле устройства.

 

Я понимаю что прошу возможно слишком много, но не могли бы вы исходя с моего примера написать программу чтения с датчика более грамотно и более подробнее с оглашением всех переменных, тогда бы я был уверен что проблема в программе. Переменную ds я испозую, чтобы между операциями с датчиком работать с динамической индикацией. Я очень вас прошу.

 

 

Share this post


Link to post
Share on other sites
Здесь понятно. А как устранить со стороны питания устройства в целом?

главное что нужно помнить..

помехи не устраняют их обходят..

--------

лет 10 назад был проект зарядно подзарядного устройства АБ в Московском метро...

для термокомпенсации подзаряда АБ стоял также DS 1820

в цеху все это работало без проблем с длинной кабеля 20 метров...

на объекте ни в какую!!!

чтоб не городить огород - так как проблему начисто это полюбому не решит..

прошлось делать конвертор протокола

брал контроллер 2313 и преобразовывал интерфейс 1wire в RS485 (выбор протоколов широк)

что навсегда решило проблему.. и сомнения о будущем..

Советую и вам идти по этому пути...

Share this post


Link to post
Share on other sites
Устройство без датчика с вкл/выкл частотником ведёт себя одинаково?
Еще непробывал, завтра напишу.

Имелось в виду: оторвать датчик, но оставить шнурок.

Устройство с датчиком, подключённым без шнурка, с вкл/выкл частотником ведёт себя одинаково?

Нет, с выключеным частотником работает, с включенным неработает.

Т.е. устройство сбоит в непосредственной близости от частотника? Тогда Вам нужно разобраться с помехоустойчивостью устройства.

Можно начать с поиска по конфе и статьи Помехоустойчивые_устройства.

В какой (или каких?) точке был подключен экран?
Только возле устройства.

И сразу соединён с минусом питания датчика? Если общий провод не приходит в эту точку обширным полигоном, от экрана толка чуть-да-ничего.

Я понимаю что прошу возможно слишком много, но не могли бы вы исходя с моего примера написать программу чтения с датчика более грамотно и более подробнее с оглашением всех переменных, тогда бы я был уверен что проблема в программе. Переменную ds я испозую, чтобы между операциями с датчиком работать с динамической индикацией. Я очень вас прошу.

- Не вижу в этом никакого смысла! - сказал Кролик.

- Я тоже, - сказал Винни-Пух, - но когда я начинал говорить, он точно здесь был.

- лечить программно болячки неясной, но, предположительно, аппаратной, этиологии бессмысленно;

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

Share this post


Link to post
Share on other sites
Я понимаю что прошу возможно слишком много, но не могли бы вы исходя с моего примера написать программу чтения с датчика более грамотно и более подробнее с оглашением всех переменных, тогда бы я был уверен что проблема в программе. Переменную ds я испозую, чтобы между операциями с датчиком работать с динамической индикацией. Я очень вас прошу.

Писать вам ни кто ничего не будет. В интернете полно приличных сорцов. Отдаю то, с чем работаю я. Имхо - опросы в основном теле программы а динамическую индикацию делать через прерывания по таймеру.

 

Из вашего кода непонятно что вы делаете со считанной и проверенной CRC? Выкидываете ли вы неверные значения? Даже если бы чтение удавалось читать раз из десяти - с проверкой CRC работало бы прилично.

 

//--------------------------------------------------------------------------------------------

// Безадресно запускаем преобразование во всех DS18b20 на линии

    if (!OW_DetectPresence())
    {
        OW_SendByte(OW_Net_SkipNetAddress);
        OW_SendByte(OW_DS18B20_Func_CONVERT_T);
    }


//--------------------------------------------------------------------------------------------


// По адресу (если датчик всего один то можно и безадресно) считываем. Если CRC8 Не совпадает,
// то вместо температуры передаем "код ошибки" 0x4000

    SomeVarT = 0x4000;

    if (!OW_DetectPresence())
    {
        uint8_t i;
        OW_SendByte(OW_Net_MatchNetAddress);
        for (i=0; i!=8; i++)
        {
            OW_SendByte(pgm_read_byte( &DS18B20_Addr[i] ));
        }

        OW_SendByte(OW_DS18B20_Func_READ_SCRATCHPAD);
        for (i=0; i!=4; i++)
        {
            Some16bitBuf[i] = (OW_ReceiveByte()) + (OW_ReceiveByte()<<8);
        }
        Some16bitBuf[i] = OW_ReceiveByte();    //CRC8

        if ((crc8( (uint8_t *)&Some16bitBuf[i-4], 8)) == Some16bitBuf[i])
            SomeVarT = usRegInputBuf[i-4];
    }


//--------------------------------------------------------------------------------------------

// Пример вывода на текстовый LCD
// Выводим для 16.25 градусов цельсия цифру 1625

    if(SomeVarT!=0x4000)
        LCD_PrintfS16Dec6_100(((int32_t)((int16_t)SomeVarT)*100)/16);

DS18b20.rar

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this