FTDI stört 74HC595 beim Atmega8

Gast #3037914
Lesenswert?

Hallo,

ich versuche mir gerade eine Schaltung aufzubauenum vorerst bis zu 32 
Mini-Glühlampen (12V 1,2W) über den PC zu steueren. Derzeit teste ich 
auf dem Evaluation-Board und Addon-Board von Pollin.

Im Testaufbau habe ich gerade folgendes: PC USB -> FTDI seriell Adapter 
-> RS232 Eingang auf dem Eval-Board -> RX, TX auf Atmega8 -> SPI vom 
Atmega -> 74HC595 -> 8 LEDs auf dem Addon-Board.
Im finalen Aufbau kommen noch ULN2803 hinter die 74HC595. Diese fehlen 
noch in der Testschaltung, sollte hier aber keine Probleme machen da 
derzeit nur LEDs mit Vorwiderstand angesteuert werden.

Die serielle Kommunikation klappt, damit kann ich über die serielle 
Schnittstelle LEDs an Port D toggeln.

Für den Test des 74HC595 habe ich zum Programmstart eine Schleife 
eingebaut die mir 10x hintereinander die 8 LEDs am 74HC595 ein und 
ausschaltet.

Jetzt zu meinem Problem, die Ansteuerung des 74HC595 funktioniert nur 
solange wie an der RS232 Buchse kein PC angeschlossen ist. Hierbei 
reicht es anscheinend schon wenn der Sub-D Stecker vom FTDI-Adapter auf 
der Buchse liegt und somit die Massen verbunden sind.

Was kann ich dagegen tun?
Gast #3037964
Lesenswert?

Statt seriell zu kommunizieren, verwende doch USB via VUSB im ATmega.
(http://www.obdev.at/products/vusb/index-de.html)

Auf Computerseite kannst du mit libUSB bequem Daten abrufen - ganz ohne 
USB-Seriell Wandler.
(Auf einigen Computern machen die FTDI Chips auch manchmal Ärger, z.B. 
crasht die i915 in meiner Sandybridge...)

LibUSB ist für viele Platformen verfügbar - natürlich auch Linux und 
Windows.

Auf der Projektseite vom tinyUSBboard findest du ein Beispiel (mit 
zugehörigen Linux/Windows Programm) wie man über USB Daten schiebt:

http://matrixstorm.com/avr/tinyusbboard/#examples
Gast #3038000
Lesenswert?

Maniac schrieb:
> Im finalen Aufbau kommen noch ULN2803 hinter die 74HC595.

Warum verwendest du nicht gleich soetwas wie die TPIC6B595? Die 150mA 
sollten für deine Lämpchen reichen.

marixstorm schrieb:
> Statt seriell zu kommunizieren, verwende doch USB via VUSB im ATmega.
> (Auf einigen Computern machen die FTDI Chips auch manchmal Ärger, z.B.
> crasht die i915 in meiner Sandybridge...)

Warum sollte sich durch Änderung des Kommunikationsprotokolls ein 
Hardwareproblem im Gnd-Konzept der Schaltung beheben lassen. Ein 
BIOS-Update auf dem PC wird da genauso wenig helfen ;-(

Bei Hardwareproblemen sollte man sich erstmal den Schaltplan kritisch 
ansehen. Schließlich ist das nicht die erste Schaltung mit einem FTDI 
USB-Wandler.
Gast #3038016
Lesenswert?

Danke für eure Hinweise. Schaltpläne kann ich vom geplanten fertigen 
Aufbau posten. Allerdings weicht dieser durch den MAX232 auf dem 
Eval-Board (und wahrscheinlich auch im FTDI-Adapter) vom derzeitigen 
Testaufbau ab.

Die Implementierung über VUSB höprt sich sehr gut an, das probiere ich 
mal aus. Spart einem dann ja auch das löten des FTDI :)

Das Board wird über ein 9V Steckernetzeil mit 1A mit Strom versorgt. In 
der finalen Schaltung soll es dann mit über USB versorgt werden. Die 
Lampen bekommen natürlich über den ULN2803 ihre eigene Versorgung.

Die 500mA pro Port des ULN2803 würde ich gerne behalten, da nicht 
auszuschliessen ist später auch andere Sachen als Mini-Lämpchen zu 
steuern.
(Firma: keine) #3038027
Lesenswert?

Hallo,

wie schon gesagt wäre ein Schaltplan hilfreich. Ich vermute aber mal, 
dass du dein Problem durch Serienwiderstände in den Leitungen zum HC595 
in den Griff kriegen kannst, siehe auch hier: 
http://www.atmel.com/images/doc2521.pdf

Über die Größenordnung scheiden sich die Geister, ich hatte auch mal ein 
ähnliches Problem (ISP und HC595 an den gleichen Pins), dort haben 
2,2kOhm als Serienwiderstände die Probleme behoben.

Gruß,
Daniel

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren