Gps

apfelwolle

Neues Mitglied
13. Sep. 2009
54
0
0
Rheinhessen
Sprachen
Für meine Experimente habe ich mir ein GPS-Board entwickelt.

Die Eckdaten sind:

Atmega32
GPS Navilock NL-501ETTL
Display LCD-12232 von Pollin mit SED1520DEE
5 Taster für Eingaben
5 Ausgänge für LED oder Steuerung
SD-Card Modul zum Speichern von Daten

Das Ganze werde ich nun in den nächsten Tagen auf eine Lochrasterplatine bringen. Mal sehen ob und wie der Platz reicht.

Was mein Ihr könnte die Schaltung so laufen?

Die Schaltung für die Hintergrundbeleuchtung muss ich noch ergänzen.

http://home.arcor.de/w.bertram/GPS-v1.0.0.png
 
Hi :)

da hast dir ja ganz schön was vorgenommen :).


Ich versuch grad in deinem Schaltplan klar zu kommen, für mich ist es nur immer arg schwer wenn vcc links unten is und gnd rechts oben oder sonst wo *gg*


Ich schau immer dass VCC nach oben zeigt und GND nach unten dann ist das alles irgendwie zugeordnet.

So nun zu deiner Schaltung. Irgendwie verstehe ich es nicht mit deinen LEDs oben.
Du hast einen NPN Transistor, an dessen Basis geht ein Prozessor Pin, der Prozz wird mit +5V Versorgt, dein Emitter hängt auch an +5V.

Nun kann da irgendwie kein Basis Strom zum fließen kommen, den bei 5V am Ausgnag, hast 0V Basis Emitter Spannung. Das wird so nicht klappen.

Dann die Leitung an PA0... öhm irgendwie liegen da paar Leitungen übereinander, da kann ich leider nicht nachvollziehen wo was angeschlossen ist. Solltest solche Leitungen nie übereinander legen (wenn sie nichts miteinander zu tun haben).

Zu deiner SD Karte, diese bitte NIE mit 5V Versorgen, das kann zwar kurzzeitig gehen aber da wirst du nicht lange freude dran haben, Maximal 3,6V.

So nun zum LCD bist du dir sicher dass du da ne Negative Spannung am VEE haben willst ?


So nun geh ich erst mal was essen *gg*

Aber sonst hast dir da ne nette aufgabe rausgesucht :)

gruß
bluelight
 
Danke Bluelight für die Tips. Lass Dir das Essen schmecken.
Ich habe jetzt noch einen Termin auf dem Spielplatz!
Das mit den Spannungen nach oben und GND nach unten habe ich gleich berichtigt.

Die SD-Card bekommt nun 3,3V

Die Beschaltung für das Display hat Casio so ausgeknobelt.

Ich dachte bei der Transistorschaltung, dass so der Strom über die VCC fließt und nicht vom Atmega kommt. So kann doch die Last höher sein oder wie mache ich es besser?

Es ist halt mein erster großer Plan den ich mit Eagle zeichne.

http://home.arcor.de/w.bertram/GPS-v1.0.1.png
 
Hallo Apfelwolle!

Ich habe mir deine Zeichnug auch mal angesehen und das Erste was mir (genau wie Bluelight) aufgefallen war, ist der Anschluss der LEDs.
Sind die LEDs denn so stromintensiv, dass du sie mit einem Transistor ansteuern musst? :hmmmm:
Wenn das so ist, dann hast du den falschen Transistor rausgesucht.
Es muss deiner Zeichnung nach ein PNP sein und kein NPN.... oder du änderst die Ansteuerung. ;)

Das Zweite ist dein Displayanschluss....
Irgendwie bist du da mit den Pins 4 und 5 durcheinander gekommen.
Pin 4 ist die Clock für das Display und die wird auf der Pollin-Adapterplatine selbst erzeugt. Es ist also nicht nötig diesen Pin zu belegen!
Der Pin 5 wird mit dem Reset-Pin des Controllers verbunden (so wie du es fälschlicher Weise mit dem Pin 4 gemacht hast).

Die externen Pullups für die Taster musst du zwar nicht benutzen (es reichen auch die internen), aber wenn du unbedingt möchtest.....
Dann würde ich auch gleich noch die 100nF Kondensatoren an die Taster bringen, um eine hardwareseitige Entprellung zu realisieren.

Zum Anschluss der SD-Karte würde ich mal auf Bluelight hören... denn damit kenne ich mich nicht aus. ;)

Gleiches gilt für deinen GPS-Empfänger.... keine Ahnung!


Soweit erst mal von meiner Seite! :ciao:

Gruß,
Cassio
 
Noch mal... Hi !

Ähm.... die Sache mit den Widerständen an den Tastern ist irgendwie Unsinn!
Das sind keine Pullups !!!

Zu dumm, wenn man den Plan nur im Firefox vergrößert. :rolleyes:

Lass die Widerstände einfach weg und aktiviere die Internen!!!


Wenn du externe benutzen möchtest, dann kommen die Widerstände an +5V und mit dem Taster ziehst du dann das Potential auf GND.
So wie du es eingezeichnet hast bringt das nichts!

Gruß,
Cassio
 
heyho =)

da sag ich doch auch noch was dazu ^^

Also das mit den Tastern geht prinzipiell schon so .. Cassio du hast recht es sind keine Pull UPs aber Pull Downs :) kann man schon auch so machen .. wies jetzt halt gemacht ist im plan ist der Taster immer auf 0 und nur wenn er gedrückt wird ist er auf 5V, kann man auch sorum machen.

Ich mach se jedoch auch immer anderst rum (weil man sich einfach die Externen Widerstände spaart da man die Internen Pull UPs nehmen kann). Da schlägt einfach das Berufliche durch, dass man kosten Spaaren muss ^^.

So als Vorschlag (grad in Paint umgezeichnet ^^) wäre noch ne kosmetische sache dies aber wie ich finde einfacher macht.

Ja mit den LEDs wei Cassio schon meinte du könntest sie Direkt an Port anschließen wenn sie mit weniger Strom Fahren willst, ganz wichitg ist halt noch dass du die LED NIE direkt an VCC anschließt (auser du hast LEDs die das zulassen) aber für 99,9% aller LEDs nie ohne Vorwiderstand ne LED betreiben. Vor du dich wunderst dass eine Grüne LED auf einmal Orange leuchtet vor sie Rauchzeichen gibt ^^...

z.b. Wenn es nur Status LEDs sind reichen da normal 5mA (je nach Typ) ..
Rled = (VCC-Uled) / Iled also grob (5V-2,4V) / 5mA = 520R Also nimmst sowas wie nen 470R und du liegst schon mal ganz gut...

// Edit so nun weg vom hoster ^^ dann bleiben die pics auch hier

bluelight
 
Reichlich Futter in der kurzen Zeit. Vielen Dank dafür!

Die Taster bekommen dann keine Widerstände. Ich habe mir eingebildet ich köntte so den Controller etwas endlasten.

Der Transistor deshalb, weil ich eventuell mit den Ausgängen einmal lasten steuern möchte. Leztendlich träume ich von so einer Art Autopilot für mein RC-Car.

Könnte ich eigentlich die Seriellen Daten des GPS parallel abgreifen und mit einem Funkmodul senden?
Viele Grüße
Wolfgang
 
Hi,

ja ok wenn du da mehr betreiben willst als nur ne led bist du mit nem Transistor schon richtig =) diese dann aber auch richtig betreiben (also Basis Emitterspannung 0,7V bei nem NPN oder eben - 0,7V an nem PNP und bei leds wie gesagt aufpassen mit dem Strom also nen reihen Widerstand

Für Motoren würd ich eher sowas wie Highside Driver nehmen oder halt sowas wie nen Motortreiber... (die kannst mit 5V betreiben und sind kurzschlussfest und ham viele schöne features =)

klar kannst du das auch perr Funk an z.b. nen PC Senden wenn du 2 Funkmodule hast :).. kannst z.b. auch deinen AVR an nen FunkModul klemmen und die GPS daten am AVR annehmen und über den dann an PC Senden, somit kannst du auch noch anderes mit an PC Schicken als nur die GPS daten :)
 
So nun die Änderungen und Korrekturen klasse wie man hier geholfen bekommt vielen Dank dafür.:adore:

http://home.arcor.de/w.bertram/GPS-v1.0.1.png

Kann ich die Leitungen vom Sender und Empfänger parallel zu den Datenleitungen vom GPS schalten oder muss ich die Leitungen irgendwie gegeneinander entkoppeln?

Das GPS-Modul arbeitet mit 9600Baud, wie takte ich denn da am besten. Intern / Extern welche Taktrate?

Viele Grüße
Wolfgang

PS
Jetzt hadere ich mit mir und überlege es auf eine geätzte Platine zu bauen :rolleyes:
 
hi na das ganze sieht doch schon mal Ordentlicher aus,

Das ganze würde ich aber auch noch ums Display und um den SD Stecker "entwirren" also grad wenns von hand machst tust du dir so unheimlich schwer die richtige Leitung zu verlegen.

Dann wenn du Kreuzungen hast wie an der Kathode der LED 5 dort sind einfach 2 Leitungen Stumpf aufeinander ohne eine "Verbindung" vermutlich ist diese irgendwo unter einem anderen Kreuzungspunkt. Da einfach angewöhnen dass halt da wo auch die Verbindung ist auch der Verbindungs Punkt ist.

Tip zum SD Halter z.b. den weiter nach links und die andern leitungen rechts ausen rum (dann hast weniger kreuzungen) den ev. Vertikal drehen.

oder z.b. der Display Stecker .. wenn den auch Vertikal drehst dann hast es auch einfacher mit der Verlegung der Leitungen.

(sagen wir so solange du damit klar kommst ist das ja alles ok) Nur solche dinge können dir halt dein Leben später arg erleichtern :) z.b. bei Fehlersuche ...

weil wenn so Kreuzungen hast und alles übereinander und verworren .. ist es nicht all zu einfach das Signal wieder zu finden.

Du kannst z.b. auch Labels machen ,dass du nicht Snake spielen musst und deiner eigenen Schlange in den Schwanz beisst ^^.


Hast du bei deinem Programmierstecker beabsichtigt nen RJ45 ? (das erinnert mich so an die Pic zeit *brrr* ^^)


Zu deiner Frage mit dem GPS Modul, ich würds eher so machen dass du an die HW Uart z.b. mit dem GPS Modul reingehst. Dann z.b. mit einer Software Uart die Daten an PC Schicken vorteil ist da einfach du hast die Möglichkeit Andere Daten vom AVR auch an den PC zu schicken.

Du kannst die Uart schon auch "parallel Schalten" jedoch nur den RxD beim TxD wirdst du da sonst nicht glücklich (würde ich nicht machen).

Auf jeden fall bedenke dass zu zur PC Seite einen RS232 TTL -> RS232 Wandler brauchst (z.b. Max232 oder ADM202...) da der PC höhere Pegel braucht.

Falls du einen Max232 nimmst machst du schöne 1µF Cs an die LadePumpen und ev. reicht dann sogar die Spannung für dein VEE vom Display noch aus dann kannst du dir den NE555 auch noch Spaaren.

Gruß
 
Etwas nachgedacht und das Konzept leicht geändert. Als Display kommt nun ein Standart 16x2 zum Einsatz denn auf diesem Board macht eine grafische Dartstellung nicht viel Sinn und kostet zu viel Speicher und Rechenleistung.

Die Grafische Darstellung werde ich auf dem Senderboard mit einem größeren Display realisieren aber Eins nach dem Anderen.

Wer könnte mir denn einmal bei der Auswahl der günstigsten Taktrate behilflich sein?

Kann ich Software UART mit jedem Port des ATMega realisieren?

Hier die neueste Entwicklungsstufe:

http://home.arcor.de/w.bertram/GPS-v1.1.0.png
 
Hallo Apfelwolle!

Soweit sieht dein Plan doch recht gut aus!

Ich denke auch, dass ein Standarddisplay für diese Anwendung ausreichen würde und es vereinfacht nicht nur die Programmierung... auch den Anschluss. ;)

Eines noch zu deinem Schaltplan....
Ich würde die LEDs über den Vorwiderstand mit +5V versorgen und vom Controller aus zu GND durchschalten lassen.
Ein Controller mag es lieber, wenn er zu GND "durchschaltet" als wenn er selber den Strom liefern muss!
Natürlich musst du das in der Programmierung berücksichtigen, dass ein "PortX.Y = 0" die LED dann EIN schaltet und nicht AUS. ;)


Wünsche dir weiterhin viel Spaß bei der Entwicklung.....

Gruß,
Cassio
 
Hi,

also so sieht das ganze doch richtig ordentlich aus =) Super. :)


@Cassio naja geb dir Prinzipiell recht jedoch bei ca 2mA / LED .. naja hätte ich da keine Bedenken und somit ist es von der Logik einfacher im Programm...


gruß

bluelight
 
Hi Bluelight!

Stimmt schon, was du schreibst..... und ich sehe es mit den 2mA pro Ausgang auch nicht ganz so eng. ;)

Allerdings ist es eine Sache der Gewohnheit und wenn man gleich mit dieser Variante beginnt, dann behält man das meist auch so im Kopf.
Ich selber arbeite auch noch manchmal mit der "stromliefernden" Variante. :eek:
Allerdings gewöhne ich es mir nun langsam wieder ab.... Wenn man einmal etwas "falsch" angefangen hat, dann wird man die Gewohnheit nur schwer wieder los. ;)

Darum wollte ich Apfelwolle gleich mal darauf hinweisen, dass er die LEDs besser "drehen" sollte. :)

Grüße,
Cassio
 
Hi,

2mA sind natürlich kein Problem. Doch hat man mal einen "Stromfresser", wird's eng. Ich habe mir auch von Beginn an angewöhnt, die Led's mit einem Widerstand nach 5V zu schalten. Und die Pinbelastung halte ich (zumindest rechnerisch) bei Bedarf zwischen 10 und 20mA.
Hat bislang also noch keine Rauchschwaden gegeben.


Grüsse,

Michael
 
Deshalb möchte ich auf Nummer sicher gehen und werde den Ausgängen einen Transistor spendieren. So sollte es richtig sein :

T_a_s.png


Jetzt heist es nunr noch Taschenrechner und Formelsammlung raus und rechnen!
 
Hi Apfelwolle !

Natürlich kannst du auch extra einen Transistor nehmen.....
Allerdings würde ich deiner Zeichnung auch die LED mit einplanen, sonst fehlt irgendwie das Wichtigste. ;)

Du meinst das bestimmt so, wie ich es unten als Beispiel angehängt habe....

Gruß,
Cassio
 

Anhänge

  • Apfelwolle-LED.jpg
    Apfelwolle-LED.jpg
    87,4 KB · Aufrufe: 23
Hi,

T_a_s.png


Jetzt heist es nunr noch Taschenrechner und Formelsammlung raus und rechnen!
nach Gefühl ...
15k-22k Basisvorwiderstand
1k-1,5k Vorwiderstand LED
nimm nen BC5xxC
Also kein A oder B sondern C-Typen. Die haben eine höhere Stromverstärkung
und brauchen aus dem Grund weniger Basisstrom um voll durchzusteuern.

Gruß
Dino
 
@TE: Du solltest Deine SD-Karten-Schaltung nochmal anschauen. Und zwar, versorgst Du sie jetzt mit 3,3V, alles super, aber die Pegel zwischen der MCU und der Karte (Datenleitungen, CS, ...) sind immernoch 5V, das geht nicht gut.

Hier solltest Du einen Pegelwandler nutzen. Ich habe für meine SD-Karte einen MAX3378, es ist ein 4-Kanal Pegelwandler. Von einer Seite kommen die 3,3V-Pegel rein und auf der anderen Seite kommen 5V Pegel raus. Der Baustein ist bidirektional, also genau richtig. Zum Löten aber ein absoluter Krampf.

Grüsse
Heinrich
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)