Hallo, ich suche für verschiedene Projekte einen möglichst günstiges Modul mit usb Anschluss, min 5 digitale I, 3 digitale O, (TTL oder open Collector) 5V sollte mit wenig Bauteilen steuerbar sein. Stromversorgung über USB Z.B. diese hier Entwicklungsboard STM8S103F3P6 http://www.pollin.de/shop/dt/NTI3OTgxOTk-/Bausaetze_Module/Entwicklerboards/Entwicklungsboard_STM8S103F3P6.html Arduino Micro http://www.pollin.de/shop/dt/Mjc3OTgxOTk-/Bausaetze_Module/Entwicklerboards/ARDUINO_Micro.html Programmiert werden diese über USB, was ja ok ist. In der Realen Anwendung soll das Modul dann die Steuerung von Motoren und Endschaltern, Winkelgeber etc. übernehmen. Der Host ( PC oder Raspberry) ist dann per USB angeschlossen und gibt Kommandos an das Modul oder frägt Statusdaten ab ( Wert des Resolvers z.b.) Ist das mit diesen Modulen möglich oder ist die USB Schnittstelle ausschließlich zum übertragen der Programme da? Viele Grüße Bernd
Das STM8 geht nicht. USB ist nur für die Stromversorgung da.
> Programmiert werden diese über USB, was ja ok ist. [...] > Entwicklungsboard STM8S103F3P6 Das STM8S103F3P6 Board wird über die USB Buchse nur mit Strom versorgt, der µC kennt kein USB. Programmiert wird über die 4-polige Stiftleiste. > Arduino Micro Dessen µC kennt USB, was man dann auch frei im Programm verwenden kann.
Mit dem Arduino Micro sollte es funktionieren, für TTL oder Open Collector brauchst du aber externe Beschaltung.
Bernd schrieb: > ich suche für verschiedene Projekte einen möglichst günstiges Modul mit > usb Anschluss, min 5 digitale I, 3 digitale O, (TTL oder open Collector) > 5V sollte mit wenig Bauteilen steuerbar sein. > Stromversorgung über USB Vorschlag: PIC16F1454 oder PIC18F2553. Sind nackte Chips mit USB-Hardware drin, lochrastergeeignet, 5V-Betrieb, einfach anzuschließen. Beim PIC16F1454 brauchst Du nicht einmal einen Quarz. XC8 Compiler, MPLAB IDE und USB Stack (Microchip Application Library) gibts kostenlos auf microchip.com. Zum Programmieren brauchst Du ein PICKIT3 (Chinaclones ab 20€, Original etwa 50€). fchk
Frank K. schrieb: > PICKIT3 (Chinaclones ab 20€ Oder 15$ http://www.aliexpress.com/item/pickit3-PIC-programmer-pickit-3-PIC-emulator-debugger-KIT3-stronger-than-ICD2-KIT2-steady/1295438163.html
Hallo, vielen Dank für die guten Tipps, da ich auf jeden fall noch externe Beschaltung benötige ist ein PIC eine alternative. Wenn ich recht gesehen hab, hat der PIC16F1454 11 I/O anschlüsse, 2 für USB und 9 andere. Da wäre die Konfiguration 5 digital Input, 3 digital Output, 1 Analog Input (Temperatursensor) theoretisch möglich. Prinzipiell könnte man ja den PIC16 LF 1454 nehmen, und die 5 V per externe Schaltung nehmen. ( 12 V ist vorhanden, ein kleiner Festspannungsregler ist ja kein Problem ) Ansonsten den PIC16LF1459 wenn die Pins nicht reichen. Viele Grüße Bernd
Bernd schrieb: > Wenn ich recht gesehen hab, hat der PIC16F1454 11 I/O anschlüsse, 2 für > USB und 9 andere. > > Da wäre die Konfiguration 5 digital Input, 3 digital Output, 1 Analog > Input (Temperatursensor) theoretisch möglich. Der PIC16F1454 hat keinerlei Analogfunktionen. Da müsstest Du dann den PIC16F1455 nehmen. > Prinzipiell könnte man ja den PIC16 LF 1454 nehmen, und die 5 V per > externe Schaltung nehmen. ( 12 V ist vorhanden, ein kleiner > Festspannungsregler ist ja kein Problem ) Hast Du 5V-Signale? Der PIC verträgt an seinen Eingängen nur Spannungen bis Vcc. Wenn Du 5V-Peripherie hast, kannst Du keinen LF-Typen verwenden. Wenn Du einen 3.3V PIC nehmen kannst, empfehle ich einen PIC24FJ64GB002. Gibts als SDIP28. Dafür brauchst Du zwar einen Quarz für USB, aber es ist ein 16-Bit PIC und damit deutlich angenehmer zu programmieren. Das ist halt immer eine Abwägung zwischen Stückpreis (der PIC16F1454 ist die billigste Möglichkeit, ein 100% standardkonformes USB Device zu realisieren) und Entwicklungsaufwand.
Frank K. schrieb: > er PIC16F1454 ist die > billigste Möglichkeit, ein 100% standardkonformes USB Device zu > realisieren Wenns keine 10000er-Stückzahlen werden sollen: So Billig-Arduino-Clone Boards für ein paar Dollar? Standardkonformes USB, allerdings per Dediziertem USB->Seriell Wandler Chip, nicht im µC. (Kann ein Vor- oder Nachteil sein. Bei RasPI-Basteleien: eher Vorteil) Bootloader ist fertig drauf, IO-Pins gibts genug, auch Analog, und das ganze Arduino-Framework muss man ja nicht verwenden. Der Bootloader lässt sich auch direkt mit AVRDude ansprechen oder austauschen.
Ein 60cent Atmega8 aus China und ne Hand voll Hühnerfutter könnten deinen Zweck erfüllen. V-USB heißt das Stichwort [1]. Da gibts 2 Projekte [2,3]. Ginger ist das flexiblere von Beiden. Außerdem sind diese Projekte mit Minimalaufwand auf so ziemlich jeden AVR mit genug Speicher portierbar. Grüße Oliver [1] http://www.obdev.at/products/vusb/index-de.html [2] http://www.obdev.at/products/vusb/prjdetail.php?pid=136 [3] http://www.obdev.at/products/vusb/prjdetail.php?pid=51 Edit: Die Firmwares können auch auf nen fertiges Board gebracht werden, welches für V-USB designt wurde. Ich nehme gerne die USBasp-Clones aus China her. Ein tinyusbboard wäre wahrscheinlich perfekt für deine Bedürfnisse. Die gibts günstig bei Ebay.
:
Bearbeitet durch User
Bernd schrieb: > Prinzipiell könnte man ja den PIC16 LF 1454 nehmen, und die 5 V per > externe Schaltung nehmen. Doch wo ist da der Sinn? Wenn du 5V am Ausgang haben willst, ist es doch sinnvoller, den PIC auch mit 5V zu versorgen und nicht absichtlich 3,3V o.ä. und dann mit einem Levelshifter drn Ausgang auf 5V zu bringen. Den normalen 16Fxxxx kannst du meist zwschen 1,8V und 5V betreiben, den LF nur bis 3,6V. Der Unterschied ist im Grunde nur, dass die LF PICs weniger Strom ziehen, interessant also bei Batterie betriebenen Schaltungen. Wenn USB dran ist, bekommste den Strom ja daher. Der Vorteil der ein-Chip-Lösung ist mMn, dass es besser in ein Projekt bzw. in eine zu entwickelnde Schaltung eingebaut werden kann.
Die PIC-Lösung für ein Device sieht in der Grundausstattung so aus: 1xPIC16F1459 + USB-Buchse + IC-Sockel + Entstörkondensatoren & co + Pinleiste. Macht zusammen bei Reichelt 2.78€. Nun müsstest du die Bauteile noch irgendwie befestigen (Lochraster, ...) und programmieren (Pickit3, evtl. Pickit2, clones davon, ...). Lötkolben und Draht vorausgesetzt. Da nerven die Versandkosten voll rum. Dafür bekommst du eine standardkonforme USB-Lösung, welche du individuell in jedes einzelne Projekt einpflegen kannst. Alternativ mehrere USBasp Clones. Kosten vielleicht auch 2.78 pro Stück aus China. Dann könntest du auf die Clones für die Bequemlichkeit einen Bootloader brennen. Der PIC ist die Lösung, falls du später mal eine einigermaßen schnelle USB-Anbindung benötigst. Das vusb-Geraffel ist o.k., solange die Aktionen entsprechend langsam sein können, und deine USB-Hubs nicht meckern. p.s. Ardunios habe ich mir noch nicht angeschaut.
Bernd schrieb: > In der Realen Anwendung soll das Modul dann die Steuerung von Motoren > und Endschaltern, Winkelgeber etc. übernehmen. Dafür würde ich keinen "nackten" µC einsetzen. Schutzbeschaltung für die Eingänge, Ausgangstreiber, evtl. Spannungsteiler 24V->5V würde ich noch vorsehen. Dann lohnt das Lochraster-Gebastel nicht mehr, mach es also gleich vernünftig :)
Noch ein Hinweis zu V-USB: V-USB ist komplett ungeeignet, wenn man neben USB asynchron noch etwas zu tun hat, so wie hier die Schrittmotorsteuerung. Denn während USB-Kommunikation sind die Interrupts gesperrt und die CPU 100% beschäftigt. Auch die Fixierung zu Low-Speed-USB macht V-USB zum idealen Kandidaten für Tastaturen, Mäuse, Joysticks, Funkuhr-Empfänger, RGB-LEDs (WS8212 oder Hardware-PWM), Bootloader, Zeitschaltuhren, Thermo- und Hygrometer u.v.a.m., aber eben nicht für Schrittmotoren (wegen Interrupts), USB-Oszilloskope (wegen Datenmenge) und serieller Schnittstellenemulation (Full-Speed erforderlich). Lösungsmöglichkeiten heutzutage (2017): * Ein Pro Micro (mit ATmega32U4, faktisch ein Arduino Leonardo) ist dermaßen preiswert zu haben und kompatibel zu Steckbrettern, dass es sich nicht mehr lohnt, mit einem einzelnen Mikrocontroller anzufangen. Auch nicht bei beabsichtigten Kleinserien mit bis zu 100 Stück. Absolute Anfänger sollten damit anfangen, denn von Seiten Microchip gibt es nichts vergleichbares mit einer dermaßen breiten Community (wo man weiterfragen kann). * Ein PIC16F1459 (kleiner sollte er bei Deinen Anforderungen an I/Os nicht sein, auch wenn ein PIC16F1455 geradeso reichen würde) ist IMHO Quälerei beim Programmieren (für Anfänger) aber auch eine tolle Herausforderung (für Freaks). Denn nur diese Lösung kommt ohne Quarz aus. Wenn's denn läuft sehr gut für Massenproduktion (>10000 Stück). * PIC18F ist genauso aufwändig wie ATmega32U4 (man braucht Quarz und etwas Außenbeschaltung), aber ersteren gibt's auch in Durchsteck. Gut für mittlere Stückzahlen. Hier nimmt man, was einem besser gefällt. Ich bevorzuge Atmel wegen des ausgereiften freien C-Compilers avr-gcc. * Begibt man sich auf die Schiene von 16- oder 32-Bit-Controllern, wird es zwar nicht viel teurer, aber da gibt es keine 5-V-I/O mehr! Entweder man legt gleich alles für 3 V aus, oder man muss sich mit Pegelkonvertern (Levelshiftern) herumärgern. * Dass man Schrittmotoren nicht „nackt“ am Mikrocontroller betreiben sollte ist ein Ammenmärchen. Vor allem wenn sich dieser einfach wechseln lässt (Durchsteck oder Pro Micro). Es kommt auf die Leistung an! Genauer: Die Leistung des stärksten Motors, zu dem der DAU ungeschirmte Signalleitungen parallel legen wird. Zum Motor hin ist das kein Problem, denn hier werden Schrittmotor-Treiberschaltkreise oder MOS-Brücken eingesetzt (bitte keinen L298 mehr verwenden!!). Damit ergibt sich die Trennung zum Leistungsteil automatisch. Wenn man bei Motorleistungen ab, ich sag mal, 10 W, Serienwiderstände (10 kΩ) in die Nähe des Controllers in die Abfrageleitungen für Endschalter einbaut, ist's hinreichend DAU-sicher entkoppelt, dass nichts kaputtgeht. * Will man mehrere Schrittmotoren koordiniert bewegen (nicht nur auf Geraden, sondern Kreise und Splines „malen“), sollte man von vornherein auf 32-bit-Controller tendieren. Einen Einstieg bietet der Arduino Due. Wie oben erwähnt, 3-V-I/O-Spannung als Pferdefuß, mehr nicht.
Henrik Haftmann schrieb: > * Begibt man sich auf die Schiene von 16- oder 32-Bit-Controllern, wird > es zwar nicht viel teurer, aber da gibt es keine 5-V-I/O mehr! Falsch. Die gibts auch noch: NXP LPC17xx existiert und hat 5V tolerante I/Os. Nuvoton hat Cortex-M0 mit weitem Bereich (2.5 bis 5.5V) - aber man braucht für die USB Signalpegel ohnehin meistens eine 3,3V Quelle, die bei Nuvoton aber integriert ist. Die Dinger sind auch schon ein paar Jahre am Markt...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.