DinusExperience: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
(Zbus ( ein rs485 netzwerk mit ip ))
(Fuse bits)
 
(132 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
Fuer den die es noch nicht aufgefallen ist: Deutsch ist nicht mein Muttersprache  :-)
 +
 
== Ziel dieses Projekts ==
 
== Ziel dieses Projekts ==
 
* mal mit avr's anfangen und verstehen und die "closed software" von pollin durch "open source software" ersetzen
 
* mal mit avr's anfangen und verstehen und die "closed software" von pollin durch "open source software" ersetzen
  
 
== AVR hardware umgebung ==
 
== AVR hardware umgebung ==
* Programmer: Atmel Evaluations-Board Version 2.0.1 ist fuer avrdude ein pony seriell also: -c ponyser
+
* Programmer: Atmel Evaluations-Board Version 2.0.1. Bei avrdude läuft dieser unter "pony seriell" also: -c ponyser
* Hier ist ein ponyser programmer zu finden aehnlich wie oben: [[http://www.olimex.com/dev/pdf/avr-pg1b.pdf ponyser programmer]]
+
* Hier ist ein ponyser Programmer zu finden der dem obigen ähnelt: [[https://www.olimex.com/Products/AVR/Programmers/AVR-PG1B/resources/AVR-PG1B.pdf ponyser programmer]]
 
* avr-net-io
 
* avr-net-io
 
* atmega644
 
* atmega644
Zeile 10: Zeile 12:
  
 
== Software umgebung ==
 
== Software umgebung ==
* http://www.ethersex.de/index.php?title=Live_CD
+
[[Live_CD]]
 
* apt-get install libncurses5-dev
 
* apt-get install libncurses5-dev
* update und installier software fuer ethersex wie beschrieben http://www.ethersex.de/index.php/Download
+
* update und installierte Software fuer ethersex wie hier beschrieben [[Download]]
 
* wenn help in menuconfig nicht geht: apt-get install dialog
 
* wenn help in menuconfig nicht geht: apt-get install dialog
  
 
== Hilfe ==
 
== Hilfe ==
 
* Die Community ist [http://www.ethersex.de/index.php/Community hier] zu finden,
 
* Die Community ist [http://www.ethersex.de/index.php/Community hier] zu finden,
* dort ist folgendes mitgeteilt/besprochen worden:
+
* dort habe ich folgendes erfahren:
 +
 
 +
== Seite bearbeiten/schreiben ins wiki ==
 +
http://de.wikibooks.org/wiki/Hilfe:Seiten_bearbeiten
  
 
== Problem mit ponyprog auf dem Atmel Evaluations-Board in Verbindung mit einem usb-rs232 konverter ==
 
== Problem mit ponyprog auf dem Atmel Evaluations-Board in Verbindung mit einem usb-rs232 konverter ==
 
* baudrate /dev/ttyUSB0 auf 9600 8N1
 
* baudrate /dev/ttyUSB0 auf 9600 8N1
 
  avrdude -p m644 -c ponyser -P /dev/ttyUSB0 -t  (avrdude in terminal mode)
 
  avrdude -p m644 -c ponyser -P /dev/ttyUSB0 -t  (avrdude in terminal mode)
* verbindung mit dem atmega644, kann fuse bits lesen usw. (zb. r lf gibt das low fuse aus sehe manual avrdude)
+
* verbindung mit dem atmega644, kann fuse bits lesen usw. (zb. r lf gibt das low fuse aus siehe manual avrdude)
* aber avrdude bleibt beim Versuch mit /dev/ttyUSB0 als interface zu flaschen haengen
+
* aber avrdude bleibt beim Versuch mit /dev/ttyUSB0 als Interface zu flashen hängen
 
* ersatz durch ein kabel an /dev/ttyS0  
 
* ersatz durch ein kabel an /dev/ttyS0  
 
* baudrate /dev/ttyS0 auf 9600 8N1
 
* baudrate /dev/ttyS0 auf 9600 8N1
Zeile 29: Zeile 34:
 
* laeuft dann problemlos durch
 
* laeuft dann problemlos durch
 
* Das usb-rs232 interface funktioniert jedoch mit der usart vom board tadellos.
 
* Das usb-rs232 interface funktioniert jedoch mit der usart vom board tadellos.
 +
 +
== RS232 programmiergerät ==
 +
http://www.klaus-leidinger.de/mp/Mikrocontroller/AVR-Prog/AVR-Programmer.html#ATTiny2313
  
 
== Fuse bits ==
 
== Fuse bits ==
* folgende site gibt richtige info
+
* Folgende Site gibt die richtigen Infos
 
* http://www.wiki.elektronik-projekt.de/mikrocontroller/avr/fusebit_tutorial
 
* http://www.wiki.elektronik-projekt.de/mikrocontroller/avr/fusebit_tutorial
* hier findet mann ein fusebit calculator: http://www.engbedded.com/fusecalc/
+
* hier findet mann ein Fusebit-calculator: http://www.engbedded.com/fusecalc/
 +
* hier gibts noch ein Fusebit-calculator mit mehr chips: http://eleccelerator.com/fusecalc/fusecalc.php?
 +
Wenn nichts selektiert ist gibts:  lf=FFund hf=FF
 +
wenn mann ein bit selektiert wird es 0
 +
Also wenn man nur spi enable anklickst gibts: lf=FF und hf=DF (weil bit5 0 ist - also gesetzt)
 +
EIN PROGRAMMIERT BIT = 0
 +
(Dies ist nun einmal den invertierte denkweise von atmel.)
 
* lese avr manual fuer atmega644 seite 284
 
* lese avr manual fuer atmega644 seite 284
* folgende fuse bits sind es bei mir geworden fuer atmega644:
+
* folgende fuse bits sind es bei mir geworden für atmega644:
 
* lfuse E7  
 
* lfuse E7  
 
* hfuse DC
 
* hfuse DC
 
* efuse FF
 
* efuse FF
 
  avrdude -p m644 -c ponyser -P /dev/ttyS0 -U lfuse:w:0xE7:m -U hfuse:w:0xDC:m -U efuse:w:0xFF:m
 
  avrdude -p m644 -c ponyser -P /dev/ttyS0 -U lfuse:w:0xE7:m -U hfuse:w:0xDC:m -U efuse:w:0xFF:m
*folgende fuse bits sind es bei mir geworden fuer atmega32:
+
* folgende fuse bits sind es bei mir geworden für atmega32:
 
* lfuse BF
 
* lfuse BF
 
* hfuse CA
 
* hfuse CA
 
  avrdude -p m32 -c ponyser -P /dev/ttyS0 -U lfuse:w:0xBF:m -U hfuse:w:0xCA:m
 
  avrdude -p m32 -c ponyser -P /dev/ttyS0 -U lfuse:w:0xBF:m -U hfuse:w:0xCA:m
 +
 +
fuse bits fuer atmega32 mit internem 8Mhz RC osc:
 +
lfuse A4
 +
hfuse CF
 +
 +
fuse bits fuer atmega8 16Mz und den foodloader als bootloader:
 +
lfuse FF
 +
hfuse C8
 +
 +
===problem loesung setzen von efuse bei ein atmega88pa===
 +
 +
nehm das entry 'atmega328p' von avrdude 5.10 und aender da das signature zu atmega88p (m88p).
 +
 +
pass die adressen und speicher an.
 +
 +
laut fuseclac soll es FA programmiert werden in efuse.
 +
 +
das klappt nicht weil immer ein fehler bei ruecklesen kommt.
 +
 +
sieht aus das die letzte 5 bits sich nicht aendern lassen.
 +
 +
weil nur die erste 3 bits gestzt werden sollten kann mann die letzte 5 bits von FA auf nul setzen.
 +
 +
FA gibt dann 0x02 als efuse.
 +
 +
wird dies an avr-dude weitergeleitet dan klappt es.
 +
 +
Womit ein bootloader mit 512 words lauft.
 +
 +
== Bootloader ==
 +
Findet man hier: http://www.lochraster.org/foodloader/
 +
 +
Erstelle ein leeres Dir und wechsle hinein - z.B. 'bootloader'.
 +
 +
Download geht auch mit:
 +
git clone git://github.com/fd0/foodloader
 +
Sehr gute Seite !
  
 
== ecmd interface via rs232/ USART ==
 
== ecmd interface via rs232/ USART ==
* wenn in menuconfig unter general > Enable (serial line) Debugging NICHT aktiviert ist, jedoch unter I/O support > usart ecmnd interface aktiviert ist wird die baudrate 19200 verwendet:
+
protocols -> Ecmd (Eteherrape Control Interface) support --> UART (RS232) (aktivieren)
screen /dev/ttyUSB0 19200 8N1
+
 
* wenn in menuconfig unter General > Enable (Serial Line) Debugging aktiviert ist und unter I/O support > Usart ecmd interface NICHT wird die baudrate 115200 verwendet: (Quarz > 16Mhz, kein teensy usw.)
+
dann: Ecmd usart select (wählen)
screen /dev/ttyUSB0 115200 8N1
+
 
* wenn eine baurate von 19200 oder 115200 nicht passt, weil zB. anderer Quarz oder AVR, dann kann die baudrate in: /protocols/ecmd/via_usart/ecmd_usart.h bzw. /core/debug.h auf den gewuenschten Wert eingestellt werden.
+
dann: UART Baudrate (gewünschte baudrate einstellen)
  
 
==ecmd interface via i2c ==
 
==ecmd interface via i2c ==
  
*In hauptmenu --> protocols --> i2c aktivieren da erscheinen dann i2c address und i2c buffer len
+
*Im hauptmenü --> protocols --> i2c aktivieren da erscheinen dann i2c address und i2c buffer len
  
 
Man schreibt sein kommando 0 terminiert rein und lieszt dann das ergebnis wieder aus
 
Man schreibt sein kommando 0 terminiert rein und lieszt dann das ergebnis wieder aus
  
Ein einfaches interface fuer den PC das unterstutz wird durch linux ab vers. 2.6.21  
+
Ein einfaches Interface für den PC das unterstutzt wird durch linux ab vers. 2.6.21  
  
besteht aus 2 wiederstanden und ein diode.
+
besteht aus 2 Widerständen und einer Diode.
  
 
   http://www.hifi-remote.com/jp1/simple/index.shtml
 
   http://www.hifi-remote.com/jp1/simple/index.shtml
  
module in linux laden met:
+
module in linux laden mit:
 
   modprobe i2c-parport type=7
 
   modprobe i2c-parport type=7
  
(wird noch erganzt)
 
  
 
== Port I/O und Ecmd ==
 
== Port I/O und Ecmd ==
Zeile 74: Zeile 124:
 
* das Beispiel gibt dann die werten von port PA aus:
 
* das Beispiel gibt dann die werten von port PA aus:
 
  io get port 0
 
  io get port 0
um das ddr register von port 3 zu lesen:
+
um das ddr Register von port 3 zu lesen:
  
die werten werden in hex als zb 0x00 ausgegeben
+
Die Werte werden in hex als z.B. 0x00 ausgegeben
 
  io get ddr 3  
 
  io get ddr 3  
 +
 
um das ddr register zu setzen:
 
um das ddr register zu setzen:
 
 
hier soll kein 0x prefix mitgegeben worden (so ff und kein 0xff)
 
hier soll kein 0x prefix mitgegeben worden (so ff und kein 0xff)
 
  io set ddr 3 ff
 
  io set ddr 3 ff
  
 
== Named Pins und Ecmd ==
 
== Named Pins und Ecmd ==
sehe http://www.ethersex.de/index.php/Named_PIN
+
siehe [[Named_PIN]]
* macht das steuern uebers http einfach und schoen (wenn http server im menuconfig aktiviert ist).
+
* macht das steuern übers http einfach und schön (wenn http server im menuconfig aktiviert ist).
* in /core/portio/config gibts du pins symbolische namen. Zum Beispiel:
+
* in /core/portio/config gibst du Pins symbolische Namen. Zum Beispiel:
 
  PD7 OUTPUT HIGH Verstaerker
 
  PD7 OUTPUT HIGH Verstaerker
 
dann kannst du mit ecmnd
 
dann kannst du mit ecmnd
Zeile 95: Zeile 145:
  
 
== EcmdScript ==
 
== EcmdScript ==
 
Ist stark in entwicklung.
 
  
 
Mit EcmdScript kann mann den ethersex als ein SPS (PLC) einsetzen.
 
Mit EcmdScript kann mann den ethersex als ein SPS (PLC) einsetzen.
Zeile 106: Zeile 154:
 
deutsch : http://de.wikipedia.org/wiki/Programmable_Logic_Controller
 
deutsch : http://de.wikipedia.org/wiki/Programmable_Logic_Controller
  
Beschreibung http://www.ethersex.de/index.php/ECMDScript
+
Beschreibung [[ECMDScript]]
  
 
Achte auf spaces EcmdScript ist da kritisch.
 
Achte auf spaces EcmdScript ist da kritisch.
Zeile 157: Zeile 205:
 
== Yport ( ethernet rs232 converter ) ==
 
== Yport ( ethernet rs232 converter ) ==
  
verlagert nach http://ethersex.de/index.php/YPort
+
verlagert nach [[YPort]]
  
 
== '''Zbus ( ein rs485 netzwerk mit ip''' ) ==
 
== '''Zbus ( ein rs485 netzwerk mit ip''' ) ==
  
Wichtig - erst dies lesen : http://www.ethersex.de/index.php/Network_Bridges
+
verlagert nach [[ZBus_am_PC_(RS232_zu_RS485_Konverter)]]
 +
 
 +
Die hardware fuer Zbus ist auch (ohne Zbus-software) als universal rs232 extender ein zu setzen.
 +
 
 +
Wenn man die beide kanalen nutz sogar mit hardware handshake. (halb duplex)
 +
 
 +
== '''ETHERSEX ALS RS232 SWITCH''' ==
 +
 
 +
Hier werden die netzwerkfaehigkeiten von ethersex software voll ausgenutzt.
 +
 
 +
Ein billiges netz mit weniger kabel.
 +
 
 +
- Mit Yport kann jedes rs232 geraet eingebunden werden. sehe [[YPort]]
 +
 
 +
- Mit Zbus kann man ne menge atmega's (max 32) an ein 2-draht bus haengen. sehe [[ZBus_am_PC_(RS232_zu_RS485_Konverter)]]
 +
 
 +
- Mit rfm12 kann man ein billiges wireless verbindung machen. sehe [[RFM12]]
 +
 
 +
- Wenn man das alles zusammen fuegt mit nur ein wenig vernunftige hardware entsteht also ein netzwerk wo man geraete mit ein rs232 interface einfach zufuegen kann.
 +
 
 +
In "wanted rs232 network" kann man fuer den PC auch ein  atmega644P (hat 2xseriell) nehmen und da ethernet + Zbus + Yport zu einsatz nehmen.
 +
 
 +
Das alles wird kommende zeit weiter gebaut und getestet. (teil schaltungen funktionieren schon alle)
 +
 
 +
Wie die RS232 geschaltet wird siehe '''Entwickulungs Platine''' unten.
 +
 
 +
 
 +
 
 +
[[bild:rs232network.png|800px]]
 +
 
 +
Alle RS232 vebindungen sind getrennt ansprechbar.
 +
 
 +
== '''USB (ip Netz Interface an avr-net-io) '''==
 +
 
 +
[[bild:USB.jpg|400px]]
 +
 
 +
sehe [[USB]] fuer Bauanleitung und Software
 +
 
 +
== '''Tcl/Tk interface fuer ethersex'''==
 +
 
 +
Target:
 +
 
 +
Ein programma das viele micro-komputer (mixed rs232 und ethernetz) steuern kann.
 +
 
 +
Den hardware is wie in [[ZBus am PC (RS232 zu RS485 Konverter)]] beschrieben. (+ ethernetz)
 +
 
 +
Ein einziges esex an rs232 geht auch.  :-)
 +
 
 +
Auf diese weise kann man ein esex messen lassen und etwa schalten mit ein andere esex.
 +
 
 +
Soll spaeter ein netz server bekommen und databank anbindung zum loggen.
 +
 
 +
[[bild:tcl1.png|350px]]  [[bild:tcl2.png|350px]]
 +
 
 +
Die software ist (vorlaufig) nur lauffaehig fuer node schaltung und ein command interface.
 +
 
 +
Wenn das ip gegeben ist wird ein netz socket gebildet. Alle andere falle wird ein rs232 socket gebaut.
 +
 
 +
Die idiot abfang routine mussen alle noch geschrieben werden.
 +
 
 +
Erst node select button (einstellen verbindung). Sichbar links unten wenn da CONNECTED (nicht CONNEC) steht.
 +
 
 +
Dann Programm Select - command line.
 +
 
 +
Normal ist I/O ein blocking system. Weil das es nicht passieren darf wenn einer esex ausfaellt das das ganze tcl
 +
 
 +
prog haengen bleibt ist es hier geloesst mit "non blocking" mode und ein timer.
 +
 
 +
 
 +
Download: [[media:tcl_tk_interface2.txt]]
 +
 
 +
 
 +
Ist noch baustelle !!!!.  HILFE IST WILLKOMMEN
 +
 
 +
Kriege es nicht Idiot sicher. Stecker mal ziehen und zurueck gibt haenger.
 +
 
 +
== '''Entwicklungs Platine '''==
  
Hier findet mann die anschluss von atmega8 an atmega644 http://www.ethersex.de/index.php/Bild:Zbus.pdf
+
=== ''MC34063 Schaltnetzteil berechnung ''===
  
Aufbau von ein rs485 netz http://archive.chipcenter.com/embapps/emba062.htm
+
http://dics.voicecontrol.ro/tutorials/mc34063/
  
Bild 1 gibt ein richtige aufbau.
+
=== ''Einsatz von cat5 Kabel ''===
  
Dort kann mann am ende des artikel auch als pdf downloaden.Die bilder von htm sind deutlicher als von den pdf.
+
==== ''Kabel''====
  
Protokoll sehe http://www.ethersex.de/index.php/ZBus_Protokoll
+
Maximal Strom durch ein Leiter ist 570 mA.
  
Den PC als host sehe http://www.ethersex.de/index.php/ZBus_Serial_Host
+
Alles ueber cat5 Kabel ist hier zu finden.
  
; ''' PC als host node am Zbus einsetzen:'''
+
http://en.wikipedia.org/wiki/Category_5_cable
: Ein PC_Host adapter kann so aussehen :
 
: - Ist auch als universal rs232-rs485 Konverter ein zu setzen
 
: - Hat zwei rs485 Kanalen
 
: - Das umschalten zwischen empfangen und senden ist Baudrate unabhaengig.
 
: - Verkraftet Baudrate bis 115200.
 
: - Mit den Jumper kann man jede Kabel anschliessen ohne loeten.
 
: - Die Leds leuchten nur auf wenn etwas ampfangen oder gesendet wird.
 
: - Kein hardware handshake.
 
: - J4 ist dafuer das bei kurzere Leitungen 5V weitergeleitet werden kann sodass kein spannungsumwandler bei die node noetig ist.
 
: - Mit 2 extra Jumper ist auch ein RS422 ein zu stellen [[media:Zbus_node_PoZbus_RS232_RS485_RS422.png]]
 
[[Bild:Zbus_node_PC_PoZbus.png|800px]]
 
''Schaltplan PC am Zbus (aka) universal rs232 extender (ohne hardware handshaking)''
 
  
[[Bild:P1010069.jpg|400px]]  [[Bild:P1010070.jpg|400px]]
+
Spannungs verlust in cat5 kabel
  
 +
http://www.analog.com/library/analogdialogue/archives/38-07/equalizer.pdf
  
;'''Beispiel node mit atmega8'''
+
==== ''I2C ueber cat5''====
[[Bild:Zbus_node_PoE.png|800px]]
 
  
''Zbus node mit atemaga8''
+
http://www.nxp.com/documents/application_note/AN10658.pdf
 +
 
 +
==== ''VGA ueber cat5''====
 +
 
 +
http://www.intersil.com/products/deviceinfo.asp?pn=EL4543
 +
 
 +
http://www.intersil.com/data/fn/fn7325.pdf
 +
 
 +
==== '' Levelshifter 5V <> 3.3V bidirektional ''====
 +
 
 +
http://www.kip.uni-heidelberg.de/lhcb/Publications/external/AN97055.pdf
 +
 
 +
==== '' Levelshifter RS232 - TTL mit 2x mosfet 2N7000 '' ====
 +
http://www.botkin.org/dale/rs232_interface.htm
 +
 
 +
http://www.electro-tech-online.com/attachments/microcontrollers/4897d1117851836-rs232-level-shifting-power-consumption-ttl-232_convertor.jpg
 +
 
 +
=== ''Backplane Platine '' ===
 +
 
 +
Verdrahtung zwischen Module findet hier sein Platz.
 +
 
 +
Wobei nur die drahten gelegt werden die wirklich genutzt werden.  :-))
 +
 
 +
[[bild:l1_back.jpg|25px]]  [[bild:l1_front.jpg|25px]]  [[bild:l1_kaarten.jpg|25px]]
 +
 
 +
[[bild:l1_backplane.jpg|250px]]  [[bild:l1_fullsystem.jpg|250px]]
 +
 
 +
Stecker DIN41612
 +
 
 +
Reihe a und c belegt
 +
  a                      c
 +
----------------------------------------------
 +
  1 .....9-40V dc........ 1                        PINS 1-9 RESERVED
 +
  2 .....ground.......... 2
 +
  3 .....+5V............. 3                        [.....] SAME ON ALL 41612 SOCKETS (including modules)
 +
  4 .....+3.3 V.......... 4
 +
  5 .....A Zbus.......... 5
 +
  6 .....B Zbus.......... 6
 +
  7 ..Rx (Yport)          7 ..Tx (Yport)
 +
  8 ..SCL (bus)          8 ..Rx (slave)
 +
  9 ..SDA (bus)          9 ..Tx (slave)
 +
10 ..                  10 ..
 +
11 ..                  11 ..
 +
12 ..                  12 ..
 +
13 ..PB0                13 ..PA0
 +
14 ..PB1                14 ..PA1
 +
15 ..PB2                15 ..PA2
 +
16 ..PB3                16 ..PA3
 +
17 ..PB4 [SS]          17 ..PA4
 +
18 ..PB5 [MOSI]        18 ..PA5
 +
19 ..PB6 [MISO]        19 ..PA6
 +
20 ..PB7 [SCK]          20 ..PA7
 +
21 ..[RESET]            21 ..
 +
22 ..                  22 ..
 +
23 ..                  23 ..
 +
24 ..                  24 ..PC7
 +
25 ..XTAL1 [EXT.CLOCK]  25 ..PC6
 +
26 ..PD0 [Rx0]          26 ..PC5
 +
27 ..PD1 [Tx0]          27 ..PC4
 +
28 ..PD2                28 ..PC3
 +
29 ..PD3                29 ..PC2
 +
30 ..PD4                30 ..PC1 [SDA]
 +
31 ..PD5                31 ..PC0 [SCL]
 +
32 ..PD6                32 ..PD7
 +
 
 +
 
 +
 
 +
===''Modular Platine Schaltnetzteil''===
 +
 
 +
[[bild:l1_schaltnetzteil.jpg|250px]]
 +
 
 +
Schaltplan Schaltnetzteil: [[ZBus_am_PC_(RS232_zu_RS485_Konverter)]]
 +
 
 +
in : 9 - 40V dc oder 9 - 28V ac
 +
 
 +
out: +5V  +3.3V
 +
 
 +
===''Modular Platine Programmer + 2x RS232 + USB''===
 +
 
 +
[[bild:l1_progger_rs232.jpg|250px]]
 +
 
 +
Schaltplan Programmer (ist ein pony seriell) sehe : [[http://www.olimex.com/dev/pdf/avr-pg1b.pdf ponyser programmer]]
 +
 
 +
Schaltplan RS232 : [[ZBus_am_PC_(RS232_zu_RS485_Konverter)]]
 +
 
 +
Schaltplan USB : [[USB]]
 +
 
 +
 
 +
===''Modular Platine Programmer seriell ttl''===
 +
 
 +
[[bild:l1_rs232_ttl_programmer.jpg|250px]]
 +
 
 +
Nachbau von:
 +
 
 +
http://www.klaus-leidinger.de/mp/Mikrocontroller/AVR-Prog/AVR-Programmer.html#ATTiny2313
 +
 
 +
Orginal Software gibt ein Baudrate von 115200
 +
 
 +
Fuer Linux (Debian) " apt-get install avra " eingeben fuer ein brauchbare Compiler.
 +
 
 +
Damit laesst sich dan bei aenderung von den Baurate im Source die hex file neu erstellen.
 +
 
 +
===''Modular Platine sd-karte''===
 +
 
 +
[[bild:l1_sd-karte.jpg|250px]]  [[bild:l1_sd-karte.png|250px]]
 +
 
 +
sehe fuer Schaltplan:  http://www.roland-riegel.de/sd-reader/index.html
 +
 
 +
 
 +
===''Modular Platine Taktgeber''===
 +
 
 +
[[bild:l1_taktgeber.jpg|250px]]
 +
 
 +
Schaltplan Taktgeber: 3 Taktgeber mit ein 74HC04 (achtung soll HC sein).
 +
 
 +
Jeder Taktgeber kann mit ein 74HCT4040 (ripple counter) weiter geteilt werden.
 +
 
 +
Und damit stehen alle Frequenzen zum verfuegung beim Entwicklung.
 +
 
 +
in folgende url kann man die aufbau von oscillator finden.
 +
 
 +
http://www.eetindia.co.in/STATIC/PDF/200810/EEIOL_2008OCT09_EDA_AN_01.pdf?SOURCES=DOWNLOAD
 +
 
 +
===''Modular Platine 8-port Uart Switch''===
 +
 
 +
[[bild:l1_8_port_ttl_switch.jpg|250px]]  [[bild:l1_cpu_switch2.png|250px]]  [[bild:l1_cpu_switch.png|250px]]
 +
 
 +
 
 +
- wenn der PC an Y0D0 haengt ist immer ein Verbindung mit den cpu zu machen. (alle schalter auf 0)
 +
 
 +
- an alle andere YxDx kann ein esex oder was anders gehaengt werden pro rs232
 +
 
 +
- an Haupt Anschluss (CPU) lauft dann den Supervisor. (mit ein bevorzugte Sprache)
 +
 
 +
- Der Supervisor waehlt pro A0 A1 A2 ein Slave zum quatchen.
 +
 
 +
- Der PC wird eingestezt als Datalogger. (oder esex mit sd-karte)
 +
 
 +
[[bild:rs232-switch-diode-and.png|250px]]
 +
 
 +
===''Modular Platine ethernetz''===
 +
 
 +
 
 +
[[bild:l1_ethernet.jpg|250px]] [[bild:l1_back_ethernet.jpg|250px]]
 +
 
 +
Zusammen mit Yport in ein atmega644p wird der RS232 switch gesteuert sodass (vorlaufig) 8 slaves (max. 128) zu erreichen sind mit ein einziges ethernetz anbindung.
 +
Pro RS422 wird weiter verteilt mit cat5 kabel.
 +
 
 +
Pin 4 (== int von ENC28J60) ist am Pin 3 (== PB2 Atmega644p) gelegt womit die Platine AVR-NET-IO aehnlich ist.
 +
 
 +
Impulsuebertrager: http://shop.ulrichradig.de/passive-Bauelemente
 +
 
 +
Schaltplan (mehr oder weniger): http://www.ulrichradig.de/home/index.php/avr/eth_m32_ex
 +
 
 +
PortA wird eingesetzt zum schalten von RS232 Switch.
 +
Switch  CPU
 +
--------------
 +
A0......PA0
 +
A1......PA1
 +
A2......PA2
 +
........PA3  - NC ist frei um einfacher zu schalten pro io (hex werten).
 +
A3......PA4  - Ist das Card Select fuer Switch 1.
 +
........PA5  - Card Select Switch 2.
 +
........PA6  - Card Select Switch 3.
 +
........PA7  - Umschaltung von PC und Switch Eingang: PC <-> Slave 0.  (mit ein 74hc241)
 +
 
 +
Erster channel auf card 1  (Channel geht von 0...7)
 +
io set port 0 60  (Bei 6 ist Pin PA4 0 die andere 1)
 +
 
 +
Vielleicht erst Port richtig setzen:
 +
io set ddr port 0 ff
 +
Kein 0x bei Hex wert.
 +
 
 +
===''Batterie Schalter  40V  380Amp ''===
 +
[[bild:mosfet.png|250px]]
 +
 
 +
===''universeler serieller bi-directional extender ''===
 +
[[bild:universal-birectional-extender.png|250px]]  [[bild:universal-birectional-extender-opto.png|250px]]
 +
 
 +
Automotive Physical Layer SAE J1708: http://www.national.com/an/AN/AN-915.pdf
 +
 
 +
Ten Ways to Bulletproof RS-485 Interfaces: http://www.national.com/an/AN/AN-1057.pdf
 +
 
 +
FAILSAFE Biasing of Differential Buses: http://www.national.com/an/AN/AN-847.pdf
 +
 
 +
Physical Layer Alternatives: http://www.national.com/an/AN/AN-967.pdf
 +
 
 +
==='' single-wire-software-uart ''===
 +
 
 +
http://atmel.com/dyn/resources/prod_documents/AVR274.pdf
 +
 
 +
http://www.atmel.com/dyn/resources/prod_documents/AVR274.zip
 +
 
 +
http://www.maxim-ic.com/app-notes/index.mvp/id/214
 +
 
 +
==='' single-wire-half-duplex-uart-bus ''===
 +
[[bild:diode-mosfet-single-wire.png|250px]]
 +
 
 +
==='' Schaltungslayouts für Lochrasterplatinen ''===
 +
 
 +
BlackBoard dient dazu, Schaltungslayouts für Lochrasterplatinen zu entwerfen.
 +
 
 +
Eine kurze Demonstration und Einführung, was man mit BlackBoard anstellen kann, gibt es hier:
 +
 
 +
http:/http://blackboard.serverpool.org/?p=91
 +
 
 +
[[bild:netwerk-atmega.png|500px]]/www.blackboard.serverpool.org
 +
 
 +
Mit RS232 RS422 RS485 Ethernetz 'Single wire halb duplex uart bus'
 +
 
 +
Noch nicht gebaut - kann also Fehler enthalten.
 +
 
 +
Jetzt auch mit DIN41612 Stecker und viele andere Bauteilen, Download hier:
 +
 
 +
http://www.sebulli.com/BlackBoard/index.html
 +
 
 +
== Debian Tips ==
 +
 
 +
sehe [[Debian_Tips]]
  
 
== LCD ausgabe ==
 
== LCD ausgabe ==
  
sehe http://www.ethersex.de/index.php/LCD
+
sehe [[LCD]]
  
 
== wissenswert bei make menuconfig ==
 
== wissenswert bei make menuconfig ==
Zeile 236: Zeile 566:
 
alles ist da schon richtig eingegeben (nichts aendern)
 
alles ist da schon richtig eingegeben (nichts aendern)
  
alle werden dan in http://www.ethersex.de/~habo/stat/ gelistet nur mit zeit und mac  
+
alle werden dan in [[~habo/stat/]] gelistet nur mit zeit und mac  
  
 
== ETHERSEX HOWTO ==
 
== ETHERSEX HOWTO ==
Zeile 244: Zeile 574:
 
Hier werden alle links eingefuegt die meiner meinung nach information behalten die auch in ein HOWTO sein sollte.
 
Hier werden alle links eingefuegt die meiner meinung nach information behalten die auch in ein HOWTO sein sollte.
  
Sind alle links zu : http://www.ethersex.de/index.php/Spezial:Alle_Seiten  
+
Sind alle links zu : [[Spezial:Alle_Seiten ]]
  
 
Wo auch noch ein menge andere documentation zu finden ist.
 
Wo auch noch ein menge andere documentation zu finden ist.
Zeile 250: Zeile 580:
  
 
==== DIE UNGEAHNTE MOEGLICHKEITEN VON ETHERSEX ====
 
==== DIE UNGEAHNTE MOEGLICHKEITEN VON ETHERSEX ====
   http://www.ethersex.de/index.php/Feature_Liste
+
   [[Feature_Liste]]
  
 
==== HARDWARE ====
 
==== HARDWARE ====
 
Direkt durch den software unterstuetzte hardware:
 
Direkt durch den software unterstuetzte hardware:
   http://www.ethersex.de/index.php/Unterstützte_Hardware
+
   [[Unterstützte_Hardware]]
  
 
==== SOFTWARE ====
 
==== SOFTWARE ====
 
Ein komplette Entwicklungs umgebung (sogar ohne installierung) mit :
 
Ein komplette Entwicklungs umgebung (sogar ohne installierung) mit :
   http://www.ethersex.de/index.php/Live_CD
+
   [[Live_CD]]
 
Voraussetzung an software:
 
Voraussetzung an software:
   http://www.ethersex.de/index.php/Voraussetzungen
+
   [[Voraussetzungen]]
 
Download:
 
Download:
   http://www.ethersex.de/index.php/Download
+
   [[Download]]
 
git howto :
 
git howto :
   http://www.ethersex.de/index.php/Git_HowTo
+
   [[Git_HowTo]]
 
step by step zum software :
 
step by step zum software :
   http://www.ethersex.de/index.php/Kategorie:StepByStep
+
   [[Kategorie:StepByStep]]
  
 
==== SOFTWARE PROTOCOLS IN ETHERSEX ====
 
==== SOFTWARE PROTOCOLS IN ETHERSEX ====
 
ecmd  : if enabled in menuconfig  
 
ecmd  : if enabled in menuconfig  
   http://www.ethersex.de/index.php/ECMD
+
   [[ECMD]]
   http://www.ethersex.de/index.php/Ecmd_Reference
+
   [[Ecmd_Reference]]
   http://www.ethersex.de/index.php/ECMD_Protocols
+
   [[ECMD_Protocols]]
   http://www.ethersex.de/index.php/Ethersex_Ecmd_Erstellen
+
   [[Ethersex_Ecmd_Erstellen]]
   http://www.ethersex.de/index.php/AliasCmd
+
   [[AliasCmd]]
  
 
==== COMMUNITY ====
 
==== COMMUNITY ====
 
Hier ist hilfe zu finden :
 
Hier ist hilfe zu finden :
   http://www.ethersex.de/index.php/Community
+
   [[Community]]
  
 
==== HARDWARE ANBINDUNG  ====
 
==== HARDWARE ANBINDUNG  ====
 
* in menuconfig unterstuetzte hardware.
 
* in menuconfig unterstuetzte hardware.
 
lcd :
 
lcd :
   http://www.ethersex.de/index.php/LCD
+
   [[LCD]]
  
 
rfm12 :
 
rfm12 :
 
senden und empfangen von ip ueber 433 Mhz (wireless netz) :
 
senden und empfangen von ip ueber 433 Mhz (wireless netz) :
   http://www.ethersex.de/index.php/BitfehlerASK
+
   [[BitfehlerASK]]
   http://www.ethersex.de/index.php/RFM12
+
   [[RFM12]]
   http://www.ethersex.de/index.php/RFM12_ASK
+
   [[RFM12_ASK]]
 
     TevionFunksteckdosen, welche über eine 'Anlern-Taste' auf den gesendeten Haus- und Gerätecode
 
     TevionFunksteckdosen, welche über eine 'Anlern-Taste' auf den gesendeten Haus- und Gerätecode
 
     programmiert  werden können :
 
     programmiert  werden können :
   http://www.ethersex.de/index.php/HowToRFM12_ASK
+
   [[HowToRFM12_ASK]]
   http://www.ethersex.de/index.php/RS485_Converter
+
   [[RS485_Converter]]
   http://www.ethersex.de/index.php/Hardware-Rayofhope
+
   [[Hardware-Rayofhope]]
  
 
I2C  :Der I2C-Bus (Inter Integrated Circuit) ist ein einfacher Zweidraht-Bus.
 
I2C  :Der I2C-Bus (Inter Integrated Circuit) ist ein einfacher Zweidraht-Bus.
   http://www.ethersex.de/index.php/I2C
+
   [[I2C]]
   http://www.ethersex.de/index.php/I2C_Bootloader
+
   [[I2C_Bootloader]]
  
 
camera Dc3840 :
 
camera Dc3840 :
 
webcam
 
webcam
   http://www.ethersex.de/index.php/DC3840_Camera
+
   [[DC3840_Camera]]
   http://www.ethersex.de/index.php/HTTPD
+
   [[HTTPD]]
  
 
one wire :
 
one wire :
 
1-wire Temperatursensoren mit ECMD auflisten und abfragen
 
1-wire Temperatursensoren mit ECMD auflisten und abfragen
   http://www.ethersex.de/index.php/Dallas_1-wire_Bus
+
   [[Dallas_1-wire_Bus]]
  
 
stella light :
 
stella light :
   http://www.ethersex.de/index.php/Stella_Light
+
   [[Stella_Light]]
   http://www.ethersex.de/index.php/Ecmd_speed_protocol
+
   [[Ecmd_speed_protocol]]
  
 
kty :
 
kty :
 
Temperaturen mit dem ATmega messen  
 
Temperaturen mit dem ATmega messen  
   http://www.ethersex.de/index.php/Temperaturmessung_mit_KTY
+
   [[Temperaturmessung_mit_KTY]]
  
 
* software aktivieren fuer neue hardware (nicht in menuconfig) :
 
* software aktivieren fuer neue hardware (nicht in menuconfig) :
   http://www.ethersex.de/index.php/Ethersex_Hardware_hinzufügen
+
   [[Ethersex_Hardware_hinzufügen]]
  
 
==== PORT STEUERUNG ====
 
==== PORT STEUERUNG ====
 
* Pins :
 
* Pins :
   http://www.ethersex.de/index.php/Pins_in_Ethersex_definieren
+
   [[Pins_in_Ethersex_definieren]]
 
* Yport : ethernetz zu rs232 konverter
 
* Yport : ethernetz zu rs232 konverter
   http://www.ethersex.de/index.php/YPort
+
   [[YPort]]
  
 
==== NETZWERK AUFBAU ====
 
==== NETZWERK AUFBAU ====
 
   lesen bevor man Zbus oder rfm12 einsetzt
 
   lesen bevor man Zbus oder rfm12 einsetzt
   http://www.ethersex.de/index.php/Network_Bridges
+
   [[Network_Bridges]]
 
* Zbus :  
 
* Zbus :  
 
ip netzwerk ueber rs485
 
ip netzwerk ueber rs485
   http://www.ethersex.de/index.php/ZBus
+
   [[ZBus]]
   http://www.ethersex.de/index.php/ZBus_Bootloader
+
   [[ZBus_Bootloader]]
   http://www.ethersex.de/index.php/ZBus_Protokoll
+
   [[ZBus_Protokoll]]
   http://www.ethersex.de/index.php/ZBus_Serial_Host
+
   [[ZBus_Serial_Host]]
 
* rfm12 :
 
* rfm12 :
 
senden und empfangen von ip ueber 433 Mhz (wireless netz) :
 
senden und empfangen von ip ueber 433 Mhz (wireless netz) :
   http://www.ethersex.de/index.php/RFM12
+
   [[RFM12]]
   http://www.ethersex.de/index.php/RFM12_ASK
+
   [[RFM12_ASK]]
 
     TevionFunksteckdosen, welche über eine 'Anlern-Taste' auf den gesendeten Haus- und Gerätecode
 
     TevionFunksteckdosen, welche über eine 'Anlern-Taste' auf den gesendeten Haus- und Gerätecode
 
     programmiert  werden können :
 
     programmiert  werden können :
   http://www.ethersex.de/index.php/HowToRFM12_ASK
+
   [[HowToRFM12_ASK]]
   http://www.ethersex.de/index.php/Funk2Duo
+
   [[Funk2Duo]]
 +
 
 +
== '''Live-CD mit rw partition''' ==
 +
Verlagert zu [[Live-CD_mit_rw_partition]]
 +
 
  
 
[[Kategorie:Erfahrungsberichte]]
 
[[Kategorie:Erfahrungsberichte]]

Aktuelle Version vom 21. Oktober 2014, 11:00 Uhr

Fuer den die es noch nicht aufgefallen ist: Deutsch ist nicht mein Muttersprache  :-)

Inhaltsverzeichnis

Ziel dieses Projekts

  • mal mit avr's anfangen und verstehen und die "closed software" von pollin durch "open source software" ersetzen

AVR hardware umgebung

  • Programmer: Atmel Evaluations-Board Version 2.0.1. Bei avrdude läuft dieser unter "pony seriell" also: -c ponyser
  • Hier ist ein ponyser Programmer zu finden der dem obigen ähnelt: [ponyser programmer]
  • avr-net-io
  • atmega644
  • geliefert von [http://www.pollin.de]

Software umgebung

Live_CD

  • apt-get install libncurses5-dev
  • update und installierte Software fuer ethersex wie hier beschrieben Download
  • wenn help in menuconfig nicht geht: apt-get install dialog

Hilfe

  • Die Community ist hier zu finden,
  • dort habe ich folgendes erfahren:

Seite bearbeiten/schreiben ins wiki

http://de.wikibooks.org/wiki/Hilfe:Seiten_bearbeiten

Problem mit ponyprog auf dem Atmel Evaluations-Board in Verbindung mit einem usb-rs232 konverter

  • baudrate /dev/ttyUSB0 auf 9600 8N1
avrdude -p m644 -c ponyser -P /dev/ttyUSB0 -t  (avrdude in terminal mode)
  • verbindung mit dem atmega644, kann fuse bits lesen usw. (zb. r lf gibt das low fuse aus siehe manual avrdude)
  • aber avrdude bleibt beim Versuch mit /dev/ttyUSB0 als Interface zu flashen hängen
  • ersatz durch ein kabel an /dev/ttyS0
  • baudrate /dev/ttyS0 auf 9600 8N1
avrdude -p m644 -c ponyser -P /dev/ttyS0 -U flash:w:ethersex.hex -v
  • laeuft dann problemlos durch
  • Das usb-rs232 interface funktioniert jedoch mit der usart vom board tadellos.

RS232 programmiergerät

http://www.klaus-leidinger.de/mp/Mikrocontroller/AVR-Prog/AVR-Programmer.html#ATTiny2313

Fuse bits

Wenn nichts selektiert ist gibts:  lf=FFund hf=FF
wenn mann ein bit selektiert wird es 0
Also wenn man nur spi enable anklickst gibts: lf=FF und hf=DF (weil bit5 0 ist - also gesetzt)
EIN PROGRAMMIERT BIT = 0
(Dies ist nun einmal den invertierte denkweise von atmel.)
  • lese avr manual fuer atmega644 seite 284
  • folgende fuse bits sind es bei mir geworden für atmega644:
  • lfuse E7
  • hfuse DC
  • efuse FF
avrdude -p m644 -c ponyser -P /dev/ttyS0 -U lfuse:w:0xE7:m -U hfuse:w:0xDC:m -U efuse:w:0xFF:m
  • folgende fuse bits sind es bei mir geworden für atmega32:
  • lfuse BF
  • hfuse CA
avrdude -p m32 -c ponyser -P /dev/ttyS0 -U lfuse:w:0xBF:m -U hfuse:w:0xCA:m
fuse bits fuer atmega32 mit internem 8Mhz RC osc:
lfuse A4
hfuse CF
fuse bits fuer atmega8 16Mz und den foodloader als bootloader:
lfuse FF
hfuse C8

problem loesung setzen von efuse bei ein atmega88pa

nehm das entry 'atmega328p' von avrdude 5.10 und aender da das signature zu atmega88p (m88p).

pass die adressen und speicher an.

laut fuseclac soll es FA programmiert werden in efuse.

das klappt nicht weil immer ein fehler bei ruecklesen kommt.

sieht aus das die letzte 5 bits sich nicht aendern lassen.

weil nur die erste 3 bits gestzt werden sollten kann mann die letzte 5 bits von FA auf nul setzen.

FA gibt dann 0x02 als efuse.

wird dies an avr-dude weitergeleitet dan klappt es.

Womit ein bootloader mit 512 words lauft.

Bootloader

Findet man hier: http://www.lochraster.org/foodloader/

Erstelle ein leeres Dir und wechsle hinein - z.B. 'bootloader'.

Download geht auch mit:

git clone git://github.com/fd0/foodloader

Sehr gute Seite !

ecmd interface via rs232/ USART

protocols -> Ecmd (Eteherrape Control Interface) support --> UART (RS232) (aktivieren)

dann: Ecmd usart select (wählen)

dann: UART Baudrate (gewünschte baudrate einstellen)

ecmd interface via i2c

  • Im hauptmenü --> protocols --> i2c aktivieren da erscheinen dann i2c address und i2c buffer len

Man schreibt sein kommando 0 terminiert rein und lieszt dann das ergebnis wieder aus

Ein einfaches Interface für den PC das unterstutzt wird durch linux ab vers. 2.6.21

besteht aus 2 Widerständen und einer Diode.

 http://www.hifi-remote.com/jp1/simple/index.shtml

module in linux laden mit:

 modprobe i2c-parport type=7


Port I/O und Ecmd

  • der atmega644 hat 4 ports PA PB PC PD
  • PORTNUM ist dann PA=0 PB=1 PC=2 PD=3
  • das Beispiel gibt dann die werten von port PA aus:
io get port 0

um das ddr Register von port 3 zu lesen:

Die Werte werden in hex als z.B. 0x00 ausgegeben

io get ddr 3 

um das ddr register zu setzen: hier soll kein 0x prefix mitgegeben worden (so ff und kein 0xff)

io set ddr 3 ff

Named Pins und Ecmd

siehe Named_PIN

  • macht das steuern übers http einfach und schön (wenn http server im menuconfig aktiviert ist).
  • in /core/portio/config gibst du Pins symbolische Namen. Zum Beispiel:
PD7 OUTPUT HIGH Verstaerker

dann kannst du mit ecmnd

 pin set Verstaerker on

an das Ethersex senden, um den pin PD7 zu aktivieren

pin set Verstaerker off

schaltet den Verstaerker, bzw. pin PD7, wieder aus

EcmdScript

Mit EcmdScript kann mann den ethersex als ein SPS (PLC) einsetzen.

Eine Speicherprogrammierbare Steuerung (SPS, engl. Programmable Logic Controller, PLC) ist eine Baugruppe, die zur Steuerung oder Regelung einer Maschine oder Anlage eingesetzt wird

english : http://en.wikipedia.org/wiki/Programmable_Logic_Controller

deutsch : http://de.wikipedia.org/wiki/Programmable_Logic_Controller

Beschreibung ECMDScript

Achte auf spaces EcmdScript ist da kritisch.

Wenn ein ecmd space(s) hat bei if dan es ein alias geben z.b. $get_heizung = pin get Heizung

if ( $get_heizung eq off ) then echo es ist warm genug

Textvergleiche sind: eq und ne

  • VARIABLEN

Standard sind da 4 VARIABLEN nahme: 1 2 3 4

Nur zahlen. Nahmen geht nicht.

Das Anzahl ist zu aendern in

 Applications  --->
  [*] ECMD (Etherrape Control Interface) support  ---> 
    [*] ECMD Scripting  --->
        (4)   Maximum number of variables 

Alias eingeben

 Applications  --->
  [*] ECMD (Etherrape Control Interface) support  ---> 
    [*] ECMD Scripting  --->
      [*] Alias Command Names  --->

Fuer Named Pins

zb.ein alias eingeben (wenn nicht mit make menuconfig dann mit ein editor in protocols/ecmd/alias_defs.m4)

alias_ifdef(NAMED_PIN_SUPPORT)
  alias("Heizung", "pin get Heizung")
alias_endif()

einfuegen

Netzwerk-Einstellung aendern

zB. mit:

ip 10.0.0.180

wird die ip geaendert

netmask 255.255.0.0

aendert die netmask

gw 10.0.0.222

das gateway

und dann ein

reset

eingeben, um die aenderungen zu uebernehmen.

Yport ( ethernet rs232 converter )

verlagert nach YPort

Zbus ( ein rs485 netzwerk mit ip )

verlagert nach ZBus_am_PC_(RS232_zu_RS485_Konverter)

Die hardware fuer Zbus ist auch (ohne Zbus-software) als universal rs232 extender ein zu setzen.

Wenn man die beide kanalen nutz sogar mit hardware handshake. (halb duplex)

ETHERSEX ALS RS232 SWITCH

Hier werden die netzwerkfaehigkeiten von ethersex software voll ausgenutzt.

Ein billiges netz mit weniger kabel.

- Mit Yport kann jedes rs232 geraet eingebunden werden. sehe YPort

- Mit Zbus kann man ne menge atmega's (max 32) an ein 2-draht bus haengen. sehe ZBus_am_PC_(RS232_zu_RS485_Konverter)

- Mit rfm12 kann man ein billiges wireless verbindung machen. sehe RFM12

- Wenn man das alles zusammen fuegt mit nur ein wenig vernunftige hardware entsteht also ein netzwerk wo man geraete mit ein rs232 interface einfach zufuegen kann.

In "wanted rs232 network" kann man fuer den PC auch ein atmega644P (hat 2xseriell) nehmen und da ethernet + Zbus + Yport zu einsatz nehmen.

Das alles wird kommende zeit weiter gebaut und getestet. (teil schaltungen funktionieren schon alle)

Wie die RS232 geschaltet wird siehe Entwickulungs Platine unten.


Rs232network.png

Alle RS232 vebindungen sind getrennt ansprechbar.

USB (ip Netz Interface an avr-net-io)

USB.jpg

sehe USB fuer Bauanleitung und Software

Tcl/Tk interface fuer ethersex

Target:

Ein programma das viele micro-komputer (mixed rs232 und ethernetz) steuern kann.

Den hardware is wie in ZBus am PC (RS232 zu RS485 Konverter) beschrieben. (+ ethernetz)

Ein einziges esex an rs232 geht auch.  :-)

Auf diese weise kann man ein esex messen lassen und etwa schalten mit ein andere esex.

Soll spaeter ein netz server bekommen und databank anbindung zum loggen.

Tcl1.png Tcl2.png

Die software ist (vorlaufig) nur lauffaehig fuer node schaltung und ein command interface.

Wenn das ip gegeben ist wird ein netz socket gebildet. Alle andere falle wird ein rs232 socket gebaut.

Die idiot abfang routine mussen alle noch geschrieben werden.

Erst node select button (einstellen verbindung). Sichbar links unten wenn da CONNECTED (nicht CONNEC) steht.

Dann Programm Select - command line.

Normal ist I/O ein blocking system. Weil das es nicht passieren darf wenn einer esex ausfaellt das das ganze tcl

prog haengen bleibt ist es hier geloesst mit "non blocking" mode und ein timer.


Download: media:tcl_tk_interface2.txt


Ist noch baustelle !!!!. HILFE IST WILLKOMMEN

Kriege es nicht Idiot sicher. Stecker mal ziehen und zurueck gibt haenger.

Entwicklungs Platine

MC34063 Schaltnetzteil berechnung

http://dics.voicecontrol.ro/tutorials/mc34063/

Einsatz von cat5 Kabel

Kabel

Maximal Strom durch ein Leiter ist 570 mA.

Alles ueber cat5 Kabel ist hier zu finden.

http://en.wikipedia.org/wiki/Category_5_cable

Spannungs verlust in cat5 kabel

http://www.analog.com/library/analogdialogue/archives/38-07/equalizer.pdf

I2C ueber cat5

http://www.nxp.com/documents/application_note/AN10658.pdf

VGA ueber cat5

http://www.intersil.com/products/deviceinfo.asp?pn=EL4543

http://www.intersil.com/data/fn/fn7325.pdf

Levelshifter 5V <> 3.3V bidirektional

http://www.kip.uni-heidelberg.de/lhcb/Publications/external/AN97055.pdf

Levelshifter RS232 - TTL mit 2x mosfet 2N7000

http://www.botkin.org/dale/rs232_interface.htm

http://www.electro-tech-online.com/attachments/microcontrollers/4897d1117851836-rs232-level-shifting-power-consumption-ttl-232_convertor.jpg

Backplane Platine

Verdrahtung zwischen Module findet hier sein Platz.

Wobei nur die drahten gelegt werden die wirklich genutzt werden.  :-))

L1 back.jpg L1 front.jpg L1 kaarten.jpg

L1 backplane.jpg L1 fullsystem.jpg

Stecker DIN41612

Reihe a und c belegt

 a                       c
----------------------------------------------
 1 .....9-40V dc........ 1                        PINS 1-9 RESERVED
 2 .....ground.......... 2
 3 .....+5V............. 3                        [.....] SAME ON ALL 41612 SOCKETS (including modules)
 4 .....+3.3 V.......... 4
 5 .....A Zbus.......... 5
 6 .....B Zbus.......... 6
 7 ..Rx (Yport)          7 ..Tx (Yport)
 8 ..SCL (bus)           8 ..Rx (slave)
 9 ..SDA (bus)           9 ..Tx (slave)
10 ..                   10 ..
11 ..                   11 ..
12 ..                   12 ..
13 ..PB0                13 ..PA0
14 ..PB1                14 ..PA1
15 ..PB2                15 ..PA2
16 ..PB3                16 ..PA3
17 ..PB4 [SS]           17 ..PA4
18 ..PB5 [MOSI]         18 ..PA5
19 ..PB6 [MISO]         19 ..PA6
20 ..PB7 [SCK]          20 ..PA7
21 ..[RESET]            21 ..
22 ..                   22 ..
23 ..                   23 ..
24 ..                   24 ..PC7
25 ..XTAL1 [EXT.CLOCK]  25 ..PC6
26 ..PD0 [Rx0]          26 ..PC5
27 ..PD1 [Tx0]          27 ..PC4
28 ..PD2                28 ..PC3 
29 ..PD3                29 ..PC2
30 ..PD4                30 ..PC1 [SDA]
31 ..PD5                31 ..PC0 [SCL]
32 ..PD6                32 ..PD7


Modular Platine Schaltnetzteil

L1 schaltnetzteil.jpg

Schaltplan Schaltnetzteil: ZBus_am_PC_(RS232_zu_RS485_Konverter)

in : 9 - 40V dc oder 9 - 28V ac

out: +5V +3.3V

Modular Platine Programmer + 2x RS232 + USB

L1 progger rs232.jpg

Schaltplan Programmer (ist ein pony seriell) sehe : [ponyser programmer]

Schaltplan RS232 : ZBus_am_PC_(RS232_zu_RS485_Konverter)

Schaltplan USB : USB


Modular Platine Programmer seriell ttl

L1 rs232 ttl programmer.jpg

Nachbau von:

http://www.klaus-leidinger.de/mp/Mikrocontroller/AVR-Prog/AVR-Programmer.html#ATTiny2313

Orginal Software gibt ein Baudrate von 115200

Fuer Linux (Debian) " apt-get install avra " eingeben fuer ein brauchbare Compiler.

Damit laesst sich dan bei aenderung von den Baurate im Source die hex file neu erstellen.

Modular Platine sd-karte

L1 sd-karte.jpg L1 sd-karte.png

sehe fuer Schaltplan: http://www.roland-riegel.de/sd-reader/index.html


Modular Platine Taktgeber

L1 taktgeber.jpg

Schaltplan Taktgeber: 3 Taktgeber mit ein 74HC04 (achtung soll HC sein).

Jeder Taktgeber kann mit ein 74HCT4040 (ripple counter) weiter geteilt werden.

Und damit stehen alle Frequenzen zum verfuegung beim Entwicklung.

in folgende url kann man die aufbau von oscillator finden.

http://www.eetindia.co.in/STATIC/PDF/200810/EEIOL_2008OCT09_EDA_AN_01.pdf?SOURCES=DOWNLOAD

Modular Platine 8-port Uart Switch

L1 8 port ttl switch.jpg L1 cpu switch2.png L1 cpu switch.png


- wenn der PC an Y0D0 haengt ist immer ein Verbindung mit den cpu zu machen. (alle schalter auf 0)

- an alle andere YxDx kann ein esex oder was anders gehaengt werden pro rs232

- an Haupt Anschluss (CPU) lauft dann den Supervisor. (mit ein bevorzugte Sprache)

- Der Supervisor waehlt pro A0 A1 A2 ein Slave zum quatchen.

- Der PC wird eingestezt als Datalogger. (oder esex mit sd-karte)

Rs232-switch-diode-and.png

Modular Platine ethernetz

L1 ethernet.jpg L1 back ethernet.jpg

Zusammen mit Yport in ein atmega644p wird der RS232 switch gesteuert sodass (vorlaufig) 8 slaves (max. 128) zu erreichen sind mit ein einziges ethernetz anbindung. Pro RS422 wird weiter verteilt mit cat5 kabel.

Pin 4 (== int von ENC28J60) ist am Pin 3 (== PB2 Atmega644p) gelegt womit die Platine AVR-NET-IO aehnlich ist.

Impulsuebertrager: http://shop.ulrichradig.de/passive-Bauelemente

Schaltplan (mehr oder weniger): http://www.ulrichradig.de/home/index.php/avr/eth_m32_ex

PortA wird eingesetzt zum schalten von RS232 Switch.

Switch  CPU
--------------
A0......PA0
A1......PA1
A2......PA2
........PA3  - NC ist frei um einfacher zu schalten pro io (hex werten). 
A3......PA4  - Ist das Card Select fuer Switch 1.
........PA5  - Card Select Switch 2.
........PA6  - Card Select Switch 3.
........PA7  - Umschaltung von PC und Switch Eingang: PC <-> Slave 0.  (mit ein 74hc241)

Erster channel auf card 1 (Channel geht von 0...7)

io set port 0 60  (Bei 6 ist Pin PA4 0 die andere 1)

Vielleicht erst Port richtig setzen:

io set ddr port 0 ff

Kein 0x bei Hex wert.

Batterie Schalter 40V 380Amp

Mosfet.png

universeler serieller bi-directional extender

Universal-birectional-extender.png Universal-birectional-extender-opto.png

Automotive Physical Layer SAE J1708: http://www.national.com/an/AN/AN-915.pdf

Ten Ways to Bulletproof RS-485 Interfaces: http://www.national.com/an/AN/AN-1057.pdf

FAILSAFE Biasing of Differential Buses: http://www.national.com/an/AN/AN-847.pdf

Physical Layer Alternatives: http://www.national.com/an/AN/AN-967.pdf

single-wire-software-uart

http://atmel.com/dyn/resources/prod_documents/AVR274.pdf

http://www.atmel.com/dyn/resources/prod_documents/AVR274.zip

http://www.maxim-ic.com/app-notes/index.mvp/id/214

single-wire-half-duplex-uart-bus

Diode-mosfet-single-wire.png

Schaltungslayouts für Lochrasterplatinen

BlackBoard dient dazu, Schaltungslayouts für Lochrasterplatinen zu entwerfen.

Eine kurze Demonstration und Einführung, was man mit BlackBoard anstellen kann, gibt es hier:

http:/http://blackboard.serverpool.org/?p=91

Netwerk-atmega.png/www.blackboard.serverpool.org

Mit RS232 RS422 RS485 Ethernetz 'Single wire halb duplex uart bus'

Noch nicht gebaut - kann also Fehler enthalten.

Jetzt auch mit DIN41612 Stecker und viele andere Bauteilen, Download hier:

http://www.sebulli.com/BlackBoard/index.html

Debian Tips

sehe Debian_Tips

LCD ausgabe

sehe LCD

wissenswert bei make menuconfig

  • irc-client

zu erreichen mit >Applications>irc-client(Experimental)

geb dort ein existierende irc ip nummer ab zb fuer ethersex mit das host command in ein terminal

host irc.freenode.net

dan werden die ip nummer ausgegeben.

waehle ein und gebe das ip ein bei: server ip

channel ( zb ethersex ist ok)

Nickname is total frei :)

Bei Applications ECMD (Etherrape Control Interface) support aktivieren.
Bei Applications>ECMD (Etherrape Control Interface) support>IRC (EXPERIMENTAL) aktivieren.


  • netstat (soll mann aktivieren ist gefahrlos nur als danke schoen an die coders von ethersex)

einstellen mit >Applications>Systemclock support und dann da

date+time aktivieren
cron deamon (static jobs) aktivieren

zuruck nach

Applications>netstat client aktivieren

alles ist da schon richtig eingegeben (nichts aendern)

alle werden dan in ~habo/stat/ gelistet nur mit zeit und mac

ETHERSEX HOWTO

Ist noch baustelle!

Hier werden alle links eingefuegt die meiner meinung nach information behalten die auch in ein HOWTO sein sollte.

Sind alle links zu : Spezial:Alle_Seiten

Wo auch noch ein menge andere documentation zu finden ist.


DIE UNGEAHNTE MOEGLICHKEITEN VON ETHERSEX

 Feature_Liste

HARDWARE

Direkt durch den software unterstuetzte hardware:

 Unterstützte_Hardware

SOFTWARE

Ein komplette Entwicklungs umgebung (sogar ohne installierung) mit :

 Live_CD

Voraussetzung an software:

 Voraussetzungen

Download:

 Download

git howto :

 Git_HowTo

step by step zum software :

SOFTWARE PROTOCOLS IN ETHERSEX

ecmd  : if enabled in menuconfig

 ECMD
 Ecmd_Reference
 ECMD_Protocols
 Ethersex_Ecmd_Erstellen
 AliasCmd

COMMUNITY

Hier ist hilfe zu finden :

 Community

HARDWARE ANBINDUNG

  • in menuconfig unterstuetzte hardware.

lcd :

 LCD

rfm12 : senden und empfangen von ip ueber 433 Mhz (wireless netz) :

 BitfehlerASK
 RFM12
 RFM12_ASK
   TevionFunksteckdosen, welche über eine 'Anlern-Taste' auf den gesendeten Haus- und Gerätecode
   programmiert  werden können :
 HowToRFM12_ASK
 RS485_Converter
 Hardware-Rayofhope

I2C  :Der I2C-Bus (Inter Integrated Circuit) ist ein einfacher Zweidraht-Bus.

 I2C
 I2C_Bootloader

camera Dc3840 : webcam

 DC3840_Camera
 HTTPD

one wire : 1-wire Temperatursensoren mit ECMD auflisten und abfragen

 Dallas_1-wire_Bus

stella light :

 Stella_Light
 Ecmd_speed_protocol

kty : Temperaturen mit dem ATmega messen

 Temperaturmessung_mit_KTY
  • software aktivieren fuer neue hardware (nicht in menuconfig) :
 Ethersex_Hardware_hinzufügen

PORT STEUERUNG

  • Pins :
 Pins_in_Ethersex_definieren
  • Yport : ethernetz zu rs232 konverter
 YPort

NETZWERK AUFBAU

 lesen bevor man Zbus oder rfm12 einsetzt
 Network_Bridges
  • Zbus :

ip netzwerk ueber rs485

 ZBus
 ZBus_Bootloader
 ZBus_Protokoll
 ZBus_Serial_Host
  • rfm12 :

senden und empfangen von ip ueber 433 Mhz (wireless netz) :

 RFM12
 RFM12_ASK
   TevionFunksteckdosen, welche über eine 'Anlern-Taste' auf den gesendeten Haus- und Gerätecode
   programmiert  werden können :
 HowToRFM12_ASK
 Funk2Duo

Live-CD mit rw partition

Verlagert zu Live-CD_mit_rw_partition