SAM 2685

Существует множество способов подключения распрастраненных датчиков температуры DS18B20 к компьютеру,например используя СОМ порт(которого уже в большинстве современных компьютеров нет).Но как подключить с наименьшими усилиями DS18B20 к компьютеру ? Продолжаем эксперементы со сторублевым программатором USBasp ,ранее мы уже научили его работать как i2c-usb переходник.

 Для подключения датчиков мы возьмём за основу проект  USBTemp ,который изначально заточен под другой микроконтроллер -Atmega168,но,используя несложные манипуляции исходный код проекта адаптируется под м/к atmega8 и схему от USBasp.

Принцип действия данного устройства: м/к каждую минуту запрашивает данные с датчиков(в это время светодиод гаснет) и сохраняет в свою память, а программа на компьютере потом запрашивает их.

Скомпилированную версию USBtemp под USBasp качаем тут.В архиве имеется и программы для чтения показаний датчиков на компьютере,в том числе из ОС Windows.Если Вы хотите модифицировать прошивку ,то исходный код можно найти на официальной странице проекта.

Как перепрограммировать устройство можно почитать на страничке  USBasp в разделе "Допиливание" программатора. .Вкраце лишь укажу строку для программирования через arduino :

avrdude -C avrdude.conf -c avrisp -P COM1 -b 19200 -p m8 -U flash:w:usbtemp.hex

И через другую USBasp:

avrdude -C avrdude.conf -c usbavr -P -p m8 -U flash:w:usbtemp.hex

Фьюзы остаются такие же как были на USBasp:

-U lfuse:w:0xef:m -U hfuse:w:0xc9:m

Не забываем ,что для перепрограммирования USBasp необходимо установить джампер JP2.

Подключаем датчики к переходнику:

dsUSBНа плате бывшего программатора не хватает подтягивающего резистора на 4.7кОм (резистор подбирается в зависимости от количества датчиков и расстояния до них) ,который должен быть подключен к плюсу (Вывод VTG ). Датчики подключаем паралельно согласно даташиту: 1 и 3 вывод замыкаем на минус,2 - к выводу USB переходника DS.По умолчанию максимальное количество датчиков ровно 5.

 

 

fotods18b20На фото собрана тестовая схема ,где подключено 3 датчика.Можно так же разглядеть резистор на 4.7кОм,который подключен на плюс.

 

 

 

 

 

 Работа с утилитой в Linux и Windows:

 Для работы в Linux драйвера не требуются.В Windows необходимо установить стандартные дрова.

 usbtemp sensors - выдаст адреса подключенных датчиков.Новые датчики появляются только после перезапуска устройства.

usbtemp temp <адрес_датчика> -чтение текущего датчика.

Бонус команды,управляющие незадействованным светодиодом на плате:

usbtemp ledon - включить светодиод.

usbtemp ledoff - выключить светодиод.

При соотвествующей доработке прошивки можно управлять и свободными выводами (PIO).

ds18b20shotcons Слева скриншот команд,где можно увидеть температуру подключенных датчиков.

 

 

 

Материалы и ссылки:
Прошивка и программа USBtemp2.0.zip.
Страничка проекта USBTemp.

Home`s Smart © 2013-2016. г.Киров.
Цитирование материалов возможно только со ссылкой на сайт. Использование фотоматериалов только с разрешения авторов.