PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kratzen des Lautsprechers, RN-Control und wtv020



Chris169
10.04.2014, 19:19
Hallo,

folgendes Problem:

Ich versuche das wtv020 Modul mit dem RN-Control "zum Laufen zu bringen". Der Punkt ist, dass ich weder über Motoren, noch über andere Apparate verfüge, die ein Laufen simulieren könnten. Deshalb geht es auch eigentlich um was ganz Anderes.

Mit dem wtv020 Modul soll es möglich sein, auf einer SD befindliche Sounddateien abzuspielen.

Anstatt den Sound abzuspielen kommt jedoch nur ein Kratzen (Ich glaube wenn er den Versuch beginnt, einen neuen Sound abzuspielen, da das in regelmäßigen Abständen, ca 5-6 Sekunden (vielleicht die Dauer der Sounddatei?) erfolgt).

Hier noch ein paar wichtige Details dazu:
- Ist soweit ich weiß kein wtv020 Schaden, da ich mittlerweile zwei davon besitze und bei beiden das gleiche passiert.
- 3,3 Volt gehen auf das wtv020 Modul.
- Sd-Karte ist 1 GB groß und mit FAT formatiert. Es befinden sich keine anderen Daten darauf.
- Die Dateinamen sind im Format "0001.ad4", "0002.ad4" usw.
- Den Lautsprecher (8 Ohm, 0.5 Watt) habe ich aus meinem alten Wecker ausgebaut, der zwar schon was älter war, aber der Lautsprecher bis zu dem Zeitpunkt des Ausbauens noch funktionierte.
- Die LED, die an den 3,3 Volt Pin des wtv020 geschaltet ist (Siehe wtv020 Doku: Pin oben rechts), flackert kurz auf, wenn das Kratzen wieder eintritt, dazwischen bleibt jedoch die LED aus.
- Die Sounddateien sollte auch funktionieren. Ich meine mich zu erinnern, die aus einer Anleitung genommen zu haben. Check ich aber auch nochmal nach

Den Bascomcode nicht zu vergessen:


'################################################# #############
'wtv020_ansteuerung.bas
'
'Ein Testprogramm für die Universalplatine RN-AVR UNIVERSAL
'
'Das Programm zeigt wie man das Sprachausgabemodul wtv020 ansteuert
'und beliebige Sound Dateien abspielen kann
'
'Bezug: www.robotikhardware.de
'Weitere Beispiele auf DVD oder im www.Roboternetz.de und rn-wissen.de
'################################################# #####################

'Portbelegung bzw. Modulverbindunga
'DATA PB1
'BUSY PB2
'CLK PB3
'RESET RESET
'GND GND
'3V 3V



Declare Sub Speakout(byval Song_nr As Word)
Declare Sub Warteaudio()


'MCS USB (Zeile weglassen wenn anderer Programmer)
$prog &HFF , &HFF , &HD9 , &HFE 'Fusebits richtig programmieren (Quarz ein,Jtag aus)

$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32

$crystal = 16000000 'QuarzFrequenzuenz
$baud = 9600
Baud = 9600

' ************ Hilfsfunktionen zur Kommunikation mit Spachausgabemodul wtv020 (c) Robotikhardware.de **************
' (nähere Infos im Datenblatt des Sprachausgabemoduls auf der www.Robotikhardeware.de DVD)
Dout Alias Portb.1
Clk Alias Portb.3
Config Dout = Output
Config Clk = Output
Config Pinb.2 = Input
Busy Alias Pinb.2


Dout = 0
Clk = 1
Wait 3
' ************ ************** ************ ************** ************ ************** ************ ***********


Config Pind.6 = Output 'LED
Led1 Alias Portd.6



Led1 = 0 'ein

Do

Call Speakout(450)
Warteaudio
Call Speakout(451)
Warteaudio
Call Speakout(1)
Warteaudio
Call Speakout(2)
Warteaudio
Call Speakout(3)
Warteaudio

wait 15
Loop












' ************ Hilfsfunktionen zur Kommunikation mit Spachausgabemodul Somo14 (c) Robotikhardware.de **************
' (nähere Infos im Datenblatt des Sprachausgabemoduls auf der www.Robotikhardeware.de DVD)


'Spielt die Datei mit der Songnummer als Dateiname
Sub Speakout(byval Song_nr As Word)
' Waitms 2 'Startimpulse
Clk = 0
Waitms 2
Shiftout Dout , Clk , Song_nr , 1 , 16 , 200 'Liednummer übertragen
Waitms 30
Clk = 1
Waitms 10
End Sub


'Wartet bis Audio Datei abgespielt wurde
Sub Warteaudio()
Do
Loop until Busy = 0
Waitms 10
End Sub



Ideen die ich noch ausprobieren könnte/werde:
- Neuen, frischen Lautsprecher kaufen und anschließen.
- Anstatt ad4, wav Formate auf die SD spielen.

Falls jemand noch mehr, bzw. bessere Ideen hat (oder meine Ideen ausschließen kann), bitte bitte schreiben.

Gruß


Edit:
Klugscheißermode = ON;

Meiner Meinung nach (und die zählt nicht viel), kann man doch wohl sowohl ein Schäden am Modul, Controller und einen Fehler in der Programmierung ausschließen. Immerhin startet das Modul versuche, Sound zu erzeugen.

oberallgeier
10.04.2014, 19:47
... noch mehr, bzw. bessere Ideen hat (oder meine Ideen ausschließen kann ...Eigentlich weder noch. Weder programmiere ich in BASCOM, noch kann ich Deine Fehler begründen.

Andererseits läuft mein wtv020 mittlerweile wirklich gut, egal ob im simplen Tastenmodus oder durch Controllersteuerung mit freier Fileanwahl. Mein Programm hatte ich in C geschrieben.
A) Anfangs hatte ich die 5V-2Dioden-Versorgung genommen - das ergab runde 4 Völtchen am VDD des wtv - und letzteres tat einfach nicht wirklich richtig - blieb fast immer total stumm. Da ich mehrere Teilchen mit gleicher Nichtfunktion hatte war mir schnell klar, dass die Hardware nicht defekt sein sollte.
B) Files *.ad4 liefen nicht wirklich gut - könnte an A gelegen haben.
C) Mittlerweile habe ich *.wav-Files mit 8kHz/16 Bit/Mono, auch 11kHz/16 Bit/Mono - das klingt mit nem guten Lautsprecher ziemlich gut und mit nem guten Aktivlautsprecher fast "wie vom iPod".
D) (der GRund warum ich überhaupt antworte) Verschiedene andere Parameter der WAV-Dateien kratzen teilweise so, dass einem die Ohren abfallen. Unter anderem 8kHz/16 Bit/Stereo, 11kHz/16 Bit/Stereo, 11kHz/8 Bit/Mono, 16kHz/16 Bit/Mono und andere. Daher vermute ich, dass ich bei meinen ursprünglichen *.ad4-Files falsche Parameter hatte. Dagegen liefen die Sounddateien über den Mediaplayer stets einwandfrei.

Chris169
10.04.2014, 20:02
Dann werde ich mal A) und D) ausprobieren. Außerdem werde ich mal wav files versuchen.

Kannst du mir umgängliche Freeware für die Konvertierungen in Punkt D) empfehlen?

Gruß

oberallgeier
10.04.2014, 20:05
... Kannst du mir umgängliche Freeware für die Konvertierungen in Punkt D) empfehlen? ...Ich hatte audacity genommen - etwas gewöhnungsbedürftig beim Einlernen, aber dann gings (ist aber schon ne Weile her). Dazu hatte ich einige passende Hinweise - ne Art Tutorial - gefunden.

oberallgeier
21.04.2014, 17:28
Mal ein bisschen Mess- und Erfahrungswerte zu den Audiodateien für das WTV020.

Die Konvertierung bzw. Adaptierung verschiedener Audiodateien zu Wave-Dateien (*.wav), die mit dem WTV020 einwandfrei abspielbar sind, ist mit audacity gut möglich - siehe oben.

Nach meiner Erfahrung sind Wavedateien mit 8 kHz und 11 kHz Abtastrate für gesunde Ohren gut erträglich. Selbstverständlich sind die Dateien alle nach Mono zu konvertieren. Stereo ist mit dem WTV020 nicht möglich, ergibt auch z.T. ohrenschädigende Abspielergebnisse.

Die 8 kHz-Varianten klingen etwas dumpf, ich habe mich für 11 kHz Abtastrate und 16 Bit Auflösung entschieden. Mit diesen Files benötige ich rund 21,5 kB pro Sekunde Abspielzeit - Messung aus einigen wenigen Dateien. Auf eine MikroSD mit 1GB gingen demnach satte 44tausend Sekunden, das ist ein halber Tag - theoretisch, nicht getestet. Außerdem habe ich noch nie 512 unterschiedliche Files abgespielt, die längste, getestete Spieldauer war 4min33sec.