PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : I2C analog porterweiterung



Tobi G.
09.02.2012, 14:02
Servus,
nachdem ich nach langem meinen asuro wieder ausgeraben habe, möchte ich mehr, als nur die standardfunktionen verwenden und habe mir die porterweiterung aus dem asuro-wiki (http://www.asurowiki.de/pmwiki/pmwiki.php/Main/I2CAnalogPorterweiterung) nachgebaut. Hab auch schon gelesen, dass ich 4,7k Pullups and die ausgänge schließen soll. Mein Problem ist nur, dass ich grad echt nicht drauf komme, wo ich die porterweiterung anschließen soll....Müssen scl und sda (ist doch clock und data input, oder?) an "con1" bzw. con2"? und wo soll "agnd" hin? oder habt Ihr einen besseren Vorschlag als diese analogportwereiterung, um mehr ausgänge zu bekommen?
ich hoffe, Ihr könnt mir helfen :p
vg

Tobi

ePyx
09.02.2012, 14:10
SCL ist der Takt, aber SDA kann DataIn und DataOut sein, da I2C/TWI bidirektional ist. AGND kannst du mit einem beliebigen Massepin deines Asuros verbinden.

Tobi G.
09.02.2012, 14:18
danke!
der "normale" gnd kommt an den akku, oder?, ok, in dem fall wohl DataIn... aber wo schließe ich die am asuro an?

Asko
09.02.2012, 14:24
Hallo Tobi

Ich hab mir das auch gerade angeguckt. Da ich ein LCD am i2c habe sind momentan die Liniensensoren ja unbrauchbar.
Da waere solch eine Erweiterung prima. Wenn ich es nicht falsch gelesen habe, dann kommt SDA an PC2 und SCL an PC3.
So wie beim Orginalen i2c-LCD vom Asuro auch.
Irgendwo hab ich auch mal was von soft-i2c gelesen. Dann koenntest Du Dir die Pins aussuchen.
Aber da beim Asuro bereits alles belegt ist, geht dann halt was anderes nicht.
Den vorschlag aus dem Asurowiki find ich prima, hatte ich bis jetzt selber noch nicht entdeckt.

Achsooo, in der myasuro.h kannste einstellen was SDA und SCL sein soll.

Gruss Asko.

Tobi G.
09.02.2012, 14:36
cooole sache...
ja, also, wenn ich nicht ganz blind bin, dann sind ja die ausgänge "con1" und "con2" über r14 bzw.r15 am asuro an pc2 und pc3...danke!! dann werd ich das heute gleich mal ausprobieren. noch eine frage zu "agnd" und "gnd". das sind ja nicht die selben, oder irre ich mich da. ich meine, die masse vom asuro ist ja die gleiche, wie die vom akku....

Asko
09.02.2012, 14:36
Hallo Tobi

Beim Asuro sind GND und AGND sowieso das selbe.
Also beide an "Masse", sprich minus. Und Vcc an +.
SDA und SCL an die Loetpins der LinienLED.
SDA ganz links (von vorn gesehen) und SCL zweiter Pin von rechts (wieder von vorne gesehen).
Oder ebend SDA an Pin 25 des ATmega8 und SCL an Pin 26. (am besten ausklingeln).

Gruss Asko.

Tobi G.
09.02.2012, 14:42
danke vielmals!
hab ich mir shcon gedacht, und wollte sicher gehen. ich muss mich ja eig. schämen, für den mist, den ich verzapfe... ;-)

Asko
09.02.2012, 14:56
Hi Tobi

Wieso schämen ??
Ich beschaeftige mich seit knapp 2 Monaten damit. Und wenn ich nicht zufaellig
voriges Wochenende das Display angeknippert haette, waeren das fuer mich auch alles "Böhmische Dörfer".
Was mir bei der Sache noch unklar ist, ist die Adresse, die dem PCF8591 zugewiesen wird.

Gruss Asko.

ePyx
09.02.2012, 15:08
21456
Also laut Datenblatt des Mega8 liegen die TWI-Leitungen an Pin 28 (SCL) und 27(SDA).

Asko
09.02.2012, 15:21
Hi ePyx

Genau....also wird beim Asuro bereits was anderes verwendet.

Beim "Orginal-Asuro" (i2c.h/myasuro.h) werden Pin 25 und 26 benutzt.

Gruss Asko.

ePyx
09.02.2012, 15:31
Jut, seh ich ein. :) Wusste nicht, dass die beim Asuro das mit Software nachbilden was es ja schon als Hardware-Schnittstelle gibt.

Asko
09.02.2012, 15:52
Hi Daniel

Ich hatte gerade nen Text geschrieben, wollte nochmal nach Deinem Eintrag gucken...weg war alles.
Naja, gibt schlimmeres.
Ich nehme mal an, als der Asuro konzipiert wurde, fing man bei A an und hoerte bei Z auf....oder so aehnlich.
Somit war Pin 27 mit dem Tasten-Widerstandsnetzwerk belegt, und Pin 28 mit einem Spannungsteiler (Batteriespannung ??).
Die Erweiterungen sind ja erst spaeter entstanden, demzufolge muss man wohl ein wenig "Klimmzuege" machen.
Beim "orginal-Asuro" sprich bei der lib 2.80 ist ebend Pin 25 SDA und Pin 26 SCL.
In der myasuro.h kann man das einstellen. Aber ob man x-beliebige Ports dort einstellen kann, kann
ich mit meinem fundiertem "Nichtwissen" nicht einschaetzen.
Ich freue mich eher, das es funktioniert.

Gruss Asko.

ePyx
09.02.2012, 15:56
Ich freue mich eher, das es funktioniert.

Was die Hauptsache ist. Der Rest ist doch vollkommen Wurscht. ;)

Asko
09.02.2012, 16:09
Was die Hauptsache ist. Der Rest ist doch vollkommen Wurscht. ;)

Und genau dazu hab ich nen komplettes Wochenende gebraucht.
Weil ich nicht wusste (oder kapiert hatte) das man die Lib´s neu compilieren muss,
wenn man die myasuro.h aendert.
Aber wie bereits geschrieben, jetzt funktionierts, und ich koennte mir selber auf
die Schulter klopfen. Endlich mal was , was ich selber herausgefunden hatte, und
was dann auch noch funktionuckelt hat.

Gruss Asko.

ePyx
09.02.2012, 16:16
Hmm, langsam ist wirds aber OT. ;)

Das selbst herausfinden ist, denke ich, eh der Knackpunkt. Gibt zwar Vieles was man kopieren und auch benutzen kann, aber spätestens wenn was nicht funktioniert, steht man im Dunkeln. Sicher alles kann man nicht selbst leisten, aber ein wenig muss man schon tun, wenn man nichts von der Stange will.

Hab mir am WE nen TWI-Slave mit einem ATTiny2313 gebaut, der übernimmt die komplette Motorsteuerung und die Regelung für den Geradeauslauf. Dabei kann man Tastgrad für die PWM sowie Frequenz lesen/schreiben (4 Kanäle), Richtungen angeben (4 Kanäle) und die Encoderwerte (2 Kanäle) auslesen. So aber genug angegeben.

Tobi G.
09.02.2012, 17:29
war also doch gut, das thema anzugehen...
@Daniel: das klingt ja sehr interessant, das mit deiner motorsteuerung....sowas könnte ich für mein chassis mit dem allradantrieb auch irgendwann mal gebrauchen, wenn ich mal mehr ahnung hab...jetzt sind hier erstmal semesterferien...und ein bisschen Zeit, sicht mit sowas zu beschäftigen ;-)
DAnke nochmal! :-)

vg