Autor |
welcher Atmel für Torzähler? |
|
|
|
|
BID = 142495
Morgoth Schreibmaschine
Beiträge: 2930 Wohnort: Rockenhausen (Pfalz)
|
|
Hallo:
also ich möcht nun auch mal mit µControllern anfangen, und hab für den anfang an nen Kicker-Torzähler gedacht,
ich will also ne lichtschranke (empfänger ist bpw32)abfragen, bzw 2, und wenn sie kurz (seeeeehr kurz)dunkel wird soll das zugehörige LED 1x7segment display weitergestellt werden
dann wäre es noch nett, wenn auf dem display wenn eine seite 6 tore hat auf der siegerseite "sieger" durchläuft, oder sonst irgendwas beliebiges (z.b: "kreisen" der segmente)
und auf der verliererseite auch irgendwas, das kann ich ja dann beim proggen entscheiden...
was ich wissen will, ist welchen atmel ich dafür am besten nehmen soll, weil ich davon ja noch keine so ahnung habe...
also ich bräuchte ja mal mindestens 14 ausgänge und 2 eingänge, dann vllt noch nen kleinen "tongenerator" für ein piepsen bei jedem tor, also 15 ausgänge
also welchen atmel empfehlt ihr mir da?
MFG und Frohe Weihnachten
_________________
Es irrt der Mensch solang er strebt
[ Diese Nachricht wurde geändert von: Morgoth am 25 Dez 2004 22:34 ] |
|
BID = 142654
MinceR Stammposter
Beiträge: 277
|
|
frohe weihnachten,
also ich empfehle den atmega8. der ist zwar noch ein kleiner aber hat so ziemlich alles verbaut. wenn du einsteigen willst ist das schon mal was schönes da der A/D wandler timer/counter pwm (kannste fürs piepen benutzen) du brauchst 15 i/o ports.
du kannst jeden i/o port als entweder eingang oder ausgang benutzen. bzw wenn dein programm und die schaltung drum herum es erfordert auch zwischendurch umschalten via programm.
atmega8 hat ich glaub 22 IO ports.
oder du bestellst dir 2 mal den z.b. atmega8535. der ist wie mega8 nur mehr io ports und mehr timer und mehr speicher und mehr flash usw..
auf atmel.com ist irgendwo auch ne tabelle. da stehen alle µCs aufgelistet und wieviele IOports wieviel speicher wieviel bla und blubb. oder zieh dir mal das pdf des atmega8. da steht auch auf der 1. alle besonderheiten inkl. anzahl io ports.
MfG MinceR |
|
BID = 142672
Morgoth Schreibmaschine
Beiträge: 2930 Wohnort: Rockenhausen (Pfalz)
|
Dankeschön, werd mal nachlesen
_________________
Es irrt der Mensch solang er strebt
|
BID = 142820
Morgoth Schreibmaschine
Beiträge: 2930 Wohnort: Rockenhausen (Pfalz)
|
also gut, wie ich das bisher verstanden habe, kann ich die pins eines ports nur alle gleichzeitig als eingang, oder als ausgang verwenden, ich kann also nicht an PA1 ne led hängen, die leuchten soll, un gleichzeitig an PA2 ne Photodiode abfragen
das würde heißen, die restlichen pins meines abfrageports für die beiden Photodioden müssen brachliegen
richtig?
dann noch ne frage (wichtig für den schaltplan):
was genau passiert wenn ein ausgeng des AVR auf "an" geht, führt der dann ne spannung, oder ist er nur durchlässig für ne spannung, also ist dann quasi gnd? ...oder lässt sich das sogar auch frei wählen?
Im übrigen bin ich etwas erschrocken, als ich das "DatasheetSummary" des ATmega8 geöffnet habe, es iss fürn summary doch schon verdammt groß, an das ganze datenblatt hab ich mich dann garnimmer getraut...
_________________
Es irrt der Mensch solang er strebt
[ Diese Nachricht wurde geändert von: Morgoth am 27 Dez 2004 0:24 ]
|
BID = 142832
Jornbyte Moderator
Beiträge: 7178
|
Zitat :
| also gut, wie ich das bisher verstanden habe, kann ich die pins eines ports nur alle gleichzeitig als eingang, oder als ausgang verwenden, ich kann also nicht an PA1 ne led hängen, die leuchten soll, un gleichzeitig an PA2 ne Photodiode abfragen
das würde heißen, die restlichen pins meines abfrageports für die beiden Photodioden müssen brachliegen
richtig? |
Nun könnte es sein das ich deine Frage nicht richtig verstanden habe. Nein, du kannst jedes Pin als Ein oder Ausgang definieren.
Eine 0 (=Loch=Eingang) oder 1 (=Pfeil=Ausgang) gibt die Richtung vor.
ldi r16,0b00001111 ; Bit 4-7 Eingang, Bit 0-3 Ausgang
out ddrB,r16 ; die Pins auf Ein oder Ausgang schalten
Es ist eigenlich egal ob es sich um einen Atmel oder Pic handelt. Beim Atmel ist es so, wenn du da ein Portpin auf 1 setzt ist am Ausgang des Portpin 5 Volt. Bei einer 0 = Gnd. (angestebte Werte)
_________________
mfg Jornbyte
Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten.
|
BID = 142839
Morgoth Schreibmaschine
Beiträge: 2930 Wohnort: Rockenhausen (Pfalz)
|
ja, du hast mich richtig verstanden, ich habe leider zuertst das falsche tourtotial gelesen, hab inzwischen das zweite gelesen, und das geht das genze deutlicher und verständlicher draus hervor.
aber danke fürs nochmal erklären (pfeile sind von physik her leicht zu merken)!
_________________
Es irrt der Mensch solang er strebt
|
BID = 143305
Morgoth Schreibmaschine
Beiträge: 2930 Wohnort: Rockenhausen (Pfalz)
|
uund...noch ne frage die mir grade einfiel:
der interne 1MHz Oszillator des ATmega8 müsste ja für diese Anwendung völlig ausreichen...oder halt nicht?
_________________
Es irrt der Mensch solang er strebt
|
BID = 143597
sytxr Gelegenheitsposter
Beiträge: 69
|
Angenommen die Fototransistoren der Lichtschranken der Tore sind direkt mit jeweils einem Pin angeschlossen und der Ball rast im schlimmsten Fall mit 72 km/h durch die Lichtschranke und unterbricht sie auf einer Strecke von 1cm, dann dauert die Unterbrechung 0,5 ms = 500 Taktzyklen bei 1 Mhz. Vorausgesetzt die Lichtschranke arbeitet perfekt, ist das auch die höchste Periode mit der der Fototransistor abgefragt werden darf, damit unter den genannten Bedingungen auf jeden Fall ein passieren des Balls registriert werden kann. Wenn du eins der Zählwerke ohne Vorteiler betreibst um alle 256 Taktzyklen einen Interrupt auszulösen um den Fototransistor abzufragen, dann bleibt für die anderen Aufgaben immernoch mehr als genug Zeit übrig.
Also kurzgefasst: Ja 1 Mhz sollte völlig reichen.
Im Zweifelsfall machen die höchstens 10mA mehr Strombedarf bei 8 Mhz aber auch nichts aus, falls es nicht batteriebetrieben sein soll.
[ Diese Nachricht wurde geändert von: sytxr am 29 Dez 2004 2:18 ]
|
BID = 143630
Morgoth Schreibmaschine
Beiträge: 2930 Wohnort: Rockenhausen (Pfalz)
|
danke!
mit der stromversorgung bin ich noch nicht so sicher, weil ich wollte LED-Displays verwenden, und die känneten dann bei der frequentierung des gemeinten kickers doch ziemlich schnell ne batterie leersaugen
aber lcd ist teuer, und ausserdem hab ich da noch nix mit gemacht, und wir wollen ja nicht gleich 5 sachen auf einmal neu lernen...
wie ist das eigentlich mit ders pannungsversorgung des AVR, muss da unbedingt ein spannungsregler davor, oder langt ne von haus aus stabile spannung aus?
weil fast in allem was ich bisher gelesen hab wurden spannungsregler verwendet
_________________
Es irrt der Mensch solang er strebt
|
BID = 144752
Morgoth Schreibmaschine
Beiträge: 2930 Wohnort: Rockenhausen (Pfalz)
|
so , hab mal nen plan gemacht:
also x2 und x3 sind die anschlüsse wo die Photodioden drankommen
und x4+x5 die anschlüsse für die IR-LED's der lichtschranke
sv2 und sv3 sind die displayanschlüsse, wobei bei sv3 noch der reset-taster dabei ist
nun 2 fragen:
1. kann das so klappen, oder hab ich was grundlegend wichtiges verkehrt gemacht oder vergessen
2. kann mir jemand den detektor+zähler teil ganz programmieren, und für die displayausgabe wenigstens das beispiel für eine zahl vorlegen, damit ich nach verstehen dessen weitermachen kann?
der detektor dürfte halt sagen wir mal innerhalb von 1sek, also 1Mio abfrageprozessen nur einmal dem zählerteil des programmes nen "impuls geben". naja, monoflop halt.
zu 2: wäre wirklich super nett, wenn sich einer erbarmen könnte!
_________________
Es irrt der Mensch solang er strebt
|
BID = 145278
HarryGr Gerade angekommen
Beiträge: 5
|
Meiner Meinung nach kannst du die Widerstände R1 bis R14 weglassen. Der Mega8 hat interne PullUps, die eine Diode schon schön leuchten lassen. Allerding fliesen dann nicht die maximalen 20mA. Wenn du es übergenau machen willst, solltest du 7Seg´s mit gemeinsamer Anode nehmen. Da brauchst du dann die Widerstände wieder und kannst den Mega8 mit 20mA VOLL ausreizen.
Die PullDown-Widerstände R15 bis R20 sind völlig daneben.
PC0 bis PC3 und PB7 müssen überhaupt nicht beschalten werden.
Deine beiden Lichtschranken ziehen die Eingänge bei einem Tor gegen Masse. Dabei ist zu beachten dass die internen PullUps eingeschalten sind.
Gleiches Verfahren auch bei Reset!!! Also entweder R20 gegen VCC oder gleich internen PullUp und das ganze gegen Masse tasten.
Nach deiner Schaltung würde permanent "geresetet" und wenn mich nicht alles täuscht, würde ein Druck auf den Resettaster (gegen VCC) deinen Eingang vernichten.
Zum Thema Spannung:
Die muss einfach nur in den Grenzen liegen, wie sie im Datenblatt beschrieben sind. Wenn dir das ohne Festspannungsregler gelingt, ist alles in Ordnung.
|
BID = 145325
Morgoth Schreibmaschine
Beiträge: 2930 Wohnort: Rockenhausen (Pfalz)
|
Ok, danke, werd die schaltung dann nochmal entsprechend umbauen.
Dann noch ne gaanz dumme frage:
Kann man den zeitlichen verlauf des spieles (ale wer macht wann ein tor) noch irgendwie aufzeichen und am ende des spiels an einen drucker ausgeben?
nur so ne gedankenspielerei, weil der gemeinte kicker öfter für Turniere herahalten muss...
also das mit dem ausdruck muss nicht gleich dabei sein, die frage ist nur ob es theoretisch möglich ist, oder ob es zu viele ressurcen kostet...
_________________
Es irrt der Mensch solang er strebt
|
BID = 145647
sytxr Gelegenheitsposter
Beiträge: 69
|
Für Port Ein- und Ausgabe ist folgendes wichtig, um schon etwas rumprobieren zu können:
I/O Register:
(x steht für den Portbuchstabe)
DDRx : bestimmt ob die Pins jeweils Ein- oder Ausgabe sein soll (mit pull-up/down, oder ohne bis mehrere zig mA Ein-/Ausgangsstrom ).
PORTx : bestimmt ob die Pins jeweils hoch oder tief ausgeben sollen.
PINx (nur Lesezugriff) : Zeigt was der AVR an den Pins sieht.
Befehle:
out : I/O Register schreiben
in : I/O Register lesen
Beispiel:
ldi r16, 0b00010110
out DDRB, r16 ; PB1, PB2 und PB4 auf Ausgang stellen
ldi r16, 0b00000011
out PORTB, r16 ; PB0 mit internem pull-up hoch ziehen, PB1 auf high z.B. um ein LED Segment zu versorgen
in r16, PINB ; momentanten Zustand der Pins von Port B ins Arbeitsregister r16 kopieren
Von Atmel solltest du folgendes haben:
AVR Studio 3 oder 4
ATMega8 Datenblatt
AVR Befehlsatz ("instruction set")
Noch was ganz anderes: Zeichnungen wie Schaltpläne etc. die keine fließenden Farbübergänge oder Rauschen haben, komprimiert man besser mit dem verlustfreien GIF Format als dem verlustbehaftetem für Bilder gedachten JPEG. Oder noch effizienter als GIF: PNG
Beispiel: Dein Schaltplan als PNG ist angehängt. Größe: 9,1 KB VS 69,2 KB als .JPG .
[ Diese Nachricht wurde geändert von: sytxr am 4 Jan 2005 1:03 ]
|
BID = 145705
Morgoth Schreibmaschine
Beiträge: 2930 Wohnort: Rockenhausen (Pfalz)
|
danke für die einstiegshilfe!
das mit den bildern mach ich normalerweise immer als gif. keine ahnung warum ich das diesmal als jpg gemacht hab. aber dass der unterschied nochmal soo groß ist hätte ich nicht gedacht.
rumprobieren ist momentan leider nicht, der atmel wurde gegrillt (fast ohne mein zutun - AT-NT hat wohl hochgeregelt als es nen kurzzeitigen kurzen außenrum gab) jett muss ich erstmal ersatz besorgen
_________________
Es irrt der Mensch solang er strebt
|
BID = 145777
Morgoth Schreibmaschine
Beiträge: 2930 Wohnort: Rockenhausen (Pfalz)
|
hier der neue schaltplan, der ist jetzt aber in ordnung oder?
_________________
Es irrt der Mensch solang er strebt
|