Abend zusammen, im Rahmen einer kleinen Projektarbeit soll ich eine Schaltung sowie ein PCB entwickeln, das folgende Funktionalität haben soll: -7-Segment Anzeigen -Temperaturmessung -RTC mit data retention Ich habe einen ersten Entwurf mit dem Prof durchgesprochen und für die Doku das Blockdiagramm erstellt. Meine Fragen: - Denkt ihr eine externe RTC ist nötig? Ich will mich nicht zu sehr mit der Programmierung verhuddeln und weiss auch nicht wie ich das "umschalten" von externer auf Batterieversorgung lösen soll. - Falls ich eine externe RTC verwende, könnte es Probleme mit dem I²C geben da die MCU extern versorgt wird, die RTC aber mit der Batterie? - Denkt ihr der 7805 ist nötig? Reichen vielleicht auch die 2 Standard Caps? - Kann man mit dem PICkit2 debuggen? (afaik ja) - Welchen PIC könnt ihr mir für diese Anwendung empfehlen? (Natürlich keine BGA devices)
>- Denkt ihr eine externe RTC ist nötig? Kommt auf deine Anforderung an. Wenn das Modul nur zusammen mit dem PC arbeitet, kannst du auch in deiner C#-Software die Zeitstempel erzeugen. Ohne PC-Verbindung würde ich eine RTC bevorzugen, natürlich automatisch synchronisiert bei bestehender RS232-Verbindung. >"umschalten" von externer auf Batterieversorgung Bist du auf den Chip festgelegt? Ansonsten schau dir z.B. mal den DS1307 an, der hat einen Pin für eine 3V Knopfzelle und schaltet automatisch um. Außerdem: Im Datenblatt vom PCF8563 ist ziemlich weit hinten eine Beispiel-Schaltung mit einem Goldcap drin. >Probleme mit dem I²C Sollte eigentlich nicht passieren, sofern du nicht auch die Pullup-Widerstände aus der Batterie versorgst. Zur Sicherheit könntest du die Datenleitungen mit 2 FETs entkoppeln, dazu findest du unter "I²C Levelshifter" einen Schaltplan. >Denkt ihr der 7805 ist nötig? Wenn das Gerät ohne PC läuft: Brückengleichrichter + 7805 einbauen, so kannst du alles anklemmen was irgendwie Spannung ausspuckt. Gerät läuft nur am PC: Evtl. "saubere" 5V vom USB abzweigen? Dazu noch einen FT232 auf die Platine und gleich die Daten über USB schieben? >Kann man mit dem PICkit2 debuggen >Welchen PIC könnt ihr mir für diese Anwendung empfehlen? Keine Ahnung, ich bastele lieber mit Atmels. Schau dich mal um, vielleicht gibt es sogar einen PIC mit eingebauter RTC. Für alles andere sollte jeder "normale" PIC mit 1 USART und vielleicht 1-2 Timern reichen. Allgemein zu deinem Schema: - Es fehlt noch ein Quarz, ohne genauen Takt wirst du mit RS232 Probleme bekommen. - Die Taster lassen sich auch in Software entprellen. - Statt dem MAX7221 kannst du auch den MAX7219 nehmen, vielleicht ist der günstiger. Einen "echten" SPI-Bus verwendest du hier nicht, für das eine IC kann man die Daten locker per Timer-Interrupt rausschieben.
Frank Meier schrieb: > Denkt ihr eine externe RTC ist nötig? Nö, bzw. ich verwende nie eine, ist mir zu umständlich. Viele MCs haben einen internen Stromsparbetrieb, wo sie nur etwa 1µA verbrauchen. Dabei steht dann die CPU und der Prozessortakt, nur ein Timer läuft asynchron weiter. Man muß nur noch einen 32kHz Quarz anschließen. Die Spannung vom Netzteil und von der 3V-Batterie führt man über 2 Dioden auf VCC des MCs. Zur Erkennung, wann er in den Sparbetrieb gehen soll, kann der MC seine eigene VCC messen. Das kann z.B. der ATmega48 von Atmel über seine interne Referenz (1,1V). Frank Meier schrieb: > Denkt ihr der 7805 ist nötig? Wozu? Es gibt doch fertige Netzteile mit 5V Ausgang. Frank Meier schrieb: > Welchen PIC könnt ihr mir für diese Anwendung empfehlen? Damit kenne ich mich nicht aus. Ich würde dafür einen ATmega48 von Atmel nehmen. Peter
Leo-andres H. schrieb: > Wenn das Modul nur zusammen mit dem PC arbeitet Die PC Verbindung ist nur Gimmick zum einstellen der RTC und anzeigen von Daten auf dem Display. Leo-andres H. schrieb: > natürlich automatisch > synchronisiert bei bestehender RS232-Verbindung Das wollte ich ebenfalls in die software integrieren :) Leo-andres H. schrieb: > Bist du auf den Chip festgelegt? Ansonsten schau dir z.B. mal den DS1307 > an, der hat einen Pin für eine 3V Knopfzelle und schaltet automatisch > um. > > Außerdem: Im Datenblatt vom PCF8563 ist ziemlich weit hinten eine > Beispiel-Schaltung mit einem Goldcap drin. Danke für den Hinweis, ich schaue mir das mal an! Ansonsten: Ich habe komplett freie Wahl was die Bauteile angeht. Ebenso danke für die restlichen Hinweise, ich versuche alle zu berücksichtigen. Ich werde nach der Bauteilwahl einen Schaltplan posten. Peter Dannegger schrieb: > Viele MCs haben einen internen Stromsparbetrieb, wo sie nur etwa 1µA > verbrauchen. Ja ich hatte bereits einen MSP430 in Betracht gezogen aber habe wie schon geschrieben Angst vor der Programmierung da das Neuland für mich ist. Aber gegen eine kleine Herausforderung habe ich nichts :) Peter Dannegger schrieb: > Wozu? Im Nachhinein frage ich mich das auch... Peter Dannegger schrieb: > Ich würde dafür einen ATmega48 von Atmel nehmen. Ich habe einen PICkit sowie einen GALEP4 zu Verfügung und will die Kasse der Uni ungern mit nem teuren programmer/debugger belasten.
> -7-Segment Anzeigen > -Temperaturmessung > -RTC mit data retention Macht eigentlich jedes chinesische Digitalthermometer. Aber ohne den ganzen Aufwand. Wenn man einen Uhrenquartz direkt für den uC verwendet, ist der schon mal uhrgenau, EEPROM hat er auch. Wenn man keine LCD-Gläser herstellen kann und ihre Multiplex Ansteuerung nicht beherrscht und deswegen LED 7 Segment Anzeigen nehmen muß, braucht man ein Netzteil, aber wenn das ein SchaltREGLER ist, wozu verbaut man noch einen 7805 ? (der zudem noch immense 5mA selbst verbraucht). Wenn man einen uC mit genügend vielen Anschlüssen nimmt, kann man sich den extra LED-Treiber sparen. Mit etwas Glück kann man sogar die Segmente direkt aus ihm versorgen, in dem man mehrere Ausgänge parallel schaltet. Bleibt noch die Temperaturmessung: Sogar ohne A/D-Wandler kann ein uC direkt einen analogen Sensor auswerten, ob NTC oder KTY oder sonstwas. Wenn man mit Analogtechnik auf Kriegsfß steht, braucht man natürlich teure digitale Sensoren. Allerdings haben heute alle uC Analogeingänge und es gibt damit keinerlei Grund mehr für Digitalsensoren. Deswegen ist China billiger und inzwischen besser. Klar, als "PCB Projekt" bleibt so quasi nichts übrig.
Also, falls du das ganze mit USB machen möchtest, guck dir mal beispielsweise den PIC18F14k50 an. Oder guck einfach mal hier, welcher der Chips ausreichend für dich ist: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2654 Die haben USB onboard und Microchip bietet hierfür ein Framework mit vielen Beispielprojekten an!! Um den mit dem Pickit2 debuggen zu können braucht man allerdings einen sogenannten "Debug header". Wie's mit den anderen Programmer/Debugger aussieht weiß ich grad nicht. Mit nem ICD"x" wirste son Header wohl nicht brauchen.
Tom_ti schrieb: > Die haben USB onboard und Microchip bietet hierfür ein Framework mit > vielen Beispielprojekten an!! Hast du schon mal mit USB gearbeitet? Ein paar Praktikantenkollegen haben damit recht viele Probleme gehabt aber das würde mich auch reizen. Insbesondere wenn die Möglichkeit besteht mit einem Bootloader zu arbeiten. Was heisst "debug header"? Wenn das einfach nur ein header ist den man einbinden muss, ist das ja kein Problem! @MaWin: Obwohl dein etwas aggressiver Beitrag eigentlich keinen Kommentar verdient: Ja ich weiss was Multiplexen ist. Ich bin einfach nur zu faul es zu realisieren. Wenn du "unbegrenzte" Mittel hättest würdest du das auch machen. Insbesondere wenn du noch nie gelayoutet hast und vermutest dass das die meiste Zeit kostet. Ja ich weiss das dass jedes chinesische wasweissich kann. Ich hab die specs nun mal so bekommen und es ist ein LERN projekt. Das hat die Uni so an sich dass man da lernt. Ja ich weiss dass ich auch mit nem Pt100 oder Pt1000 Temperaturen messen kann und wenn du das "Analogtechnik" nennst tust du mir leid.
Ja, ich verwende den PIC18F14k50 selber seit kurzem mit dem Framework von Microchip als "Serial Emulator". Das heißt PC-seitig kannst du ganz normal wie über die Serielle Schnittstelle darauf zugreifen. C#-Beispiel-Programmer sind in dem Framework übrigens auch enthalten. Was für Probleme hatten deine Kollegen denn damit? Der "Debug-Header" ist folgendes: http://www.microchipdirect.com/productsearch.aspx?Keywords=AC244023 Da der schon 50 Euro kostet, würde ich vielleicht eher zu einem PIC mit "on-board debugging capability" greifen. 50 Euro gespart... Beim PIC18F14K50 stehts schon auf der Seite von MCH, dass dieser einen debug header benötigt:
1 | PIC18F/LF1XK50 20-Pin USB Flash Microcontrollers with nanoWatt XLP Technology (11/02/2010) |
2 | The PIC18F14K50 brings advanced features and exceptional value to the embedded USB market. This low cost PIC® Microcontroller features a full speed USB 2.0 compliant interface that can automatically change clock sources and power levels upon connection to a host, making it an exceptional device for battery-powered applications. The addition of mTouch(TM) touch sensing compatibility, a 10-bit ADC, motor control PWMs, and a host of serial interfaces make the PIC18F14K50 the perfect device to "Just add USB" to any application. |
3 | USB Application Design Center Debug Support |
4 | • A debug header is required for this device |
5 | • Part Numbers:, AC244023 (F) / AC244024 (LF) |
6 | • Debug and programming support is available via PICkit™ 3, and MPLAB® ICD 3 |
7 | • For Debug Header information, please refer to DS51292 |
Bei dem nächsten Modell (PIC18F2450) in der Liste finde ich diesen Hinweis nicht, von daher könnts sein, dass der des auch ohne debug header kann. Müsstest du aber natürlich nochmal genauer recherchieren.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.