Labnode: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
Keine Bearbeitungszusammenfassung
 
(24 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{ProjektInfoBox
{{ProjektInfoBox
|name       = Labnode
|name=Labnode
|status      = Stable
|image=lapnode_front.jpg
|image       = lapnode_front.jpg
|description=Universelles Automatisierungs- & Experimentierboard
|description = Universelles Automatisierungs- & Experimentierboard
|username=Tixiv
|author      = Tixiv
|author=Tixiv
|username    = Tixiv
|version=V1.0
|version     = V1.0
|platform=AVR (ATmega32/64)
|update      =
|download=[https://github.com/das-labor/labnode github.com/das-labor/labnode]
|platform   = AVR (ATmega32/64)
|tags=Labor Automation,
|license    =
|download   = Software: [https://www.das-labor.org/svn/microcontroller/src-atmel/automatization2.0/labnode SVN] [https://www.das-labor.org/trac/browser/microcontroller/src-atmel/automatization2.0/labnode browse]
}}
}}
[[Datei:labnode_rueckseite.jpg|thumb|260px|right|Unterseite]]
[[Datei:labnode_rueckseite.jpg|thumb|260px|right|Unterseite]]
Zeile 19: Zeile 17:
== Features ==
== Features ==


* ATMega32 Mikrokontroller
* ATMega32 Mikrocontroller
* MCP2515 CAN Controller
* MCP2515 CAN Controller / MCP2551 CAN-PHY
* Platz für RFM12 Funkmodul
* Platz für RFM12 Funkmodul
* Schalregler für 5V/500mA aus 7-30V Eingangsspannung
* Schaltregler für 5V/500mA aus 7-30V Eingangsspannung
* IOs
* IOs
** 10 Pol Wannestecker für CAN-Bus und Buspower versorgung
** 10 Pol Wannenstecker für CAN-Bus und Buspower Versorgung
** 3 gleich belegte 10 Pol Wannen Mit
** 3 gleich belegte 10 Pol Wannen mit
*** 5V Spannung
*** 5V Spannung
*** Eingangsspannung
*** Eingangsspannung
*** 2 AVR Analog Pins
*** 2 AVR Analog Pins
*** 2 AVR Digital Pins
*** 2 AVR Digital Pins
*** 2 ULN2003 Open Collector Ausgänge bis 500mA belastbar
*** 2 ULN2003 Open Kollektor Ausgänge bis 500mA belastbar
** 10 Pol ISP Stecker
** 10 Pol ISP Stecker
*** zur Programmierung des AVRS
*** zur Programmierung des AVRs
*** Zusätzliche serielle Schnittstelle
*** Zusätzliche serielle Schnittstelle
*** SPI Schnittstelle
*** SPI Schnittstelle
Zeile 45: Zeile 43:
Wenn man einen CAN-Bus zur Automatisierung einsetzt bekommt die Labnode über einen Stecker CAN und Buspower,
Wenn man einen CAN-Bus zur Automatisierung einsetzt bekommt die Labnode über einen Stecker CAN und Buspower,
und an den 3 anderen Steckern können 3 Sensor/Aktor - Module angeschlossen werden. Eine weitere Labnode kann zum Einspeisen
und an den 3 anderen Steckern können 3 Sensor/Aktor - Module angeschlossen werden. Eine weitere Labnode kann zum Einspeisen
der Bus-Power und als CAN-USB-Schnittstelle zu einem PC eingestezt werden.
der Bus-Power und als CAN-USB-Schnittstelle zu einem PC eingesetzt werden.


== Platine und Bauteile ==
== Platine und Bauteile ==
Zeile 115: Zeile 113:
  D-  PC3
  D-  PC3


<b>CAN</b>
INT_CAN PB2 / INT2
CS_CAN  PB4 / SS
<b>CAN-Wannenstecker</b>
1  GND
2  GND
3  CANH
4  CANL
5  GND
6  GND
7  BUSPOWER
8  BUSPOWER
9  BUSPOWER
10 BUSPOWER
<b>RFM12</b>
INT_RFM12 PD3 / INT1
CS_RFM12    PB3


<b>ISP</b>
<b>ISP</b>
Zeile 143: Zeile 164:
<br clear="both"/>
<br clear="both"/>


== Hinweise/Caveats ==
* Die Fuses des Atmels sind wichtig - CKOPT muss gesetzt sein, weil der CAN-Controller sonst ein zu schwaches Clock-Signal bekommt. Mit den Fuses BF C9 (Low/High) (siehe auch [http://www.engbedded.com/fusecalc]) funktionierts.
  avrdude -c usbasp -p m32 -U lfuse:w:0xbf:m -U hfuse:w:0xc9:m
* Zum Testen eignet sich die Kombi des simple_can_node mit dem in main.c einkommentierten Abschnitt zum Senden von Testpaketen in Verbindung mit der UART-Variante des can_gateway. Beide finden sich im Git unter [https://github.com/das-labor/labnode].
* Der Overflow des foo-counters im node passiert etwa zweimal pro Sekunde - es sollten sich also Daten auf dem CAN-Bus und dem RS232-Ausgang des gw einstellen - die rote LED sollte blinken.
[[Datei:CAN-Paket-Labnode.png|200px|thumb|right|CAN-Paket am CAN-Bus]]
[[Datei:CAN-Paket-Labnode-UART.png|200px|thumb|right|CAN-Paket am UART]]
* Das CAN-Paket sieht (CANH und CANL gegen Masse gemessen) wie auf dem Bild rechts aus.
* Auf dem UART kommt dann das dekodierte Paket an, Bild ebenfalls rechts.
* Die Nodes erwarten im ersten Byte des EEPROMs ihre CAN-ID
* Zwischen CANH und CANL gehört ein 120 Ohm Widerstand - an beiden Enden des Bus - sonst kommt nur Müll an.


== Erweiterungsmodule ==
== Erweiterungsmodule ==
Zeile 150: Zeile 191:
[[Labnode/phasecut]]
[[Labnode/phasecut]]


=== 0-10 V Ausgänge ===
Bietet 2 Kanäle für eine 0 bis 10 V Ausgangsspannung die zur Ansteuerung von dimmbaren EVGs dienen.
[[Labnode/0-10V Ausgang]]


== praktische Anwendungsbeispiele ==
== praktische Anwendungsbeispiele ==
Zeile 161: Zeile 205:
Fertige Version von Tixiv [http://www.das-labor.org/trac/browser/microcontroller/src-atmel/automatization2.0/labnode/can_gateway/trunk/firmware source]
Fertige Version von Tixiv [http://www.das-labor.org/trac/browser/microcontroller/src-atmel/automatization2.0/labnode/can_gateway/trunk/firmware source]


Lässt sich mit [http://www.das-labor.org/trac/browser/autoLab/cand/branch/usb_support cand] / labcontrol verwenden.
Lässt sich mit dem [http://www.das-labor.org/trac/browser/microcontroller/src-atmel/automatization2.0/cand/trunk cand] / labcontrol (-U parameter) betreiben.
 
=== Bastelcmd ===
 
Bastelcmd steuert das Licht im Bastelraum. [[Bastelcmd]]
 
=== can_dimmer ===
 
Auf den 2 labnodes in der Lounge läuft die Software [http://www.das-labor.org/trac/browser/microcontroller/src-atmel/automatization2.0/labnode/can_dimmer can_dimmer]. Diese steuert jeweils 4 Lampen, incl. dimmfunktion.
 
= Links =
'''alternatives Projekt'''
 
* http://caraca.sourceforge.net/
 
 
{{Navigationsleiste_Automatisierung}}

Aktuelle Version vom 7. April 2017, 23:26 Uhr

         
Labnode

Release status: unknown [box doku]

Lapnode front.jpg
Description Universelles Automatisierungs- & Experimentierboard
Author(s)  Tixiv
Last Version  V1.0 ()
Platform  AVR (ATmega32/64)
Download  github.com/das-labor/labnode

„{{{status}}}“ befindet sich nicht in der Liste (experimental, beta, stable, obsolete, unknown) zulässiger Werte für das Attribut „Pr status“.



Unterseite

Universelle Platine für die verschiedensten Aufgaben von der Automatisierung bis zu Experimentierbord geeignet.


Features[Bearbeiten | Quelltext bearbeiten]

  • ATMega32 Mikrocontroller
  • MCP2515 CAN Controller / MCP2551 CAN-PHY
  • Platz für RFM12 Funkmodul
  • Schaltregler für 5V/500mA aus 7-30V Eingangsspannung
  • IOs
    • 10 Pol Wannenstecker für CAN-Bus und Buspower Versorgung
    • 3 gleich belegte 10 Pol Wannen mit
      • 5V Spannung
      • Eingangsspannung
      • 2 AVR Analog Pins
      • 2 AVR Digital Pins
      • 2 ULN2003 Open Kollektor Ausgänge bis 500mA belastbar
    • 10 Pol ISP Stecker
      • zur Programmierung des AVRs
      • Zusätzliche serielle Schnittstelle
      • SPI Schnittstelle
    • USB Buchse
    • Hohlstecker-Buchse
      • optional Zur Stromversorgung

Idee[Bearbeiten | Quelltext bearbeiten]

Die Labnode ist als universelles Board zum Automatisieren von Dingen und zum Experimentieren gedacht. Wenn man einen CAN-Bus zur Automatisierung einsetzt bekommt die Labnode über einen Stecker CAN und Buspower, und an den 3 anderen Steckern können 3 Sensor/Aktor - Module angeschlossen werden. Eine weitere Labnode kann zum Einspeisen der Bus-Power und als CAN-USB-Schnittstelle zu einem PC eingesetzt werden.

Platine und Bauteile[Bearbeiten | Quelltext bearbeiten]

Die Platine gibt es für Laboranten bei mir (Tixiv) zu einem Unkostenbeitrag von 6 Euro.

Reichelt Warenkorb: https://secure.reichelt.de/?;ACTION=20;LA=5011;AWKID=253444;PROVID=2084

Der Reichelt Warenkorb enthält alle Bauteile inklusive CAN-Schnittstelle aber ohne das RFM12 Funkmodul.

Schaltplan und Bestückung[Bearbeiten | Quelltext bearbeiten]

Bestückung Unterseite SMD
Bestückung Oberseite
Der Schaltplan

Pinbelegung der Stecker[Bearbeiten | Quelltext bearbeiten]

EXT1

1   GND   Masse
2   VCC   +5V
3   PA1   ADC1
4   PA0   ADC0
5   PA2   ADC2
6   PA3   ADC3
7   PC6   Treiberausgang 2 (Q2)
8   PC7   Treiberausgang 1 (Q1)
9   NC
10  +V    ext. Versorgung


EXT2

1   GND   Masse
2   VCC   +5V
3   PD6   ICP
4   PD7   OC2
5   PA4   ADC4
6   PA5   ADC5
7   PC4   Treiberausgang 4 (Q4)
8   PC5   Treiberausgang 3 (Q3)
9   NC
10  +V    ext. Versorgung


EXT3

1   GND   Masse
2   VCC   +5V
3   PC0   SCL + Treibereingang 5
4   PC1   SDA
5   PA6   ADC6
6   PA7   ADC7
7   PD4   Treiberausgang 7 (Q7)
8   PD5   Treiberausgang 6 (Q6)
9   NC
10  +V    ext. Versorgung


USB

D+  PD2 + PC2
D-  PC3

CAN

INT_CAN PB2 / INT2
CS_CAN  PB4 / SS 

CAN-Wannenstecker

1  GND
2  GND
3  CANH
4  CANL
5  GND
6  GND
7  BUSPOWER
8  BUSPOWER
9  BUSPOWER
10 BUSPOWER

RFM12

INT_RFM12 PD3 / INT1
CS_RFM12    PB3

ISP

1   PB5   MOSI
2   VCC   +5V
3   PB1   CS_EXT / T1
4   PD0   RXD
5   RESET  "
6   PD1   TXD
7   PB7   SCK
8   NC    (reserviert)
9   PB6   MISO
10  GND   Masse


JUMPER 1 (Quelle für Schaltregler)

1 + 2 = ext. Versorgung +V
3 + 2 = Versorgung über CAN-Bus


JUMPER 2 (Versorgung für VCC)

1 + 2 = Schaltregler
3 + 2 = USB


Hinweise/Caveats[Bearbeiten | Quelltext bearbeiten]

  • Die Fuses des Atmels sind wichtig - CKOPT muss gesetzt sein, weil der CAN-Controller sonst ein zu schwaches Clock-Signal bekommt. Mit den Fuses BF C9 (Low/High) (siehe auch [1]) funktionierts.
 avrdude -c usbasp -p m32 -U lfuse:w:0xbf:m -U hfuse:w:0xc9:m
  • Zum Testen eignet sich die Kombi des simple_can_node mit dem in main.c einkommentierten Abschnitt zum Senden von Testpaketen in Verbindung mit der UART-Variante des can_gateway. Beide finden sich im Git unter [2].
  • Der Overflow des foo-counters im node passiert etwa zweimal pro Sekunde - es sollten sich also Daten auf dem CAN-Bus und dem RS232-Ausgang des gw einstellen - die rote LED sollte blinken.
CAN-Paket am CAN-Bus
CAN-Paket am UART
  • Das CAN-Paket sieht (CANH und CANL gegen Masse gemessen) wie auf dem Bild rechts aus.
  • Auf dem UART kommt dann das dekodierte Paket an, Bild ebenfalls rechts.
  • Die Nodes erwarten im ersten Byte des EEPROMs ihre CAN-ID
  • Zwischen CANH und CANL gehört ein 120 Ohm Widerstand - an beiden Enden des Bus - sonst kommt nur Müll an.

Erweiterungsmodule[Bearbeiten | Quelltext bearbeiten]

Phasecut[Bearbeiten | Quelltext bearbeiten]

Das erste fertige Erweiterungsmodul bietet 4 Kanäle die per Phasenanschnitt Lampen dimmen können. Labnode/phasecut

0-10 V Ausgänge[Bearbeiten | Quelltext bearbeiten]

Bietet 2 Kanäle für eine 0 bis 10 V Ausgangsspannung die zur Ansteuerung von dimmbaren EVGs dienen. Labnode/0-10V Ausgang

praktische Anwendungsbeispiele[Bearbeiten | Quelltext bearbeiten]

CAN2USB[Bearbeiten | Quelltext bearbeiten]

Die Labnode dient als Knotenpunkt, um den Can-Bus des Labors (o. Ä.) auf dem Computer zu beobachten und zu debuggen. Labnode/can2usb

Version 2 Fertige Version von Tixiv source

Lässt sich mit dem cand / labcontrol (-U parameter) betreiben.

Bastelcmd[Bearbeiten | Quelltext bearbeiten]

Bastelcmd steuert das Licht im Bastelraum. Bastelcmd

can_dimmer[Bearbeiten | Quelltext bearbeiten]

Auf den 2 labnodes in der Lounge läuft die Software can_dimmer. Diese steuert jeweils 4 Lampen, incl. dimmfunktion.

Links[Bearbeiten | Quelltext bearbeiten]

alternatives Projekt