PID Module I/O

classic Classic list List threaded Threaded
5 messages Options
Bittencourt Bittencourt
Reply | Threaded
Open this post in threaded view
|

PID Module I/O

Greetings,

Today I had a brief conversation with Prof. Meggiolaro (A Robotics professor
from mech department at PUC-Rio) about his requirements for the PID module.
The basic application is control of DC motors, for actuators of
manipulators. Based on that we made a little brain storm (or should be a
brain breeze =) ) about the interfacing of the PID module with the external
world.

We concluded that PID should be independent of AD , DA , PWM etc modules,
but easily "linkable". So I was wondering about some kind of linking
mechanism to set the origin of the input and destination of output.
Something like this:

PID.setPInput(AD0)
PID.setDInput(SPI0)

PID.setOutput(PWM0)

here we would set the proportional input from the AD0 and the Differential
input from a SPI interface  (this is a common case. suppose we use a
external ADc that sends data via SPI)
and setting the output to PWM

Suggestions, critics, dark spells, anyone?
--
--Pedro Bittencourt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.berlios.de/pipermail/elua-dev/attachments/20081119/acba09bc/attachment.html 

BogdanM BogdanM
Reply | Threaded
Open this post in threaded view
|

PID Module I/O

Hi,

That's one way to do it, but you're tying the PID module to
peripherals, which is a bit strange to me, since PID itself doesn't
care at all about peripherals, it uses only numbers to operate.
Ideally, I'd make the PID module completely unaware of the fact that
we even have an ADC in the system. Feed it the required inputs
(numerically), then take the outputs and output them to wherever you
like (PWM, screen, file...).
Then again, your approach is tightly integrated with the rest of the
system, which might be a better approach, so it could work. But then
we'd have to define the exact interface(s) required for "PID devices"
such as PInput, DInput, Output. If these interfaces can be made small
and easy enough to use, there's no reason not to go with your
approach.

Best,
Bogdan


On Wed, Nov 19, 2008 at 5:38 AM, Pedro Bittencourt
<pedrobittencourt87 at gmail.com> wrote:

> Greetings,
>
> Today I had a brief conversation with Prof. Meggiolaro (A Robotics professor
> from mech department at PUC-Rio) about his requirements for the PID module.
> The basic application is control of DC motors, for actuators of
> manipulators. Based on that we made a little brain storm (or should be a
> brain breeze =) ) about the interfacing of the PID module with the external
> world.
>
> We concluded that PID should be independent of AD , DA , PWM etc modules,
> but easily "linkable". So I was wondering about some kind of linking
> mechanism to set the origin of the input and destination of output.
> Something like this:
>
> PID.setPInput(AD0)
> PID.setDInput(SPI0)
>
> PID.setOutput(PWM0)
>
> here we would set the proportional input from the AD0 and the Differential
> input from a SPI interface  (this is a common case. suppose we use a
> external ADc that sends data via SPI)
> and setting the output to PWM
>
> Suggestions, critics, dark spells, anyone?
> --
> --Pedro Bittencourt
>
> _______________________________________________
> Elua-dev mailing list
> Elua-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/elua-dev
>
>

Dado Sutter Dado Sutter
Reply | Threaded
Open this post in threaded view
|

PID Module I/O

Pls let's keep this thread (PID) warm, because it is an important one for
eLua usage in some small projects but some that will present eLua to a
loooooot of students downhere.
If we can have it running on a Lego NXT (Atmel ARM9) platform, it will be
still better !!!

Best
Dado



On Wed, Nov 19, 2008 at 06:00, Bogdan Marinescu
<bogdan.marinescu at gmail.com>wrote:

> Hi,
>
> That's one way to do it, but you're tying the PID module to
> peripherals, which is a bit strange to me, since PID itself doesn't
> care at all about peripherals, it uses only numbers to operate.
> Ideally, I'd make the PID module completely unaware of the fact that
> we even have an ADC in the system. Feed it the required inputs
> (numerically), then take the outputs and output them to wherever you
> like (PWM, screen, file...).
> Then again, your approach is tightly integrated with the rest of the
> system, which might be a better approach, so it could work. But then
> we'd have to define the exact interface(s) required for "PID devices"
> such as PInput, DInput, Output. If these interfaces can be made small
> and easy enough to use, there's no reason not to go with your
> approach.
>
> Best,
> Bogdan
>
>
> On Wed, Nov 19, 2008 at 5:38 AM, Pedro Bittencourt
> <pedrobittencourt87 at gmail.com> wrote:
> > Greetings,
> >
> > Today I had a brief conversation with Prof. Meggiolaro (A Robotics
> professor
> > from mech department at PUC-Rio) about his requirements for the PID
> module.
> > The basic application is control of DC motors, for actuators of
> > manipulators. Based on that we made a little brain storm (or should be a
> > brain breeze =) ) about the interfacing of the PID module with the
> external
> > world.
> >
> > We concluded that PID should be independent of AD , DA , PWM etc modules,
> > but easily "linkable". So I was wondering about some kind of linking
> > mechanism to set the origin of the input and destination of output.
> > Something like this:
> >
> > PID.setPInput(AD0)
> > PID.setDInput(SPI0)
> >
> > PID.setOutput(PWM0)
> >
> > here we would set the proportional input from the AD0 and the
> Differential
> > input from a SPI interface  (this is a common case. suppose we use a
> > external ADc that sends data via SPI)
> > and setting the output to PWM
> >
> > Suggestions, critics, dark spells, anyone?
> > --
> > --Pedro Bittencourt
> >
> > _______________________________________________
> > Elua-dev mailing list
> > Elua-dev at lists.berlios.de
> > https://lists.berlios.de/mailman/listinfo/elua-dev
> >
> >
> _______________________________________________
> Elua-dev mailing list
> Elua-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/elua-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.berlios.de/pipermail/elua-dev/attachments/20081126/b9c8b617/attachment.html 

BogdanM BogdanM
Reply | Threaded
Open this post in threaded view
|

PID Module I/O

I think pbLua already has a PID module? I might be wrong though, it's been a
while since I looked at it.
Are you thinking eLua on Lego NXT? Ralph might get upset :)

Best,
Bogdan

On Wed, Nov 26, 2008 at 4:15 PM, Dado Sutter <dadosutter at gmail.com> wrote:

> Pls let's keep this thread (PID) warm, because it is an important one for
> eLua usage in some small projects but some that will present eLua to a
> loooooot of students downhere.
> If we can have it running on a Lego NXT (Atmel ARM9) platform, it will be
> still better !!!
>
> Best
> Dado
>
>
>
>
> On Wed, Nov 19, 2008 at 06:00, Bogdan Marinescu <
> bogdan.marinescu at gmail.com> wrote:
>
>> Hi,
>>
>> That's one way to do it, but you're tying the PID module to
>> peripherals, which is a bit strange to me, since PID itself doesn't
>> care at all about peripherals, it uses only numbers to operate.
>> Ideally, I'd make the PID module completely unaware of the fact that
>> we even have an ADC in the system. Feed it the required inputs
>> (numerically), then take the outputs and output them to wherever you
>> like (PWM, screen, file...).
>> Then again, your approach is tightly integrated with the rest of the
>> system, which might be a better approach, so it could work. But then
>> we'd have to define the exact interface(s) required for "PID devices"
>> such as PInput, DInput, Output. If these interfaces can be made small
>> and easy enough to use, there's no reason not to go with your
>> approach.
>>
>> Best,
>> Bogdan
>>
>>
>> On Wed, Nov 19, 2008 at 5:38 AM, Pedro Bittencourt
>> <pedrobittencourt87 at gmail.com> wrote:
>> > Greetings,
>> >
>> > Today I had a brief conversation with Prof. Meggiolaro (A Robotics
>> professor
>> > from mech department at PUC-Rio) about his requirements for the PID
>> module.
>> > The basic application is control of DC motors, for actuators of
>> > manipulators. Based on that we made a little brain storm (or should be a
>> > brain breeze =) ) about the interfacing of the PID module with the
>> external
>> > world.
>> >
>> > We concluded that PID should be independent of AD , DA , PWM etc
>> modules,
>> > but easily "linkable". So I was wondering about some kind of linking
>> > mechanism to set the origin of the input and destination of output.
>> > Something like this:
>> >
>> > PID.setPInput(AD0)
>> > PID.setDInput(SPI0)
>> >
>> > PID.setOutput(PWM0)
>> >
>> > here we would set the proportional input from the AD0 and the
>> Differential
>> > input from a SPI interface  (this is a common case. suppose we use a
>> > external ADc that sends data via SPI)
>> > and setting the output to PWM
>> >
>> > Suggestions, critics, dark spells, anyone?
>> > --
>> > --Pedro Bittencourt
>> >
>> > _______________________________________________
>> > Elua-dev mailing list
>> > Elua-dev at lists.berlios.de
>> > https://lists.berlios.de/mailman/listinfo/elua-dev
>> >
>> >
>> _______________________________________________
>> Elua-dev mailing list
>> Elua-dev at lists.berlios.de
>> https://lists.berlios.de/mailman/listinfo/elua-dev
>>
>
>
> _______________________________________________
> Elua-dev mailing list
> Elua-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/elua-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.berlios.de/pipermail/elua-dev/attachments/20081126/7d54db4c/attachment.html 

Dado Sutter-2 Dado Sutter-2
Reply | Threaded
Open this post in threaded view
|

PID Module I/O

Yes, Ralph will not like it too much but this is exactly what I intend to do
:-o :)
   There is a class in PUC-Rio called "Introduction to Engineering", offered
on the very first period for ALL the students of ALL engineerings. Lego NXT
kits are used to assembly "robotic" projects for a final presentation 6
months later.
   The course is not focused on the software, electrical hardware,
programming technics but on solutions aproaches to diferent chalenges. What
I intend to do is to offer eLua for the students from the first contact they
have with software at the university and to make them use the Legos as if
eLua/Lua was the "machine language" of the kits.
   Other more specialized classes on robotics, mechanical engineering and
control & automation also use dedicated hardware for the projects and they
are all a very fertile terrain for eLua too. But the Lego is strategically
important and it will be great if we can come up with an eLua porting for it
one of these days.

   The PID module thread is another and independent story though, as we
really need them for what we have already and for ongoing projects. As some
others (that I also intend to discuss here very soon), it would be nice to
have the great advice from all of you on the architectural aspects

Best
Dado


On Wed, Nov 26, 2008 at 12:32, Bogdan Marinescu
<bogdan.marinescu at gmail.com>wrote:

> I think pbLua already has a PID module? I might be wrong though, it's been
> a while since I looked at it.
> Are you thinking eLua on Lego NXT? Ralph might get upset :)
>
> Best,
> Bogdan
>
>
> On Wed, Nov 26, 2008 at 4:15 PM, Dado Sutter <dadosutter at gmail.com> wrote:
>
>> Pls let's keep this thread (PID) warm, because it is an important one for
>> eLua usage in some small projects but some that will present eLua to a
>> loooooot of students downhere.
>> If we can have it running on a Lego NXT (Atmel ARM9) platform, it will be
>> still better !!!
>>
>> Best
>> Dado
>>
>>
>>
>>
>> On Wed, Nov 19, 2008 at 06:00, Bogdan Marinescu <
>> bogdan.marinescu at gmail.com> wrote:
>>
>>> Hi,
>>>
>>> That's one way to do it, but you're tying the PID module to
>>> peripherals, which is a bit strange to me, since PID itself doesn't
>>> care at all about peripherals, it uses only numbers to operate.
>>> Ideally, I'd make the PID module completely unaware of the fact that
>>> we even have an ADC in the system. Feed it the required inputs
>>> (numerically), then take the outputs and output them to wherever you
>>> like (PWM, screen, file...).
>>> Then again, your approach is tightly integrated with the rest of the
>>> system, which might be a better approach, so it could work. But then
>>> we'd have to define the exact interface(s) required for "PID devices"
>>> such as PInput, DInput, Output. If these interfaces can be made small
>>> and easy enough to use, there's no reason not to go with your
>>> approach.
>>>
>>> Best,
>>> Bogdan
>>>
>>>
>>> On Wed, Nov 19, 2008 at 5:38 AM, Pedro Bittencourt
>>> <pedrobittencourt87 at gmail.com> wrote:
>>> > Greetings,
>>> >
>>> > Today I had a brief conversation with Prof. Meggiolaro (A Robotics
>>> professor
>>> > from mech department at PUC-Rio) about his requirements for the PID
>>> module.
>>> > The basic application is control of DC motors, for actuators of
>>> > manipulators. Based on that we made a little brain storm (or should be
>>> a
>>> > brain breeze =) ) about the interfacing of the PID module with the
>>> external
>>> > world.
>>> >
>>> > We concluded that PID should be independent of AD , DA , PWM etc
>>> modules,
>>> > but easily "linkable". So I was wondering about some kind of linking
>>> > mechanism to set the origin of the input and destination of output.
>>> > Something like this:
>>> >
>>> > PID.setPInput(AD0)
>>> > PID.setDInput(SPI0)
>>> >
>>> > PID.setOutput(PWM0)
>>> >
>>> > here we would set the proportional input from the AD0 and the
>>> Differential
>>> > input from a SPI interface  (this is a common case. suppose we use a
>>> > external ADc that sends data via SPI)
>>> > and setting the output to PWM
>>> >
>>> > Suggestions, critics, dark spells, anyone?
>>> > --
>>> > --Pedro Bittencourt
>>> >
>>> > _______________________________________________
>>> > Elua-dev mailing list
>>> > Elua-dev at lists.berlios.de
>>> > https://lists.berlios.de/mailman/listinfo/elua-dev
>>> >
>>> >
>>> _______________________________________________
>>> Elua-dev mailing list
>>> Elua-dev at lists.berlios.de
>>> https://lists.berlios.de/mailman/listinfo/elua-dev
>>>
>>
>>
>> _______________________________________________
>> Elua-dev mailing list
>> Elua-dev at lists.berlios.de
>> https://lists.berlios.de/mailman/listinfo/elua-dev
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.berlios.de/pipermail/elua-dev/attachments/20081126/e751be33/attachment-0001.html