mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Das wieder aktuelles Thema Handy + AVR


Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen!
Nachdem ich hier wieder einige Beiträge über Handys und AVR´s gelesen 
habe, wollte ich selbst was machen.
ich habe ein siemens M35 und einen AtMega8 da liegen.
habe auch schon einiges probiert, aber noch nicht was vernünftiges 
hinbekommen.
was ich nicht verstehe: in diesem Schaltplan
http://comwebnet.co.funpic.de/GSMAlarm/SMS-Alarm-w...
ist RX vom AVR mit RX vom Handy verbunden. Ist das richtig so?
soll das nicht umgekehrt sein? RX zu TX und TX zu RX?
das war eigentlich die wichtigste Frage.
Ich hoffe man kann mir noch weiter helfen!
Liebe Grüsse Tobias

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fragen kannst du hier stellen 
http://comwebnet.weimars.net/forum/forumdisplay.php?fid=5

Es geht und wurde schon nachgebaut.

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
an Avr Nix

kannst du vielleicht diese Frage beantworten?
>ist RX vom AVR mit RX vom Handy verbunden. Ist das richtig so?
>soll das nicht umgekehrt sein? RX zu TX und TX zu RX?

wenn ich den Stecker reinstecke, dann macht mein Handy Netzsuche...

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wie gesagt ich weiss das es geht und wurde auch bestätigt von 
anderen Leuten -> Was passiert den wenn du den Stecker drin lässt und 
dein Gerät einschaltest. Was im Forum steht hast du auch gelesen ( 
Anmeldung ist kostenlos ) ? Vielleicht die Wannenstecker falschrum 
eingelötet oder die Wannebuchse ? Mache bitte mal ein Foto und stehe das 
in mein Forum da werde ich dir auch weiterhelfen.

Ich Tippe mal auf ein Kurzschluss in der Schaltung, beim Löten.

Und so aufgebaut wie hier:
http://comwebnet.weimars.net/index.php?option=com_...

Der Lumbergstecker:
http://comwebnet.weimars.net/forum/showthread.php?tid=16

Rx->Tx, Rx->Tx steht doch dort ;-)

Autor: Tobi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
also kurzschluss usw. ist ausgeschlossen.
ich habe ja nicht die komplette Schaltung nachgebaut.
ich habe nur den µC richtig mit Spannung versorgt, pullup an Reset, und 
nur 2 leitungen an Rx und TX, die zum Handy gehen. masse natürlich auch 
verbunden.
mehr ist da erstmal nicht. ich wollte nur testen, ob es läuft.
achso, noch was.. ich glaube mein Controller schickt gar keine Befehle 
raus. (kann ich mit dem Oszi nicht verfolgen) es ist immer nur 
high-Pegel da. also am PD1 (TX) vom Controller.
Wenn ich das mit Handy verbinde, dann Spinnt das Handy, und Macht immer 
wieder Netzsuche.
Irgendwelche ideen?

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit Wieviel Volt läuft den der M8? Vielleicht mal Widerstände in der Ltg 
schalten. - Weiteres bitte ins Forum vom http://www.comwebnet.de

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verfluchtes UART!
der sendet nicht!
warum denn das?


$regfile = "m8def.dat"
$crystal = 1000000
$baud = 19200

Open "comc.1:19200,8,n,1" For Output As #1

Do
Waitms 50

Print #1 , "hello"
Wait 60
Loop
End


soll doch so klappen, oder bin ich blind?
habe schon die ganze Bascom-hilfe auswendig gelernt. hilft alles nichts.

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Mit Wieviel Volt läuft den der M8?

mit 5V DC .

Autor: PeterL (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn du den Hardwareuart verwendest, kannst du die Zeile
Open "comc.1:19200,8,n,1" For Output As #1 weglassen und einfach
mit Print ..... rausschreiben.

Autor: Robert K. (molch) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Mit meinem anfänglichen Wissen fällt mir hier nur auf:

Clock f= 1MHz
Baud = 19200

laut Datenblatt ATmega8: kannst du diese Baudrate bei dieser Frequenz 
nur mit einem Fehler von 8,5% generieren.

Hab keine Ahnung von BASIC also weiß nicht ob die Werte oben im Programm 
verwendet werden oder nur hingeschrieben sind.

MfG
Robert

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
GRrrrrrrrrrrrr - das Handy bekommt 5V ?  also max 3,6V bitte , dann 
sollte es auch gehen, sonst mit Z-Dioden + R ( ZD 2,7V ) die 5V 
abblocken an Tx und Rx Ltg.

Hast du mal das Listing im Forum angeguckt, dort steht es?

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe einen Software UART.

was kann ich noch probieren?

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hardware UART über Tx und Rx einfach Print "bla" und mit Hyberterm 
empfangen.
( über MAX232 )

Autor: Matthias Kalafut (kalle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich bin auch neu hier,habe schon ein wenig mit bascom und Siemens Handy 
gemacht. Was soll das Handy machen? Ich würde Prin"..at-Befehl..." 
eingeben.
Die entsprechenden at-Befehle findest Du bei "nobbi"

Gruß
Matthias

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich glaube mein Fehler ist eher im programm.
habe schon ein tiny2313 genommen.

das programm sieht so aus:

$regfile = "2313def.dat"
$crystal = 1000000
$baud = 19200
Do

Wait 3

Print "atdl"
Wait 60
Loop

End


"atdl" heisst letzte nummer noch mal wählen. tut sich nichts.
am ausgang vom µC habe ich immer einen High-Pegel. IMMER.
ich dachte das soll ja auf 0 gehen, wenn er übertragen hat.
was kann nur verkehrt sein?
das wird langsam frustrirend.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobi wrote:
> tut sich nichts.

An deiner Stelle würde ich da mal einen MAX232 dranhängen
und als Gegenstelle mal einen PC nehmen. Fehlersuche ist
immer einfacher wenn man an der Gegenstelle sehen kann
ob und wenn ja was übertragen wird.

> am ausgang vom µC habe ich immer einen High-Pegel. IMMER.

Ja. Ist auch richtig so.

> ich dachte das soll ja auf 0 gehen, wenn er übertragen hat.

Nö. Wie kommst du da drauf. High ist der Ruhepegel der Leitung.
Während der Übertragung kommen da Pulse auf 0 vorbei. Aber
nachdem ein Zeichen übertragen wurde, wechselt die Leitung wieder
in ihren Ruhepegel. Und der ist nun mal High.

> was kann nur verkehrt sein?

Das hier:
$crystal = 1000000

macht mich schon mal stutzig. UART Übertragung mit dem internen
Taktgenerator ist Glücksspiel.

Abgesehen davon, wurde weiter oben schon mal gesagt:

> Clock f= 1MHz
> Baud = 19200

> laut Datenblatt ATmega8: kannst du diese Baudrate bei dieser Frequenz
> nur mit einem Fehler von 8,5% generieren.

8.5% ist schon mächtig viel.

Autor: Matthias Kalafut (kalle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
versuch es mal mit einer niedrigen Baudrate 1200 und gib die Zeichen 
erst mal
in einem Terminalprogramm aus.

Matthias

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe hier nur den max232N passt der auch?

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei den Handy von Siemens sind 19200 Baud richtig.

mach mal Print #1,"ATD deine Telefon-Nummer mit Vorwahl" -> Telefon 
nicht Handy! oder Print "ATD ....."

Übe erstmal über einen MAX232 mit Hyperterm ( oder Datenkabel ) um die 
Abläufe kennen zulernen.

Was für ein Cotroller hast du den jetzt M8 ? hast du ein 8MHz Quarz 
dran?
Sonst versuche es mit RC-Oszilator der kann auch 8MHz, Quarz ist aber 
besser!

Autor: Christian U. (z0m3ie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zuerst prüfe bitte nochmal ob du jetzt den richtigen Pegel zum Handy hin 
hast wenn du den AVR mit 5V betreibst brauchst du nen Pegelwandler.

Print "atdl"

Kann nicht funktionieren weil AT Befehle immer mit einem return 
abgeschlossen werden müssen. Beschäftige dich doch bitte etwas mit der 
materie dann klappt das auch.

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Kann nicht funktionieren weil AT Befehle immer mit einem return
>abgeschlossen werden müssen.
kannst du ein Programmausschnitt posten?
also ich habe jetzt max232N zwischen PC und µC ich kann mit Bascom den 
Controller löschen. Beschreiben dauert schon seit ca. 5 minuten. kann 
nicht sein, glaube ich.
wie kann ich nun testen ob der µC was sendet? ich meine womit soll ich 
das empfangen?

Autor: Christian U. (z0m3ie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hyperterminal

und nein ich kann keinen Codeauschnitt posten weil ich keine Ahnung habe 
wie man in Bascom ein Return schreibt außerdem solltest du vieleicht 
auch noch ein klein wenig von DEINEM projekt SELBST machen dürfen :)

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ein Auszug aus Bascom-Hilfe:

[c]
$regfile = "m88def.dat"

$crystal = 8000000

$baud = 19200



Dim B As Byte

Waitms 100



'Open a TRANSMIT channel for output

Open "comc.1:19200,8,n,1" For Output As #1

Print #1 , "serial output"



'Now open a RECEIVE channel for input

Open "comc.2:19200,8,n,1" For Input As #2

'Since there is no relation between the input and output pin

'there is NO ECHO while keys are typed



Print #1 , "Press any alpha numerical key"



'With INKEY() we can check if there is data available

'To use it with the software UART you must provide the channel

Do

   'Store in byte

   B = Inkey(#2)

   'When the value > 0 we got something

   If B > 0 Then

      Print #1 , Chr(b)                         'Print the character

   End If

Loop

Close #2                                         'Close the channels

Close #1

 End

[c/]

wo ist hier "RETURN"?

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hyperterminal zeigt nichts, weil das programm falsch ist.
das Programm ist falsch, weil ihr mich alle googeln schickt.
weill ihr micht alle googeln schickt, sehe ich 2356234857263459 
verschiedene Beispiele, die auch zum grössten teil falsch sind.
weil die falsch sind komme ich wieder zu euch.
ihr schickt mich googeln, weill ich zu blöd zum lesen bin.
ich lese schon seit 7 uhr morgens was... immer verschiedene sachen, die 
überhaupt nichts bringen, und frage euch dann wieder was.
ihr schickt mich wieder googeln....
teufelskreis?

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.gidf.de

Du gehst nicht wirklich auf die Leute ein und dir feht gewisses 
logisches Denkvermögen um den Schwachfug auszufiltern...

Autor: Christian U. (z0m3ie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ihr schickt mich googeln, weill ich zu blöd zum lesen bin.
>ich lese schon seit 7 uhr morgens was... immer verschiedene sachen, die
>überhaupt nichts bringen, und frage euch dann wieder was.
>ihr schickt mich wieder googeln....

Wenn der eigene Intellekt nicht dazu ausreicht sich relevante stellen 
aus einem stück Code herauszufiltern sollte man überlegen ob man das 
programmieren nicht bleiben lässt, und Bäcker wird. Dann kann man einem 
von uns 2 Jahre lang jeden morgen frische Brötchen bereitstellen und 
bekommt dafür das Projekt fertiggestellt.

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ICH VERSTEHE NICHT; WAS ICH FALSCH MACHE!!!
hier steht alles beschrieben! es funktioniert bei mir nicht!
http://www.rclineforum.de/forum/thread.php?threadi...

Autor: Tobi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
und die werkstatt sieht auch schon scheisse genug aus!

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobi wrote:
> Hyperterminal zeigt nichts, weil das programm falsch ist.

Wenn HT nichts anzeigt, dann kann das an tausend verschiedenen
Fehlermöglichkeiten liegen.

Jetzt gilt es erst mal da systematisch einen Fehler
nach dem anderen auszumerzen. Einfach nur irgendwelche
Programme abkupfern bringt erst mal überhaupt nichts.

Du hast also folgenden Aufbau


   Mega8  <--->  MAX232  <----> RS232-Kabel  <-----> PC mit HT

In jeder einzelnen Komponente verbirgt sich eine potentielle
Fehlerquelle.
Zunächst mal wird getestet, ob die Hardware grundsätzlich
funktioniert.
Dazu machst du mal den Schnelltest: Der Mega8 kommt aus seinem
Sockel und an den Pins an denen der MAX232 angeschlossen ist,
wird eine Brücke in den Sockel gesteckt.
Damit hast du folgenden Aufbau:

    Brücke  <---   MAX232  <----  RS232-Kabel  <-----  PC mit HT
    ^
    |
    v
    Brücke   --->  MAX232   ----> RS232-Kabel   -----> PC mit HT


Wenn nun jede einzelne der Komponenten Kabel, MAX232 und PC
einwandfrei arbeiten, dann muss sich folgendes Verhalten
einstellen:
  Du tippst am PC im Hyperterminal ein paar Tasten. Die
entsprechenden Zeichen laufen über das Kabel zu MAX, von
dort zu deinem µC Sockel, über die Brücke und den ganzen
Weg wieder zurück.
Siehst du daher am Hyperterminal die getippten Zeichen, dann
weist du, das die komplette Übertragungskette einwandfrei in
Ordnung ist. Dazu muss am HT eingestellt sein: kein Handshake,
kein lokales Echo.
Als Gegentest nimmst du mal die Brücke aus dem Sockel und tippst
wieder. Die getippten Zeichen dürfen jetzt klarerweise nicht
mehr erscheinen.

So, das machst du jetzt mal und siehst mal nach, ob:
* deine Verkabelung korrekt ist
* der MAX überhaupt arbeitet

Wenn dieser einfache Test funktioniert und die Hardware daher
in Ordnung ist, dann nimmst du das allereinfachste BASCOM
Programm mit einer UART her, das du finden kannst, und lässt
dieses mal laufen. Keine Spezialitäten: stink normales einfaches
BASCOM. Hadrware-Uart, 9600 Baud und in einer Schleife immer denselben
Text ausgeben.
Wenn das dann mit der Hardware-UART klappt, dann wechselst du
über zu der Software-UART und tauscht die Pins aus.


Was immer du auch machst: mach es schrittweise! Es hilft nichts
da ein Monsterprojekt anzuzetteln, dass auf 25 ungetesteten
Komponenten und Annahmen beruht nur um dann festzustellen, dass
es nicht funktioniert. Du hast dann nämlich keine Ahnung warum
es nicht funktioniert. Die einzig vernünftige Art das zu umgehen
ist es in kleinen Schritten zu arbeiten und sich bei jedem Schritt
zu überlegen, wie er getestet werden kann, bzw. in welchen Schritten
man das vernünftigerweise so hochziehen kann, dass die einzelnen
Schritte testbar sind und Information bringen.

Rumbrüllen hilft da überhaupt nichts.

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Siehst du daher am Hyperterminal die getippten Zeichen, dann
>weist du, das die komplette Übertragungskette einwandfrei in
>Ordnung ist.

sehe ich nicht.
der max ist richtig gelötet.
ich kann bei mir auf COM1 nicht zugreifen. warum auch immer.
über COM2 kommen keine Zahlen zurück.

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und warum sollte man nicht spätestens jetzt auf die Idee kommen das das 
Problem vor deiner Tastatur sitzt?

Aller letzter Versuch:

Gib mal deinen Schaltplan von

  Brücke  <---   MAX232  <----  RS232-Kabel  <-----  PC mit HT
    ^
    |
    v
   Brücke   --->  MAX232   ----> RS232-Kabel   -----> PC mit HT

denke du hast hier das Gleiche falsch gemacht...

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
9Pol Sub-D Stecker am PC1 -> Max232:

2 (RX)          -        14 (T1Out)
3 (TX)          -        13 (R1In)
5 (GND)         -        15 (GND)


Max232:

11 (T1in)  <-  9 (R2Out)
12 (R1out) -> 10 (T2in)


Max232 -> 9 Pol Sub-D Stecker am PC2

 7 (T2Out)     -     2 (RX)
 8 (R2In)      -     3 (TX)
15 (GND)       -     5 (GND)

Wichtig: Kondensatoren am Max nicht vergessen...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobi wrote:
>>Siehst du daher am Hyperterminal die getippten Zeichen, dann
>>weist du, das die komplette Übertragungskette einwandfrei in
>>Ordnung ist.
>
> sehe ich nicht.

Dann hast du zumindest mal ein Hardware Problem.
Leg einen Gegenstand am PC auf die Tastatur, sodass
Hyperterm ständig sendet, schnapp dir ein Multimeter
(in dem Fall funktioniert allerdings eine LED mit
einem ca. 1kOhm Vorwiderstand besser) und verfolg das
Signal ausgehend vom PC Anschluss, durch das Kabel
zum MAX 232 zum Sockel und retour.

Ich rate mal: Du hast das falsche Kabel. Das ist entweder
gekreuzt wenn es das nicht sein sollte oder umgekehrt.

> der max ist richtig gelötet.
> ich kann bei mir auf COM1 nicht zugreifen.

Kann es sein, dass auf deinem COM1 die Maus hängt.

Ansonsten: Du musst natürlich schon wissen, welcher
logische Anschluss (COM1, COM2) mit deinem Hardware
Anschluss korrespondiert. Es hat wenig Sinn an einem
Port Zeichen rauszuschicken, wenn an diesem Port
gar nichts hängt.

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also. kann ausser COM2 nichts wählen, und gleich an PC (RS232 Buchse) 
ist schon kein signal. (mit oszi nachgemessen)

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beschreib mal die Buchse am PC: M/W Pinzahl...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tim T. wrote:
> Beschreib mal die Buchse am PC: M/W Pinzahl...

Männchen / Weibchen ?

(Hat der Anschluß Stifte oder Löcher)

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
9-polig sub-D Männlich
das problem ist aber gelöst. lag am PC. habe gerade am anderen probiert, 
da funktioniert das wie es sein sollte/wie ober beschrieben.
so nun zum programm, At-Befehle senden soll.

$regfile = "2313def.dat"
$crystal = 1000000
$baud = 19200

Config Serialin = Buffered , Size = 10
Config Serialout = Buffered , Size = 10

Do

Wait 1
Print "atds<1>;"
Wait 60

Loop

am Terminal wird das übertragen, aber nicht "atds<1>;" , sondern ganz 
komische zeichen, die man natürlich nicht lesen kann.
an das Handy angeschlossen, macht das Handy wieder die Netzsuche.
was nun los?

Autor: Michael Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1 MHz und 19200 Baud passen nicht zusammen. Wurde aber weiter oben schon 
erwähnt.

MW

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sind 4Mhz ok?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> sondern ganz komische zeichen

ganz komische Zeichen sind immer ein Indiz dafür, dass irgendwas
im Timing nicht stimmt.

Daher, zum wievielten mal eigentlich in diesem Thread :
1Mhz interner Takt zusammen mit 19200 Baud hat zuviel
Abweichung. So wird das nichts. Und da du das nicht glaubst,
hast du jetzt selbst am PC gesehen, dass das so nichts
wird. Und wenn dein PC aus dem Bitwust nichts vernünftiges
raussuchen kann, kann das dein Handy auch nicht. Solange
du am PC bei 19200 baud nicht richtig empfangen kannst, macht
es keinen Sinn, das Handy auch nur anzustecken.

Autor: Michael Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja. Nur 0,2% Abweichung.

MW

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>1Mhz interner Takt zusammen mit 19200 Baud hat zuviel Abweichung.

ext. quarz mit 4 Mhz ok?

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, danke

Autor: ENGli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich sehe in meine Glaskugel:
nächstes Problem: AVR verfused...

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich sehe in meine Glaskugel:

deine kugel ist kaputt! :)
nicht verfused.
nun macht das handy nicht mal Netzsuche.
ich gucke mal, was Terminal sagt

Autor: ENGli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, guck.. vielleicht kaputt?
Weshalb um alles in der Welt versuchst du das it dem Handy, wenn die 
Kommunikation zum PC noch nicht mal funktioniert?
So apropos "keine Netzsuche" hast du mal was für die Pegelanpassung 
zwischen AVR und Handy getan?

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>So apropos "keine Netzsuche" hast du mal was für die Pegelanpassung
>zwischen AVR und Handy getan?
ja

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und WAS?

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Und WAS?
reagiert nicht.
also nachdem ich den quarz aktiviert habe (kondensatoren und der rest 
richtig angeschlossen), im programm auf 4000000 die frequenz umgestelt 
habe, will er an das Terminal nichts mehr übertragen.
weiss nicht, was da los ist.

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
WAS bezog sich auf die Pegelanpassung zwischen AVR und Handy.

Also, wie hast Du es gemacht.

Und was das übrige angeht, poste mal ein Schaltplan oder sowas.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> also nachdem ich den quarz aktiviert habe

Wie hast du das gemacht?

> (kondensatoren und der rest
> richtig angeschlossen)

Das reicht nicht. Der Quarz wird erst dann aktiv, wenn die
Fusebits korrekt eingestellt wurden. Hast du an den Fusebits
gedreht?

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wie hast du das gemacht?
so wie auf dem Bild
http://tbn0.google.com/images?q=tbn:uQyZv1R-TiY76M...

>WAS bezog sich auf die Pegelanpassung zwischen AVR und Handy.
du meintest bestimmt dass die 5V von µC für das handy zu viel sind. ich 
habe eine z-diode mit 3,3V mit R in Reihe angeschlossen. über der 
Z-Diode die spannung abgegriffen.

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Thread sollte einen Oskar bekommen :-)

Ohne Pegelanpassung kann sogar das Handy im Ars** gehen!

Und wie haste die Pegelanpassung gemacht ? ( steht alles oben ).

Autor: Jochen S. (jochen_s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zum Thema Pegelanpassung wurde zwar schon mal gesagt aber egal_:


1te Möglichkeit: Z Diode und Vorwiderstand => wie das geht frag mal 
google

2te Möglichkeit: funktioniert auch zumindest bei 19,2kBaud ein eingacher 
Spannungsteiler 2,7Volt zu 3,3Volt Verhältniss=0,81 => der Widerstand 
zwischen RTX(Handy) und Masse muss 0,81 mal gösser sein als der zwischen 
TXD(AVR) und RTX(HANDY). Gesammtwiderstand der Schaltung darf sich ruhig 
im kOhm Bereich bewegen Innenwid des Handys vernachlässigt.

Jochen

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>1te Möglichkeit: Z Diode und Vorwiderstand

habe ich gemacht

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobi wrote:
> http://s-huehn.de/elektronik/tempmess/tempmess-am1-fuses.gif

Du kannst mich schlagen, aber das ist nie und nimmer die
korekte Fuse Bit Einstellung für einen externen Quarz
beim Mega8

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jungs, seid mir nicht böse.
Aber könnten wir uns darauf einigen, zuerst eine funktionierende
UART zu einem PC aufzubauen um uns erst dann mit einer
Fehlerquelle weniger, sprich einer funktionierenden UART
ans Handy zu wagen?

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also noch mal zum Thema:
handy erst mal weg.
Ich konnte mit 1Mhz intern zum terminal was übertragen. (waren aber nur 
komische zeichen)
jetzt habe ich den quarz angeschlossen (RICHTIG) und die fusebits 
gesetzt. und zwar so: 
http://s-huehn.de/elektronik/tempmess/tempmess-am1-fuses.gif
jetzt kann ich nichts mehr übertragen.
warum denn? Quellcode auch natürlich geändert.

Autor: ENGli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Is ja geil, meine Glaskugel funktioniert doch...

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Du kannst mich schlagen, aber das ist nie und nimmer...

mega8 habe ich schon draussen. stand schon im code oben:
$regfile = "2313def.dat"   ich benutze den AtTiny2313

Autor: Jochen S. (jochen_s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das ist in deinem Fall egal der 2313 und der tiny2313 unterscheiden sich 
in Dingen die hier nicht zum Einsatz kommen PWM z.B. der eine hats der 
andre nicht..

Jochen

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobi wrote:

> http://s-huehn.de/elektronik/tempmess/tempmess-am1-fuses.gif
> jetzt kann ich nichts mehr übertragen.

Und läuft der Prozessor noch?
(Programmier mal eine blinkende Led, oder irgendwas
anderes rein, an dem du sehen kannst ob der Prozessor
noch tut).

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jochen S. wrote:
> das ist in deinem Fall egal der 2313 und der tiny2313 unterscheiden sich
> in Dingen die hier nicht zum Einsatz kommen PWM z.B. der eine hats der
> andre nicht..

Er bezog sich auf was Anderes.
Um zu sehen, ob die Fuse Bit Einstellungen CKSEL stimmen können,
habe ich mal ganz schnell nach ganz oben gescrollt und dort die
Angabe "Mega8" gefunden. Daher hab ich das Bild mit einem Mega8
assoziert. Irgendwo mitten im Thread hat er aber geschrieben,
dass er den Mega8 durch einen 2313 ersetzt hat.

Für den hab ich keine CKSEL Belegung parat. Kommt mir aber
immer noch seltsam vor, dass da CKSEL1 einsam und verlassen
auf 0 steht.

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Und läuft der Prozessor noch?
wolte ich grad schreiben.
ja, genau mit der LED habe ich schon von paar minuten probiert. die 
blinkt.
also so ganz blöd bin ich nicht.
wenn ich mit UART früher ÜBERHAUPT nichts gemacht habe, und sonche 
dämmliche Fragen stelle, heisst das ja nicht, dass ich von garnichts 
Ahnung habe.

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Für den hab ich keine CKSEL Belegung parat....

also das komische ist ja nur, dass ich nur im programm von
$crystal= 1000000 auf $crystal= 4000000 geändert habe
und die fusebits aktivirt habe.
quarz und kondensatoren waren schon auf dem Board frühen verlötet.
ich habe so ein Testboard.

PS Das board funktioniert.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobi wrote:
> also so ganz blöd bin ich nicht.

Ist ja ok.
Du glaubst gar nicht, wie oft in der Woche hier die Frage
kommt:
Ich hab an den Fusebits gedreht und jetzt geht gar nichts mehr.

> ja, genau mit der LED habe ich schon von paar minuten probiert. die
> blinkt.

Blöde Frage: Die Blinkfrequenz kann die zu 1Mhz bzw.
4Mhz passen?

Hintergrund: Ich will rauskriegen, ob der Quarz tatsächlich
aktiv ist oder nicht. im einfachsten Fall verrät das ein
Blinklicht. Mittels delays jeweils 1 Sekunde Pause zwischen
ein und aus. Den Unterschied zwischen 1 Sekunde und 4 Sekunden
sieht jeder Blinde.

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aus dem Datenblatt:

Table 2. Device Clocking Select(1)
Device Clocking Option CKSEL3..0
External Clock 0000
Calibrated Internal RC Oscillator 4MHz 0010
Calibrated internal RC Oscillator 8MHz 0100
Watchdog Oscillator 128kHz 0110
External Crystal/Ceramic Resonator 1000 - 1111
Reserved 0001/0011/0101/0111

Note: 1. For all fuses “1” means unprogrammed while “0” means 
programmed.

Also entspricht 
http://s-huehn.de/elektronik/tempmess/tempmess-am1-fuses.gif
1101 was aus einem sehr zufälligen Grund tut...

Denke du wolltest den Modus 0010 und hast die Invertierung 
zufälligerweise verpeilt...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ansonsten bleibt wieder nur das übliche:

Baudrate mal runter auf 300 Baud.
In den µC kommt ein Programm, welches in einer
Schleife auf Dauersenden geht, und dann wird mit Voltmeter,
Oszi, Led (was gerade zur Hand ist) ausgehend vom µC Pin
gesucht, wo das Signal verschwindet.

300 Baud deswegen, damit man auch mit einer Led an der Leitung
noch was sieht (die Led flackert merklich).

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Die Blinkfrequenz kann die zu 1Mhz bzw. 4Mhz passen?

ich weiss was du/Sie meinst. werde es aber morgen schon ausprobieren. 
Keine Kraft mehr heute.
also wenn ich das so hinbekomme, das Terminal mir richtigen Befehl 
schreibt, dann soll das auch mit dem Handy funktionieren, oder?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobi wrote:

> ich weiss was du/Sie meinst.

Du

> werde es aber morgen schon ausprobieren.
> Keine Kraft mehr heute.

:-) Alles klar.

> also wenn ich das so hinbekomme, das Terminal mir richtigen Befehl
> schreibt,

Yep.

> dann soll das auch mit dem Handy funktionieren, oder?

Nicht so schnell. Wenn das klappt, heist das erst mal dass
die Timing Erzeugung im µC korrekt funktioniert und
Zeichen gesendet werden können.
Dann bleibt immer noch die Sache mit der Pegelanpassung zum
Handy.

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Dann bleibt immer noch die Sache mit der Pegelanpassung zum Handy.
das habe ich schon früher erledigt ;)
Danke

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobi wrote:
>>Dann bleibt immer noch die Sache mit der Pegelanpassung zum Handy.
> das habe ich schon früher erledigt ;)

Schon.
Aber noch weiß keiner ob sie auch funktioniert :-)

(Stelle bei der Fehlersuche alles und jeden in Frage, bis du
durch einen Versuch nachweisen kannst, dass es funktioniert.)

Autor: ENGli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich freue mich schon auf morgen...

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm die Checks bei den BODLEVEL2..0 mal raus und check den SUT0.

Also BODLEVEL auf 1, SUT0 auf 0.

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen!
Ich bin es wieder.
Also habe es mit der LED noch mal probiert.. die frequenz passt, also 
ca. 1Hz.
Der µC läuft also mit 4MHz.

mit dem code hier:
[c]
$regfile = "2313def.dat"
$crystal = 4000000
$baud = 19200

Do

Wait 1
Print "atds<1>;"
Wait 60

Loop

End
[c/]

empfange ich am Terminal nur so ein zeichen: "°" (wie Grad)
die Verbindung funktioniert ja.. schon getestet.
hat jemand eine Idee?

Autor: ENGli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach mal die Baudrate auf 300 runter und am PC auch und schau ob dann 
was gescheites ankommt

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
compiler sagt "baud=300 not possible"
kann ich was anderes noch probieren?
also mit ist aufgefallen, dass er doch langsamer läuft, als 4 mhz.
sind meine fuse-einst. richtig?

Autor: ENGli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie schnell läuft er denn? Denn wenn nicht mit 4 MHz, dann sind entweder 
die Fuses falsch oder der Quarz stimmt nicht. Und da ich mal davon 
ausgehe, dass der Quarz richtig ist: die Fuses sind falsch.

Autor: Tobi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hier noch mal der Schaltplan (in Anhang)
Auf dem Quarz steht 4,000 Mhz drauf

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die fuse-einstellungen sind so:
http://s-huehn.de/elektronik/tempmess/tempmess-am1-fuses.gif

ich meiss nicht, wie schnell er läuft.
aber eine sekunde dauert bei ihm ETWAS länger als eine sekunde. aber auf 
keinen Fall 4 sekungen.
ich schätze mal 1,5-2 sekunden.

wenn die Fuse-Einstellungen falsch sind, wie ist denn richtig?

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
laut dattenblatt ist das doch richtig, oder?
ich habe mal eine Idee.
damit ich jede hardwareproblemme ausschliessen kann, könnte hier 
vielleicht jemand eine hex-datei posten?
also für attiny2313 mit 4 mhz.
soll über UART nur "hallo" Ausgeben, mehr nicht.
ist das möglich?

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also PROBLEM BEHOBEN
lag an meinem Quellcode. Sollte

Print
INPUT "hallo"

heissen
am handy bekomme ich aber nichts :(
pegelanpassung ist da.
das handy reagiert überhaupt nicht

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, welches deiner Probleme ist behoben?

Popcorn hol

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Also, welches deiner Probleme ist behoben?

ich kann jetzt per UART zum PC was senden. kommt auch vernünftig an.

nun muss ich das ganze noch zum Handy senden.
es wird auch gesendet, aber das Handy reagiert nicht.
vielleicht falsches befehl?

Autor: ENGli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht, vielleicht aber auch nicht

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder RX TX vertauscht...

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein, nichts vertauscht
den richtigen befehl habe ich jetzt auch gefunden, und zwar
"ATD+4917972852xx;"

das einzige problem ist nur noch, dass er NICHT immer wählt.
also mal wählt er, mal nicht.
woran kann das liegen?

ich habe eine do-loop schleife gemacht
von 10 mal wählt er nur 4 mal. also zufällig, kann auch 5 oder 6 mal 
sein.

weiss jemand warum?

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das liegt bestimmt an der Pegelanpassung.
ich habe schon 1,5 ; 2,7 ; 3,3 ; 3,9 ; 4,7 V Z-Diode versucht.
bei 4,7 und 1,5 V Z-Diode funktioniert das nicht.
bei den anderen gleich schlecht.
wie kann man das Problem lösen?
Weil das wirklich ein Problem ist.

Autor: Nathon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht hast du das Handy bei den ersten Versuchen mit 5V gegrillt. 
Wenn möglich versuch es doch mal mit einem anderen. Oder noch einfacher 
überprüfe ob das Handy jedesmal wählt wenn du es vom PC aus ansteuerst.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.