Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

I²C in die Firmware

geschrieben von CharlyMai 
I²C in die Firmware
22. September 2013 17:36
Hallo ihr Softwaregurus,

da ja immer mehr das Verlangen vorhanden ist noch ein Lüfter, einen Servo, ein komplettes Keypad oder sogar eine Lichtsteuerung an ein bestehendes Board anzubauen stellt sich mir die Frage, ob es nicht einfach möglich wäre eine I²C Schnittstelle (beim AVR nennt sie sich TWI) einzubinden.

Eine I²C Schnittstelle würde doch viele "Schaltprobleme" lösen da diese Bausteine kaskadierbar (bis zu einer gewissen Anzahl) sind. Natürlich würde ich sie nicht unbedingt für die Motorsteuerung einsetzen, aber für Endstops (mit Interrupt), Relais oder Lüftersteuerungen eigenen sich diese Teile doch geradezu....

Was haltet Ihr davon, ist jemand von euch in der Lage so etwas einzubinden?
Mich würde z.B. ein Pad begeistern womit ich auf Knopfdruck (kleiner Joystick Analog oder Digital) den Drucker verfahren könnte anstatt mich per Drehregler immer durch Menues wählen zu müssen.
In der CNC Ecke sind diese Dinger ja schon quasi Standard bei jedem Gerät...

viele Grüße
CharlyMai

1-mal bearbeitet. Zuletzt am 22.09.13 17:37.


MendelMax 1.5, Stoffel 1,75, Rumba bzw Ramps mit Full Graphic Smart Controller
mcp
Re: I²C in die Firmware
22. September 2013 17:44
Hi,
Repetier unterstützt I2C für Display und Tasten sowie Beeper.
Interrupts und Endstops würde ich darüber nicht unbedingt machen ;-)
Lüfter schalten sollte kein Problem sein. Endstops denke ich ist zu langsam.
Und es ist ein Bus, nichts kaskadierbares :-) Alle lauschen am gleichen Signal.
Kommunikation von Werten aus ner Dickenmessung und Längenmessung sind auch denkbar...

cu
VDX
Re: I²C in die Firmware
22. September 2013 17:53
... ich habe noch irgendwo zwei USB-LCD's rumliegen, die normalerweise in modding-PC's verwendet werden, um die Temperaturen der CPU und Grafikkarte anzuzeigen.

Die Teile sind um einen PIC-controller herum aufgebaut, haben einen USB-Port, aber auch mehrere RS232 (ISP), TWI/I²C-Ports und einen Stecker für Matrix-Tastaturen ... sollten eigentlich ideal als erweiterbare 'Slaves' mit I²C-Ports an andere Controller dranzuhängen sein ...

1-mal bearbeitet. Zuletzt am 22.09.13 17:53.


Viktor
--------
Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: I²C in die Firmware
22. September 2013 18:05
Kaskadierbar war der falsche Ausdruck....
Es ist nur eine begrenzte Anzahl gleicher Bausteine an dem Bus möglich (Aufgrund der Adressiereung).

Das mit den Tasten habe ich schon gesehen in der Marlin Firmware, da ist dann aber die Frage, wie ordne ich die Tasten meinen besonderen Wünschen zu ?

Gibt es irgendwo eine Liste mit den Variablen die ich in der Firmware nutzen kann um gewisse Kommandos auszuführen?

Also z.B. Z-Achse 100 Schritte links = Zmove_Left = 100
oder X-Achse 1 Schritt rechts = Zmove_right = 1

Was dann ungefähr so endet:
If I2C_1 = %B 00001000
then zmove_right = 1
end if


Grüße
Charly

1-mal bearbeitet. Zuletzt am 22.09.13 18:05.


MendelMax 1.5, Stoffel 1,75, Rumba bzw Ramps mit Full Graphic Smart Controller
Re: I²C in die Firmware
23. September 2013 07:12
Quote

Es ist nur eine begrenzte Anzahl gleicher Bausteine an dem Bus möglich

Das Problem liegt wohl eher darin, dass jedes Gerät einen eigenen Controller braucht. Denn die über TWI geschickten Daten müssen ja in Spannungen/Drehzahlen/etc. umgesetzt werden. Die kleinste mir bekannte Lösung ist ein ATtiny25. Kostet nur 60 Cent, braucht aber natürlich Versorgungsspannung, eine Firmware und dergleichen.

Quote

Gibt es irgendwo eine Liste mit den Variablen die ich in der Firmware nutzen kann um gewisse Kommandos auszuführen?

Da lohnt es sich, den G-code Interpreter durchzuschauen. Alles sehr hoch integriert, da jede Abstraktion kostbare Rechenzeit verbraucht.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: I²C in die Firmware
23. September 2013 08:10
Naja, die I²C Bausteine sind natürlich vorhanden, da brucht es keinen extra Prozessor zu programmieren.

Siehe : I²C Übersicht

Zumindest für ein Tastenfeld, A/D Wandlung oder LCD Ausgabe....
Viele von denen auch mit einer Interruptmöglichkeit...

Für Spezielle Lösungen muss dann natürlich ein AVR oder ein PIC herhalten...

Den G-Code interpreter werde ich mir mal zu Gemüte führen, danke für den Hinweis.

viele Grüße
Charly

Edit: Fehler beseitigt

1-mal bearbeitet. Zuletzt am 23.09.13 08:15.


MendelMax 1.5, Stoffel 1,75, Rumba bzw Ramps mit Full Graphic Smart Controller
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen