21 (2019-01-23 11:40:15 отредактировано Konster)

Re: Простая автоматика управления клапаном отбора

а не вредно ли каждый раз писать в EEPROM ? я понимаю, что количество циклов должно быть около 1 млн, но это для оригинала, а у нас китай.

никогда не опускай руки - пропустишь в бороду
с водкой все идет хорошо... кроме ног

22 (2019-01-23 11:45:45 отредактировано kvic)

Re: Простая автоматика управления клапаном отбора

Konster, каждый раз, думаю, вредно.
У него всё-таки ограниченное количество циклов.
Может быть лучше будет такой алгоритм при подключении датчика:
1. Делаем сброс.
2. Читаем конфиг у DS-ки.
3. Если прошито не 12-бит разрешение, тогда устанавливаем 12-бит и зашиваем новый конфиг в EEPROM.
4. Иначе оставляем как есть.
5. Пользуемся.

P.S. Кстати, почему пишут

ds.write(0x60); // 0x60 12-бит разрешение

?
Туда по даташиту вроде 0Х7F надо?

РК 35х1600

23

Re: Простая автоматика управления клапаном отбора

kvic ©:

Туда по даташиту вроде 0Х7F надо

kvic,
*DONT_KNOW*
А я у тебя про это хотел спросить... Бред какой-то...Но ведь работает, посмотрю сегодня-завтра на практике.

С уважением, Олег Кузнецов.

24

Re: Простая автоматика управления клапаном отбора

kvic ©:

Туда по даташиту вроде 0Х7F надо?

А еще правильней считать этот регистр, установить биты разрешения - и записать обратно...

25 (2019-01-23 13:30:41 отредактировано )

Re: Простая автоматика управления клапаном отбора

kvic, не... вроде все правильно




0x60 = B01100000

Только двумя битами библиотечная функция управляет


d.styler ©:

считать этот регистр, установить биты разрешения - и записать обратно

А зачем? Если только два бита изменять можем:
"Bit 7 and bits 0 to 4 in the configuration register are reserved for internal use
by the device and cannot be overwritten ".


Я так понял, что туда любое число можно посылать, лишь бы биты 5 и 6 были бы правильные. Только они перепишутся.

  • разрешение.png
    size: 43.46Кб type: png
С уважением, Олег Кузнецов.

26

Re: Простая автоматика управления клапаном отбора

d.styler ©:

еще правильней считать этот регистр, установить биты разрешения - и записать обратно

Пожалуй, да.
Страхуемся от возможных изменений ненужных битов.

РК 35х1600

27

Re: Простая автоматика управления клапаном отбора

kvic, совершенно верно - это общий случай в программировании, иначе можно словить сайд-эффекты...

28 (2019-01-24 16:21:47 отредактировано Kusnezov Oleg)

Re: Простая автоматика управления клапаном отбора

kvic ©:

Туда по даташиту вроде 0Х7F надо?

Проверил - действительно можно любое число писать.
Запишутся только биты 5,6
Было в регистре (прошивка заводская копия)
01100000   (0Х7F)
Команда:  ds.write(B10000000);
Результат
00011111 (1F)

UPD  здесь опечатка - исправлено ниже.

С уважением, Олег Кузнецов.

29 (2019-01-24 16:09:54 отредактировано )

Re: Простая автоматика управления клапаном отбора

Kusnezov Oleg, собственно - это совершенно не важно, что в данном случае это работает. Этот подход неприемлем при программировании таких устройств с общем случае. Если было бы ревью данного кода - этот код был бы признан как ошибочный. Где гарантия - что максим не поменяет реализацию этого регистра в будущем?

Kusnezov Oleg ©:

01100000   (0Х7F)

А где здесь 0x7F?  01100000 == 0x60

30

Re: Простая автоматика управления клапаном отбора

d.styler, был вопрос от kvic - я на вопрос ответил, и свой ответ проверил. Но это не значит, что я с тобой не согласен. Согласен.

С уважением, Олег Кузнецов.

31

Re: Простая автоматика управления клапаном отбора

Kusnezov Oleg, ок - значит я не так понял...  *DRINK*

32

Re: Простая автоматика управления клапаном отбора

Да опечатка, спасибо, надо так:
Было в регистре (прошивка заводская копия) 01111111

С уважением, Олег Кузнецов.

33 (2022-07-19 13:42:26 отредактировано )

Re: Простая автоматика управления клапаном отбора

Прошу прощения, подскажите пожалуйста, какие библиотеки конкретно должны быть подключены в Ардуино для правильной компиляции прошивки, у меня пишет "undefined reference to `LCD_1602_RUS::LCD_1602_RUS(unsigned char, unsigned char, unsigned char)'" и много строчек про LCD_1602_RUS

Прошу пардону, мозг немного не туда поработал, вместо библиотеки LCD_1602_RUS установил LCD_1602_RUS_ALL, потому и не прошивалось.
Пробую на Pro Mini сделать.

34

Re: Простая автоматика управления клапаном отбора

Приятель попросил собрать ему сие простое устройство, а чёрт меня дёрнул перенести реализацию на STM32f103.
Блин, как же там некомфортно быть чайником...
Добил, конечно. По пути выкинул датчик атмосферы, добавил второй DS18b20 (на воду) и заменил дисплей на OLED 128x64