Archiv verlassen und diese Seite im Standarddesign anzeigen : RN-Speak Steuerung ueber RS232
Hi,
ich moechte meinen RN-Speak ueber RS232 steuern (Wenn ich ihn denn mal zum Laufen kriege...). Als Microcontroler verwende ich einen BASIC Stamp (http://www.parallax.com/html_pages/products/basicstamps/basic_stamps_about.asp). Der kann allerdings nur +/- 5V ausgeben. Reicht das fuer RN-Speak?
Fuer die Rueckleitung habe ich einen Widerstand eingesetzt um den max Strom zu begrenzen, das sollte also kein Problem sein.
Jemand schon Erfahrung damit?
Viele Dank
Rolf
Eigentlich hat RN-Speak den korrekten RS232 Pegel (+/- 12V), passt also optimal an PC. Du kannst aber das IC MAX232 an der Fassung nehmen und dann RX / TX vom Controller Mega8 direkt von der Fassung abgreifen. Dann kannst DU auch dein basic Stamp mit Logik Pegal +/- 5V anschließen
Ok, ich habe jetzt den 2. Versuch vor mir, aber es funktioniert immer noch nicht... Um alle Fehler von meiner Seite her auszuraeumen: Wenn ich das Board mit AVRterm ansteuere, kriege ich Antworten auf meine Befehle, auch die Tasten werden bestaetigt. Ich habe 5 kurze Nachrichten mit rnspeek aufgenommen, habe jetzt aber Schwierigkeiten, diese abzurufen.
Was genau muss ich in AVRTerm eingeben um Nachricht Nr. 2 abzurufen?
Mit einem Terminalprogramm geht das umständlich oder garnicht weil man binäre und Ascii Zahlen oft schlecht kombinieren kann. Besser wäre ein Basic oder Bascom Programm wie in der Doku
Schon klar, ich moechte ja nur testen, ob es ueberhaupt geht - und das Terminalprogramm wird dafuer extra von euch empfohlen! ("Nicht jedes Terminalprogramm erlaubt dieses. Wenn Sie das unbedingt mit einem Terminalprogramm testen wollen, empfehlen wir AVRTERM.")
Ich haenge ein wenig auf dem trockenen hier. Dies ist jetzt der 2. Bausatz der nicht so tut wie er soll und ich kann den Fehler nicht finden. Beide Bausaetze verhalten sich aehnlich - ich muss also einen Fehler entweder reproduziert haben oder beide Boards haben den gleichen defekt! Also versuche ich alles Schritt fuer Schritt:
Aufnahme mit Tastern:
Reset druecken, Record halten und sprechen, loslassen, halten und sprechen, loslassen. (sollten eigentlich 2 Nachrichten sein!)
Abspielen:
Reset druecken, Play (sollte eigentlich die erste Nachricht spielen)
Es kommen allerdings nur Bruchstuecke der Nachricht in einer Endlosschleife aus dem Lautsprecher.
Aufnahme mit Tastern, Version 2:
Reset druecken, Record kurz druecken, sprechen, Record kurz druecken, Record kurz druecken, sprechen, Record kurz druecken. (vielleicht so 2 Nachrichten?!)
Abspielen:
Reset druecken, Play (sollte eigentlich die erste Nachricht spielen)
Beide aufgenommenen Nachrichten werden in einer Endlosschleife abgespielt. (Mmmmh)
Aufnahme mit Software:
2 Nachrichten ueberspielt, feedback von program ok, led leuchtet bei aufnahme.
Abspielen: Reset, Play, unverstaendliche sprachfetzen in endlosschleife
Also, ich weiss mir im moment nicht mehr zu helfen! Hat jemand anders aehnliche oder bessere Erfahrungen mit dem Board??
Rolf
Ja AVRTERM wird erwähnt weil dort sowohl binär als auch ASCII gesendet werden können. Du müsstest im Binärmode die Befehlsbytes duch Komma getrennt eingeben, wenn ich mich jetzt nicht irre. Ich nutze AVRTERM nicht mehr so oft.
Ich vermute irgend einen Fehler bei Jumpern / Brücken / Lötstellen. Du siehst ja selbst das du zwei gleiche Boards aufgebaut hast und sich beide unterschiedlich verhalten. Das kann letzlich nur irgendwo am Aufbau liegen, das beschriebene Verhalten ist keinesfalls normal.
Da du dich schon ne Weile damit rumärgerst, würde ich vorschlagen das Du mal beide aufgebauten Boards mit kurzer Fehlerbeschreibung einschickst (an Rechnungsanschrift zurück).
Ich schau dann mal ob ich die Ursache finde. Glaub mir, RN-Speak wird schon oft eingesetzt (hab selbst eins im Dauereinsatz), das funktioniert normalerweise völlig problemlos.
Gruß Frank
Ok, sieht nach der besten Loesung aus. Aber da sich beide Boards GLEICH verhalten, da ist kein Unterschied (Endlosschleife, gleiches Verhalten bei den Tastern, Unverstaendlichkeit nur bei bestimmten Tastenkombinationen zur Aufnahme). Ich habe alle Loetstellen ueberprueft und nichts gefunden.
Vielleicht habt ihr mehr Glueck!!!
Da ich etwas unter Zeitdruck stehe, schicke ich nur ein Board ein - wenn ihr einen Fehler findet, kann ich den vielleicht auch hier beheben...
Bis dann, Gruss
Rolf
Ich habe gerade nochmal das Board, das ich einsenden moechte angeschlossen. Es scheint mir, dass der Record-Taster (wie beim 2. Board) als ein/aus Taster fungiert (ich kann nur zwei Nachrichten aufnehmen, wenn ich jeweils am Anfang und am Ende jeder Nachricht kurz den Taster antippe). Das Aufgenommene wird dann hintereinander in Endlosschleife abgespielt! Aufnahme von 2 Nachrichten funktioniert mit der Software, allerdings mit dem gleichen Abspieleffekt...
Kann es evtl. an dem Betriebssystem auf dem Mega8 liegen? Oder den Fusebits?
Gruss
(ein hoffnungsvoller) Rolf
Und noch etwas info: Wenn ich mit dem Terminalprogramm folgendes sende:
&H72,&H6E,&H6D,3 erhalte ich die Rueckmeldung: rnm Message (1-Byte Ascii-Code): 2 ok. Es wird die 2. Nachricht gespielt, dann aber die 1. dran gehaengt und wieder in der Endlosschleife. Das Board nimmt dann keine Eingaben mehr an (Taster reset oder Terminal Reset ohne Effekt...)
Die Playtaste funktioniert ebenfalls als Start/Stop Taster (aehnlich Record)
Ich werde jetzt eine Foto hochladen, zur Ueberpruefung der Jumper.
Gruss
Rolf
Hier 2 Fotos wg Jumpern und Widerstaenden...
Software Fehler im Controller und Fusebits sind eigentlich auszuschließen da die Software schon lange nicht mehr verändert wurde und die Chips nur kopiert werden - Parallelprogrammer sind recht zuverlässig. Aber lass uns lieber nicht weiter spekulieren, ich schaus mir an und teste dann mal alles durch. Ich kanns dann auch schnell mit meinem Aufbau vergleichen. So auf dem Bild siehts glaube ok aus, aber ich muss dann Doku selbst mal wieder genau lesen ;-)
Problem gefunden!
Hallo rolfuk,
heute habe ich dein aufgebautes RN-Speak erhalten. Ich habs mir gleich mal vorgenommen. Es lag wie vermutet an einem Aufbaufehler, allerdings hast Du diesen wirklich gut versteckt, auf den ersten Blick hatte ich auch nix gefunden.
Habe als erstes alle IC´s mal schnell probeweise gewechselt, aber alle waren ok und liefen bei meinem eigenen RN-Speak optimal.
Als ich dann alle Bauteile noch mal ganz genau bei dir kontrollierte habe ich gesehn das Du den Netzwerkwiderstand falschrum eingelötet hast. Darauf wären wir bei unserer Diskussion vermutlich nie gekommen ;-) Man siehts auch erst wenn man wirklich genau schaut. Aber es musste ja ein Logikfehler sein und sowas konnte dann nur noch durch Pullup- oder Pulldownwiderstände erfolgen. Und offenbar hast Du den gleichen Fehler bei dem zweiten Aufbau nochmal haargenau wiederholt :-) Aber so gehts halt manchmal.
Der weisse Punkt bei Netzwerkwiderständen symbolisiert immer Pin 1. Auf der Platine ist bei Pin 1 eine kleine "1" aufgedruckt, darauf musst du achten.
Wenn du ihn drehst klappt alles, aber das auslöten ist bei Netzwerkwiderständen nicht ganz so einfach, die haben immerhin 10 Beinchen. Heil bekommt man die schwierig aus doppelseitigen Layouts.
Mail mir nochmals Deine Lieferanschrift oder alte Rechnungsnummer, die stand nicht auf dem beiliegenden Schreiben.
Unten ein Foto deines Boards.
Gnnnnnnnnn! Vielen Dank und sorry für den Aufwand! Ich schick dir gleich noch meine Daten, vielleicht könntest du sicherheitshalber noch 2 Netzwerke beilegen, falls ich das AUslöten auch nicht gebacken kriege...
Danke nochmal, beste Grüße aus Schottland, Rolf
vielleicht könntest du sicherheitshalber noch 2 Netzwerke beilegen, falls ich das AUslöten auch nicht gebacken kriege...
Danke nochmal, beste Grüße aus Schottland, Rolf
Bei dem Board hab ich den Widerstand gleich gegen einen neuen ersetzt. Einen weiteren lege ich Dir bei, heil bekommt man die kaum raus. Ich brauch dann nur noch die Adresse zum versenden. Dann mal viel Spaß
Gruß Frank
Hallo Frank,
vielen Dank, Board ist angekommen, funktioniert prima!! Den beigelegten Netzwerkwiderstand hab ich nach einigem Gefummel auch gut einlöten können und zweites Board funktioniert auch prima!
Vielen Dank für den super Service! O:)
Kurz zur Info: Das Board speichert 186 Nachrichten (Gesamtlänge ca. 4,5 min). Letzte Nachricht braucht ca. 1,5 sec bis sie den Lautsprecher erreicht. Angesteuert wird das ganze über einen BASIC Stamp über RS232 direkt eingestöpselt (der Stamp liefert nur 5V - funktioniert trotzdem prima)
Also - alles prima!
Gruß Rolf
Hallo Rolf
Danke für die positive Rückmeldung. In Foren landen ja meist nur Problemfälle, von daher ist immer schön wenn neben Problemfällen auch mal was positives an Resonanz landet.
Wenn Du mal Lust und Zeit hast, vielleicht kannst Du mal ein kleines Ansteuerbeispiel für "BASIC Stamp" hier im Thread oder gleich in RN-Wissen unter RN-Speak posten. Ich könnte das dann auch noch in die Doku mit übernehmen. Beispiele können nie schaden
186 Meldungen ist schon eine ganze Stange, soviel hatte ich noch nie drauf. Von daher ist deine Zeitangabe ganz interessant. Denke 1,5 Sekunden ist für vieles noch verkraftbar. Die Zeit wird durch die Anzahl der Meldungen bestimmt. Wären es nur 90 Nachrichten mit der gleichen Gesamtlänge, wäre die Zeit nur halb so lang, also ca. 0,75 Sekunden. Aber ich denke das weisst Du.
Gruß Frank
Ich hatte mir schon so was gedacht, hab jetzt die wichtigen Meldungen nach vorn gepackt... ;o) Hier mein Beispielcode fuer die Ansteuerung:
' ================================================== =======================
'
' File...... RN-SPEAK_1_0.bs2
' Version... 1.0
' Purpose... Serial Control of RN-Speak with BS2e on Board of Education or
' Milford develloping board using switched joystick input data
' Author.... Rolf Black
' based on . SpeakJet_Demo.BS2, (c) 2004 Parallax, INC. -- All Rights Reserved
' PhonicStick_3_0_1, (c) 2006 Rolf Black -- All Rights Reserved
' E-mail.... rolfblack @ computing.dundee.ac.uk, support@parallax.com
' Started... 06 SEP 2006 (3.0)
' Updated... 25 OCT 2006 (RN-Speak 1.0)
' {$STAMP BS2E}
' {$PBASIC 2.5}
'
' ================================================== =======================
' -----[ Program Description ]---------------------------------------------
'
' Example program for RS232 control of RN-Speak via BASIC Stamp controller
' Direct connection, BASIC Stamp outputs 5V - enough to work...
' Connections: BS2 RN-Speak RS232
'
' P15 (Tx) ----> Pin 1 (RX) DB9.2
' P14 (Rx) <---- Pin 3 (TX) DB9.8 not used
' Vss ----- Pin 2 (GND) DB9.5
' -----[ Revision History ]------------------------------------------------
' -----[ I/O Definitions ]-------------------------------------------------
Tx PIN 15 ' serial out to RN-Speak
Rx PIN 14 ' serial in from RN-Speak
' -----[ Constants ]-------------------------------------------------------
#SELECT $stamp
#CASE BS2, BS2E, BS2PE
T2400 CON 396
T4800 CON 188
T9600 CON 84
T19K2 CON 32
#CASE BS2SX, BS2P
T2400 CON 1021
T4800 CON 500
T9600 CON 240
T19K2 CON 110
#ENDSELECT
SevenBit CON $2000
Inverted CON $4000
Open CON $8000
Baud CON T9600 + Inverted
Sync CON $55
' -----[ Variables ]-------------------------------------------------------
phonicIndex VAR Byte ' index where phonic is found in RN-Speak
bufferByte VAR Byte ' speak buffer of RN-Speak
' -----[ In/Out Pins ]--------------------------------------------------
DIRS = %1000000000000000 ' sets I/O Pins
' -----[ Program Code ]----------------------------------------------------
phonicIndex = 1
Main:
' DEBUG "Main", CR
SEROUT Tx, Baud, ["rnm", phonicIndex]
' DEBUG "Element ", DEC phonicIndex, " sent to RN-Speak", CR
' DO ' possibly to wait for next phonic input until last phonic spoken
' SERIN Rx, Baud, [bufferByte] ' not tested
' IF (bufferByte = 0) THEN exit
' LOOP
' DEBUG "Finished speaking", CR
' DEBUG CR
End_of_program:
END[/code]
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.