Hallo Leute.
Ich brauche Hilfe beim meinem Projekt.
Eines Vorweg: Man verzeihe mir meinem Pessimismus was die Antworten
angeht. Ich hoffe hier Hilfe zu finden, denn sonst weiß ich nicht mehr
wo hin.
Anforderungen für meine 2 Platinen: Ich brauche 48 Inputs für 12V Taster
und 48 Outputs für 48 12V Hutschienen Relais (bereits vorhanden).
Wer sich jetzt fragt wofür: 24 Rollos.
Das ganze Realisiert mit 2 Platinen:
Platine 1 (Controller + Outputs + x ):
- Aufsteckmöglichkeit für einen Raspberry Pi (3,oder 4?).
- 6 x 8 Port Expander PFC8574
- 6 x Darlington Array ULN2803 8 Port
- EchtzeitUhr DS1307
- RS232 Port Für Anschluss eines weiteren Bords (fertig, im Moment
unwichtig)
- OneWire Busmaster DS2482 für OneWire Temperatur Sensoren.
- PinHeader 2x20 um die 2. Platine aufzustecken:
Platine 2 (Inputs+ LCD):
- 6 x 8 Port Expander PFC8574
- 12 x 4-Port Optokoppler TLP 283-4
- PinHeader 1x14 zum Aufstecken des I2C LCDs 2.4'' mit Touch.
Gewisse Bauteile und Steckverbinder habe ich bereits, die würde ich
ungerne mit was anderem Ersetzen. Ansonsten lasse ich über fast alles
mit mir Reden. ;-)
Ich bin kein Elektroniker, habe mir das Wissen selbst angeeignet.
Nun, ich habe beide Platinen bereits geroutet, habe allerdings noch
Fehler im ERC & DRC. Anbei ja die Screenshots...
Bevor ich jetzt Geld verbrenne wenn ich die Boards Fertigen lasse
brauche ich jemanden der mir die Richtigkeit bestätigen kann.
Ich bitte nur um ernst gemeinte Hilfe Beiträge!
Bitte zeigt euch mal von eurer Gütigen Seite und macht mich nicht gleich
nieder.
Ich versuche nur ein Problem zu lösen das ich habe.
So, jetzt kann das Gelästere los gehen! Äh, Nein! bitte nicht! Bitte
kein Kindergarten. Bitte, bitte!
Ich brauche echt Hilfe weil ich einfach nicht weiter komme.
Ich beantworte gerne Fragen soweit sie passend sind.
Gerne können wir uns dann per Email/ Skype o.Ä. bereden, das aber nur
mit demjenigen der mir dann auch wirklich helfen will.
Ich bin auch bereit die Hilfe zu entlohnen wenn es kein halbes Vermögen
wird.
Ich hoffe ich habe mich jetzt nicht in einen Ameisenhaufen gesetzt.
Bitte seit gnädig mit mir.
Wer jetzt noch liest: Danke schon mal im Voraus für die Hilfe!
Gruß, Benno
was mir auffällt verkleinere das Raster mit dem du arbeitest, damit die
Leiterbahnen keinen Sprung machen wenn sie vom IC weggehen reduziert dir
nur den Abstand zwischen den IC-Pins, was dir Fehler erzeugt.
Du hast nur sehr kleine Leiterbahnbreiten muss das so sind da keine
Stromversorgungen dabei???
Lade die Schaltung hoch das hilft Fehler zu finden die Bilder bringen
nicht viel.
du hast da Bohrungen kein Plan wofür aber bedenke das du da eventuell
wenn du da ne Schraube mit Unterlegscheibe hast da noch Platz darum
brauchst und keine Leiterbahnen da drunter her laufen. einfach mal
ausmessen. Kenne deine Konstruktion nicht deswegen. Mal mal auf lade
alles hoch.
Benno schrieb:> Nun, ich habe beide Platinen bereits geroutet, habe allerdings noch> Fehler im ERC & DRC.
Dann lade den DRC-File mit den Layoutparametern deines
Platinenherstellers gleich mit hoch.
OK, anbei die Dateien...
Die DRU Datei hab ich mir selbst gemacht da es diret keine gibt, oder
ich sie nicht gefunden habe. Ist aber fast alles Standard. Bestellen
wollte ich bei der Seite jlcplc.
Hier deren Anforderungen: https://jlcpcb.com/capabilities/Capabilities
Ich arbeite eigentlich mittlerweile mit Autodesk Eagle, habs aber mal
für Version 7x exportiert.
Da Raster ist auf 0,254 eingestellt, aber teilweise haben die Bauteile
3,5 Raster.
Die Bohrungen in der Mitte sind Montagelöcher für Hutschienenmontage.
Ansonsten für Abstandshalter für die Aufsteckplatine. Ich hoffe der
Platz reicht für die Schraube mit Plastik-Beilegscheibe.
Was mir auch Sorgen macht ist ob die 12c Signale auch auf die obere
Platine gelangen. Und ob ich keinen Fehler drin hab im Weiterleiten
aller Signale.
Bei der Base Platine wollte ich eigentlich noch eine Ground Plate auf
der gesamten Oberfläche machen, habs aber noch nciht gemacht weil man
dann irgendwie nichts mehr erkennt.
Gruß
Benno
Geh noch mal ALLE Pinanschlüße durch!!!
Teilweise ist da recht schwachsinniges dabei! Vermeide Spitzewinkel
(Ätzfallen) etc! Keine Leiterbahn ohne Sinn und Zweck zwischen den Pins
verlegen (Pinanschlüße)! Mach die Leiterbahnen nur so dünn wie nötig!
Bezieht sich alles auf V2!
Und schon wieder einer, der nicht weiß, wie man Schaltpläne gescheit
zeichnet.
Schaltplan richtig zeichnen
"Schaltpläne enthalten Verbindungsleitungen (Signale) und nicht eine
Ansammlungen von Netznamen. So sollte es nicht aussehen! Eher so."
Optoinputs
Was soll der Unsinn mit den Optokopplern, wenn auf beiden Seiten die
gleiche Masse vorhanden ist? Ein einfacher Spannungsteiler reicht.
Man braucht auch keine Konstantstromquelle für die Optokoppler, wenn
man überall mit konstanter Spannung (12V, 24V) arbeitet.
Das Schaltungskonzept für die Eingänge der PCF8574 ist unbrauchbar, denn
die Dinger haben einen internen Pull-Up Widerstand. Also muss der
Optokoppler, so man ihn denn verwendet, nach GND schalten.
https://www.mikrocontroller.net/articles/Port-Expander_PCF8574#Anwendung
Deine Signalnamen sind lyrischer Unsinn, anstatt EIN_NULL etc. schreibt
man eher E0, E1, E2 etc.
A0-A2 deiner PCF8574 MÜSSEN angeschlossen werden und für jeden IC anders
beschaltet werden, denn sonst wird das nix mit der I2C Adressierung.
Das Schaltplansymbol für dein LCD ist Murks. Man nimmt nicht die gleiche
Bezeichung für das Pin im Symbol und das Pad im Gehäuse. Für letzteres
gibt es meist Nummern.
Es fehlen wenigsten ein paar Entkoppelkondensatoren für die ICs.
https://www.mikrocontroller.net/articles/Kondensator#Entkoppelkondensator
Ouch. Na da hab ich ja scheinbar einiges zu tun / falsch gemacht...
Das muss ich mir jetzt erst mal in einer ruhigen Minute zu Gemüte
führen.
Was ich aber schon mal vorher sagen kann ist dass ich die Optokoppler
deswegen reingemacht habe weil ich eine Art Weitbereichs-Eingang haben
will von sagen wir 5-24V.
Es ist nicht sicher dass die Eingänge immer mit (den selben) 12V
Betrieben werden. Ebenso ob die Relais immer 12V sind. Daher die Jumper
um von internen 12V auf VIN-RELAIS umzuschalten.
Dass die PCF8574 einen internen Pullup haben wusste ich.
Kannst du mir sagen was da falsch ist, bzw. wie ich die Optoloppler
richtig für "nach Gnd schalten" anschließen muß?
Ich habe diese Schaltung eigentlich schon getestet und auf einer kleinen
Test-Platine mit 8 In und 8 Out ausprobiert. Da hat es soweit
funktioniert. Allerdings habe ich es damals nur mit 5V Probiert. Werde
es bei Gelegenheit noch einmal mit 24V versuchen.
Benno schrieb:> Dass die PCF8574 einen internen Pullup haben wusste ich.> Kannst du mir sagen was da falsch ist, bzw. wie ich die Optoloppler> richtig für "nach Gnd schalten" anschließen muß?
Der Optokoppler-Ausgang muss zwischen dem PCF8574 Pin und GND geschaltet
werden, nicht wie jetzt zwischen 3V3 und Eingangspin.
Der Einfall die Autodesk Eagle Version als Version 7xx zu präsentieren
ist schon viel Wert, denn das ermöglicht eagle user mit älteren
Versionen (meine) hier zu helfen. Das sollten sich alle Eagle user
merken.
Zum Kleingedruckten:
Du willst 12-Volt Taster zum Ansteuern von Relays, wozu dann der Aufwand
mit Optokopplern und Fets?
Du benutzt Labels, dann müssen aber auch ALLE Zeichnungsrahmen mit
Localizer sein. (LOC)
Die ULN2803 sind falsch. (Schalte mal den layer pins ein).
Pin 9 GND ist ein PWR pin und nicht PAS (Ändern in Library)
Die "Output" Pins sind open collector OC und nicht OUT.
Pin 10 COM ist passiv PAS, denn es ist die gemeinsame Leitung der
Freilauf Dioden.
Dann solltest du den ERC rüber laufen lassen und die aufgelisteten
Fehler beheben.
Man erdet keine Outputs wie beim MAX3232.
Ratsnest zeigt noch fehlende GND-Verbindungen an. Die willst du mit
flooding erschlagen... kann funktionieren, muss aber nicht. Du weißt
dann nicht mit welchem Querschnitt die Verbindung gemacht wird.
Wenn du es vernünftig machen willst zeichne die selbst ein, flooden
kannst du immer noch. Generell erscheinen mir die Versorgungsleitungen
sehr dünn.
Wenn du die Korrekturen gemacht hast, dann lade das Ergebnis wieder hier
hoch, aber verwende einen Index (1, 2, 3 usw.) so das man weiß, welches
die neuste Version ist.
Frohes Schaffen ;-)
Ok, nochmals Danke für die vielen Hinweise. Ich muss dir erst mal
sortieren. Ist schon fast zu viel auf einmal ;-)
Ich hab schon ein wenig am Schaltplan gefeilt, die Library vom PFC
angepasst hab aber grad nicht so viel Zeit um des weiter zu machen und
wieder hier hochzuladen.
Melde mich wieder wenn ich was zum herzeigen habe.
Gruß Benno
Hallo Zusammen. Jetzt hatte ich ein Problem mit meinem PC. Der Wollte
nicht mehr starten. Glücklicherweise funktioninert er jetzt wieder.
Ich habe versucht nun ein paar der Ratschläge und Fehler umzusetzen.
Anbei nochmal die Base Platine.
Die Library vom ULN2803 hab ich angepasst. Ich hoffe jetzt stimmt es
so...
Die Outputs vom MAX232 hab ich nun nicht mehr Ge-Grounded...
Hab auch versucht den Schaltplan etwas anzupassen.
Zu der Platine mit den Optokoppler drauf bin ich noch nicht dazu
gekommen.
Gruß, Benno
Nun, die DRC Fehler arbeitet man stückweise ab. Da bekommt man ja eine
schöne Liste in der man auf den Fehler klicken kann und dann wird einem
sogar gezeigt wo der ist. Und dann behabt man ihn. Wire Stubs können
aber ignoriert werden.
Ich habe die jetzt mal alle behoben. ERC habe ich mir nicht angeguckt.
Noch als Tipp: Mach deine Leiterbahnen ruhig breiter wenn Platz ist.
Gerade die Versorgung darf gerne richtig fett sein. Da kann man dann
auch mal mehrere Vias verwenden um Leitungen zu verbinden. Man darf auch
Polygone zeichnen.
Im Anhang das ist mit dem aktuellen Eagle gemacht, ich habe keine alte
Version.
Frage:
Gibt es legal eine alte Pro Version von Eagle? Ich habe hier eine
Gratis-Education Version. Die habe ich mir 2016 geholt, da war ich
Student. Eigentlich sollte die nach 2 Jahren verfallen, tat sie aber bis
jetzt nicht?!
Cool Danke!
Ich hab jetzt noch mal basierend auf deinem File die Leiterbahnen
breiter gemacht (von 0.354 auf 0.4)
Würdest Du noch etwas ändern?
Gruß, Benno
Falk B. schrieb:>> Der Optokoppler-Ausgang muss zwischen dem PCF8574 Pin und GND geschaltet> werden, nicht wie jetzt zwischen 3V3 und Eingangspin.
Hallo Falk.
Ich habe mir jetzt die Schaltung/Schaltplan noch mal angeschaut und
musste mit erschrecken feststellen, das das wohl was falsch geloffen
ist. Ich hatte dies Fahler schon alle behoben aber irgendwie hab ich
dann wahrscheinlich mit einer veralteten Version das Routen angefangen
ohne noch mal in sch Schaltplan zu schauen... :(
Ich habe jetzt den Fehler korrigiert. Anbei mal ein Zwischenstand.
Habe die Optokoppler Schaltung mit meiner Testplatine abgeglichen.
Für das LCD habe ich auch noch eine Buchsenleiste eingefügt (hatte ich
auch übersehen)
Bevor ich aber noch mehr mit dem Routen weiter mache...
Kann sich bitte jemand den Schaltplan noch mal anschauen ob da noch was
falsch ist?
Gruß, Benno
Ich habe davon zu wenig Ahnung. Fließen da irgendwo große Ströme oder
sind irgendwo hohe Frequenzen? Solche Fälle müsste man sich genauer
angucken. Aber sonst sieht das OK aus.
Als Faustregel:
Wenn die Schaltung so auf dem Steckbrett funktioniert kann man das auch
so layouten.
Benno schrieb:> Kann sich bitte jemand den Schaltplan noch mal anschauen ob da noch was> falsch ist?
Der Einsatz von Optokopplern ist irgendwie nicht so ganz schlüssig, wenn
du die beiden Seiten doch wieder über Gnd verbindest?
Auch wenn's dein Layout vermutlich nicht betrifft: Beim LCD_SPI_PACK
hast du bei dem 14-poligen Stecker einen Versatz der Bohrungen drin.
Es wäre ja schön, wenn auf seite 1 des opto die stubs auch gelabelt
wären, dann s´ließe sich das Chaos leichter verfolgen. Aber jetzt
solltest du erst mal die ERC-Fehlerliste abarbeiten.
Wolfgang schrieb:> Auch wenn's dein Layout vermutlich nicht betrifft: Beim LCD_SPI_PACK> hast du bei dem 14-poligen Stecker einen Versatz der Bohrungen drin.
Ich hab da mal die libs exportiert und die Leiste des LCD korrigiert.
Pin 1 (VCC) war versetzt. Überprüfen ob richtig.
Zusätzlich waren auch noch extra Löcher angegeben, die kompletto
versetzt waren (OMG).
Die Lib häng ich hier mal an. Änderung betrifft NUR LCD.
Jörn P. schrieb:> Wolfgang schrieb:>> Auch wenn's dein Layout vermutlich nicht betrifft: Beim LCD_SPI_PACK>> hast du bei dem 14-poligen Stecker einen Versatz der Bohrungen drin.>> Ich hab da mal die libs exportiert und die Leiste des LCD korrigiert.> Pin 1 (VCC) war versetzt. Überprüfen ob richtig.> Zusätzlich waren auch noch extra Löcher angegeben, die kompletto> versetzt waren (OMG).> Die Lib häng ich hier mal an. Änderung betrifft NUR LCD.
Danke Jörn für die Korrekturen.
anbei nun mit korrigierten ERC Fehlern.
Hab jetzt auch den Gnd von den Otokopplern Isolierrt. Da ist mir auch
ein Fehler unterlaufen. Danke an den freundlichen Finder @Wolfgang.
Gruß, Benno
Hallo Leute.
Ich hab jetzt mal von meiner Base-Platine den CAM Prozessor laufen
lassen und das Ergebnis zu jlcplc hochgeladen.
Leider ist da irgend ein Fehler in der Bibliothek für den RJ45 Buchse
drin, da unten links am Board eine Ecke raussteht.
Ich habe schon versucht die Bibliothek anzupassen dass der Rahmen auf
dem Layer tDocu nicht so weit runter geht. Leider bekomme ich die
Bibliothek nicht aktualisiert. Hab schon verschiedenes probiert.
Ich bekomme es einfach nicht hin. :(
Wer kann mir helfen und die Bibliothek austauschen?
(Ich habe die Bibliothek über Eagle Datei->Exportieren->Libraries
erzeugt. Da ich irgendwie die Original Bibliothek nicht mehr habe)
Außerdem würde ich gerne den Bestückungsdruck bei IC101 (dem Recom
Regler) ändern dass der nicht so weit nach oben über die Kondensatoren
geht..
Bekomme aber auch diese Library nicht ausgetauscht/aktualisiert...
Gruß, Benno
Benno schrieb:> Außerdem würde ich gerne den Bestückungsdruck bei IC101 (dem Recom> Regler) ändern dass der nicht so weit nach oben über die Kondensatoren> geht..> Bekomme aber auch diese Library nicht ausgetauscht/aktualisiert...
Warum willst du dafür an der Bibliothek rumfummeln?
Schiebe den Text einfach da hin, wo du ihn haben möchtest.
Falls du Eagle7 verwendest, kann es sein, dass du ihn vorher per
Smash-Befehl von der Bauteilposition entkoppeln musst.
Hast du absichtlich so kleine Bohrungen verwendet. Bei 0.254mm
Durchmesser verlangen manchem Hersteller deutliche Zuschläge. Und so eng
geht es auf deiner Platine nun wirklich nicht zu, dass das sein muss.
Hallo, ich will nicht Text verschieben sondern den/die Rahmenlinien vom
Bauteil und die ist ja in der Bibliothek definiert.
Eigentlich sollten die Bohrungen der Vias alle 0.3 mm sein. Ich schau
mal alle durch.
Was wäre denn deiner Meinung nach ein geeigneter Durchmesser?
Gruß, Benno
Benno schrieb:> Eigentlich sollten die Bohrungen der Vias alle 0.3 mm sein. Ich schau> mal alle durch.
Die brauchst du nicht alle einzeln durchzuschauen.
Stelle für den DRC den minimalen Bohrdurchmesser (Sizes • Minimum Drill)
passen ein. Dann brauchst du nur in der Fehlerliste draufzuklicken.
Unter Werkzeuge • Statistik • Drill/Hole siehst du als Zusammenfassung,
was du so verbrochen hast.
> Was wäre denn deiner Meinung nach ein geeigneter Durchmesser?
Frage deinen PCB Hersteller wegen des Minimaldurchmessers im
Standardprozess.
Bei so einer Platine würde ich 0.5mm nehmen. Gegenüber 0.254mm hättest
du dann den doppelten Kupferquerschnitt.
Wenn du die libs exportierst, dann am besten in eine gemeinsame lib
(3. Möglichkeit in eagle7).
Da kannst du jetzt ändern wie ein Weltmeister, aber das library update
funzt nicht. (gelle?).
OK, dafür gibt es auch ein ULP...(ist aber komplizierter)
Du kannst aber ganz einfach die exportierte lib in deine libs einbinden.
Dafür gibt/gab es mal ein Icon oben in der Leiste, aber es geht auch zu
Fuß:
Einfach in der Kommandozeile USE eingeben und auf die Enter Taste hauen.
Schon kannst du über sämtliche Verzeichnisse gehen und nach der
exportierten lib suchen und einen Doppelklick drauf.
Drückst du jetzt ADD, dann findest du diese lib und kannst die devices
herausholen, möglichst schon korrigiert ;-) Z.B. der Name vom Regler.
Der Bord Hersteller meckert wahrscheinlich, weil der RJ45 über das board
hinaussteht. Weiter reinschieben geht nicht, weil der Regler im Weg ist.
(Der muss übrinx in der lib auch noch korrigiert werden (Verbindungen))
Du könntest aber eine verkleinerte Kopie des RJ45 erstellen und die als
Provisorium für die PVB-Erstellung verwenden.
Jörn P. schrieb:> Der Bord Hersteller meckert wahrscheinlich, weil der RJ45 über das board> hinaussteht.
Ob der RJ45 im tPlace oder tDoku Layer über das Board hinaus steht, geht
den Board Hersteller gar nichts an. Für die Board Umrisse ist einzig der
Dimension Layer entscheidend.
Benno schrieb:> Leider ist da irgend ein Fehler in der Bibliothek für den RJ45 Buchse> drin, da unten links am Board eine Ecke raussteht.
Das sieht eher nach einem Fehler bei deiner Datenaufbereitung aus.
Zumindest in EAGLE 9.5.1 sieht es um den Stecker im Board ordentlich
aus, nichts was im Dimension Layer raus ragt.
Jörn P. schrieb:> Wenn du die libs exportierst, dann am besten in eine gemeinsame lib> (3. Möglichkeit in eagle7).> Da kannst du jetzt ändern wie ein Weltmeister, aber das library update> funzt nicht. ...
Die Bauteile eines Boards in eine boardeigene Lib zu exportieren und
dort zu ändern, ist i.A. keine Lösung. Das führt zu einer Einzellösung
für das Board, aber sobald man Bauteile woanders verwenden will, fängt
man an, sie wieder neu zu bebasteln oder muss sie sich aus
boardspezifischen Libraries zusammenklauben. Das macht es auf Dauer
mühselig und nicht übersichtlicher. Lieber legt man sich eigene
Bibliotheken an, wo man von modifizierte Bauteile sammelt, aber das
boardübergreifend.
Wolfgang schrieb:> Ob der RJ45 im tPlace oder tDoku Layer über das Board hinaus steht, geht> den Board Hersteller gar nichts an. Für die Board Umrisse ist einzig der> Dimension Layer entscheidend.
Richtig, aber solange der TE nicht sagt WAS der Fehler ist kann es jede
Ausrede sein ;-)
Angehängt ist hier mal die Version rollo-4-2 mit Änderungen.
Eingefügt wurden 2 RJ ports aus der con-AMP-lib und
con-Amphenol-RJ45-LD,
die dem "Original" am ähnlichsten sahen.
Beide Dateien habe ich eben von Auto-Desk runter geladen und sind hier
in der Zip dabei.
Danach könnte das "Original" auch noch verkehrt rum eingebaut sein
(abgesehen, das die Dimensionen völlig anders sind).
Evtl. müßte Benno mal das DB von dem Port liefern.
> Benno schrieb:>> Leider ist da irgend ein Fehler in der Bibliothek für den RJ45 Buchse>> drin, da unten links am Board eine Ecke raussteht.>> Das sieht eher nach einem Fehler bei deiner Datenaufbereitung aus.> Zumindest in EAGLE 9.5.1 sieht es um den Stecker im Board ordentlich> aus, nichts was im Dimension Layer raus ragt.
Da ist der Previewer von jlc auch nicht immer ganz korrekt... schau
selbst (@Benno) mal in einem Gerber Viewer deiner Wahl, was im
Platinenumriss steht. Meistens ist das die Datei mit der Endung .gm1
(eins, nicht ell).
Wenn da tatsächlich eine Ecke drin ist, hat dein CAM-Prozessor eine
Macke, weil er tDocu als Platinenumriss versteht.
MfG, Arno
Ein frohes Neues Zusammen!
Ich habe leider immer noch Probleme mit meiner Output-Platine.
Ich habe einen kapitalen Bock bemerkt und daher einiges Ändern müssen.
Die ULN2803 schalten ja Gnd und das hatte ich falsch.
Jetzt mosert aber seit meinen Änderungen der ERC und ich weiß nicht ob
die Fehler wichtig sind oder nicht.
Könnte sich das jemand bitte noch einmal anschauen und mir Tipps geben?
DANKE!
Gruß, Benno
Benno schrieb:> Könnte sich das jemand bitte noch einmal anschauen und mir Tipps geben?
ERC
No supply for implicit POWER ...
- Invoke IC7
- VDD-GND anklicken
- VDD-GND mit den entsprechenden Power Symbolen versehen
Die Warnungen sind Ok, der Pin ist VDD die Spannung 3V3
Da Du ja so viel Platz auf der Platine hast, um dort eine
Tanzveranstaltung abzuhalten, solltest Du diesen nutzen, um irgendwo
eine gut sichtbare Versionsbezeichnung anzubringen.
Solltest Du nämlich, weil das Teil nicht funktioniert, eine minimale –
fast unsichtbare - Änderung durchführen müssen, kann es sein, dass Du
die Version 1 nicht von der Version 2 unterscheiden kannst.
Kost' fast nix.
Ist Dir dafür extra ein Bestückungsaufdruck zu teuer, kannst Du auch in
"Kupfer" schreiben.