Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: EDV-Dompteur/Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Desi

Der EDV-Dompteur im Zivilmodus

  • »Desi« ist der Autor dieses Themas

Beiträge: 1 027

Wohnort: Hamburg

Beruf: Techniker

  • Nachricht senden

1

Sonntag, 12. Mai 2013, 04:58

Atmel AVR proggen

AVR proggen per Druckertreiber!
Für die Elektronik-Bastler unter uns sicher ein interessantes Konzept, um 'nen AVR zu flashen; statt sich mit dem virtuellem COM-Port und dessen Settings im Gerätemanager herumzuschlagen, stieß ich auf folgenden Ansatz, um 'nen am USB-Port hängenden Controller zu programmieren:

http://hackaday.com/2013/05/10/microcont…ed-by-printing/

Als Elektronik-Entwickler muss man sich dabei also nicht selbst mit den hohen Hürden einer USB-Anbindung herumschlagen, sondern ein schlichter Druckertreiber erledigt den Job!
.
Achtung: Meine "piratigen" Postings können höhere Dosierungen von Satire/Ironie/Sarkasmus beinhalten! Mehr Infos dazu

"Das Internet darf kein rechtsfreier Raum sein"
Das Internet darf keine Spielwiese berufsempörter Advokaten sein!

EDV-Dompteur

Administrator

Beiträge: 923

Wohnort: Hamburg

Beruf: Techniker

  • Nachricht senden

2

Freitag, 31. Mai 2013, 13:54

In dem Zusammenhang noch ein weiteres Konzept für Elektronik-Entwickler, um USB gleich ganz vermeiden:

Wer Mikrocontroller einsetzt, wie Atmel AVR, kennt man ja das Problem:
Ein Bootloader erleichtert während der Softwareentwicklung das Neuflashen des Bausteins sehr; dennoch muss das Ding irgendwie an den PC angestöpselt werden.

Der klassische Weg geht bekanntlich über ein serielles Kabel. Weil heutige Notebooks keine RS-232 Schnittstelle mehr haben, sucht man also zunächst das nötige Adapterkabel, von USB auf RS-232 (das immer dann verschwunden ist, wenn man es gerade braucht).
Dann amüsiert man sich jedes Mal mit den Settings eines virtuellen COM-Ports rum dabei zickt zunächst alles rum was nur zicken kann ...

Die etwas modernere Variante kommt ohne dem USB-Adapter aus und verwendet ein standard USB-Kabel. Der Platine mit dem AVR muss dann aber notgedrungen ein FT232 o.ä. spendiert werden, nebst USB-Buchse. Doch der Chip ist relativ teuer und wahrlich schwer zu löten. Chip und Buchse belegen auch einigen Platz auf der Platine, was bei heutiger Miniaturisierung nervt.
Und noch immer fummelt man mit 'nem Kabel zwischen Platine und PC rum, was richtig doof ist, wenn die Platine irgendwo fest verbaut ist, wo sie nur umständlich zu erreichen ist. In der Deckenleuchte vom Badezimmer oder so ...

Funktechniken wären da die Lösung, aber eine Funkanbindung ist noch teurer als FT232 plus USB-Buchse und auch nicht gerade kleiner. Schon gar nicht einfacher, von der Implementierung her.


Nun die Lösung - klein, billig, einfach:
Infrarot!
Zugegeben: Die Idee ist nun wahrlich nicht neu. Dennoch möchte ich die Vorteile mal explizit loben.
Und ja - man braucht Sichtkontakt zwischen Platine und PC. Aber bei USB oder RS-232 wäre das wegen der geringen Kabellänge effektiv ebenfalls gegeben.
Die Reichweite ist sogar recht identisch, bzw. besser:
USB kann ohne weitere Maßnahmen nur 5m überbrücken.
RS-232 schafft bei hoher Baudrate nicht mehr als 10m. Bei wirklich hoher Datenrate noch weniger.
Das sind Distanzen, die man auch mit Infrarot schafft.

Ein Infrarotempfänger mit Filterung und Signalaufbereitung kostet keine 2,- EUR.
Ein Sender noch weniger.
Beides zusammen belegt nicht mehr Platz auf der Platine, als FT232 plus USB-Buchse. Ist aber einfacher zu löten und darüber hinaus viel flexibler, weil man bedrahtete Empfänger einsetzen kann. Diese belegen dann nur noch minimalen Platz auf der Platine und können je nach Bedarf so hingebogen werden, wie gewünscht.
Während der Gehäusedurchbruch für eine USB-Buchse handwerklich eine kleine Herausforderung ist, benötigt Infrarot höchstens ein simples Loch - bei transaprentem/transluzentem Gehäusematerial nicht mal das. Man muss sich wundern, wie gut Infrarotlicht selbst durch "lichtdicht" weißes Gehäusematerial hindurchscheint!

Ein mit Infrarotempfänger ausgestattetes Gerät ist dann sogar per Fernbedienung zu steuern; ein sehr wilkommener Nebeneffekt!
Und auch das Debuggen einer selbstgeschriebenen Software wird einfacher.
Statt Statusmeldungen per COM zum PC zu übertragen, oder statt gleich ein Display anzusteuern, hängt man einfach einen Infrarotsender an den COM-Port des Controllers.
Der Empfänger sitzt dann am PC und schon kann man dort die Statusmeldungen des Controllers im Terminal sehen etc. etc.

Will man kleine, recht betont preiswerte Platinen bauen, ist Infrarot aus meiner Sicht das Mittel der Wahl.
Soll die Platine später ohnehin per standard Fernbedienung steurbar sein, was sowieso 'nen Infrarotempfänger erfordert, so ist die nötige Hardware für den Empfang bereits vorhanden!
Jetzt nur noch ein Sender an den COM-Port, schon hat man eine bidirektionale Verbindung.

Statt etliche Kontroll-LEDs vorzusehen, oder gar ein Display zu spendieren, genügt eine einzelne, von einem einzigen Portpin angesteuerte Infrarot-Diode, die Statusmeldungen, Debugcodes etc. moduliert zum PC sendet, wo man mit dem Terminal gleich den gesamten Verlauf protokolliert.
So kann das Programm auch ungebremst durchlaufen, statt On-Zeiten von Kontroll-LEDs künstlich verlängern zu müssen, damit sie überhaupt wahrnehmbar werden.
Macht Technik dir das Leben schwör, ruf' schnell den EDV-Dompteur! ;-)

- Technische Fragen zu Eigenreparaturen bitte nur öffentlich im Forum stellen! -
- Bitte nicht per E-Mail, oder Telefon nach Reparaturtipps fragen! -

EDV-Dompteur

Administrator

Beiträge: 923

Wohnort: Hamburg

Beruf: Techniker

  • Nachricht senden

3

Mittwoch, 5. März 2014, 01:31

V-USB - ein USB-Port für AVR in Software

Software-USB für Atmel AVR in nur 2kB Flash:

http://www.obdev.at/products/vusb/index.html

Beim Einsatz in Zusammenhang mit Bootloadern stören Interrupts. Daher gibt es auch eine Interrupt-freie Implementation:
http://cpldcpu.wordpress.com/2014/03/02/…upt-free-v-usb/
Macht Technik dir das Leben schwör, ruf' schnell den EDV-Dompteur! ;-)

- Technische Fragen zu Eigenreparaturen bitte nur öffentlich im Forum stellen! -
- Bitte nicht per E-Mail, oder Telefon nach Reparaturtipps fragen! -

EDV-Dompteur

Administrator

Beiträge: 923

Wohnort: Hamburg

Beruf: Techniker

  • Nachricht senden

4

Dienstag, 11. März 2014, 23:21

Per Bluetooth

Adafruit bietet zu $22,50 den Bluefruit EZ-Link - Bluetooth Serial Link & Arduino Programmer - v1.0

Bluetooth kann für Schaltungsentwickler reichlich tricky sein, aber dieses Modul scheint das Leben des Mikrocontroller-Freaks in der Tat zu erleichtern.
Zwei dieser Module verhalten sich praktisch wie ein serielles Datenkabel. Was seriell in das eine Modul reingeht, purzelt aus dem anderen Modul seriell heraus.

Genial ist auch die automatische Baudrateneinstellung.
Auch die Möglichkeit, die Hardware-Flow Pins zu verwenden, zum Resetten eines AVR während des Flashens, ist nett.

Die Reichweite von 10m ist nicht gerade üppig, zum Flashen von AVR-Devices jedoch in den meisten Fällen voll ausreichend.

In solchen Fällen, wo man zwei dieser Module braucht, geht die Lösung allerdings doch etwas ins Geld.
Aber die Zeitersparnis dürfte das rausreißen. Ich habe schon viele Stunden in Rechere und Studium diverser Datenblätter zum Thema Bluetooth verbracht und dann doch immer wieder Abstand von dieser Technik genommen.

Die Beschreibung ist schön ausführlich und es sieht tatsächlich nach Auspacken & Loslegen aus!
Keine komplizierten SPI-/I2C-Register, keine ausufernden Kommandosequenzen (gar keine!), sondern schlichtes Anstöpseln an den UART und fertig.


Wem obiges Modul zu teuer ist, und gespartes Geld gegen etwas Leid einzutauschen bereit ist, der konsumiere folgenden Blogeintrag von Zak:
Getting Bluetooth modules talking to each other

Dort geht es ebenfalls um "transparente Module". Baudrateneinstellung und ein paar Settings nötigen den Entwickler dann aber doch zumindest zu AT-Kommandos, wenn auch immerhin nicht zu seitenlangem Studium von SPI-Registern.

Meine Meinung:
Wenn es nur um den simplen Ersatz des Programmierkabes zum Flashen von AVRs geht; und wenn es nicht um die Entwicklung eines Serienproduktes geht, wo man tatsächlich auf die Materialkosten achten muss - dann sollte man besser zu dem eingangs erwähnten Bluefruit von Adafruit greifen.

Schlecht (oder gar nicht) dokumentierte, chinesische Billigmodule, die in verschiedenen Boardrevisionen und unterschiedlicher Firmware daher kommen, können einem dort ein paar Tage Lebenszeit rauben, wo es eigentlich nur um ein "schnell mal eben" ging.
"Schnell mal 'nen AVR flashen, aber bitte ohne Kabel" ... :079:
Macht Technik dir das Leben schwör, ruf' schnell den EDV-Dompteur! ;-)

- Technische Fragen zu Eigenreparaturen bitte nur öffentlich im Forum stellen! -
- Bitte nicht per E-Mail, oder Telefon nach Reparaturtipps fragen! -

Ähnliche Themen