-         

+ Antworten
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Atmega 644-P mit LCD auf Steckbord

  1. #1

    Atmega 644-P mit LCD auf Steckbord

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo zusammen, als Abschlussarbeit muss ich u.a den oben genannten Mikrocontroller verwenden. Ich verwende in der Schule den Atmega32 auf dem klassichen "Unterrichts"-Fertig-Bord mit diversen Schnittstellen,integrierten Tastern,LEDs etc. Jetzt habe ich zum ersten mal einen "nackten" MC auf dem Steckbord zum Probeaufbau, kleine Tests wie z.b. eine LED mit entsprechendem C-Blinkprogramm anzusteuern funktionieren auch. Nun wollte ich ein zweizeiliges LCD-Display ansteuern, analog zur Unterrichtseinheit in der Schule. Das Programm läuft auf dem Schulbord definitiv, nur auf dem Steckbord-Aufbau leider nicht. Der Microcontroller ist (wie im Wiki) mit Spannung direkt vom Netzgerät und vorgeschaltetem Entstörkondensator, der Programmierschnittstelle sowie dem LCD-Display an Port C verbunden, sonst nichts. Gibt es irgendwas was ich vergessen habe, was der "nackte" MC auf dem Steckbord im gegensatz zum fertigen Experimentierbord für den LCD-Betrieb noch braucht?

    Ich hoffe es ist einigermaßen verständlich, sonst kann ich bei Bedarf die Tage auchnoch Pläne/Fotos erstellen
    Danke schonmal für eure Antworten!

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von BMS
    Registriert seit
    21.06.2006
    Ort
    TT,KA
    Alter
    25
    Beiträge
    1.152
    Hallo und willkommen im Forum!

    Wenn ich ATmega32/644 und PORTC in einem Satz höre, läuft das quasi immer auf die sog. JTAG-FUSE hinaus. Frische AVRs dieses Typs sind so konfiguriert, dass an PORTC der JTAG (zum Debuggen) aktiv ist. Du musst die Fuses umprogrammieren, sodass JTAG deaktiviert ist. Das funktioniert z.B. mit dem AVR-Burn-o-mat. Erst dann lässt sich der Port normal nutzen. Das ist irgendwie ein Klassiker bei den AVRs...

    Ansonsten: Ich gehe davon aus, dass es ein Standard Textdisplay ist? Hast du dich um die Spannung an dem Kontrast-Pin gekümmert? Meistens schließt man dort ein Poti an. Wenn das Display noch keine Daten vom MC bekommen hat, muss in der ersten Zeile ein fetter Balken zu sehen sein, sonst ist die Kontrastspannung nicht richtig.

    Wünsche gutes Gelingen bei deiner Abschlussarbeit!

    Viele Grüße,
    Bernhard
    "Im Leben geht es nicht darum, gute Karten zu haben, sondern auch mit einem schlechten Blatt gut zu spielen." R.L. Stevenson

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.244
    .. ein zweizeiliges LCD-Display ansteuern .. Microcontroller .. Spannung direkt vom Netzgerät .. LCD-Display an Port C ..
    GND-LCD mit Controller-GND verbunden? Woher bezieht das LCDisplay seinen Saft? Direkt von einem Controllerport hoffentlich nicht, dagegen spricht das Datenblatt: Atmel-8272G-AVR-01/2015 - Seite 333, Punkt 29; Electrical Characteristics - TA = -40°C to 105°C: DC Current per I/O Pin 40.0 mA, DC Current VCC and GND Pins 200.0 mA.

    Ansonsten hat ja schon Bernhard den typischen mega16-bis-1284er Sonderstatus mit Anfänger-Fehlfunktion beschrieben.
    Ciao sagt der JoeamBerg

  4. #4
    Moin das hat schonmal sehr geholfen, danke! Muss ich diese Fuse zwangsläufig rausnehmen oder kann ich auch einfach einen anderen Port nehmen? Das Display läuft über die ausgegebene Versorgungsspannung von PORTC, werde das dann direkt ansteuern, da kann ja nix kaputtgehen? Der erwähnte schwarze Balken ist da, spielen mit der Kontrastspannung funktioniert auch.

    Werde es mal ausprobieren und mich dann nochmal melden, wird bestimmt nicht die letzte Frage sein wenn der gemeine Elektriker mal mit Bits und Bytes anfängt..

    Bis dahin!

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    28
    Beiträge
    4.373
    Du kannst nehmen was du willst, du musst es nur im Programm anpassen. Aber wenn du es nicht benötigst ist es besser wenn du es abschaltest. Und die Versorgung (VCC) schaltest über den PortC? Du musst es dann sofort ändern und hoffen das du den µC nicht eliminiert hast.

    MfG Hannes

  6. #6
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.244
    .. Muss ich diese Fuse zwangsläufig rausnehmen oder kann ich auch einfach einen anderen Port nehmen? ..
    Du MUSST die JTAG-Funktion nicht abschalten, Du könntest nen andern Port, zumindest andere Pinne von C nehmen (die NIX mit JTAG zu tun haben). Aber - brauchst Du JTAG? Wenn nicht, dann schalte es einfach ab.

    .. Das Display läuft über die ausgegebene Versorgungsspannung von PORTC ..
    Ich hatte es fast vermutet, nein befürchtet. Du hattest also noch nie diese Einschränkung der verfügbaren Ströme pro einzelnen Pinn (kleiner als 40 mA) bzw. des verfügbaren Gesamtstromes von 200 mA über alle Portpinne - bzw. 200 mA über die Versorgungsleitungen - gelesen!? Also - keine grösseren Ströme vom Controller nehmen, dringend!

    .. Der erwähnte schwarze Balken ist da, spielen mit der Kontrastspannung funktioniert auch ..
    Na, der Balken ist zwar schwarz, ist aber bei der Problemlösung der Silberstreif am HOrizont!

    PS: mein alter Spruch: der Umgang mit Mikrocontrollern ohne vorher das Datenblatt gelesen zu haben gehört zu den letzten großen Abenteuern unserer Erde.
    Fazit: Datenblatt lesen. Gibts hier (klick) gratis, das neueste; Stand siehe Datum des Postings.
    Ciao sagt der JoeamBerg

  7. #7
    Ersteinmal danke für eure Antwort- es hat alles wunderbar funktioniert. Mittlerweile hat sich ein neuer Stolperstein aufgetan. Wir wollen eine RS232-Schnittstelle ersteinmal als Testaufbau mit einem Terminalprogramm beschicken und die Daten sofort aufs LCD ausgeben. Mit dem fertigen Schul-Board gehts sofort, mit unserem Steckbrett leider nicht. Beschaltung an die Eingänge passt auf jeden Fall. Gleichzeitig fällt auf, dass Schaltungen die auf dem Schulbord problemlos laufen, auf dem Testbord sehr langsam takten, gerade bei Verwendung von delay-Funktionen in C. Gibt es da noch weitere Fuses oder einstellungen die beim ersten Mal vorgenommen werden müssen, wird ein Quarz benötigt etc?

    Das Schul-Bord ist ein 16 MhZ-Atmel-MC, unser Aufbau ein 644p-MC.

    Gruss von jemandem, der zwar mit dem Schulbord viel gelernt hat, bei dem es jedoch in Kombination mit neuer Hardware beim schaffen von "neuen" Sachen Probleme hat.

    Danke schonmal!

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von BMS
    Registriert seit
    21.06.2006
    Ort
    TT,KA
    Alter
    25
    Beiträge
    1.152
    Hallo nochmal,

    auch dafür gibt es Fuses. Im AVR Burn-o-mat lässt sich das komfortabel einstellen. Welche Taktquelle usw...
    Unter anderem gibt es eine "divide system clock by 8" (nicht im Bild) ...
    Siehe hier z.B.

    (Quelle http://www.aaabbb.de/avr8_burn-o-mat...ck_options.png )

    Grüße,
    Bernhard
    "Im Leben geht es nicht darum, gute Karten zu haben, sondern auch mit einem schlechten Blatt gut zu spielen." R.L. Stevenson

  9. #9
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.244
    .. Das Schul-Bord ist ein 16 MhZ-Atmel-MC, unser Aufbau ein 644p-MC ..
    Pingelig: Das Schulboard ist ein 16 MhZ-Atmel-MC .. Hmmmmmm, aber was für einer ? Da wär ne Angabe wie zu Deinem Aufbau ".. ein 644p .." ganz gut. Wobei Du uns zu Deinem Aufbau leider weder nen Schaltplan noch sonstige Informationen wie z.B. Quarz xx zukommen lässt.

    .. fällt auf, dass Schaltungen die auf dem Schulbord problemlos laufen, auf dem Testbord sehr langsam takten,
    .. wird ein Quarz benötigt etc? ..
    WENN Du die Geschwindigkeiten der beiden Boards miteinander vergleichen möchtest sollten - im Idealfall - der Testaufbau den gleichen Controller besitzen wie das Schulboard und den gleichen Quarz und die gleichen Fuses und und. Es sollten beide Schaltungen eben gleich sein (soweit sie funktionell benutzt werden), aber Controller und Quarz gleich zu halten ist schon ein eher wesentlicher Fall. Das würde auch die softwareseitige Gleichheit wirklich perfekt machen - und damit viel Mühe sparen als wenn Du z.B. zwei verschiedene Controller nimmst. Und BMS nennt ja schon ein ganz typisches Anfängerproblem: die fabrikfrischen Atmelcontroller werden mit gesetztem CKDIV8-Bit ausgeliefert ==> der Controller tickt a) mit internem Oszillator, der 8 MHz macht, ABER b) wird dieser Takt für den Controllerablauf durch acht dividiert.
    Ciao sagt der JoeamBerg

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.823
    Soweit ich weiss sind doch der ATMEGA32 und der 644 Pinkompatibel.
    Dann müsstest Du nur ein "Schulboard" nehmen und den Controller austauschen.
    16MHz geht bei den meisten ATMEL Controllern nur mit externer Taktquelle, also Quarz oder Quarzoszillator.
    Diesen würde ich bei serieller Schnittstelle auch dringend empfehlen, weil die interne Taktquelle der AVR's nicht besonders genau und dazu noch temperaturabhängig ist.
    Dafür haben einige Programmiergeräte die Möglichkeit einen OSC-CAL Wert in den Flash zu schreiben.
    Dieser Wert muss dann durch deine Software in bestimmte Register des ATMEGA geschrieben werden - Funktioniert aber nur bis 8MHz - Hab ich selber noch nie benutzt.
    Im Auslieferungszustand läuft der Controller mit interner 8MHz Quelle und durch die clk/8 Fuse wird dieser Takt dann auch noch durch 8 geteilt, also läuft das Ding mit 1MHz - Das mit dem CLK/8 haben die meisten ATMEGA Controller, guck mal nach, ob die auch beim 644 aktiv ist.

    Für die serielle Schnittstelle brauchst du entweder einen Pegelwandler wie den MAX 232 oder eine USB Bridge wie die FT232Rx.
    Die USB Bridge muss von der USB Seite aus mit einem Tool für Windows programmiert werden, damit sie zu deiner Schaltung passt.

    Da es sich bei Deinem Projekt ja nicht um geheime Raketentechnik handelt könntest Du schon mal einen Schaltplan posten - Würde vieles einfacher machen.

+ Antworten
Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. [ERLEDIGT] Atmega 644 & atmega8 parallel am ISP ... Reset beider atmega notwendig ..
    Von Ritchie im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 29.03.2013, 12:18
  2. ATMEGA 32-16 DIP :: ATMega AVR-RISC-Controller, DIL-40 |ISP-KABEL ?
    Von welt-von-max im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 3
    Letzter Beitrag: 16.05.2011, 12:41
  3. serielle Komunikation von Atmega zu Atmega
    Von info8sn im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 21.04.2008, 07:17
  4. ATMEGA 32L8 DIP vs. ATMEGA 32-16 DIP
    Von manchro im Forum AVR Hardwarethemen
    Antworten: 9
    Letzter Beitrag: 10.10.2007, 22:29
  5. Warum ist ATMEGA 32L8 DIP teurer als ATMEGA 32 DIP
    Von Frank im Forum AVR Hardwarethemen
    Antworten: 10
    Letzter Beitrag: 16.03.2004, 13:31

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •