Sari la conținut
ELFORUM - Forumul electronistilor

proiect interesant (zic eu) cu microcontroler


Vizitator townkat

Postări Recomandate

1. Daca intradevar se doreste ceva serios in privinta acestui proiect, cred ca ar trebui luat in calcul si analizat mai serios problema verificarii pozitiei motorului. Din cate solutii industriale am vazut una mi s-a parut foarte interesanta si anume cea care foloseste un montaj numit REZOLVER in loc de ENCODOR si in care montajul electronic converteste pozitia data de REZOLVER in semnale specifice ENCODOR-ului pentru ca, calculatorul stie sa calculeze pozitia numai data de ENCODOR. Nu vreau sa fac analiza aici intre cele doua sisteme dar cred ca se pot emite pareri fata de acest lucru. Precizez ca REZOLVER-ul pe care l-am analizat avea o eroare de 8 minute, nu stiu daca cu ENCODERUL se poate optine o asemenea precizie.2. Pentru BUS-ul de comunicatie ar fi interesant de analizat si modulul CAN al microcontroalelor PIC, care cred ca ofera destula imunitate avand in vedere specificatiile integratului de interfatare MCP2551.3. Am vazut o analiza foate pertinenta a unui proiect si sper ca nu s-a descurajat nimeni in realizarea acestor lucruri.Cu stima,

Link spre comentariu
  • Răspunsuri 51
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • vsurducan

    17

  • puiu

    14

  • Abram Burel

    4

  • Blind

    1

Top autori în acest subiect

Ce ziceţi dacă le descompunem pe bucăţele? Ar fi mai simplu de urmărit şi... dezvoltat.Eu aş propune aşa (luat de... sus în jos):A - arhitectură şi implicaţii (inclusiv tip de bus şi protocol utilizatB - comunicaţie: SW şi HW - şi cu asta terminăm cu PC-ulC - control: controller-ul slave şi cerinţe "soft" pentru feedbackD - acţionare şi... reacţionare, adică inclusiv traductorul de feedback

Link spre comentariu

1.Nu sunt impotriva unei analize pe bucatele, dar cred ca nu eu sunt cel care decid, ci cel care a ridicat problema topicului. Sa asteptam decizia lui. 2.Oricum problema analizata este foarte vasta si cred ca sunt mai multe solutii in functie de ce se doreste concret.3.Interesanta discutia despre BUS-uri, dar pun o intrebare: Pe busul tip CAN (Controller Area Network implementat in unele PIC-uri) care are la baza un protocol serial se poate vorbi de comunicatia intre numai doua echipamente, cand de fapt filozofia lui permite ca sa comunici un mesaj la toate echipamentele conectate?. Eu zic ca nu si cred ca sunt multe confuzii legate de aceste aspecte.Cu stima,

Link spre comentariu

Păi sunt mai multe faze într-o comunicaţie. Ce spui tu e legat de stabilirea ei, iar dacă nu punem problema securităţii informaţiei (se presupune că întregul CAN-bus este sub controlul nostru, deci nu poate fi "ascultat" de intruşi), atunci e irelevant că la stabilirea comunicaţiei participă mai mulţi. După, rămâne doar masterul şi slave-ul "selectat".Est ca într-un bar în care barmanul strigă la un moment dat: "Băi, care ai CNP-ul 1620102XXXXXX, ia fă-te încoace!" Cum tipul are 1,95 m şi 120 Kg, toţi se scotocesc la buletine şi, dacă e vreunul ce corespunde "descrierii", cu siguranţă că se va duce la... vorbitor.Şi chiar dacă mai trag unii cu urechea, tot n-au nici o şansă :)Şi de aici începe comunicaţia :d

Link spre comentariu

1.Plastica descrierea; dar in busul CAN poti sa-ti raspunda toti asculatatori, deoarece protocolul este axat pe tipul de mesaj transmis si nu pe perifericul fizic. Deci s-ar putea sa fie mai multi care sa corespunda descrierii in bar si sa raspunda toti.2.Nu vreau sa monopolizez discutia cu magistrala CAN, mai ales ca eu am adus in discutie aceasta magistrala pentru problema de securitate fata de perturbatia electromagnetica.Cu stima,

Link spre comentariu
Vizitator townkat

Din cate am inteles avantajul principal al RS485 este faptul ca functioneaza cu semnale opuse (faza antifaza sau balansat cum se numeste in domeniul audio). Acest procedeu este de nebatut cand vine vorba de perturbatii electromagnetice, mai ales in mediul industrial (nu cunosc daca si CAN lucreaza similar). Asta nu inseamna ca sunt impotriva CAN, important este sa functioneze.

 

Daca intradevar se doreste ceva serios in privinta acestui proiect, cred ca ar trebui luat in calcul si analizat mai serios problema verificarii pozitiei motorului. Din cate solutii industriale am vazut una mi s-a parut foarte interesanta si anume cea care foloseste un montaj numit REZOLVER in loc de ENCODOR si in care montajul electronic converteste pozitia data de REZOLVER in semnale specifice ENCODOR-ului pentru ca, calculatorul stie sa calculeze pozitia numai data de ENCODOR. Nu vreau sa fac analiza aici intre cele doua sisteme dar cred ca se pot emite pareri fata de acest lucru. Precizez ca REZOLVER-ul pe care l-am analizat avea o eroare de 8 minute, nu stiu daca cu ENCODERUL se poate optine o asemenea precizie.

binenteles ca imi doresc sa fie cat mai precis, insa eu sunt cam novice in domeniu si incerc sa pastrez lucrurile cat mai simplu posibil, deasta sugerasem montajul cu emitator receptor optic, pentru ca il intelegeam. Deci, daca nu se complica prea mult lucrurile e ok :smt003

 

3. Am vazut o analiza foate pertinenta a unui proiect si sper ca nu s-a descurajat nimeni in realizarea acestor lucruri.

nu inteleg

 

Ce ziceţi dacă le descompunem pe bucăţele? Ar fi mai simplu de urmărit şi... dezvoltat.

in mod sigur asa trebuie procedat.

 

1.Nu sunt impotriva unei analize pe bucatele, dar cred ca nu eu sunt cel care decid, ci cel care a ridicat problema topicului. Sa asteptam decizia lui.

2.Oricum problema analizata este foarte vasta si cred ca sunt mai multe solutii in functie de ce se doreste concret.

eu consider ca imaginea atasata in primul post explica exact ceea ce vreau, cu mentiunea ca motorul si etajul de amplificare pentru motor nu fac parte propriu zis din modul, insa am atasat acum si o versiune imbunatatita. :smt003

 

întregul CAN-bus este sub controlul nostru

binenteles, chiar nu cred ca se pune problema cryptarii informatiei, insa trebuie tinut cont ca aceasta sa ajunga fara erori la destinatie (asta se numeste securitate nu?)

 

multumesc tuturor pentru ajutor

 

edit: iete si un pic care stie sa raspunda cand e strigat pe CNP :)

http://www.maxim-ic.com/appnotes.cfm/ap ... umber/1063

da' nu stiu daca max-urile alea nu cumva sunt scumpe sau nu se gasesc.

Link spre comentariu

Ce ziceţi dacă le descompunem pe bucăţele? Ar fi mai simplu de urmărit şi... dezvoltat.Eu aş propune aşa (luat de... sus în jos):A - arhitectură şi implicaţii (inclusiv tip de bus şi protocol utilizatB - comunicaţie: SW şi HW - şi cu asta terminăm cu PC-ulC - control: controller-ul slave şi cerinţe "soft" pentru feedbackD - acţionare şi... reacţionare, adică inclusiv traductorul de feedback

Este foarte corect.
Link spre comentariu
Din cate am inteles avantajul principal al RS485 este faptul ca functioneaza cu semnale opuse (faza antifaza sau balansat cum se numeste in domeniul audio). Acest procedeu este de nebatut cand vine vorba de perturbatii electromagnetice, mai ales in mediul industrial (nu cunosc daca si CAN lucreaza similar). Asta nu inseamna ca sunt impotriva CAN, important este sa functioneze..

 

Pai cine stabileste tipul de bus, nu designerul adica dvs ? In functie de aplicatie, e industriala, e auto, e divertisment homebrew ? Cunoasteti sau vi se pare mai simplu RS485 fata de CAN ? Doriti distante de peste un km ? Mediul de functionare e zgomotos? Astea sunt datele initiale care definesc tipul de bus.

 

Daca intradevar se doreste ceva serios in privinta acestui proiect, cred ca ar trebui luat in calcul si analizat mai serios problema verificarii pozitiei motorului. Din cate solutii industriale am vazut una mi s-a parut foarte interesanta si anume cea care foloseste un montaj numit REZOLVER in loc de ENCODOR si in care montajul electronic converteste pozitia data de REZOLVER in semnale specifice ENCODOR-ului pentru ca, calculatorul stie sa calculeze pozitia numai data de ENCODOR. Nu vreau sa fac analiza aici intre cele doua sisteme dar cred ca se pot emite pareri fata de acest lucru. Precizez ca REZOLVER-ul pe care l-am analizat avea o eroare de 8 minute, nu stiu daca cu ENCODERUL se poate optine o asemenea precizie.

 

binenteles ca imi doresc sa fie cat mai precis, insa eu sunt cam novice in domeniu si incerc sa pastrez lucrurile cat mai simplu posibil, deasta sugerasem montajul cu emitator receptor optic, pentru ca il intelegeam.

 

Din nou nu avem date de intrare: cat trebuie sa fie precizia de reglaj, detalii privind mecanica utilizata, cat este turatia minim-maxim a motorului in rot/min, ce tip de motor intentionati sa utilizati

 

Deci, daca nu se complica prea mult lucrurile e ok :smt003

 

Lucrurile sunt deja complicate daca nu se lamuresc de la bun inceput.

 

3. Am vazut o analiza foate pertinenta a unui proiect si sper ca nu s-a descurajat nimeni in realizarea acestor lucruri.

nu inteleg

 

Ce ziceţi dacă le descompunem pe bucăţele? Ar fi mai simplu de urmărit şi... dezvoltat.

in mod sigur asa trebuie procedat.

 

1.Nu sunt impotriva unei analize pe bucatele, dar cred ca nu eu sunt cel care decid, ci cel care a ridicat problema topicului. Sa asteptam decizia lui.

 

2.Oricum problema analizata este foarte vasta si cred ca sunt mai multe solutii in functie de ce se doreste concret.

eu consider ca imaginea atasata in primul post explica exact ceea ce vreau, cu mentiunea ca motorul si etajul de amplificare pentru motor nu fac parte propriu zis din modul, insa am atasat acum si o versiune imbunatatita. :smt003

 

întregul CAN-bus este sub controlul nostru

binenteles, chiar nu cred ca se pune problema cryptarii informatiei, insa trebuie tinut cont ca aceasta sa ajunga fara erori la destinatie (asta se numeste securitate nu?)

 

Nu cred ca e vorba de criptare aici fereasca sfantul sa mai facem si asa ceva...

 

multumesc tuturor pentru ajutor

 

edit: iete si un pic care stie sa raspunda cand e strigat pe CNP :)

http://www.maxim-ic.com/appnotes.cfm/ap ... umber/1063

da' nu stiu daca max-urile alea nu cumva sunt scumpe sau nu se gasesc.

 

Gresiti din start incercand sa copiati un design facut de un producator care doreste sa-si vanda marfa fara sa va documentati in prealabil in detaliu asupra standardului RS485 (ati fi descoperit cel putin 10 alte tipuri de convertoare si aplicatii cu ele) Un convertor RS485 cu pret de 1.5 lei este SN75176. Vedeti cate module suporta pe bus, ce este cu terminatorii, cum se conecteaza la bus, de ce unele bus-uri au doua fire altele patru, de ce uneori este necesar si circuit de masa, etc.

Si mai ales de ce poate fi conectat direct la PIC...

 

cele bune si nu va descurajati,

Vasile

 

Link spre comentariu

edit: iete si un pic care stie sa raspunda cand e strigat pe CNP :)http://www.maxim-ic.com/appnotes.cfm/ap ... umber/1063da' nu stiu daca max-urile alea nu cumva sunt scumpe sau nu se gasesc.

Hai sa desfiintam impreuna aplicatia lui Maxim de mai sus:1. utilizeaza 8 pini si un dipswitch pentru banala operatie de a seta o adresa2. din cauza ca nu mai are pini disponibili utilizeaza un convertor SPI/RS232 urmat de un convertor RS232/RS485 half duplexCum ar deveni interesanta ?1. utilizand un PIC cu USART (sa zicem PIC16F628 dar nu obligatoriu)2. adresa modulului se inscrie in memorie direct de pe busul RS485 conectand un singur modul pe bus la faza de inscriere adresa, avand si un convertor RS232/RS485 pe partea cu calculatorul (pe care spre disperarea lui Vasile de la Oas, o sa ni-l construim singuri... :yawinkle: )3. Bus-ul RS485 consuma exact doi pini din PIC: Tx si RX (masa nu o numaram)Intrebare: cum facem ca modulul sa schimbe automat directia de comunicatie ?Vasile
Link spre comentariu
Vizitator townkat

Pai cine stabileste tipul de bus, nu designerul adica dvs ? In functie de aplicatie, e industriala, e auto, e divertisment homebrew ? Cunoasteti sau vi se pare mai simplu RS485 fata de CAN ? Doriti distante de peste un km ? Mediul de functionare e zgomotos? Astea sunt datele initiale care definesc tipul de bus.

-distanta sa fie cam de 100m-nu cunosc nici RS485 nici CAN-e posibil sa mai fie niste motoare de turatie mare in apropiere (de ex. pentru actionarea sculelor)-> deci perturbatii

Din nou nu avem date de intrare: cat trebuie sa fie precizia de reglaj, detalii privind mecanica utilizata, cat este turatia minim-maxim a motorului in rot/min, ce tip de motor intentionati sa utilizati

-precizia- cca 100 pasi/rotatie-turatia- 3-5 sute de ture/min-tip motor- de CC (de ex. cel de stergatoare de dacia 1310, e ieftin, se gaseste si are cuplu bun) iar daca e nevoie de putere mai mare de CA, insa asta nu ar trebuii sa conteze pentru ca etajul de amplificare va fii construit separat in functie de fiecare tip de motor in parte.Daca scoatem motorul propriu-zis si etajul de putere din imaginea http://www1.conrad.de/xl/1000_1999/1900 ... FB.EPS.jpg obtinem exact ceea ce vreau eu sa fac :) cu mentiunea ca nu eu nu vreau cu stepper. Si asta contine acelasi lucru doar ca este in carcasa http://www.animatics.com/images/sm_1720d.jpg. Sper ca este mai clar acum.merci
Link spre comentariu

Incerc din nou sa va explic ca tipul de motor utilizat este esential in configurarea proiectului. Nu puteti controla motorul "la urma, vedem noi cu ce releu"...Un motor de CC de cca 30-40W ca cel de stergator de parbriz (cu perii si stator magnet permanent) se comanda cu o punte H (sau o semipunte H daca sund disponibili +12V si -12V) are o inertie foarte mare, ceea ce implica utilizarea unei frane mecanice sau electromagnetice si/sau reglarea turatiei prin PWM cel putin la oprire.Un motor de CA, ca cel cu rotor in colivie si stator bobinat necesita alt tip de comanda (cu triac, tiristor, variator de frecventa, etc si probabil alt tip de frana)Toate motoarele din imaginile prezentate sunt MPP. Tocmai pentru ca nu sufera de problema inertiei mecanice. Toate au ambele capete ale axului disponibile, unul pentru cuplu utilizator iar celalat pentru encoder.La 500 rot/min la axul motorului (presupunand ca nu aveti nici un reductor acolo) aveti nevoie de un encoder optic "first class".Daca doriti sa folositi tot ansamblul cu reductor cu roata melcata de la stergatorul de parbriz, ma indoiecs ca veti obtine la 12V 500 rot/min si problema inertiei variabile la controlul stanga-dreapta ramane.(inclusiv curentii consumat de un motor nou de stargator de parbriz in cele doua sensuri de actionare nu sunt egali)Daca motorul este DC (nu are pasi ci se roteste continuu), ce inseamna pentru dvs 100 pasi/rotatie?Probabil 360/100 = 3.6 grade ?

Link spre comentariu

1. Cred ca trebuie, asa cum s-a spus o analiza temeinica a ce se doreste. Ca sa acoperim si alte tipuri de actionare nu trebuie excluse motoare de tip Bruslles (Rotorul un magnet permanent), unde avem iarasi o intreaga discutie privind actionarea.2. Legat de *proiectarea pertinenta*, se referea la modul foarte corect in care erau redati pasi pe care trebuie sa le faca autorul pentru realizarea proiectului (era redat intr-un mesaj anterior).3. Pentru avansare in proiect cred ca trebuie precizat concret ce se doreste a se face sub toate aspectele si mai ales ce motor se doreste a fi comandat.Cu stima,

Link spre comentariu
Vizitator townkat

Daca motorul este DC (nu are pasi ci se roteste continuu), ce inseamna pentru dvs 100 pasi/rotatie? Probabil 360/100 = 3.6 grade ?

da, asta am vrut sa spun :smt003 nu sunt sigur dar din cate am inteles eu de pe net DC servo este diferit de stepper. JVL face motoare DC Servo de-a gata cu electronica cu tot, uitati documentatia numai pentru partea de comanda http://www.jvl.dk/files/pdf/Ld066gb.pdf deasemenea iata si cateva kituri de comanda care seamana foarte mult cu ce mi-ar trebui mie http://www.jrkerr.com/boards.html , iar cuvantul servo ma duce iar cu gandul ca nu sunt pentru steppere.tin destul de mult la modularitate, adica partea de comanda sa fie diferita de cea de putere. E mult mai simplu la schimbarea motorului sa schimbi doar partea de putere si niste coeficienti de inertie in program decat tot modulul. Si pentru ca am pomenit de coeficientii de inertie, trebuie sa va spun ca asa ma si gandisem sa rezolv si problema inertiei, prin niste algoritmi de anticipatie. Aidica la prima rulare a ansamblului modul-putere-motor in sistem, se vor face cateva teste in gol si in sarcina pentru determinarea timpilor si distantelor de accelerare si franare. Apoi totul ramane o problema de fizica. Algoritmii vor fii implementati in microcontroler iar coeficientii vor fii transmisi fiecarui microcontroler in parte la fiecare pornire a sistemului (pentru ca memoriile din microcontroler sunt read-only aceste informatii vor fi stocate pe PC).ps. vsurducan sper ca ai citit pm.-ul cu datele personale k?
Link spre comentariu

1. Imi pare rau dar pe site indicat am gasit inceputul urmator:

*A range of integrated AC servo motors makes JVL a world leader within motion control.* Eu nu sunt vorbitor de engleza (numai cititor) dar din cate am citit cred ca este vorba de servomotoare in curent alternativ AC si nu de DC (curent continuu) cum se afirma in ultimul mesaj (al lui townkat).

2. Tot in materialul respectiv se mai face o afirmatie consider interesanta:*The modular construction of JVL?s integrated MAC motors makes them particularly well suited for a large number of fieldbus applications. The series also includes Profibus, CANopen (DSP402), DeviceNet, USB and Bluetooth models. New modules are under development, including for example models for Ethernet and Zigbee wireless communication.* Fata de acesta infotrmatie cred ca ar trebui sa stabilesti ce doresti sa faci pe magistrala de date(transmiti pozitia in care trebuie sa ajunga motorul si verifici in ce pozitie este, etc. ) si fiecare nod de comunicatie da comanda la convertorul specific motorului dorit sau vrei mai mult?. Pentru o actionare corecta cred ca trebuie sa ti cont de mai multi parametri, nu numai de inertia motorului, dar depinde pentru ce faci aplicatia.

3. In familia de PIC-uri gasiti atat pe 8 biti cat mai ales pe 16 biti micontrolere care pot comanda motoare atat DC cat si AC mono sau trifazate care au de asemenea periferie specializata atat pentru USART, CAN, transmisie seriala etc.

4. Daca va interseaza protocolul CAN va pot ajuta cu ce stiu eu si va pot trimite niste materiale daca doriti pe e-mail (este foarte stufos in intimitatea lui, dar pentru utilizare este mai simplu). Pentru informare magistrala (de fapt interfata si protocol) CAN este proiectata pentru a lucra in prezenta zgomotului, transmisia efectuandu-se diferential. Mai multe tipuri de microcontrolele au implementate modulul CAN care este de fapt un controler de comunicatie.

5. In functie de ce aplicatie se doreste (distanta intre noturi, date trimise, prioritatea acestor date, etc.) trebuie ales tipul de BUS si dupa discutam la concret fiecare tip de comanda transmis.

Cu stima,

Link spre comentariu
Vizitator townkat
1. Imi pare rau dar pe site indicat am gasit inceputul urmator:

*A range of integrated AC servo motors makes JVL a world leader within motion control.* Eu nu sunt vorbitor de engleza (numai cititor) dar din cate am citit cred ca este vorba de servomotoare in curent alternativ AC si nu de DC (curent continuu) cum se afirma in ultimul mesaj (al lui townkat).

corect, AC, insa ce doream sa evidentiez este faptul ca se poate si fara motoare stepper

 

cred ca ar trebui sa stabilesti ce doresti sa faci pe magistrala de date(transmiti pozitia in care trebuie sa ajunga motorul si verifici in ce pozitie este, etc. ) si fiecare nod de comunicatie da comanda la convertorul specific motorului dorit sau vrei mai mult?.

nu vreau mai mult, asta este tot

 

Pentru o actionare corecta cred ca trebuie sa ti cont de mai multi parametri, nu numai de inertia motorului, dar depinde pentru ce faci aplicatia.

nu trebuie sa fie totul super precis, ca robotii japonezi, in primul rand vreau sa il vad ca functioneaza si raspunde la comenzi corect, ulterior poate voi inbunatatii functioinarea insa in primul rand vreau sa-l vad ca merge.

 

In familia de PIC-uri gasiti atat pe 8 biti cat mai ales pe 16 biti micontrolere care pot comanda motoare atat DC cat si AC mono sau trifazate care au de asemenea periferie specializata atat pentru USART, CAN, transmisie seriala etc.

pot cu doua intrerupatoare simple sa comand in ambele sensuri orice motor, DC, AC sau trifazat? (nu ma refer la partea de alimentare, doar la cea de comanda), eu cred ca pot, si exact asa trebuie sa se comporte si modulul meu in relatia cu motorul, ca doua intrerupatoare (binenteles ca dupa el va fii un montaj de comanda si putere specific fiecarui motor care la intrare va avea "cele doua intrerupatoare".

 

Daca va interseaza protocolul CAN va pot ajuta cu ce stiu eu si va pot trimite niste materiale daca doriti pe e-mail (este foarte stufos in intimitatea lui, dar pentru utilizare este mai simplu). Pentru informare magistrala (de fapt interfata si protocol) CAN este proiectata pentru a lucra in prezenta zgomotului, transmisia efectuandu-se diferential. Mai multe tipuri de microcontrolele au implementate modulul CAN care este de fapt un controler de comunicatie.

va multumesc, chiar daca ma sperie putin ideea de documentatie stufoasa, cred ca o scoatem noi la capat pana la urma :)

 

5. In functie de ce aplicatie se doreste (distanta intre noturi, date trimise, prioritatea acestor date, etc.) trebuie ales tipul de BUS si dupa discutam la concret fiecare tip de comanda transmis.

distanta intre noduri- intre 10cm si 100m, inteleg prin nod un modul ok? sper ca nu este vorba de o retea tip stea.

nu cred ca se pune problema prioritatii datelor pentru ca atunci cand un modul discuta cu pc-ul toate celelalte tac.

 

dk doreste cineva sa discutam mai mult pot lasa id-ul meu de messenger daca am voie pe acest forum.

 

multumesc

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări