Autor |
Temperatursensor, weitere Schaltungen über RS232 Suche nach: temperatursensor (746) |
|
|
|
|
BID = 696241
Nukeman Schriftsteller
Beiträge: 754 Wohnort: bei Kleve
|
|
Hallo zusammen,
hier wie besprochen, der Code für den Temp-Sensor, ist momentan
noch für den Attiny2313 konfiguriert.
Hinweise auf die Quelle habe ich leider nicht mehr gefunden, kann auch
gut sein, dass ich das selbst nach Datenblatt herunterprogrammiert
habe. Sooo besonders spannend ist der Code auch nicht.
Hinweise:
* die Software geht davon aus, dass nur ein Sensor am Bus hängt, es
werden keine einzelnen Sensoren adressiert. Irgendwo hätte ich aber
noch die Routinen für Multi-Slave.
* es werden die Ports B0 = GND, B1 = DATA und B2 = Vcc konfiguriert.
Wenn der Atmega32 gesteckt ist, kann man den Sensor in den ansonsten ungenutzten
Sockel IC3 ( Attiny2313 ) Pin 12(Gnd) ,13(Data) ,14(Vcc) stecken.
* Prozessor mit Ponyprog auf 8MHz fusen
* COM auf 19k2 einstellen
* die Timer-Register könnten beim Mega32 leicht anders heissen.
Das Programm ist momentan so gepatched, dass ständig Messungen
getriggert werden ( Kommando "S" wird simuliert ).
Zum Teil sind noch Kommentare und auskommentierter Code aus anderen Projekten
enthalten, bitte einfach ignorieren. Ich wollte da jetzt nicht lange dran
rumeditieren.
Gruß
Stefan
|
|
BID = 696421
Truddel Gelegenheitsposter
Beiträge: 54
|
|
Ich weiß nicht wie ich das alles machen soll..
Weder, wie ich das auf den Atmega32 bekomm noch, komme ich mit dem Code zurecht.
|
|
BID = 696425
Kleinspannung Urgestein
Beiträge: 13359 Wohnort: Tal der Ahnungslosen
|
Zitat :
Truddel hat am 15 Jun 2010 18:06 geschrieben :
|
Ich weiß nicht wie ich das alles machen soll..
|
Kann es sein,das du ein größeres Stück vom Kuchen abgebissen hast als du kauen kannst?
Zitat :
|
Weder, wie ich das auf den Atmega32 bekomm
|
Ponyprog instalieren,Atmega32 auswählen,richtiges hexfile auswählen und "brennen"
Vorher natürlich Rechner mit Programmierboard verbinden...
_________________
Manche Männer bemühen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitätstheorie.
(Albert Einstein)
|
BID = 696610
Truddel Gelegenheitsposter
Beiträge: 54
|
Ich meine, wie ich das Script auf den Atmega32 programmieren kann, da es ja jetzt für einen Atmega8 programmiert ist. Ich schaue mir das ganze nochmal an wenn ich Zeit habe. Werde euch dann mitteilen obs geklappt hat
|
BID = 696686
Nukeman Schriftsteller
Beiträge: 754 Wohnort: bei Kleve
|
Hi Truddel,
ich hab's mal schnell auf den Mega32 portiert, noch bisschen Overhead
aus dem Code rausgenommen und das Ganze auch mal "in echt" kurz in
Betrieb genommen.
In der Zip ist das Programm für den Mega32 als Intelhex enthalten (main.hex).
Das brauchst Du nur noch in den Chip zu flashen.
Mit Ponyprog oder avrdude müssen die Fuses noch eingestellt werden damit
der Prozessortakt ( 8MHz ) stimmt.
Ich nutze avrdude, die entsprechende Befehlszeile zum Fusen wäre dann:
avrdude -P /dev/ttyS0 -c ponyser -p atmega32 -U lfuse:w:0xe4:m -U hfuse:w:0xd9:m
( interner 8MHz-Takt, JTAG disabled(wichtig), SPIEN weiter enabled (ganz wichtig!) )
Flashen mit avrdude würde so gehen:
avrdude -P /dev/ttyS0 -c ponyser -p atmega32 -U flash:w:main.hex:i
Wenn alles geklappt hat, kommt dann sowas aus der Com heraus:
Temp
Ok
39 00 4B 46 FF FF 06 10 +28.3
39 00 4B 46 FF FF 07 10 +28.3
39 00 4B 46 FF FF 08 10 +28.2
38 00 4B 46 FF FF 0A 10 +28.1
38 00 4B 46 FF FF 0B 10 +28.0
38 00 4B 46 FF FF 0C 10 +28.0
So, und jetzt mal ein bisschen Eigeninitiative entwickeln und eine
Programmierumgebung einrichten, so dass Du das Programm nach Deinen
Wünschen selbst anpassen kannst.
Gruß
Stefan
edit: Wenn Du avrdude unter Windows verwendest, muss es statt
-P /dev/ttyS0 dort natürlich -P COM1 heissen, bzw COM2, COM3..
[ Diese Nachricht wurde geändert von: Nukeman am 16 Jun 2010 23:33 ]
|
BID = 697236
Truddel Gelegenheitsposter
Beiträge: 54
|
Okay danke!
würde es auch ein kleineres Board geben, was ich dafür verwenden kann?
Also nochmal zusammengefasst:
Ich suche ein Board, welches mir ermöglicht es mit dem PC zu verbinden um die Logdatei welche der Microcontroller speichert auf dem PC zu übertragen. Es sollen mehrere Ds18s20 verwendet werden können.
Die Werte sollen parallel zur Logdatei auf einem LCD Display angezeigt werden und mit einem Taster zwischen den verschiedenen Thermometer gewechselt werden kann.
So sollte dann die Ausgabe aus dem Display sein:
Aussentemperatur: 20 °C
Klick auf Taster
Innentemperatur: 25 °C
Klick auf Taster
Dritte Temperatur: 10 °C
...
Klick auf Taster
Wieder Aussentemperatur
Ich möchte das Projekt auch nicht großartig erweitern.
Würde es dann dafür ein kostengünstigeres und kleineres Board geben als das Pollin Evaluationsboard?
Hoffe ihr könnt mir nochmals helfen.
|
BID = 697239
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Also, das ist alles mit dem Pollin-Board möglich.
Warum gerade dieses Board? Nun, weil man bei Pollin ganz nebenbei noch andere nette Dinge kaufen kann, die man für eigene Erweiterungen benötigt. Kein mir bekanntes Evaluationsboard ist speziell auf diesem Temperaturmess-Baustein ausgelegt.
Und das Pollinboard hat den Vorteil, dass man es gut erweitern kann.
Mehr können wir natürlich nicht tun, ich verstehe, dass man erst mal skeptisch ist, sich sowas zu kaufen, weil man glaubt, damit überfordert zu sein. Die Routine kommt er nach Monaten, das ist normal.
In der Zwischenzeit kannste dich ja mal mit C auf dem normalen PC beschäftigen.
Das unterscheidet sich ansich nicht groß von dem, was später auf dem µC läuft.
_________________
|
BID = 697242
Truddel Gelegenheitsposter
Beiträge: 54
|
Okay also du würdest mir raten, dass ich das Board von Pollin kaufe?
Wenn ich dieses kaufe, werde ich mir es als Fertigmodul kaufen, da ich mir das nicht so ganz zutraue das ganze Ding selbst zu löten. Ich würde dann einen externen Taster nehmen und nicht die, die schon auf dem Board verbaut sind, da ich das Board an einer anderen Stelle hinstellen will, wie das Display mit Taster. auf Welche Distanzen kann man die Drähte dann ziehen also von Board zu Display und Taster?
|
BID = 697245
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Zitat :
|
Okay also du würdest mir raten, dass ich das Board von Pollin kaufe?
|
Ja, wenn du in Zukunft mehr als nur einmal einen Prozessor programmieren willst und gleich loslegen willst.
Vorteilhaft ist das, weil die Fehler dadurch minimiert werden. Es gibt auch Selbstbaubrenner, aber wenn es da nicht klappt, gibt es potentiell viel mehr Fehlerquellen.
Hast du denn (mindestens) einen richtigen RS232-Port am Rechner? Der wird dafür benötigt. Ebenso ein 1:1-beschaltetes serielles Kabel. Kein Nullmodemkabel.
Zitat :
|
da ich das Board an einer anderen Stelle hinstellen will, wie das Display mit Taster. auf Welche Distanzen kann man die Drähte dann ziehen also von Board zu Display und Taster?
|
Kommt drauf an. Gewöhnlich macht man Verbindungen wie diese möglichst kurz, für Taster ist das noch relativ unkritisch (nicht gerade zehn Meter), für das LC-Display aber sollten es nicht mehr als 20-...-40cm sein. Das kommt aber auch drauf an, wie schnell das Display angebunden ist usw. Nimm das mal als Richtlinie, es können durchaus ein paar Zentimeter mehr oder weniger sein.
Grundsätzlich aber: so kurz wie möglich, vor allem schnell-geschaltete Datenleitungen/-Busse.
Alternativ kannst du aber auch das Board nur als Programmer benutzen. Danach entsockelst du den µC und steckst ihn in eine selbstgebaute Schaltung ein. Da musst du dann aber wiederum den Schnittstellentreiber MAX232 und eine RS232-Verbindung mitdazubauen - die ist beim Board ja dabei.
_________________
|
BID = 697247
Kleinspannung Urgestein
Beiträge: 13359 Wohnort: Tal der Ahnungslosen
|
Zitat :
DonComi hat am 19 Jun 2010 20:24 geschrieben :
|
Da musst du dann aber wiederum den Schnittstellentreiber MAX232 und eine RS232-Verbindung mitdazubauen - die ist beim Board ja dabei.
|
Wieso?
Wenn das Dingens einmal programmiert ist,kommt er in die "richtige" Schaltung und gut ist.
Zum umprogrammieren da dann dort wieder raus,und wieder aufs Board gesteckt.Ich sockle zum probieren immer "doppelt",damit gehst dem aus dem Weg das sich Pins am Microprofessor verbiegen
Wozu sollte ich in der Schaltung wo der µC tun soll noch einem MAX232 mit reinmurksen?
_________________
Manche Männer bemühen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitätstheorie.
(Albert Einstein)
|
BID = 697251
Truddel Gelegenheitsposter
Beiträge: 54
|
Ah oke. Kabel würde ich eines mitbestellen. Rs232 Schnittstelle habe ich eine.
Ok das mit der Drahtlänge ist dann kein Problem, da ich dann einfach das Board mit in ein Gehäuse baue und dann einfach um die Daten auszuwerten mit einem Laptop, auf dem die Datenbank läuft neben das Board gehe.
Ich habe nun nur noch etwas bedenken mit der Programmiersprache.
@Kleinspannung: Ich möchte die Daten ja loggen und dann regelmäßig auf den PC übertragen daher der MAX232. Aber da ich das Board ja direkt betreibe ist dies sowieso hinfällig
[ Diese Nachricht wurde geändert von: Truddel am 19 Jun 2010 20:40 ]
|
BID = 697253
Kleinspannung Urgestein
Beiträge: 13359 Wohnort: Tal der Ahnungslosen
|
Zitat :
Truddel hat am 19 Jun 2010 20:35 geschrieben :
|
da ich dann einfach das Board mit in ein Gehäuse baue
|
Himmel hilf....
Dafür ist das Ding doch viel zu schade und auch zu groß!!!
Und falls du mal den nächsten µC für was anderes programmiern willst,kaufst wieder ein neues Board,oder was?
Wenn der Kram läuft,dann bauste ne kleine extra Schaltung auf,das Display dazu und gut ist.
Zitat :
|
Ich habe nun nur noch etwas bedenken mit der Programmiersprache.
|
Ja,ich auch schon ne Weile...
_________________
Manche Männer bemühen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitätstheorie.
(Albert Einstein)
|
BID = 697255
Truddel Gelegenheitsposter
Beiträge: 54
|
Man kanns ja aus dem Gehäuse auch wieder ausbauen oder?
Wo findet man eigentlich eine Anleitung dazu, wie man den Sensor mit dem Board verbindet? Oder woher weiß man da den Code?
|
BID = 697257
Kleinspannung Urgestein
Beiträge: 13359 Wohnort: Tal der Ahnungslosen
|
Zitat :
Truddel hat am 19 Jun 2010 20:54 geschrieben :
|
Wo findet man eigentlich eine Anleitung dazu, wie man den Sensor mit dem Board verbindet? Oder woher weiß man da den Code?
|
Wie oft soll ich dir das noch sagen?
Einmal Plus,einmal GND,einenmal 1-Wire Bus,der noch zusätzlich einen 4k7 Pullup bekommt.Den 1 Wire-Pin definierst im Programm als solchen.
Ist das jetzt wirklich so schwer?
Steht auch im Datenblatt...
Und die (einmalige) Identnummer der Sensoren mußt im Programm auslesen,oder das Programm so lange suchen und auslesen lassen bis alle Sensoren gefunden wurden.
_________________
Manche Männer bemühen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitätstheorie.
(Albert Einstein)
|
BID = 697258
Truddel Gelegenheitsposter
Beiträge: 54
|
Das ist mir schon klar, aber wo kann man nachlesen wie man das schreiben muss? Ich kann ja nicht einfach hinschreiben: Hallo lese mir doch mal den Sensor anhand den OneWireSignal aus...
Ich muss es in C schreiben das weiß ich. Aber woher weiß ich wie das mit dem Prozessor geht?
|