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


von Tobi (Gast)


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-www.comwebnet.de.pdf
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

von Avr N. (avrnix) Benutzerseite


Lesenswert?

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

Es geht und wurde schon nachgebaut.

von Tobi (Gast)


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...

von Avr N. (avrnix) Benutzerseite


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_content&task=view&id=30&Itemid=49

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

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

von Tobi (Gast)


Angehängte Dateien:

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?

von Avr N. (avrnix) Benutzerseite


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

von Tobi (Gast)


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.

von Tobi (Gast)


Lesenswert?

>Mit Wieviel Volt läuft den der M8?

mit 5V DC .

von PeterL (Gast)


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.

von Robert K. (molch) Benutzerseite


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

von Avr N. (avrnix) Benutzerseite


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?

von Tobi (Gast)


Lesenswert?

ich habe einen Software UART.

was kann ich noch probieren?

von Avr N. (avrnix) Benutzerseite


Lesenswert?

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

von Matthias K. (kalle)


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

von Tobi (Gast)


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.

von Karl H. (kbuchegg)


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.

von Matthias K. (kalle)


Lesenswert?

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

Matthias

von Tobi (Gast)


Lesenswert?

ich habe hier nur den max232N passt der auch?

von Avr N. (avrnix) Benutzerseite


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!

von Christian U. (z0m3ie)


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.

von Tobi (Gast)


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?

von Christian U. (z0m3ie)


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 :)

von Tobi (Gast)


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"?

von Tobi (Gast)


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?

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

http://www.gidf.de

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

von Christian U. (z0m3ie)


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.

von Tobi (Gast)


Lesenswert?

ICH VERSTEHE NICHT; WAS ICH FALSCH MACHE!!!
hier steht alles beschrieben! es funktioniert bei mir nicht!
http://www.rclineforum.de/forum/thread.php?threadid=107734&sid=edeba8504d61cf52fa2011bce22ab044

von Tobi (Gast)


Angehängte Dateien:

Lesenswert?

und die werkstatt sieht auch schon scheisse genug aus!

von Karl H. (kbuchegg)


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.

von Tobi (Gast)


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.

von Tim T. (tim_taylor) Benutzerseite


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...

von Tim T. (tim_taylor) Benutzerseite


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...

von Karl H. (kbuchegg)


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.

von Tobi (Gast)


Lesenswert?

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

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Beschreib mal die Buchse am PC: M/W Pinzahl...

von Karl H. (kbuchegg)


Lesenswert?

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

Männchen / Weibchen ?

(Hat der Anschluß Stifte oder Löcher)

von Tobi (Gast)


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?

von Michael Wilhelm (Gast)


Lesenswert?

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

MW

von Tobi (Gast)


Lesenswert?

sind 4Mhz ok?

von Karl H. (kbuchegg)


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.

von Michael Wilhelm (Gast)


Lesenswert?

Ja. Nur 0,2% Abweichung.

MW

von Tobi (Gast)


Lesenswert?

>1Mhz interner Takt zusammen mit 19200 Baud hat zuviel Abweichung.

ext. quarz mit 4 Mhz ok?

von Tobi (Gast)


Lesenswert?

ok, danke

von ENGli (Gast)


Lesenswert?

Ich sehe in meine Glaskugel:
nächstes Problem: AVR verfused...

von Tobi (Gast)


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

von ENGli (Gast)


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?

von Tobi (Gast)


Lesenswert?

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

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Und WAS?

von Tobi (Gast)


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.

von Tim T. (tim_taylor) Benutzerseite


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.

von Karl H. (kbuchegg)


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?

von Tobi (Gast)


Lesenswert?

>Wie hast du das gemacht?
so wie auf dem Bild
http://tbn0.google.com/images?q=tbn:uQyZv1R-TiY76M:http://s-huehn.de/elektronik/tempmess/tempmess-am1-fuses.gif

>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.

von Tobi (Gast)


Lesenswert?


von Avr N. (avrnix) Benutzerseite


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 ).

von Jochen S. (jochen_s)


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

von Tobi (Gast)


Lesenswert?

>1te Möglichkeit: Z Diode und Vorwiderstand

habe ich gemacht

von Karl H. (kbuchegg)


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

von Karl H. (kbuchegg)


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?

von Tobi (Gast)


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.

von ENGli (Gast)


Lesenswert?

Is ja geil, meine Glaskugel funktioniert doch...

von Tobi (Gast)


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

von Jochen S. (jochen_s)


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

von Karl H. (kbuchegg)


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).

von Karl H. (kbuchegg)


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.

von Tobi (Gast)


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.

von Tobi (Gast)


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.

von Karl H. (kbuchegg)


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.

von Tim T. (tim_taylor) Benutzerseite


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...

von Karl H. (kbuchegg)


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).

von Tobi (Gast)


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?

von Karl H. (kbuchegg)


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.

von Tobi (Gast)


Lesenswert?

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

von Karl H. (kbuchegg)


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.)

von ENGli (Gast)


Lesenswert?

Also ich freue mich schon auf morgen...

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

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

Also BODLEVEL auf 1, SUT0 auf 0.

von Tobi (Gast)


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?

von ENGli (Gast)


Lesenswert?

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

von Tobi (Gast)


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?

von ENGli (Gast)


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.

von Tobi (Gast)


Angehängte Dateien:

Lesenswert?

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

von Tobi (Gast)


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?

von Tobi (Gast)


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?

von Tobi (Gast)


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

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Also, welches deiner Probleme ist behoben?

Popcorn hol

von Tobi (Gast)


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?

von ENGli (Gast)


Lesenswert?

Vielleicht, vielleicht aber auch nicht

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Oder RX TX vertauscht...

von Tobi (Gast)


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?

von Tobi (Gast)


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.

von Nathon (Gast)


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.

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
Noch kein Account? Hier anmelden.