Atmega128 Usb

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Atmega128 Usb

Сообщение ser009 » Пн окт 22, 2012 7:46 pm

Доброго времени суток.

Есть в наличии вот такое железо.
Можно ли его приспособить к данному проекту???
22102012218_.JPG
22102012218_.JPG (72 КБ) 14443 просмотра
Плата mega128+Usb
Ecn28j60 модуль
UsbUsp программатор (для платы)
Датчики ds18B20

Может кто занимался написанием прошивок
Просто из меня "писатель прошивок" - никакой :oops:
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Atmega128 Usb

Сообщение sergejey » Вт окт 23, 2012 11:09 am

Теоретически, возможно -- нужно лишь всё это друг к другу подключить и прошить правильно :)
Но боюсь, что я тоже не помогу, т.к. в таких кастомных прошивках не очень разбираюсь...

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Atmega128 Usb

Сообщение ser009 » Вт окт 30, 2012 11:45 pm

И так ...
Накидал код для датчиков ds18b20 .
Программа посылает в порт строку формата:

GET /objects/?object=sensorT2&op=m&m=statusChanged&t=-9999.0
GET /objects/?object=sensorT1&op=m&m=statusChanged&t=26.0

sensorT1 - датчик №1
sensorT2 - соответственно датчик №2

Строку взял из http://smartliving.ru/Main/ArduinoCode

Вот только не получается параметр температуры вывести в меню управления???
Может формат кода неверный???

sprintf(buf, "GET /objects/?object=sensorZal&op=m&m=tempChanged&t=%0d.%d HTTP/1.0", (int)current_temp2, abs(temp1));
насколько я понял эту строку:
- Sprintf - процедура вывода данных
- buf [?]
- sensorZal - название датчика (у меня sensorT1/sensorT2)
-%0d.%d - непосредственно параметр температуры
причём как я правильно понимаю уходит информация находящаяся чисто в скобках " "

Вот как выходят данные у меня:
gw_1.jpg
gw_1.jpg (141.87 КБ) 14369 просмотров
Подскажите может нужно строку подкорректировать?
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Atmega128 Usb

Сообщение ser009 » Ср окт 31, 2012 12:30 am

Всё с выводом температуры разобрался:
1.jpg
1.jpg (33.88 КБ) 14367 просмотров
2.jpg
2.jpg (27.61 КБ) 14367 просмотров
3.jpg
3.jpg (37.36 КБ) 14367 просмотров
Методы:

//$params['t']
$old_temperature=$this->getProperty('temperature');
$t=round($params['t']*2)/2;
$this->setProperty('temperature',$t);
if ($t>$old_temperature) {
$d=1;
} elseif ($t<$old_temperature) {
$d=-1;
} else {
$d=0;
}
$this->setProperty('direction',$d);
$this->setProperty("updated",time());
$this->setProperty("updatedTime",date("H:i",time()));

кусок кода из CodevisionAVR обработки 1 датчика:
while (1)
{
temp[0]=ds18b20_temperature(&rom_code[0][0]);
if (temp[0]>1000){
temp[0]=4096-temp[0];
temp[0]=-temp[0];
}
printf("GET /objects/?object=sensorT1&op=m&m=TempChanged&t=%i.%u \r\n",temp[0],temp[0]%1); // процедура отправки температуры в формате temp=xx
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Atmega128 Usb

Сообщение sergejey » Ср окт 31, 2012 10:44 am

а как в итоге получилось железо друг к другу подключить?

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Atmega128 Usb

Сообщение ser009 » Ср окт 31, 2012 11:11 am

Плата имеет USB порт собранный на PL-2303.
При подключении устройство определяется как виртуальный COM-порт.
Ну а дальше как в статье http://smartliving.ru/Main/ArduinoDirect Arduino без Ethernetshield-а

С ecn28j60 надо собирать стабилизатор на 3.3v согласно Datasheeta.

Из стабилизаторов только 7805 на 5.0v

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

PS . Комплект под Arduino уже едет:
W5100 Ethernet + ATmega2560 ATmega2560-16AU + USB - http://www.aliexpress.com/snapshot/204467756.html
MQ-8 hydrogen sensor module new in stock - http://www.aliexpress.com/snapshot/204467755.html Датчик хочу использовать на природный газ
ну и радио модули NRF24L01 upgrade version, так до кучи взял http://www.aliexpress.com/snapshot/204467755.html

Весь в ожидании ПОСЫЛКИ продолжение следует ...
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Atmega128 Usb

Сообщение ser009 » Ср окт 31, 2012 11:04 pm

Увеличил количество подключаемых датчиков ds18b20 до 8шт.
Подкорректировал формат вывода температуры

Вот может кто подскажет как вывести в формате хх.х градуса???

gw_1.jpg
Макетка и 8 датчиков
gw_1.jpg (83.29 КБ) 14336 просмотров
Вложения
01112012244_.jpg
01112012244_.jpg (78.68 КБ) 14336 просмотров
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Atmega128 Usb

Сообщение sergejey » Чт ноя 01, 2012 11:12 am

ser009 писал(а):Увеличил количество подключаемых датчиков ds18b20 до 8шт.
Подкорректировал формат вывода температуры

Вот может кто подскажет как вывести в формате хх.х градуса???
система принимает дробные значения, так что по идее проблем не должно быть.
единственное, что меня смущает, так это передача значка градусов -- я думаю этого не нужно, можно передавать просто цифру для корректности хранения данных

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Atmega128 Usb

Сообщение ser009 » Пт ноя 02, 2012 7:25 am

sergejey писал(а):
ser009 писал(а): единственное, что меня смущает, так это передача значка градусов -- я думаю этого не нужно, можно передавать просто цифру для корректности хранения данных
Знак градуса убрал
Последний раз редактировалось ser009 Сб ноя 03, 2012 12:00 am, всего редактировалось 1 раз.
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Atmega128 Usb

Сообщение ser009 » Пт ноя 02, 2012 11:59 pm

Попробовал подключить к 1-wire шине датчик ds1990 вот примерно что получилось ...
ds1990.JPG
ds1990.JPG (84 КБ) 14277 просмотров
gw_12.jpg
gw_12.jpg (73.12 КБ) 14277 просмотров
шина работает медленно датчик приходится держать несколько секунд.

???Вот думаю нужен ли серийный номер датчикам температуры???

продолжение следует...
Ответить