Hi,
ich hab mir ein kleines Gerät gebaut, das in meinem PC eingebaut,
perfekt funktioniert, allerdings nach dem Einschalten erst mal nicht...
Gerät ist in einem 5¼ Schacht eingebaut, bekommt seine Spannung über die
HDD Versorgung.
Darauf ein M644 und FT232R, am USB Stecker ist +5V nicht angeschlossen.
Nach dem Einschalten Bootet der PC, das Gerät beginnt sofort zu
arbeiten,
nach erfolgreichem Windows Start, wird ein Programm gestartet, das eine
Verbindung zum FT232 aufbaut und Daten an diesen sendet, das klappt, ich
seh das die RX Led blinkt.
Auf den Empfang jedes Datenpakets soll das Gerät mit eigenen Daten
antworten, das klappt nicht immer.
Nach jedem 3- 4 Kaltstart muss ich die Spannungsversorgung kurz
unterbrechen, dann gehts.
Die Datenpakete sind 28 bzw 64 Byte lang.
Meine Idee war, dass ich beim nächsten Teil, in die Spannungsversorgung
einen Transistor einplane, der vom Mega abgeschaltet werden kann, wenn
nach n Sekunden keine Daten empfangen wurden, abschalten und Neustart.
Einen NPN Transistor, Basis mit R 10k an VDD = Durchgeschaltet wenn 5V
anliegen, im Bedarfsfall Basis nach GND ziehen, aber wie? PNP ?
Hab da auch nicht mehr so viel Platz auf der Platine
So, genau da hänge ich jetzt.
Ich hoffe mir gibt jemand einen Platzsparenden Tip
Danke schon mal
Hi
>Meine Idee war, dass ich beim nächsten Teil, in die Spannungsversorgung>einen Transistor einplane, der vom Mega abgeschaltet werden kann, wenn>nach n Sekunden keine Daten empfangen wurden, abschalten und Neustart.
Warum nicht den wirklichen Fehler suchen?
MfG Spess
Nimm den AVR aus seinem Sockel und verbinde dessen RxD mit dem TxD Pin.
Dann teste die Verbindung mit einem Terminal-Programm. So findest DU
heraus, ob die Kommunikation zwischen PC und dem FT232 klappt.
Als Nächsten Schritt bau den AVR wieder ein und installiere ein
einfaches Programm, dass z.B. immer 10 Bytes empfängt und danach
"xxxxxxxxx" sendet. Wenn das klappt, schreibe das Programm so um, dass
es anstelle der x die zuvor empfangenen Bytes sendet.
Dann schreibst Du ein AVR Programm, dass zu deinem PC Programm
kompatibel ist, aber ales nur simuliert (also keine Sensoren Abfragen
oder so, ganz minimalistisch).
So findest DU heraus, ob das PC Programm Ok ist.
Wenn bis dahin alles geklappt hat, hast Du wohl einnen Fehler im AVR
Programm.
Also: Fehler zuerst einkreisen und dann Fragen stellen.
Georg G. schrieb:> Watchdog im 644 aktivieren und bei Ausbleiben der Antwort den Hund> beißen lassen.
Reset reicht nicht, muß kurz Stromlos sein
allerdings ist der Reset vom FT232 nicht beschaltet, wie im Datenblatt
unter "Self- Powered" beschrieben
Stefan Frings schrieb:> Nimm den AVR aus seinem Sockel
TQFP, geht also ned...
Das Programm funktioniert perfekt, über zig Stunden ohne Probleme, ich
kann die Sensordaten senden, empfangen, verarbeiten, Configdaten senden
und empfangen, das sind dann ca 150 Byte,
wenns nicht sofort ab Start funktioniert >> aus, an, geht
Protokoll sieht so aus:
PC sendet "!UPD#mehrere#Zahlen#getrennt#durch##E"(nde)
Gerät sendet daraufhin "!UPD#viel#mehr#Zahlen#getrennt#durch##LFCR"
und das einmal die Sekunde,
dann gibts als Steuerbefehle noch "?CFG#", "!CFG#", "?UPD#"
das tut alles, wenns geht, gehts immer
Hi
>Das Programm funktioniert perfekt,>wenns nicht sofort ab Start funktioniert >> aus, an, geht
Also funktioniert es nicht perfekt. Hör auf dir etwas vor zu machen und
suche den Fehler.
MfG Spess
sBronco schrieb:> wenns nicht sofort ab Start funktioniert >> aus, an, geht
Funktioniert vielleicht nicht, weil die Spannung vom PC-Netzteil zu
langsam ansteigt.
Schalte BOD ein.
mfg.
Spess53 schrieb:> Also funktioniert es nicht perfekt. Hör auf dir etwas vor zu machen und> suche den Fehler.
das habe ich bereits versucht, in beiden Programmen alles andere raus
geschmissen, nur den USB Teil stehen lassen > selbes Verhalten
Software seitig bin ich mit meinem Latein am Ende
Thomas Eckmann schrieb:> Schalte BOD ein.
BOD steht bei 4.7V
und wie gesagt; Reset reicht nicht!
sBronco schrieb:> und wie gesagt; Reset reicht nicht!
Damit macht er auch keinen Reset, sondern bleibt im Reset bis die
Spannung >4,7V ist.
> Shit, seh grad der Reset vom FT ist hier beschaltet, ist ein neuer> Entwurf, auf der fertigen Platine ist er UN- beschaltet
Ein Resetpin ist dazu da, diesen auch zu benutzen. Also mach das auch.
Entweder du hängst den FT-Reset mit an den Atmega-Reset, dann kommen
beide gleichzeitig oder du hängst den Ft-Reset an einen Port vom Atmega
und führst dann einen Reset des Ft per Programm aus.
Aber nicht blöd an Vcc oder offen.
mfg.
Thomas Eckmann schrieb:> Ein Resetpin ist dazu da, diesen auch zu benutzen.
kann laut Datenblatt unbeschaltet bleiben,
wird im neuen Entwurf aber geändert
sBronco schrieb:> kann laut Datenblatt unbeschaltet bleiben,
Kann. Und wenn man den an eine bestehende stabile Spannung anschliesst,
ist das auch OK.
Aber wenn man den zu nichts bräuchte, hätten die von FTDI den gar nicht
rausgeführt.
mfg.
Ich muss spess recht geben.
Ich meine mich erinnern zu koennen, dass and den Reset vom FT232 ein
Spannungsteiler dran kommt.
und in die USB+/- Leitungen sollten kleine Widerstaende 22R rein und C's
gegen GND.
Reset macht irgendwie schon Sinn, kann das bei diesem kleinen Gehäuse
aber nicht so kurz ändern, muss also eine neue Platine basteln und
hoffen das es das war...
beim ersten Entwurf habe ich das ursprünglich am M644 Reset mit dran
gehabt,
ging dann Routingtechnisch nicht, ohne einen Draht über die Platine zu
ziehen, da das DB sagt geht auch ohne, weil intern beschaltet, hab ichs
halt weggelassen.
Juergen G. schrieb:> und in die USB+/- Leitungen sollten kleine Widerstaende 22R rein und C's> gegen GND.
definitiv unnötig