Diskussion:AC:DE:48:94:5A:20: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
 
(17 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== gerade am zusammenschreiben noch nicht zu bewerten... ==
+
'''gerade am zusammenschreiben noch nicht zu bewerten... '''
 
  
  
 
== Basis ==
 
== Basis ==
  
'''Pollin NETIO'''<br />
+
'''Pollin NET-IO'''<br />
 
 
 
Modifikationen<br />
 
Modifikationen<br />
 
20Mhz<br />
 
20Mhz<br />
 
Atmega 644<br />
 
Atmega 644<br />
 
Spannungsregler 7805 durch Netzteil ersetzt.<br />
 
Spannungsregler 7805 durch Netzteil ersetzt.<br />
 
  
 
'''NET-IO ADDON'''<br />
 
'''NET-IO ADDON'''<br />
 
+
Modifikationen
 
 
== Modifikationen ==
 
  
 
'''TSOP'''<br />
 
'''TSOP'''<br />
 
nicht montiert<br />
 
nicht montiert<br />
Rx durch 1k5 Widerstand ersetzt<br />
+
R9 durch 1k5(oder 4k7) Widerstand ersetzt<br />
Cx entfernt<br />
+
C6 100nF entfernt<br />
  
Schraubblock aufgelötet und PIN1 und 2 gebrückt ( Datenpin und VCC ).
+
Schraubblock aufgelötet und PIN1 und 2 gebrückt ( Datenpin und VCC ).<br />
  
Somit ist dieser Port 1Wire fähig.
+
Somit ist dieser Port 1Wire fähig.<br />
  
fürs pinning:
+
fürs pinning:<br />
  
pin(ONEWIRE, PB0)
+
pin(ONEWIRE, PB0)<br />
  
  
  
'''Spannungsversorgung'''
+
'''Spannungsversorgung'''<br />
paralell zum ( R2 1,5K ) 4,7K gelötet und habe jetzt 3,25V
+
paralell zum ( R2 1,5K ) 4,7K gelötet und habe jetzt 3,25V<br />
  
 +
'''2. ISP Port damit auch dort das flashen funktioniert'''<br />
 +
Brücke von ISP auf ISP1 PIN 5 ( Reset )<br />
  
'''SD-Karte'''
 
R11 nicht einbauen.
 
R19 raus
 
R20 raus
 
anstelle von R19 Drahtbrücke rein.
 
  
fürs pinning:
+
'''SD-Karte'''<br />
pin(SPI_CS_SD_READER, PB3, OUTPUT)
+
R11 nicht einbauen.<br />
 +
R19 raus <br />
 +
R20 raus <br />
 +
anstelle von R19 Drahtbrücke rein.<br />
 +
<br />
 +
fürs pinning:<br />
 +
pin(SPI_CS_SD_READER, PB3, OUTPUT)<br />
  
Der Gedanke ist per control6 Messdaten auf die SD-Karte zu schreiben.
+
Der Gedanke ist per control6 Messdaten auf die SD-Karte zu schreiben.<br />
  
Wie?!? noch keine Ahnung ( muss mal die Doku lesen.. )....
+
Wie?!? noch keine Ahnung ( muss mal die Doku lesen.. )....<br />
  
Stelle es mir ähnlich dem "echo time >> sd /daten/time.log" vor....
+
Stelle es mir ähnlich dem "echo time >> sd /daten/time.log" vor....<br />
;-)
+
;-)<br />
  
'''I2C Bus'''
+
'''I2C Bus'''<br />
Direkt vom NetIO Hochgeführt (2 adriges Kabel) ist ja doch ein bißchen übertrieben wegen dem I2C den ganzen
+
Direkt vom NET-IO Hochgeführt (2 adriges Kabel) ist ja doch ein bißchen übertrieben wegen dem I2C den ganzen<br />
PortC vom Atmel zu verlieren inkl. 4 AD Wandler.
+
PortC vom Atmel zu verlieren inkl. 4 AD Wandler.<br />
Was auch bedeutet, das man die SUB-D 25 Buchse/Stecker weglassen kann auf dem ADDON.
+
Was auch bedeutet, das man die SUB-D 25 Buchse/Stecker weglassen kann auf dem ADDON.<br />
  
'''RFM12'''
+
'''RFM12'''<br />
fürs pinning:
+
fürs pinning:<br />
pin(SPI_CS_RFM12, PD5, OUTPUT)
+
pin(SPI_CS_RFM12, PD5, OUTPUT)<br />
RFM12_USE_INT(1)
+
RFM12_USE_INT(1)<br />
RFM12_ASK_SENSE_USE_INT(1)
+
RFM12_ASK_SENSE_USE_INT(1)<br />
pin(RFM12_TX_PIN, PA3, OUTPUT)
+
pin(RFM12_TX_PIN, PA3, OUTPUT)<br />
 +
Wobei TX_Pin ohne Funktion<br />
  
Wobei TX_Pin ohne Funktion
 
  
Lochraster Bereich
+
'''Lochraster Bereich'''<br />
 +
'''SHT11'''<br />
 +
An LED2 und 3 habe ich einen SHT11 gelötet, die Vorwiderstände auf 10k (R5 und R6).<br />
 +
Frei von unten verdrahtet.<br />
 +
fürs pinning:<br />
 +
pin(SHT_SCK, PD4, OUTPUT)<br />
 +
pin(SHT_DATA, PD6, OUTPUT)<br />
 +
SHT_VOLTAGE_COMPENSATION(5V)<br />
  
'''SHT11'''
+
'''Lochraster Bereich'''<br />
fürs pinning:
+
'''Taster S1'''<br />
pin(SHT_SCK, PD4, OUTPUT)
+
An ADC4 und GND vom NETIO.<br />
pin(SHT_DATA, PD6, OUTPUT)
 
SHT_VOLTAGE_COMPENSATION(5V)
 
  
'''Taster S1'''
+
'''LCD über I2C (PCF8574x''')<br />
An ADC4 und GND vom NETIO.
+
scheint die Tage wohl auch zu gehen, dank den Ethersex Entwicklern.<br />
 +
Für Ausgabe akukelle KW Verbrauch, eventl. Wetterdaten oder ähnliches.<br />
  
'''LCD über I2C (PCF8574x''')
+
'''Relais Karte Pollin K8IO über I2C ( PCF8574x).'''<br />
scheint die Tage wohl auch zu gehen, dank den Ethersex Entwicklern.
+
Konfiguriert über named PIN ( wenn ich herausgefunden haben wie das mit I2C/PCF8574x geht ).<br />
Für Ausgabe akukelle KW Verbrauch, eventl. Wetterdaten oder ähnliches.
+
Wofür? Noch keine Idee ;-).<br />
  
'''Relais Karte Pollin K8IO über I2C ( PCF8574x).'''
 
Konfiguriert über named PIN ( wenn ich herausgefunden haben wie das mit I2C/PCF8574x geht ).
 
Wofür? Noch keine Idee ;-).
 
  
  
 +
== Auftrag: ==
  
== Auftrag: ==
+
'''Pollin/Kangtai Powerswitch (IC 2270)<br />'''
 +
Funksteckdosen ansteuern.<br />
 +
Hiermit werden diverse Zeitschaltuhren abgelöst.<br />
 +
Das ganze wird von einem externen Host angesteuert.<br />
 +
(Linux Cronjob)<br />
 +
<br />
 +
'''S0 Zähler für Strom Wattmeter ( SWISSNOX 2000 imps/KWh 90ms).<br />'''
 +
Zählt schon mal grob über control6.<br />
 +
(Hier bei Gelegenheit weitere Infos, wenn ich alles zusammengesucht habe, Dokumentation sei <br />
 +
dank ;-) ).<br />
 +
<br />
 +
'''control6 Code''' ( wer kann möge bitte anpassen :-) )<br />
 +
Vorrausetzung das das untere Skript funktioniert ist die aktivierung von named pin.<br />
 +
Einträge:<br />
 +
<br />
 +
#PA7 ist ADC4 am netio<br />
 +
PA7    INPUT  HIGH            S1<br />
 +
#PA6 ist ADC3 am NETIO<br />
 +
PA6    INPUT  HIGH            S2<br />
 +
#LED Grün auf NET-IO ADDON Board<br />
 +
PD2    OUTPUT  HIGH            LEDGR<br />
 +
 
 +
Vorraussetzung das Control6 Code kompiliert wird.<br />
 +
In der Firmware muss control6 aktiviert werden und in<br />
 +
<br />
 +
../config.mk<br />
 +
<br />
 +
die Zeile:<br />
 +
C6_SOURCE = $(TOPDIR)/control6/s0zaehler.src<br />
 +
eingefügt sein.<br />
 +
Wenn die config.mk nicht existiert diese bitte erstellen.<br />
  
Pollin/Kangtai Powerswitch (IC 2272)
+
Inhalt der Datei ../control6/s0zahler.src<br />
Funksteckdosen ansteuern.
 
Hiermit werden diverse Zeitschaltuhren abgelöst.
 
Das ganze wird von einem externen Host angesteuert.
 
(Linux Cronjob)
 
  
S0 Zähler für Strom Wattmeter ( SWISSNOX 2000 imps/KWh 90ms).
+
C6_HEADER(`/* This will be in control6.h */')
Zählt schon mal grob über control6.(Hier bei Gelegenheit weitere Infos, wenn ich alles zusammengesucht habe, Dokumentation sein dank ;-) ).
+
CONTROL_START
 +
dnl Variabeln setzen
 +
dnl 1. Impulse Zähler Eingang
 +
ECMD_GLOBAL(z1, 0, uint16_t)
 +
ECMD_GLOBAL(KW1, 0, uint16_t)
 +
ECMD_GLOBAL(LEDGR1, 0, uint16_t)
 +
dnl imps/KW/h
 +
ECMD_GLOBAL(imps1, 5, uint16_t)
 +
ECMD_GLOBAL(z1h, 0, uint16_t) //hilfsvariable
 +
dnl Uhrzeit der letzten vollen KW/h
 +
ECMD_GLOBAL(time1, 0, uint16_t)
 +
dnl 2. Impulse Zähler Eingang
 +
ECMD_GLOBAL(z2, 0, uint16_t)
 +
ECMD_GLOBAL(KW2, 0, uint16_t)
 +
dnl imps/KW/h
 +
ECMD_GLOBAL(imps2, 5, uint16_t)
 +
THREAD(LEDBLINK)
 +
ON z1h == 1 DO
 +
  PIN_SET(LEDGR);
 +
  WAIT(3);
 +
  PIN_CLEAR(LEDGR);
 +
dnl  WAIT(3);
 +
  z1h = 0;
 +
END
 +
THREAD_END(LEDBLINK)
 +
THREAD(IMPULSE)
 +
dnl schleifen
 +
dnl impulse zählen
 +
ON PIN_FALLING(S1) DO
 +
  z1++;
 +
END
 +
ON z1 == imps1 DO
 +
  KW1++;
 +
  time1 = CLOCK_DOW;
 +
  z1 = 0;
 +
  z1h = 1;
 +
END
 +
dnl impulse zählen
 +
ON PIN_FALLING(S1) DO
 +
  z2++;
 +
END
 +
ON z2 == imps2 DO
 +
  PIN_SET(LEDGR);
 +
  KW2++;
 +
  z2 = 0;
 +
  PIN_CLEAR(LEDGR);
 +
END
 +
dnl ende der schleifen
 +
THREAD_END(IMPULSE)
 +
ON STARTUP DO
 +
  THREAD_START(LEDBLINK);
 +
  THREAD_START(IMPULSE);
 +
END
 +
CONTROL_END

Aktuelle Version vom 16. Februar 2010, 18:52 Uhr

gerade am zusammenschreiben noch nicht zu bewerten...


Basis

Pollin NET-IO
Modifikationen
20Mhz
Atmega 644
Spannungsregler 7805 durch Netzteil ersetzt.

NET-IO ADDON
Modifikationen

TSOP
nicht montiert
R9 durch 1k5(oder 4k7) Widerstand ersetzt
C6 100nF entfernt

Schraubblock aufgelötet und PIN1 und 2 gebrückt ( Datenpin und VCC ).

Somit ist dieser Port 1Wire fähig.

fürs pinning:

pin(ONEWIRE, PB0)


Spannungsversorgung
paralell zum ( R2 1,5K ) 4,7K gelötet und habe jetzt 3,25V

2. ISP Port damit auch dort das flashen funktioniert
Brücke von ISP auf ISP1 PIN 5 ( Reset )


SD-Karte
R11 nicht einbauen.
R19 raus
R20 raus
anstelle von R19 Drahtbrücke rein.

fürs pinning:
pin(SPI_CS_SD_READER, PB3, OUTPUT)

Der Gedanke ist per control6 Messdaten auf die SD-Karte zu schreiben.

Wie?!? noch keine Ahnung ( muss mal die Doku lesen.. )....

Stelle es mir ähnlich dem "echo time >> sd /daten/time.log" vor....

-)

I2C Bus
Direkt vom NET-IO Hochgeführt (2 adriges Kabel) ist ja doch ein bißchen übertrieben wegen dem I2C den ganzen
PortC vom Atmel zu verlieren inkl. 4 AD Wandler.
Was auch bedeutet, das man die SUB-D 25 Buchse/Stecker weglassen kann auf dem ADDON.

RFM12
fürs pinning:
pin(SPI_CS_RFM12, PD5, OUTPUT)
RFM12_USE_INT(1)
RFM12_ASK_SENSE_USE_INT(1)
pin(RFM12_TX_PIN, PA3, OUTPUT)
Wobei TX_Pin ohne Funktion


Lochraster Bereich
SHT11
An LED2 und 3 habe ich einen SHT11 gelötet, die Vorwiderstände auf 10k (R5 und R6).
Frei von unten verdrahtet.
fürs pinning:
pin(SHT_SCK, PD4, OUTPUT)
pin(SHT_DATA, PD6, OUTPUT)
SHT_VOLTAGE_COMPENSATION(5V)

Lochraster Bereich
Taster S1
An ADC4 und GND vom NETIO.

LCD über I2C (PCF8574x)
scheint die Tage wohl auch zu gehen, dank den Ethersex Entwicklern.
Für Ausgabe akukelle KW Verbrauch, eventl. Wetterdaten oder ähnliches.

Relais Karte Pollin K8IO über I2C ( PCF8574x).
Konfiguriert über named PIN ( wenn ich herausgefunden haben wie das mit I2C/PCF8574x geht ).
Wofür? Noch keine Idee ;-).


Auftrag:

Pollin/Kangtai Powerswitch (IC 2270)
Funksteckdosen ansteuern.
Hiermit werden diverse Zeitschaltuhren abgelöst.
Das ganze wird von einem externen Host angesteuert.
(Linux Cronjob)

S0 Zähler für Strom Wattmeter ( SWISSNOX 2000 imps/KWh 90ms).
Zählt schon mal grob über control6.
(Hier bei Gelegenheit weitere Infos, wenn ich alles zusammengesucht habe, Dokumentation sei
dank ;-) ).

control6 Code ( wer kann möge bitte anpassen :-) )
Vorrausetzung das das untere Skript funktioniert ist die aktivierung von named pin.
Einträge:

#PA7 ist ADC4 am netio
PA7 INPUT HIGH S1
#PA6 ist ADC3 am NETIO
PA6 INPUT HIGH S2
#LED Grün auf NET-IO ADDON Board
PD2 OUTPUT HIGH LEDGR

Vorraussetzung das Control6 Code kompiliert wird.
In der Firmware muss control6 aktiviert werden und in

../config.mk

die Zeile:

C6_SOURCE = $(TOPDIR)/control6/s0zaehler.src

eingefügt sein.
Wenn die config.mk nicht existiert diese bitte erstellen.

Inhalt der Datei ../control6/s0zahler.src

C6_HEADER(`/* This will be in control6.h */')
CONTROL_START
dnl Variabeln setzen
dnl 1. Impulse Zähler Eingang
ECMD_GLOBAL(z1, 0, uint16_t)
ECMD_GLOBAL(KW1, 0, uint16_t)
ECMD_GLOBAL(LEDGR1, 0, uint16_t)
dnl imps/KW/h
ECMD_GLOBAL(imps1, 5, uint16_t)
ECMD_GLOBAL(z1h, 0, uint16_t) //hilfsvariable
dnl Uhrzeit der letzten vollen KW/h
ECMD_GLOBAL(time1, 0, uint16_t)
dnl 2. Impulse Zähler Eingang
ECMD_GLOBAL(z2, 0, uint16_t)
ECMD_GLOBAL(KW2, 0, uint16_t)
dnl imps/KW/h
ECMD_GLOBAL(imps2, 5, uint16_t)
THREAD(LEDBLINK)
ON z1h == 1 DO
  PIN_SET(LEDGR);
  WAIT(3);
  PIN_CLEAR(LEDGR);
dnl   WAIT(3);
  z1h = 0;
END
THREAD_END(LEDBLINK)
THREAD(IMPULSE)
dnl schleifen
dnl impulse zählen
ON PIN_FALLING(S1) DO
  z1++;
END
ON z1 == imps1 DO
  KW1++;
  time1 = CLOCK_DOW;
  z1 = 0;
  z1h = 1;
END
dnl impulse zählen
ON PIN_FALLING(S1) DO
  z2++;
END
ON z2 == imps2 DO
  PIN_SET(LEDGR);
  KW2++;
  z2 = 0;
  PIN_CLEAR(LEDGR);
END
dnl ende der schleifen
THREAD_END(IMPULSE)
ON STARTUP DO
  THREAD_START(LEDBLINK);
  THREAD_START(IMPULSE);
END
CONTROL_END