-
-
Erfahrener Benutzer
Roboter-Spezialist
Hallo JanPeter:
Es funktioniert!
Ich musste nur die PCF-Adressen einstellen, und das
gosub subsys_pwr_on
ganz an den Anfang stellen.
Und jetzt hab ich ein Menü-System auf meinem Robby!
-
Erfahrener Benutzer
Roboter-Spezialist
Hallo jörg!
Das ist ja Super , das es bei Dir auch funktioniert.
Ich würde ja gerne das Menü-System weiter ausbauen, aber da kommt man langsam an die Grenze des Speichers!
Und es sind noch nicht mal Fahrfunktionen drin.
Ich habe irgendwo gelesen ,das man das EEPROM von 8K auf 32 K erweitern kann , das wäre interessant!
Aber dann muss man an Robby den SMD-EEPROM auslöten!
Ich bleibe dran.
-
Erfahrener Benutzer
Roboter-Spezialist
EEPROM Erweiterung wäre nicht schlecht, wenn man bedenkt, was man so alles programmieren könnte...
Statt Auslöten hab ich mir folgendes gedacht:
Nur eins der Adressbeinchen auslöten / abzwicken und auf HI legen - dann wird das originale EEPROM nicht mehr benutzt.
Das grössere EEPROM könnte man dann ganz normal an den I2C Bus anschliessen (ohne SMD usw.) !!
Anstelle EEPROM gibts sogar Chip-Karten mit genau so einem Speicher; hab ich bei cctools gesehen. Dann könnte man die Programme per Hardware austauschen (ohne jedesmal Download zu machen...)
-
Erfahrener Benutzer
Roboter-Spezialist
Hallo jörg!
Das wär nicht schlecht , und die Karten beschreibt man mit einem Kartenleser.
Das war Super, ich hab noch Smart Media Karten 8MB unvorstellbar , was da an Programm raufpassen würde.
Wie ist den die WEB Adresse von cctools?
Würde das denn gehen, über I2C-EEPROM ?
Da muß doch was im orginal CControl verbogen werden (ich meine die EEPROM Adresse)?
-
Erfahrener Benutzer
Roboter-Spezialist
Hallo JanPeter,
URL ist http://cctools.hs-control.de.
Die Chip-Karte enthält im Prinzip ein 24Cxx EEPROM. Man müsste dem Originalen 24C65 die Adresse x-000 kaputt machen (einen Adress-Pin hochziehen reicht: gibt dann x-001, und er kriegt nix mehr mit), und den neuen auf Adresse x-000 IRGENDWO an den I2C Bus hängen, allerdings über die Verdrahtung des Chip-Karten-Lesers.
Könnte ich eigentlich mal ausprobieren!!
(aber nicht mehr heute).
-
Erfahrener Benutzer
Roboter-Spezialist
Hallo jörg!
Ich hab mir mal die Seite von cctools angeschaut, es gibt da 32k Chipkarten und eine Fassung.
Man braucht also nur Pin 1 vom EEPROM auf H legen.
Ich hab mir mal die Leiterplatte angeschaut, das müßte gehen!
Leider sind die Leiterbahen nach GND unter den IC gelegt, aber mit einem SMD-Lötkolben und einem Uhrmacherschraubenzieher, müßte das kein Problem sein den Pin hochzubiegen. (Und eine Lupe )
Packen wirs an!
-
Erfahrener Benutzer
Roboter-Spezialist
Hallo jörg!
Ich glaube ein Pin auf H reicht nicht , dann wird doch ein anderer Adressbereich für den 8 kB EEPROM eingelegt, der den 32 kB EEPROM doch beeinflussen kann.
Ich hab mir Heute 2 * 24 LC256 gekauft und der SMD-Lötkolben ist schon warm.
Ich werde am 8 kB EEPROM Pin 5 und 6 lahmlegen!
-
Erfahrener Benutzer
Roboter-Spezialist
Hallo JanPeter,
ich bin mir nicht ganz sicher, aber ich hatte das EEPROM so verstanden:
1. Das EEPROM wird als I2C device adressiert, über die vom Hersteller fest vorgegebene Basis-Adresse PLUS die drei I2C Adress-Pins, die man selbst festlegt. Immer wenn man was von DIESEM EEPROM will, muss man die so resultierende I2C Adresse verwenden.
2. Wenn man das EEPROM so adressiert und jetzt was lesen / schreiben will, muss man dem EEPROM immer zuerst die Adresse schicken. Das heisst: Man muss einen WRITE auf den I2C Bus machen, mit 2 Bytes, die die gewünschte Adresse darstellen.
3. Dann macht man einen Ein-Byte WRITE (oder normalerweise: READ), und schreibt / liest damit das Byte.
4. Weil dies pro Byte sehr umständlich wäre, gibts einen "read sequential" modus, der automatisch die Adresse inkrementiert. 'hnlich wie beim LCD auch, muss man deshalb die Ziel-Adresse nur dann mit 2 WRITES zum EEPROM übertragen, wenn man nicht-sequentiell liest.
Wenn das stimmt, dann wird die I2C_Adresse nur zum Selektieren des Chips am I2C-Bus verwendet. Die Speicheradresse innerhalb des selektierten EEPROMs gibt man dann nicht über die I2C-Adresse an, sondern unabhängig davon mit zwei Bytes, die man "vorneweg" zum EEPROM übertragen muss (als I2C Data WRITE, sozusagen).
Dann müsste es reichen, nur EIN Beinchen kaputt zu machen -- was für mich immer noch schwierig genug sein wird...
-
Erfahrener Benutzer
Roboter-Spezialist
Hallo jörg!
Mach keine Beinchen kaputt !
Ich habe eine Methode erprobt , aber momentan ist der Lötkolben warm,
und ich habe keine Zeit , es zu beschreiben.
Das ist eine lange Geschichte ich werde in 2 Stunden berichten.
-
Erfahrener Benutzer
Roboter-Spezialist
Zusammenfassung :
Robby RP5
Robby will immer mehr. Er stellt langsam Anforderungen , wenn er eingeschaltet ist, ich brauche mehr Sensoren !
Also hat jörg und ich, Ihm den I2C-Bus mit PCF8574 spendiert.
Jörg hat einen sehr Guten Treiber in maschinensprache geschrieben. Den P5-all.S19.
Nun kann man das LCD über I2C betreiben ( über PCF8574 der erste).
Ich hab dann ein kleines Menü-System geschrieben und meine Frau testen lassen, wegen Benutzerfreundlichkeit, meine Frau ist mit dem Menü klar gekommen !!!
Und Robby ist der Meinung jetzt reicht mein Speicher nicht mehr.
Also hab ich Heute einen 24LC256 gekauft (32 kB EEPROM) .
Nun wie trenne ich die Pins 5 und 6 ( SDA und SCL) vom EEPROM auf der Hauptplatine von Robby ? Es sind ja SMD-Pins!
Grübel Grübel!
Conrad und Segor hat keine SMD-Entlötklinge ( gabs aber schon mal) !
Ein Besuch im Baumarkt ist angesagt, da bekommt man immer Gute Ideen.
Ich kaufte mir bei Hornbach in der Werkzeugabteilung , eine Fühlerlehre 13 SB , das Teil hat so 13 Zungen .
Die kleinste Zunge ist 0,05 mm !!!!!!!
Robby schlief gerade ( Er war ausgeschaltet ! )
Diese Zunge konnte ich unter I8 schieben und mit einer Lötnadel von ERSA minor 6V /5W
Habe ich den Pin 5 erwärmt und danach die Zunge runtergeschoben.
Erster Erfolg. Danach Pin 6 genauso.
So nun wollte ich die Pins , damit sie keinen Kontakt zur Platine haben mit einem Stück Papier isolieren. Fehlschlag , das Papier war zu dick!(0,05 mm)
Ich suchte eine weile nach sehr dünnem Papier, und hatte auch Erfolg.
I8 ist nun Tod.
Danach baute ich auf meiner Erweiterungsplatine eine 8 pol. Fassung ein , mit einem 24LC256.
So nun hab ich Robby RP5 wieder eingeschaltet, Ihm das Menü Programm geladen ,
und er hat bis jetzt noch nicht gemerkt, (zum Glück ) das er mehr Speicher hat!
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen