ATtiny85 and DS18b20

Vania
Offline
Зарегистрирован: 14.03.2016

Добрый день.

Проблема следующая. ATtiny85 не читает данные с DS18b20. Все остальные подпрограммы работают. На сколько я понял, заводские ATtiny85 прошиты на 1МГц, и они просто не успевают прочитать данные с датчика на такой частоте. На мой взгляд решение - либо ковырять библиотеку OneWire (что наверника не поможет и смогу ли я это сделать), либо поднимать частоту камня через FUSE.

Ребята, подскажите, простой способ прошивки фьюзов, если он есть,  чтобы "не лапатить" документацию на ATMEL Studio.

Программы пишу через IDE Arduino, заливаю по SPI через платы Arduino. 

Спасибо откликнувшимся.

Клапауций 232
Offline
Зарегистрирован: 05.04.2016
Vania
Offline
Зарегистрирован: 14.03.2016

Спасибо за ссылку. Я их уже штудировал. Кто-то прямо и пишет, что камень на 8МГц (через IDE Arduino), где-то ничего, а кто-то на 1МГц, но код на СИ ( *.hex). 

Я смотрел обмен через Saleae Logic между мк и DS18b20. Так же Blink без задержек. Похоже, что мк не успевает обработать посылку (вроде как скорость DS18b20 -  9600) из-за библиотеки. Потому, что SoftwareSerial на 9600 работает без ошибок в этой же программе.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Так запустите утилиту AVRDUDE, да прошейте, в чём проблема? Вы не знаете какие фьюхы шить или где утилиту взять?

Vania
Offline
Зарегистрирован: 14.03.2016

Спрашиваю совета, через какую прогу это проще сделать. А там разберусь.

Vania
Offline
Зарегистрирован: 14.03.2016

Да и программатора у меня нет. Могу только через SPI Arduino платформу.

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

del

nik182
Offline
Зарегистрирован: 04.05.2015

Обещали, что если поставить 8МГц в конфиге среды и шить через ардуино програматор "записать загрузчик" преред заливкой программы, то среда сама выставит фъюзы на 8МГц. Не выполнили?

Vania
Offline
Зарегистрирован: 14.03.2016

Спасибо nik182

Нашел ссылку:

http://arduino.ru/forum/programmirovanie/kak-ozhivit-arduino-atmega8a

Буду изучать. 

Vania
Offline
Зарегистрирован: 14.03.2016

Спасибо nik182 еще раз.

https://geektimes.ru/post/254970/

nik182 был прав.

Программа с датчиками заработала на 8МГц через пень-колоду. При снятии питания мк работает: то с полной перезагрузкой мк по циклу, то с зависаниями, то на половину. Как придется. Как и писали некоторые товарищи, что на 8МГц мк работает не стабильно??? На 1МГц было все четко, правда без DS18b20.

Vania
Offline
Зарегистрирован: 14.03.2016

Подчистил код и все заработало стабильно: внутренний readVcc, 2xDS18b20, SoftwareSerial, sleep, ... на ATtiny85 - 8МГц.