Autor |
RFID-Projekt - Tipps und Kaufberatung Suche nach: rfid (252) |
|
|
|
|
BID = 434550
Haudegen Neu hier
Beiträge: 26
|
|
Muss zwar noch warten bis die Teile und der Programmer da ist aber habe vorab schon paar Fragen.
Einmal gleich zum Schmitt-Trigger... konnte im Datenblatt nicht genau die Umschaltspannung erkennen. Bei welcher Spannung schaltet er denn durch? Kann man das einstellen? Oder sind das zwei feste Werte je nach Voltagebetrieb? Weche Spannugn muss mindestens am Eingang liegen damit der ST schaltet? Je geringer die Umschaltspannung ist desto besser.
Und der Spannungspegel am Ausgang kann ich den auch bestimmen? Und kann ich die LED direkt an GP4 schalten?
Was mach ich mit den anderen Pins? Alle auf LOW?
Hab mal deinen Ablauf als PAP und meine Vorstellung der Beschaltung angehängt. So richtig?
[ Diese Nachricht wurde geändert von: Haudegen am 4 Jun 2007 23:45 ]
[ Diese Nachricht wurde geändert von: Haudegen am 5 Jun 2007 0:00 ] |
|
BID = 434581
Ltof Inventar
Beiträge: 9333 Wohnort: Hommingberg
|
|
Der ST-Eingang ist nicht einstellbar. Die Schwellen stehen in Kapitel 15.4.
Den Pegel am Ausgang kann man nicht bestimmen. Theoretisch kann man eine LED direkt an den Ausgang hängen. Ein PIC überlebt sowas. Das tut man aber nicht. Da gehört ein Vorwiderstand an die LED.
Die unbenutzten PIN schaltet man als Ausgang und kümmert sich nicht weiter drum. Ein Sonderfall ist GP3 - der ist immer Eingang. Den legt man auf high oder low. Sinnigerweise legt man den mit einem Widerstand an high. Mit einem Taster gegen low ist der als Reset benutzbar. Schau Dir das bei Sprut nochmal an.
Im Flußdiagramm fehlt nach dem Start die Initialisierung.
Im PIN-Diagramm ist die Versorgung verpolt. Vdd kommt an plus und Vss an Minus.
Gruß,
Ltof
_________________
„Schreibe nichts der Böswilligkeit zu, was durch Dummheit hinreichend erklärbar ist.“
(Hanlon’s Razor) |
|
BID = 434587
Haudegen Neu hier
Beiträge: 26
|
Schade kann meinen Anhang leider nicht editieren.
ng
OK die Stelle im Kapitel 15.4. hatte ich schon entdeckt jedoch bin ich mir nicht sicher wo da die Durchschaltspannugn ist. Ist damit etwa dies gemeint? "D041 with Schmitt Trigger buffer 0.8 VDD — VDD V Entire range." Demnach würden 0.8 V reichen um den ST durchzuschalten?
Das mit dem Widerstand in Reihe zur Diode ist natürlich sinnvoll
[ Diese Nachricht wurde geändert von: Haudegen am 5 Jun 2007 8:23 ]
|
BID = 434592
Ltof Inventar
Beiträge: 9333 Wohnort: Hommingberg
|
Nein.
Bei 0,8 mal Vdd, also 2,4 Volt geht er auf high.
Bei 0,2 mal Vdd, also 0,6 Volt geht er wieder auf low.
_________________
„Schreibe nichts der Böswilligkeit zu, was durch Dummheit hinreichend erklärbar ist.“
(Hanlon’s Razor)
|
BID = 434639
Haudegen Neu hier
Beiträge: 26
|
Hm das könnte knapp werden. Habe zwar Spannungen von bis zu 4V jedoch bin ich da direkt an der Antenne. Wie bereits erwähnt bin ich von einer Spannung von 1,5-2V ausgegangen was wohl nicht ganz reichen wird.
Muss ich dann doch lieber den Komparator nehmen? Oder ich schraub die Versorgungsspannung auf die Minimalspannung von 2V runter und hätte eine Schwelle von 1,6V. Würde das denn so einfach gehen?
[ Diese Nachricht wurde geändert von: Haudegen am 5 Jun 2007 14:57 ]
|
BID = 434644
Ltof Inventar
Beiträge: 9333 Wohnort: Hommingberg
|
Du wolltest doch unbedingt einen Schmitt-Trigger. Nun passt der doch nicht.
Aber keine Panik, da geht noch was...
Nach dem Stromverbrauch ist der Komparator die schlechteste Variante. 28µA für den Komparator selbst und dazu noch 85µA, falls die interne Referenz benutzt wird. Mit einem hochohmigen, externen Spannungteiler ließe sich letzteres etwas drücken.
Erstaunlich wenig braucht der AD-Wandler (1,2µA bei 3V).
Drei Varianten (neben dem ST-Eingang) sind denkbar und sinnvoll:
Entweder es kommt einer der TTL-Eingänge zum Zuge. (da liegt die Umschaltschwelle etwas niedriger, dafür hat der keine Hysterese)
Oder AD-Wandler,bzw. Komparator mit softwaremäßigem Stromspartrick. Dazu kommt der WDT (2,7µA) zum Einsatz, der den PIC zyklisch (10 oder 20 mal pro Sekunde) aufweckt und nachschauen lässt, ob seit der letzten Messung die Schwelle überschritten wurde. Ist das der Fall, macht er die LED für die gewünschte Zeit an. Im Durchschnitt wird der PIC damit kaum über 3µA kommen. Das reicht für mehrere Jahre Standby mit der Knopfzelle.
Die AD-Wandlung mit Trick ist vom Programmieraufwand höher angesiedelt als die anderen Varianten. Dafür sind dort die meisten Freiheiten möglich und der Stromverbrauch ist noch gering genug. Es können freie Schwellen mit oder ohne Hysterese programmiert werden.
Ich empfehle Dir, zunächst die Geschichte mit dem Schmitt-Trigger-Eingang zu programmieren. Das ist für den Anfang erst mal gut, um mit dem PIC warm zu werden. Wesentliche Teile des Programmes bleiben gleich. Kommt später der AD-Wandler zum Zuge, muss nicht mal umgelötet werden.
Übrigens, neben der LED für eine eingestellte Zeit (das verpasst man leicht), würde ich dem PIC noch einen Buzzer verpassen, der gleichzeitig mit der LED kurz rumquarkt. Aber auch das ist später leicht nachrüstbar.
edit:
Natürlich ist auch vorstellbar, dass der PIC mit 2V versorgt wird. Das wird nur etwas knapp mit der Spannung für die LED. Das macht den Hardwareaufwand etwas größer. Irgendwie müssen die 2V aus den 3V erzeugt werden und die LED braucht zum Schalten einen extra Transistor. Welche Farbe wolltest Du eigentlich nehmen?
Gruß,
Ltof
_________________
„Schreibe nichts der Böswilligkeit zu, was durch Dummheit hinreichend erklärbar ist.“
(Hanlon’s Razor)
[ Diese Nachricht wurde geändert von: Ltof am 5 Jun 2007 15:37 ]
|
BID = 434655
Haudegen Neu hier
Beiträge: 26
|
Wow, deine Problemlösungen gefallen mir alle drei sehr gut besonders die beiden mit dem Stromspartrick
Also die Farbe der LED ist eigentlich egal irgendwas mit Lowpower. Bin wirklich erstaunt was so alles machbar ist mit so einem doch relativ kleinen PIC, ganz abgesehen vom Preis.
Was mir nur Angst macht ist wie lange ich brauche um mich eingearbeitet zu haben. Die Deadline von meinem Projekt ist in ca 2 Wochen, hab also nicht mehr allzu viel Zeit. Was nebenbei noch optimiert werden muss ist die Antenne und der Empfangschwingkreis.
Naja morgen kommt glaube ich der Programmer und dann gehts erstmal los
Hab gelesen dass bei dem Starterkit auch ein paar Testbeispiele dabei sind sodass ich mich da erstmal einarbeiten kann. Bin schon gespannt
|
BID = 434709
Ltof Inventar
Beiträge: 9333 Wohnort: Hommingberg
|
Zitat :
Haudegen hat am 5 Jun 2007 16:40 geschrieben :
|
Also die Farbe der LED ist eigentlich egal irgendwas mit Lowpower.
|
Dann nimm eine superhelle rote. Die hat eine niedrige Flußspannung und ist bei gleichem Strom heller als eine Lowpower-LED. Teilweise betreibe ich solche LEDs mit weniger als 1mA und man sieht sie gut. Sozusagen Öko-Tuning. Mehr PS - doch wenn man die nicht braucht spart man Energie.
Mach Dein Layout so, dass Dein Eingang leicht an GP1 oder GP2 umgelötet werden kann (vielleicht Jumper?). GP2 wäre der Schmitt-Trigger-Eingang oder ein A/D-Eingang, GP1 als TTL oder Komparator oder A/D-Eingang.
Wenn die Zeit so knapp ist, dann mache das so wie ich empfohlen habe. Erst mal mit einem der digitalen Eingänge. Wenn das läuft und Du hast noch Zeit, kannst Du verfeinern, ohne Zeit vertan zu haben. Wenn Du Dich gleich auf den A/D-Wandler oder Komparator mit Stromspartrick stürzt und das klappt nicht, ist's ärgerlich.
Gruß,
Ltof
_________________
„Schreibe nichts der Böswilligkeit zu, was durch Dummheit hinreichend erklärbar ist.“
(Hanlon’s Razor)
|
BID = 434722
Ltof Inventar
Beiträge: 9333 Wohnort: Hommingberg
|
Unten noch ein kleines, lauffähiges Assemblerlisting für den PIC12F683.
_________________
„Schreibe nichts der Böswilligkeit zu, was durch Dummheit hinreichend erklärbar ist.“
(Hanlon’s Razor)
|
BID = 434943
Haudegen Neu hier
Beiträge: 26
|
Hi, habe heute Post bekommen und hab mal die Software für den Programmer und MPlab Installiert. Musste leider den Treiber auf der HP runterladen weil die beiliegende CD nicht in meinem CD-ROM abspielbar ist. MPlab ließ sich einwandfrei installieren. Jetzt kann man ja unter Device den PIC auswählen den man beschreiben will und wenn ich dann den PICF683 auswähle kann ich nicht mehr das PICkit2 als Programmer auswählen. Beim PIC 16F690 geht das wiederum.
Installiert habe ich die Software auf der CD MPLab 7.50 Hab gesehen, dass es auf der Site von Microchip ne neuere Version gibt 760a oder so aber daran kanns ja nicht liegen, oder doch?
[ Diese Nachricht wurde geändert von: Haudegen am 6 Jun 2007 18:56 ]
|
BID = 434949
Ltof Inventar
Beiträge: 9333 Wohnort: Hommingberg
|
Zitat :
Haudegen hat am 6 Jun 2007 18:55 geschrieben :
|
und wenn ich dann den PICF683 auswähle kann ich nicht mehr das PICkit2 als Programmer auswählen. Beim PIC 16F690 geht das wiederum.
|
Ja, das ist bei PICkit2 etwas lästig. Das lässt sich nur mit wenigen PICs direkt aus MPLAB ansprechen.
Du musst noch die PICkit2 Brennsoftware installieren. Das von MPLAB erzeugte Hexfile brennst Du dann damit in den PIC. Ich hatte mich da schon so dran gewöhnt, dass ich das schon lange ignoriere.
Die Brennsoftware und am besten auch die neueste Firmware ziehst Du auch von der Microchip-Page.
Ich hoffe, dass irgendwann alle PICs direkt mit MPLAB und PICkit2 brennbar sind. Z.Zt. benutze ich 7.40.
Gruß,
Ltof
_________________
„Schreibe nichts der Böswilligkeit zu, was durch Dummheit hinreichend erklärbar ist.“
(Hanlon’s Razor)
|
BID = 434955
Haudegen Neu hier
Beiträge: 26
|
Zitat :
Ltof hat am 6 Jun 2007 19:15 geschrieben :
|
Du musst noch die PICkit2 Brennsoftware installieren. Das von MPLAB erzeugte Hexfile brennst Du dann damit in den PIC.
|
Alles klar dann weiß ich ja jetzt wies funktioniert. dachte Das wäre nur ein Treiber. Den kleinen Umweg nehm ich gerne in Kauf. Also "einfach" Hexfile in MPlab erstellen und dann mit PICkit2 importieren und brennen. Dann werd ich mich mal versuchen einzuarbeiten.
Kannst du mir noch schnell sagen wie ich am Besten den PIC der bereits im Sockel war herausbekomme damit ich meinen einsetzen kann. Dafür gibts doch auch ne Zange oder so aber ich hab sowas nicht.
[ Diese Nachricht wurde geändert von: Haudegen am 6 Jun 2007 19:45 ]
|
BID = 435057
Ltof Inventar
Beiträge: 9333 Wohnort: Hommingberg
|
Vorsichtig mit einem dünnen Schraubendreher oder Pincette abwechselnd von vorne und hinten raushebeln. Du kannst Dir auch eine billige Pincette zum Ziehen zurechtbiegen.
Mein PICkit hat inzwischen einen Nullkraftsockel.
_________________
„Schreibe nichts der Böswilligkeit zu, was durch Dummheit hinreichend erklärbar ist.“
(Hanlon’s Razor)
|
BID = 435098
Haudegen Neu hier
Beiträge: 26
|
Danke hat mit der Pinzette funktioniert. So ein Nullkraftsockel ist natürlich auch was feines auf die Dauer.
Habe mich jetzt mal kurz mit dem bereits eingebauten 16xxxx PIC beschäftigt. Beispielprogramme kurz angeschaut, eingespielt usw. Wollte allerdings keine Zeit verlieren und hab den 12F683 eingebaut um ein paar der Programme für ihn zu assemblern und scheitere schon beim Versuch ein Ausgang auf High zu stellen.
Es geht darum die Ports richtig anzusprechen. Beim 16xxxx definiert man ja einen Port als Ausgang indem man mit
das 0 auf 1 setzt. Dann kann man mit
das erste Bit von C0 auf eins setzen.
das kann ich natürlich für meinen Pic mit 8 Pins nicht einfach übernehmen. Wie spreche ich denn die Ports von meinem Chip an damit sie genauso reagieren? Irgendwie tue ich mir schwer im Datenblatt die genauen Bezeichnungen für den Assemblercode zu finden.
Habe es mal mit
Code : |
bsf STATUS,RP0 ; select Register Page 1
bcf TRISIO,0 ; make IO Pin C0 an output
bcf STATUS,RP0 ; back to Register Page 0
bsf PORTC,0 ; turn on LED C0 (DS1)
goto $ ; wait here |
|
probiert aber da mag den Ausdruck PORTC nicht.
|
BID = 435110
Ltof Inventar
Beiträge: 9333 Wohnort: Hommingberg
|
Der 12F683 hat keinen Port C (und keinen A oder B). Bei den Kleinen gibt es nur einen Port und der hat den Namen GPIO.
Es müsste also heißen:
bsf GPIO,0
Für die Zukunft: Ließ Dir mal bei Sprut die Geschichte mit der "IN/OUT-Falle" (Read-Modify-Write-Problematik) durch. Da können mit "bsf" und "bcf" komische Sachen passieren. Bei Deiner Aufgabenstellung sehe ich noch kein Problem damit.
Die vier LEDs auf dem Demobord lassen sich mit dem 12F683 nicht ansprechen. Die sind außerhalb der acht Pins angeschlossen und gehen nur mit den größeren PICs. Du musst eine LED mit Vorwiderstand in die entsprechenden Anschlüsse der 14-poligen Buchsenleiste stecken. Oder Du steckst einfach eine Brücke in die Buchsenleiste, damit der kleine PIC an die LED rankommt. Vergiß aber nicht, die Brücke wieder rauszunehmen, wenn der große PIC wieder eingesteckt wird.
Gruß,
Ltof
_________________
„Schreibe nichts der Böswilligkeit zu, was durch Dummheit hinreichend erklärbar ist.“
(Hanlon’s Razor)
[ Diese Nachricht wurde geändert von: Ltof am 7 Jun 2007 14:17 ]
|