Hallo zusammen,
ich bin auf der Suche nach einem lieferbaren IC, das A/B-Encodersignale
und das Indexsignal in einem Auf-Ab-Zähler zählt, der dann über
irgendein Interface vom Microncontroller ausgelesen werden kann.
Die scheints heutzutage alle nicht mehr wirklich zu geben, wer langsame
Signale hat, macht's in Software, wer's schnell braucht, nimmt einen
STM32.
Hier haben wir so ein Mittelding:
Als Controller ist vorerst der Exot AT90USB1287 gesetzt, weil unser
Programmierer damit schon viel gemacht hat und die Platine mit dem Ding
drauf existiert ja auch schon und soll nur weiterentwickelt werden. Es
wird sehr schwierig sein, die beiden Entwickler von der Notwendigkeit zu
überzeugen, auf einen STM32 umzuschwenken.
Der auszuwertende Drehgeber hat 1400 counts pro Umdrehung und arbeitet
mit einem AEDR8712, von dem ich gerade nicht weiß, inwieweit dort die
interne Taktvervielfachung von 2, 4, 8 oder 16 eingeschaltet ist. Für
das Berechnen der maximalen Frequenz sind also momentan so viele
Irrtumsquellen drin, daß ich lieber den Takt mit einem Oszi messen werde
und das Ergebnis nachliefere.
Dem Programmierer ist das Aulesen per Interrupt oder Polling jedenfalls
unsympathisch (mir gefühlsmäßig auch).
Nun also ein externes IC.
Wir haben sogar noch einige HCTL-2032 (2-Kanal, unnötig) hier, die sind
aber vom Footprint etwas groß. Seine kleineren (1-Kanal) Brüder sind
genausowenig lieferbar.
Auch der LS7366 taucht beim Googeln auf, aber scheint auch nicht mehr
lieferbar zu sein.
Habt Ihr noch Ideen?
fragt und grüßt
der Tom.
Falk B. schrieb:> Sowas kann man in einem kleinen Mikrocontroller nachbauen, der dann per> UART oder I2C die Daten zur Verfügung stellt.
Dafür sind z.B. die dsPIC-Mikrocontroller sehr gut geeignet, da sie
einen Quadratur-Decoder in Hardware besitzen. Damit habe ich schon
mehrfach Projekte mit Drehgebern realisiert. Die dsPICs gibt's in
verschiendenen Gehäuseformaten und Pincounts, sogar bastlerfreundlich in
DIP. Einige PIC24EP-Typen haben dieses Feature auch, kann man hier
leicht herausfiltern:
https://www.microchip.com/maps/Microcontroller.aspx
Falk B. schrieb:> Sowas kann man in einem kleinen Mikrocontroller nachbauen, der dann per> UART oder I2C die Daten zur Verfügung stellt.
Das kommt wohl auf die (noch unbekannte) maximale Drehzahl an.
> Das kommt wohl auf die (noch unbekannte) maximale Drehzahl an.
Das wuerde ich auch so sagen. So macht es keinen Sinn ueber sowas
nachzudenken.
> Dafür sind z.B. die dsPIC-Mikrocontroller sehr gut geeignet, da sie> einen Quadratur-Decoder in Hardware besitzen.
Es duerfte kaum eine MCU Familie geben wo es sowas nicht gibt.
Olaf
Einen kleinen ATXmega für den Encoder verwenden und per SPI mit dem
Atmega verbinden.
Oder gleich auf ATXmega umschwenken. Habe ich gemacht und möchte
eigentlich keinen Atmega mehr verwenden.
So, ein paar Salamischeiben bin ich ja noch schuldig...
Hab ein Oszi aufgetrieben.
Frequenz an einem der beiden Encoder-Ausgänge A oder B: max. 300Hz.
Hertz, nicht kHz!
Lächerlich niedrig.
Das soll der Programmierer mal schön in Software machen.
Das kann ich ihm als proof-of-concept sogar in Arduino vorlegen.
Die interne Interpolation des AEDR8712 ist auf 8fach gestellt.
Die Frequenz könnte sich also noch höchstens verdoppeln, immer noch
lächerlich niedrig.
Tut mir leid, daß ich die Frage nach dem externen IC überhaupt gestellt
habe.
Viele Grüße
Tom.
TomH schrieb:> Frequenz an einem der beiden Encoder-Ausgänge A oder B: max. 300Hz.
Das macht dann 1,2kHz je Phasenwechsel. Sollte mit Pin-Change Interrupt
zu schaffen sein.
Peter D. schrieb:> Das macht dann 1,2kHz je Phasenwechsel. Sollte mit Pin-Change Interrupt> zu schaffen sein.
NEIN! NICHT SCHON WIEDER!
Auch DU Brutus? (Ähh Peter)
Siehe Drehgeber
TomH schrieb:> So, ein paar Salamischeiben bin ich ja noch schuldig...>> Hab ein Oszi aufgetrieben.> Frequenz an einem der beiden Encoder-Ausgänge A oder B: max. 300Hz.> Hertz, nicht kHz!> Lächerlich niedrig.
Was hängt denn an dem Drehgeber dran? Wenn der 1400 Pulse/U bei 300Hz
macht, sind das ~0,25U/s. Klingt nach einem Stellantrieb.
TomH schrieb:> wer's schnell braucht, nimmt einen> STM32.
Aber nur dann, wenn er Scheuklappen trägt und sich nicht dafür
interessiert, daß die Chips von anderen Herstellern ebenfalls sowas
gelegentlich eingebaut haben.
W.S.
TomH schrieb:> das A/B-Encodersignale> und das Indexsignal in einem Auf-Ab-Zähler zählt
Das kommt sehr auf den Verwendungszweck an, es gibt im Wesentlichen 2
Sorten:
1. Eingabelement als Potentiometer-Ersatz - niedrige Auflösung,
Zähl-Frequenz im kHz-Bereich, Zuverlässigkeit ziemlich egal
2. Positionserfassung für NC/CNC-Maschinen - hohe Auflösung, Frequenz
bis MHz, Schrittverluste dürfen nicht passieren
Mit hier empfohlenen Zählern für max 25 kHz kann man keine
Bearbeitungsmaschine betreiben. Für manuelle Eingaben sind andrerseits
1400 Schritte stark übertrieben. Es ist also nicht klar was der TO will
und braucht.
Georg
Georg schrieb:> Mit hier empfohlenen Zählern für max 25 kHz kann man keine> Bearbeitungsmaschine betreiben. ...
Es sind max. 300 Hz (dreihundert Hertz).
Nix mit "... bis MHz" - kannst dich wieder hinlegen ;-)
Ich will die Diskussion nicht verlängern oder erst richtig lostreten -
andererseits möchte ich die fehlenden Salamischeiben nicht schuldig
bleiben und beschreibe die Anwendung.
Es ist keine Privat-Bastelei, sondern ein Neben-Produkt in unserer
Firma. Die Firma ist sehr klein, das Entwicklungsteam auch: Einer, der
die Elektronik designt, einer, der programmiert, und ich, der die
Mechanik designt und das Gesamtkonzept verbrochen hat. Das Produkt hat
auch schon Entwicklungsstufen hinter sich, und es müssen Aufträge in
gewissem Zeitrahmen erfüllt werden. Vorschläge wie "laß es bleiben" oder
"fang das doch ganz anders an" werde ich nicht umsetzen können.
Es handelt sich um einen Stellantrieb.
Eine Art "Zeiger" mit einer 3mm-Scheibe vorndran bewegt sich knapp über
der lichtempfindlichen Fläche von 64x64mm einer Kamera an einem
Elektronenmikroskop. Die Scheibe fängt den Nullstrahl bei
Beugungsaufnahmen. Sie soll aus dem Bild gefahren werden können, aber
auch wiederholgenau in die Bildmitte zurückgefahren werden können. Wie
wiederholgenau? Naja, so 0,1mm...
Der Zeiger ist ca. 60mm lang, seine Achse muß deutlich außerhalb des
Bildes sein, und nach einer ca.45°-Drehung dürfen weder Scheibe noch
Zeiger das Bild stören. Das diktieren die Platzverhältnisse.
Die momentane Lösung:
Ein Schneckenantrieb, dessen Lagerspiel überall durch Federdruck
rausgenommen ist. Wirklich am Endabtrieb, auf dem Schneckenrad, sitzt
die Encoderscheibe mit 1400CPR, und wird von der AEDR8712 abgetastet.
Dieser Endantrieb bewegt sich mit geschätzten 2-3 Sekunden für die
Vierteldrehung. Wie gesagt, max. Frequenz eines Encoder-Kanals 300Hz.
Wie schon von jemand anders bemerkt, das sind 1,2kHz, mit denen
Phasenwechsel zu verarbeiten sind.
Nun noch einige Erkenntnisse aus den Diskussionen hier in der Firma:
- Der Programmierer, jetzt nochmal auf die Software-Lösung angesprochen,
verwehrt sich heftig dagegen. Das hätte er in der Vergangenheit schon
probiert, und es kam nur Sch...e dabei raus. Der Controller hat auch mit
der USB-Kommunikation einiges zu tun. Ich weiß jetzt natürlich nicht, ob
Interrupt oder Polling oder irgendwas...
- Der weiter oben erwähnte IC LS7366 scheint doch lieferbar zu sein. Der
Preis von gut 5€ schockt uns nicht.
- Ich hab natürlich doch gleich mal mit dem Arduino rumgestöpselt. Aber
so trivial ist es nicht. Hatte sofort mit Schrittverlust zu kämpfen.
Aber da kann ich noch ein bißchen weiterspielen, und eigentlich möchte
ich niemanden die x-te Diskussion um die Programmierprinzipien für
Drehgeber-Auswertung zumuten...
So, morgen hab ich erstmal Urlaub und bin zuhause auch mit dem
Geburtstag meiner kleinen Tochter beschäftigt. Werde also wohl den
ganzen Tag hier nicht reinschauen und antworten.
Also bis übermorgen!
Tom.
TomH schrieb:> Hatte sofort mit Schrittverlust zu kämpfen
Das kann bei 300 Hz einfach nicht sein. Ein Timer, der die Eingänge alle
ms oder etwas weniger abfragt muss absolut zuverlässig zählen.
TomH schrieb:> Das hätte er in der Vergangenheit schon> probiert, und es kam nur Sch...e dabei raus
Das sehe ich als Problem eurer Firma, nicht als technische
Undurchführbarkeit. Aber was richtig ist: wenn ihr etwas einfach nicht
beherrscht solltet ihr tatsächlich die Finger davon lassen, da gibt es
mit einem externen Zähler-IC weniger Fehlermöglichkeiten, das kann man
ja höchstens falsch auslesen, Verzählen passiert nicht. Ich habe solche
ICs angefangen beim 74LS2000 bei hundert mal höheren Frequenzen für
Messmaschinen in der Autoindustrie eingesetzt und die haben den ganzen
Arbeitstag lang korrekt gezählt.
Georg
> Das soll der Programmierer mal schön in Software machen.
DAs wuerde ich ja wohl auch so sehen. Ich hab im Mega8 mal eine
komplette
Achsensteuerung (Geschwindigkeit, Position, Rampen) eines Motors
gemacht. TimerIRQ fuer die Abstastung lief mit 40khz.
Wobei mir deine 300Hz etwas niedrig vorkommen. Wenn das die Frequenz
eines A oder B Kanals ist dann brauchst du 1.2khz im Timer. Also alles
vollkommen lachhaft.
Kacke an den AVRs in dem Zusammenhang ist aber das man keine
Interruptprioritaeten vergeben kann. Da muss man sich dann je nach dem
was da sonst noch drin laeuft schonmal einen abbrechen.
Olaf
Ich rate entweder uC mit Quadratur Peripherie (STM32, DSPIC, etz.) zu
verwenden oder die LS7166 Zähler o.ä. Den STM32 Quadraturmodus
verwendeten wir früher einmal in der Firma und das funktionierte wie
gewünscht. Die LS7x66 funktionierten in früheren Projekten auch sehr
gut. Mit einem LS7183/4 als Frontend kann man übrigens einen normalen
Timerzähler mit U/D Steuerung fabrizieren um Quadraturzählen mit uC
Timern ohne QE zu emulieren. Der LS7183 übernimmt die Filterung und
Dekodierung und erzeugt je nach Modell U/D und den Takt. Damit lässt
sich auch allerhand anstellen.
TomH schrieb:> rausgenommen ist. Wirklich am Endabtrieb, auf dem Schneckenrad, sitzt> - Der Programmierer, jetzt nochmal auf die Software-Lösung angesprochen,> verwehrt sich heftig dagegen. Das hätte er in der Vergangenheit schon> probiert, und es kam nur Sch...e dabei raus.
Jaja, die Softwerker. Immer am Jammern, geht alles nicht, CPU
viiiiiieell zu langsam, vieeeeelll zu wenig RAM.
> Der Controller hat auch mit> der USB-Kommunikation einiges zu tun. Ich weiß jetzt natürlich nicht, ob> Interrupt oder Polling oder irgendwas...
Mag sein, aber für die solide Auswertung dieses Encoders braucht man
hier einen Timer-Interrupt mit ca. 3-5kHz. Der sollte durch die
USB-Kommunikation nicht ausgebremst werden, geringfügiger Jitter ist
sicher OK.
Dann läuft das. Mit minimalem Aufwand kann man auch Interruptprioritäten
per Software nachbilden.
> - Der weiter oben erwähnte IC LS7366 scheint doch lieferbar zu sein. Der> Preis von gut 5€ schockt uns nicht.
Dann nimm ihn.
> - Ich hab natürlich doch gleich mal mit dem Arduino rumgestöpselt. Aber> so trivial ist es nicht. Hatte sofort mit Schrittverlust zu kämpfen.
Dann machst auch du grundlegend was falsch. Möglicherweise sogar schon
auf der Hardwareebene.
> Aber da kann ich noch ein bißchen weiterspielen,
Wenn ich das Wort "weiterspielen" höre, werde ich allergisch. Das klingt
genau danach, was es beschreibt. Planloses Rumspielen ohne Know How.
TomH schrieb:> Hatte sofort mit Schrittverlust zu kämpfen.
Ich vermute mal der Schrittverlust kommt durch Polling in der Mainloop.
Das geht natürlich nicht. Da der Chip ja schon prellfreie Signale
liefert, ist der Pin-Change Interrupt die beste Lösung.
Schrittverlust bekommt man auch, wenn andere Interrupts den Pin-Change
Interrupt solange blockieren, bis schon der nächste Phasenwechsel
erfolgt.
Falls es der USB-Interrupt ist, der nicht aus die Puschen kommt, kann
man ihn ja bei Eintritt disablen und mit sei() die eiligen Interrupts
wieder freigeben.
Falk B. schrieb:> Jaja, die Softwerker. Immer am Jammern, geht alles nicht, CPU> viiiiiieell zu langsam, vieeeeelll zu wenig RAM.
Ja, das kenne ich auch nur zu gut. Es ist vollkommen egal, ob Du Takt
und RAM verdoppelst, es bleibt immer zu wenig.
Ich kann da oft nur mit dem Kopf schütteln, mit welch gewaltigen
Ressourcen auf simpelste Steuerungsabläufe geschossen wird.
TomH schrieb:> Frequenz an einem der beiden Encoder-Ausgänge A oder B: max. 300Hz.
Das ist ja schnarchlangsam. Das kann man ja fast von Hand
mitschreiben...
TomH schrieb:> Dem Programmierer ist das Aulesen per Interrupt oder Polling jedenfalls> unsympathisch (mir gefühlsmäßig auch).
1. es gibt auch schlechte Programmierer (der von meinem DVD-Player ist
auch so einer) und
2. in der Technik sollte man sich nicht auf Gefühle verlassen (auf jeden
Fall nicht, so lange die nicht vollständig und belastbar ausgeprägt
sind)
TomH schrieb:> - Der Programmierer, jetzt nochmal auf die Software-Lösung angesprochen,> verwehrt sich heftig dagegen. Das hätte er in der Vergangenheit schon> probiert, und es kam nur Sch...e dabei raus.
Da muss man nichts "probieren". Das kann man analysieren und
sicherstellen.
> Der Controller hat auch mit der USB-Kommunikation einiges zu tun.
Ja, Ausrede eben.
> Ich weiß jetzt natürlich nicht, ob Interrupt oder Polling oder> irgendwas...
Ich bin auch nur deshalb zu spät gekommen, weil ich den Bus verpasst
habe, weil die Großmutter meiner Nachbarin ihre Katze im dunklen Keller
ohne Licht... Verdammt, Faden verloren... Ausrede eben.
> - Der weiter oben erwähnte IC LS7366 scheint doch lieferbar zu sein.
Die haben da echt eine Nische gefunden:
https://lsicsi.com/products/Counters/LS7366R-S_LS7366R-TS_LS7366R> Der Preis von gut 5€ schockt uns nicht.
Ihr sitzt da wohl auf einer Insel der Glückseligen.
TomH schrieb:> Nun also ein externes IC.
Sieh dir den Beitrag "Re: Auswertung mehrerer Drehencoder" auch
mal an.
TomH schrieb:> - Der Programmierer, jetzt nochmal auf die Software-Lösung angesprochen,> verwehrt sich heftig dagegen. Das hätte er in der Vergangenheit schon> probiert, und es kam nur Sch...e dabei raus.
Dann handelt es sich wohl um einen Sch...-Programmierer. Vielleicht
sollte der mal bei Drehgeber (siehe Link) nachlesen. Bei der von
Dir geforderten hohen Präzision sollte auf jeden Fall eine Zustands-
auswertung und keine Interruptauswertung gemacht werden. Inter-
ruptauswertung ist höchstens bei handbetätigten Drehgebern sinnvoll.
Harald W. schrieb:> Bei der von> Dir geforderten hohen Präzision sollte auf jeden Fall eine Zustands-> auswertung und keine Interruptauswertung gemacht werden
Da kommt man sich hier im Forum vor wie ein Prediger in der Wüste, der
die Felswände überzeugen will. Forum für alternative Elektronik eben,
natürlich auch LEDs ohne Vorwiderstand, Busse ohne GND usw. usw.
Georg
Harald W. schrieb:> Dir geforderten hohen Präzision sollte auf jeden Fall eine Zustands-> auswertung und keine Interruptauswertung gemacht werden.
Der Pin-Change Interrupt erkennt nur, daß ein Phasenwechsel auf einer
der beiden Leitungen erfolgte. Die Auswertung muß natürlich der
Interrupthandler machen (z.B. Graycode zu binär).
TomH schrieb:> ich bin auf der Suche nach einem lieferbaren IC, das A/B-Encodersignale> und das Indexsignal in einem Auf-Ab-Zähler zählt, der dann über> irgendein Interface vom Microncontroller ausgelesen werden kann.
Das könnte z.B. so aussehen. Ungefähr wie Mode x1 von LS7084N. Dafür
braucht man nicht unbedingt besondere IC. 74HC132 paßt auch. Will man
x2-Mode, kann man das mit zwei 4093 oder HC132 machen. Auch 4x-Mode ist
so möglich.
Peter D. schrieb:> Der Pin-Change Interrupt erkennt nur, daß ein Phasenwechsel auf einer> der beiden Leitungen erfolgte
Der erkennt genauso, wenn das Signal an der Taktflanke "prellt" oder der
Encoder am Übergang rumeiert.
Axel G. schrieb:> Um mal auf die Anfangsfrage zurück zu kommen. Git es schon:>> https://www.ichaus.de/product/iC-MD
Der Link ist ein schönes Beispiel dafür, die Anforderungen des TO
überhaupt nicht beachtet oder verstanden zu haben. Warum soll er denn
LVDS oder 40 MHz bezahlen, mit welchen Lieferzeiten, zu welchem Preis?
Sofern es der hausinterne Programmierer nicht in Software gebacken
bekommt, reicht doch ein kleiner 8-pol. µC (ATtiny, s.o.), um eine
externe Zählerlösung zu erhalten. Kosten < 1 Euro, Aufwand für
Platinenlayout minimal.
Ich will mal nochmal abrunden und versuchen, die Gemüter zu beruhigen.
Wird nicht gelingen, es gibt immer welche, die sich streiten wollen.
1. Externer IC
Danke für die Vorschläge.
Wir werden zunächst versuchen, den LS7366 in SSOP zu bekommen. Der hat
handliche 14 Beine. Selbst wenn wir nur auf abenteuerlichen Wegen
einmalig ca. 20 Stück davon beschaffen können, das beschriebene Produkt
ist ein absolutes Nischen-Ding, das reicht uns.
Die beiden anderen Vorschläge sind deutlich komplexer, man kann sagen
Overkill. Selbst wenn das Argument "teuer" bei uns nicht so schlimm
wäre...
Kleine Anekdote am Rande:
Das Vorgängerprodukt arbeitete mit dem Avago HCTL-2032. Weil der vor
Jahren auch schon schwierig zu beschaffen war, wurde panisch ein Vorrat
beschafft. Leider irrtümlich in DIL-40 statt in SSOP... davon haben wir
jetzt ca. 40 Stück herumliegen... können wir irgendwann handverlesen auf
ebay vergolden...
2. Programmierer
Hört auf, auf dem herumzuhacken. Der Umgang mit ihm ist ganz normaler
Umgang mit Kollegen. Ich muß ihm ja die Aufgabenstellung nahebringen, er
macht sich seinen Reim drauf. Der macht sein Zeug super, und ich kann
nicht beurteilen, ob er mit den negativen Erfahrungen mit
Polling/Interrupt in seinem Gesamt-Setting recht hat oder einem Irtum
aufgesessen ist.
Nur wenn man alles selber macht, hat man die Schnittstelle zwischen den
Kollegen nicht, aber man ist trotzdem nicht gegen Holzwege und Irrtümer
gefeit.
3. Arduino-Spielerei
Bitte keine Pickel bekommen, es ist ja nur eine "Demo", die ich da für
den Programmierer zusammenstöpsle.
Übrigens funktioniert es mittlerweile ziemlich gut.
Problematisch ist bei mir sicher die Rückmeldung der Position über die
serielle Schnittstelle. Vor allem bei Erreichen des Index-Signals wurde
zunächst ständig das Wort "Index" rausgerattert, in der vollen Frequenz
der Main Loop. Das hat alles gestaut und durcheinandergebracht. Seit ich
nur noch ein bescheidenes "I" neben der gelegentlichen Positionsmeldung
anzeige, ist es ziemlich fehlerfrei geworden.
Das Konstrukt ist ungefähr so:
1
voidloop()
2
{
3
staticintencoderTimeout;
4
5
Position_alt=Position;
6
Position=Position+encoderImpuls();
7
8
if(Position==Position_alt)encoderTimeout++;
9
10
if(encoderTimeout>1000)
11
{
12
encoderTimeout=0;
13
Serial.print(Position);
14
if(digitalRead(ENC_I)==HIGH)Serial.print(" I");
15
Serial.println();
16
}
17
18
MotorSteuern(JoystickLesen());
19
}
20
21
intencoderImpuls()
22
{
23
staticbytestate=0;
24
state=state<<2;// Bits um zwei Stellen nach links schieben
25
if(digitalRead(ENC_A))bitSet(state,1);// Eingang A abfragen und Bit1 setzen
26
if(digitalRead(ENC_B))bitSet(state,0);// Eingang B abfragen und Bit0 setzen
27
state=state&0xF;// Nur die unteren 4 Bits behalten
28
switch(state)
29
{
30
case0b0000:
31
case0b0101:
32
case0b1010:
33
case0b1111:return0;// keine Änderung an den Eingängen
34
case0b0001:
35
case0b0111:
36
case0b1110:
37
case0b1000:return1;// links Impuls an den Eingängen
38
case0b0010:
39
case0b1011:
40
case0b1101:
41
case0b0100:return-1;// rechts Impuls an den Eingängen
42
}
43
}
Die Sache mit dem Timeout ist natürlich unsauber (und eigentlich eher
für das Auswerten von handbetätigten Drehgebern gedacht). Es wird immer
irgendeinen Moment geben, in dem die Taktsignale langsam genug kommen,
um die serielle Ausgabe zuzulassen, und dennoch so schnell, daß während
der seriellen Ausgabe was verschluckt wird. Aber tatsächlich
funktioniert es so schon ganz gut.
> Das Vorgängerprodukt arbeitete mit dem Avago HCTL-2032. Weil der vor> Jahren auch schon schwierig zu beschaffen war, wurde panisch ein Vorrat> beschafft.
Hm..ich hab noch eine Handvoll HCTL-2000. Bin ich jetzt reich? :-)
Olaf
TomH schrieb:> Die beiden anderen Vorschläge sind deutlich komplexer, man kann sagen> Overkill.
Was ist denn an einem ATtiny25 oder 202 komplex oder Overkill? Das
Programm dafür muß nur aufgespielt werden. AVR wird bei euch ja schon
verwendet.
TomH schrieb:> Selbst wenn wir nur auf abenteuerlichen Wegen> einmalig ca. 20 Stück davon beschaffen können,
Kurz gesucht. ATtiny25/45/85 gibt es bei Reichelt; ATtiny212 zum
Beispiel bei Farnell 835 Stk. ab Lager < 50 ct.
Neueste Erkenntnis:
LS7366 ist tatsächlich nur auf extrem abenteuerlichen Wegen beschaffbar.
Eigentlich gar nicht.
Ein Punkt mehr für die Software-Lösung.
Oder meinetwegen, wenns gar nicht anders geht, ja, einen ATtiny.
Falk B. schrieb:> Entwicklungskosten 99,9% der Gesamtkosten.
Du tust so, als ob man da irgendetwas neu erfinden müsste.
Auch bei einem Chip, der von sich aus zählen kann, muss Layout und
Softwareanbindung umgesetzt werden.
Selbst wenn man einen µC nimmt, der einen Encoder-Eingang in Hardware
hat, muss der Programmiert werden. Und zwar so, dass der eine brauchbare
Schnittstelle für den bereits verbauten Mastercontroller bekommt. Das
ist kein Hexenwerk, aber für den o.g. Programmierer scheinbar zu
schwierig. Der ganze Overhead, der da drann hängt (Doku,
Produktionsprozess,...), ist auch nicht zu unterschätzen.
@Tom: Wenn ihr das nicht hinbekommen solltet, melde dich gerne per Mail
bei mir. Vielleicht kann ich euch da dann weiterhelfen.
Mit freundlichen Grüßen
Thorsten Ostermann
Wir nutzen einen der LSICSI ICs (SPI interface) in einem Serienprodukt
mit Linux, bisher keine Probleme, weder Funktion noch Beschaffbarkeit..
Aber wir kaufen auch direkt ganze Rollen..
Und für uns war es besser als eine Softwarelösung da die Softwarepflege
+ Programmierung + Softwareentwicklungskosten entfallen sind..
Reicht wenn wir das Linux pflegen müssen..
TomH schrieb:> Ein Punkt mehr für die Software-Lösung.> Oder meinetwegen, wenns gar nicht anders geht, ja, einen ATtiny.
Als ob man den nicht programmieren müsste. Wer das mit einem AT90 nicht
hinkriegt, schafft das auch nicht mit einem ATtiny - eher noch weniger.
Und Geld ist wohl auch nicht dafür verfügbar.
Georg
Georg schrieb:> Als ob man den nicht programmieren müsste.
SPI-Prommer für AVRs gibt es doch wie Sand am Meer und ist wohl schon
längst vorhanden.
Die paar Byte sind doch in 2 s im Chip.
Sprachlos schrieb:> SPI-Prommer für AVRs gibt es doch wie Sand am Meer und ist wohl schon> längst vorhanden.> Die paar Byte sind doch in 2 s im Chip.
Er meinte mit "programmieren" wohl eher die Erstellung und den Test des
Programms, nicht das Brennen der Firmware.