Mal wieder: Arduino und Rapsberry als Treiber-Boards - Deutsches Howto

More
15 Mar 2019 18:10 - 15 Mar 2019 18:11 #128676 by wicki

Mike_Eitel wrote: müsstest Du mit grösserem Ringbuffer arbeiten und anhand des Anfang/ End Pointers Dein Memcopy machen. Aber ob das im Raspi möglich ist weiss ich nicht. Beim Arduino würde ich solange die Interupts disablen.


beim arduino stellt sich die frage nicht. da gibts halt nur eine CPU und keine threads.
somit kann auch nichts gleichzeitig bearbeit werden.
(ausserder liegt der gerade wg. nervig in der ecke)

und ansonsten setzte ich erst ein flag auf false, verschiebe die daten und setze es dann
auf true.
u.u. muss ich das dann doppelt buffern...

wird ja noch spannend ;-)

fuer die anzeige sieht das momentan so aus:
(wenn man nicht mit mac-adressen arbeiten will/kann)

linuxcnc-treiber lauscht zusaetzlich auf udp
raspberry meldet sich dort an
und von da an sendet der treiber zusaetzlich alles per udp
(womit es dann auch routebar ist)
Last edit: 15 Mar 2019 18:11 by wicki.

Please Log in or Create an account to join the conversation.

More
15 Mar 2019 22:50 #128693 by Mike_Eitel
Was meinst Du mit doppelt buffern. Du bekommst ein Problem wenn Du einen Datenbereich kopierst und Dir eine höher priorisiert Aktivität dazwischen funkt. In einem Multi-X System sind das normalerweise DMA oder Interrupts. Da es bei Dir um einen Emfangsbuffer geht müsstest Du in dem Treiber was beeinflussen können. Ich hab aber keine Ahnung ob es im rpi Semaphorenhandling gibt...
Ein Trick der Dir hilft, aber halt den Durchsatz verringert, ist das LCNC nach jedem Senden eine Wartezeit einhält die sicherstellt das der RPI seine Daten versorgen konnte...

Please Log in or Create an account to join the conversation.

More
16 Mar 2019 05:19 #128703 by wicki

Mike_Eitel wrote: Was meinst Du mit doppelt buffern. ....
ob es im rpi Semaphorenhandling gibt...


ersters muss ich nochmal durchdenken.
das ist ja keine einbahnstrasse - der treiber soll ja lesen und schreiben koennen.
also brauche ich in jede richtung einen buffer, dessen inhalt immer valide ist und
einen, der fuers senden/empfangen gerbraucht wird.

klar gibts semaphoren. ist ja ein echtes linux.
aber ich glaube nicht, dass ich die brauchen werden. wir sprechen ja von eingen
wenigen bytes. das ist vermutlich haendisch einfacher zu loesen.

Please Log in or Create an account to join the conversation.

More
16 Mar 2019 08:31 #128717 by pl7i92
wäre da ein acknolage flag im Servo tread nicht hilfreich

Please Log in or Create an account to join the conversation.

More
16 Mar 2019 13:31 #128735 by wicki
Der Treiber ist jetzt auch auf UDP erweitert.
D.h.: Man kann nun auch mehrere Anzeigen davon an uterschiedenlichen Standorten
auch ueber Router hinweg betreiben.
Die Matrix-Display koennen in Reihe geschaltet und bleibig verlaengert
werden. Hier ist testweise eine fuenfte Stelle an das 4-stellige Modul
angefrickelt.
Die Schriften koennen natuerlich auch noch aufgehuebscht werden.
Im Video ist zu sehen, dass die Matrix-Anzeige deutlich schneller reagiert
als der Bildschirm:

5-stellige Anzeige - Video
erste.de/ethraw/linuxCNC_mit_raspi_MAX7219.DRO.avi


Dies ist aber noch nicht in den veroeffentlichen Sourcen implementiert.
Ich denke, das kommt naechste Woche - dann sollen auch die nachbestellten Matrix-Displays
ankommen.

Please Log in or Create an account to join the conversation.

More
16 Mar 2019 14:22 #128742 by pl7i92
je 2x4er Displays also gesamt 6 für 3 Achsne sind wünschenswert
das gibt dann 8 stellen
für +- Anzeige und <10m Fahrweg

Please Log in or Create an account to join the conversation.

More
18 Mar 2019 19:11 #128916 by wicki
sagtmal,
taugt das was?
die gibts auch mit 600p/r.


www.amazon.de/Drehcodierer-Drehgeber-Inc...ords=drehwinkelgeber


wenn ich das mal so ueberschlage:
3 umdrehungen/cm bei sind bei 400p/r 1200p.
also 120/mm

damit koennte man doch fuer keines geld ein closed-loop-system draus
machen.
oder?

Please Log in or Create an account to join the conversation.

More
18 Mar 2019 19:52 #128917 by Mike_Eitel
Ich denk das Teil wird funktionieren. Darf wahrscheinlich nicht zu schnell drehen, aber beim Stepper eh kein Thema... Und für den Preis würd ich probieren. Dann kannst Du auch gemütlicher Deine Werte vorgeben. 1Khz reicht da gut.
Mike

Please Log in or Create an account to join the conversation.

More
19 Mar 2019 05:47 - 19 Mar 2019 05:49 #128958 by wicki

Mike_Eitel wrote: Und für den Preis würd ich probieren.


dachte ich mir auch - hab mal einen 400p/r und einen 600p/r bestellt.
(20kHz sollen die ueberigens koennen)
leider lange lieferzeit weil kommt aus chinesien.

aber die matrixen muessten diese woche eintreffen.

bin mal gespannt:
raspi-zero mit wlan und sogar n arduino sollte das handlen koennen.
und ein raspi-zero waere wohl auch die erste wahl fuer ein 4x8-stelliges grossdisplay.
Last edit: 19 Mar 2019 05:49 by wicki.

Please Log in or Create an account to join the conversation.

More
19 Mar 2019 15:07 #128974 by wicki
kackdreck!
wenn ich das mal so sagen darf....
----
Die in Arduino verlinkte Version von printf hat keine Unterstützung für Gleitkommazahlen.
----

da komm mal drauf... wenn der verfickte compiler nicht mal n fehler meldet.

mehr als n kinderspiezeug ist das ding ja wohl echt nicht

Please Log in or Create an account to join the conversation.

Moderators: tommylight
Time to create page: 0.109 seconds
Powered by Kunena Forum