Hemkontrollnät

Planering och tankar kring eventuella framtida projekt.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät

Inlägg av PHermansson »

För tillfället håller jag på att testa kod för detta projekt. Är självlärd på C så det tar lite tid ibland, men gör ständiga framsteg. Testuppsättningen består av en MAX232 kopplad till datorn och en Atmega168 i andra änden. Jag har testat en del kod för sensoravläsningar och LCD-styrning. För tillfället ligger fokus på protokollet inklusive felhantering. Har nu en kod som reagerar på en viss adress, tar emot exakt tio bytes som ska avslutas med ett 'Q'. Är det mottagna paketet annorlunda, eller om det inte kommer in tio bytes, startas överföringen om. Har även testat lite med att programmera ett PC-program i Python, men använder mest en terminal (Minicom) och styr manuellt.
Sen fick jag en idé som gav lätt andnöd :) ShiftBrites! Ett RS485-nät runt i hela huset med sensornoder, LCD-noder och ljusnoder med ShiftBrites. PC-programmet kan då skicka ut RGB-data till dessa, och man kan få hela huset att lysa i valfri färg. Coolt? Japp. Och så länge det inte blinkar slipper jag nog flytta ut i garaget :)
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät

Inlägg av PHermansson »

v-g skrev:PH ett tips som jag kör med är en sån här: http://cgi.ebay.com/ws/eBayISAPI.dll?Vi ... 0462466794 för min del kändes det inte som det var värt att hålla på för typ 20 spänn som jag gav för min, enda jag ångrar är att jag inte köpte fler. :humm:

Funkar perfekt gör de iaf, även med usb-->serieportsadapter.
Rycker upp en gammal tråd här... Men hur gör man för att bestämma om adaptern ska sända eller ta emot? Den dokumentation jag hittar till HXSP-485 liknar ju mest ett skämt...
H.O
Inlägg: 5916
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: Hemkontrollnät

Inlägg av H.O »

En del "adaptrar" har automatic send control (eller nått sånt), dvs dom växlar automatiskt till sändning när det kommer data från PC'n. En del andra jag sett använder RTS-signalen för att styra sändning/mottagning. Hurvida den har automatic send control borde ju vara enkelt att testa.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät

Inlägg av PHermansson »

Den ger tveksamma resultat, det är därför jag funderar. Kanske en av tio eller en av tjugo sändningar kommer fram korrekt till en Arduino. Arduinon ska blinka en diod om rätt värde kommer in, och skicka tillbaka tre värden. Detta funkar alltså nån enstaka gång, men för det mesta blir det inget diodblink. Kör man samma kod med Arduinon kopplad till USB funkar det perfekt.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät

Inlägg av PHermansson »

Ett fint citat från dokumentationen:
No need to get through the power, it can get the electricity from the 3rd pin of RS-232 interface , at the same time, there is a request sending by 7th pin(RTS), 4th pin data terminal prepares(DTR) to help power supplying HXSP-485. The automatically process control make you need not reset and make a easy application of the hardware and software installation.
Jo men prevcis...
H.O
Inlägg: 5916
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: Hemkontrollnät

Inlägg av H.O »

Ha, ja, underbar engelska där... Men det verkar ju som att dom använder RTS till 'något'. Vad använder du för att skicka data, ett terminal program eller har du kodat något eget? Om du har kontroll över RTS prova att sätta den ett ögonblick innan datan går ut.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät

Inlägg av PHermansson »

Jag använder ett eget Python script. Den aktuella koden ser ut så här:

Kod: Markera allt

ser = serial.Serial(ardPort, baudrate=9600, timeout = 3)
	print "Port used: "+ser.portstr       # check which port was really used
	ser.setRTS(1)
	ser.setDTR(1)
	ser.flush()	
	sleep (0.5)
	# Call the device with it's device number
	sData = ardDev
 	sendArg(sData)

def sendArg(comm):
   	ser.write ("dev1")
	return
	
Men det funkar inte bättre för det... Med min DSO Nano kan jag se att det kommer data på RS485 bussen de fåtal gånger det fungerar, när dioden inte blinkar ser jag heller inga data på bussen.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät

Inlägg av PHermansson »

Hrmm.. tänk efter före...
Det funkar mycket bättre om man kopplar ihop 485-adapterns jord med nätdelens jord så att adapter och Arduino har gemensam jord. Det funkar också bättre om man ser till att styra MAX485-kretsen korrekt för sändning/mottagning. Så nu funkar det helt ok!
H.O
Inlägg: 5916
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: Hemkontrollnät

Inlägg av H.O »

Bra!
Så, behöver du sätta RTS manuellt eller sköter den sändning/mottagning automatiskt?
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät

Inlägg av PHermansson »

Den sköter det själv, enkelt och bra!
v-g
EF Sponsor
Inlägg: 7875
Blev medlem: 25 november 2005, 23:47:53
Ort: Kramforce

Re: Hemkontrollnät

Inlägg av v-g »

Lite sent svar men Phermanson har upptäckt svaret redan, den sätter sig alltid som lyssnande tills man sänder så gör man likadant i PIC:en så fungerar det mycket bra. Jag kan både sända och motta signaler på båda sidor med denna modul och för priset man betalar så är den värd minst 10x det priset.
Skriv svar